From: Date: August 7 2008 11:41pm Subject: bzr commit into mysql-6.0-bugteam branch (chad:2750) Bug#38296 List-Archive: http://lists.mysql.com/commits/51151 X-Bug: 38296 Message-Id: <20080807214152.067A883063@cornsilk.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 I0F0IGZpbGU6Ly8vaG9tZS9jbWlsbGVyL3dvcmsvbXlzcWxienIvbXlzcWwtNi4wLWJ1Z3RlYW0v CgogMjc1MCBDaGFkIE1JTExFUgkyMDA4LTA4LTA3IFttZXJnZV0KICAgICAgTWVyZ2UgZnJvbSBi dWd0ZWFtLgphZGRlZDoKICBteXNxbC10ZXN0L2luY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBl ci5pbmMKICBteXNxbC10ZXN0L3IvaW1wbGljaXRfY29tbWl0LnJlc3VsdAogIG15c3FsLXRlc3Qv c3VpdGUvZmFsY29uL3IvZmFsY29uX3RhYmxlc3BhY2VfcHJpdi5yZXN1bHQKICBteXNxbC10ZXN0 L3N1aXRlL2ZhbGNvbi90L2ZhbGNvbl90YWJsZXNwYWNlX3ByaXYudGVzdAogIG15c3FsLXRlc3Qv dC9pbXBsaWNpdF9jb21taXQudGVzdAptb2RpZmllZDoKICBCVUlMRC9TRVRVUC5zaAogIGluY2x1 ZGUvbXlfaGFuZGxlci5oCiAgaW5jbHVkZS9teV9zeXMuaAogIGluY2x1ZGUvbXlpc2FtLmgKICBp bmNsdWRlL215aXNhbWNoay5oCiAgbXlzcWwtdGVzdC9pbmNsdWRlL2NvbW1pdC5pbmMKICBteXNx bC10ZXN0L3IvYmlubG9nX2luZGV4LnJlc3VsdAogIG15c3FsLXRlc3Qvci9jb21taXRfMWlubm9k Yi5yZXN1bHQKICBteXNxbC10ZXN0L3IvY3R5cGVfbGRtbC5yZXN1bHQKICBteXNxbC10ZXN0L3Iv Y3R5cGVfdXRmOC5yZXN1bHQKICBteXNxbC10ZXN0L3IvZGF0ZV9mb3JtYXRzLnJlc3VsdAogIG15 c3FsLXRlc3Qvci9mdW5jX2NvbXByZXNzLnJlc3VsdAogIG15c3FsLXRlc3Qvci9mdW5jX2RpZ2Vz dC5yZXN1bHQKICBteXNxbC10ZXN0L3IvZnVuY19lbmNyeXB0LnJlc3VsdAogIG15c3FsLXRlc3Qv ci9mdW5jX2VuY3J5cHRfbm9zc2wucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2Z1bmNfbWF0aC5yZXN1 bHQKICBteXNxbC10ZXN0L3IvZnVuY19zdHIucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2dyYW50LnJl c3VsdAogIG15c3FsLXRlc3Qvci9tZXJnZS5yZXN1bHQKICBteXNxbC10ZXN0L3IvbXlpc2FtLXN5 c3RlbS5yZXN1bHQKICBteXNxbC10ZXN0L3IvcHMucmVzdWx0CiAgbXlzcWwtdGVzdC9yL3N0cmlj dC5yZXN1bHQKICBteXNxbC10ZXN0L3Ivc3lzdGVtX215c3FsX2RiLnJlc3VsdAogIG15c3FsLXRl c3Qvci90cmlnZ2VyLnJlc3VsdAogIG15c3FsLXRlc3Qvci90eXBlX25ld2RlY2ltYWwucmVzdWx0 CiAgbXlzcWwtdGVzdC9yL3ZpZXcucmVzdWx0CiAgbXlzcWwtdGVzdC9zdGRfZGF0YS9JbmRleC54 bWwKICBteXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi9yL2ZhbGNvbl9idWdfMjI5NzIucmVzdWx0CiAg bXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvZmFsY29uX2Z1bmNfdmlldy5yZXN1bHQKICBteXNx bC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9mYWxjb25fc3RvcmVkcHJvYy5yZXN1bHQKICBteXNxbC10 ZXN0L3N1aXRlL2Z1bmNzXzEvci9mYWxjb25fdHJpZ18wMy5yZXN1bHQKICBteXNxbC10ZXN0L3N1 aXRlL2Z1bmNzXzEvci9mYWxjb25fdHJpZ18wM2UucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9m dW5jc18xL3IvaW5ub2RiX2Z1bmNfdmlldy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNz XzEvci9pbm5vZGJfc3RvcmVkcHJvYy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEv ci9pbm5vZGJfdHJpZ18wMy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pbm5v ZGJfdHJpZ18wM2UucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaXNfY29sdW1u c19teXNxbC5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc191c2VyX3ByaXZp bGVnZXMucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbWVtb3J5X2Z1bmNfdmll dy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfc3RvcmVkcHJvYy5y ZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfdHJpZ18wMy5yZXN1bHQK ICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfdHJpZ18wM2UucmVzdWx0CiAgbXlz cWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbXlpc2FtX2Z1bmNfdmlldy5yZXN1bHQKICBteXNxbC10 ZXN0L3N1aXRlL2Z1bmNzXzEvci9teWlzYW1fc3RvcmVkcHJvYy5yZXN1bHQKICBteXNxbC10ZXN0 L3N1aXRlL2Z1bmNzXzEvci9teWlzYW1fdHJpZ18wMy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRl L2Z1bmNzXzEvci9teWlzYW1fdHJpZ18wM2UucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5j c18xL3IvbmRiX2Z1bmNfdmlldy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL25kYi9yL25kYl9i YXNpYy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL25kYi9yL25kYl9iaXRmaWVsZC5yZXN1bHQK ICBteXNxbC10ZXN0L3N1aXRlL25kYi9yL25kYl9kZF9kZGwucmVzdWx0CiAgbXlzcWwtdGVzdC9z dWl0ZS9uZGIvci9uZGJfZ2lzLnJlc3VsdAogIG15c3FsLXRlc3Qvc3VpdGUvbmRiL3IvbmRiX211 bHRpX3Jvdy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL25kYi9yL25kYl9wYXJ0aXRpb25fZXJy b3IucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9uZGIvci9uZGJfc2luZ2xlX3VzZXIucmVzdWx0 CiAgbXlzcWwtdGVzdC9zdWl0ZS9uZGIvdC9uZGJfZGRfZGRsLnRlc3QKICBteXNxbC10ZXN0L3N1 aXRlL3JwbC9yL3JwbF9FRV9lcnIucmVzdWx0CiAgbXlzcWwtdGVzdC90L2N0eXBlX2xkbWwudGVz dAogIG15c3lzL2NoYXJzZXQuYwogIHNjcmlwdHMvbXlzcWxfc3lzdGVtX3RhYmxlcy5zcWwKICBz Y3JpcHRzL215c3FsX3N5c3RlbV90YWJsZXNfZGF0YS5zcWwKICBzY3JpcHRzL215c3FsX3N5c3Rl bV90YWJsZXNfZml4LnNxbAogIHNxbC9ldmVudHMuY2MKICBzcWwvZmllbGQuY2MKICBzcWwvZmll bGQuaAogIHNxbC9oYV9uZGJjbHVzdGVyLmNjCiAgc3FsL2hhX25kYmNsdXN0ZXJfYmlubG9nLmNj CiAgc3FsL2hhbmRsZXIuY2MKICBzcWwvaGFuZGxlci5oCiAgc3FsL2l0ZW0uY2MKICBzcWwvaXRl bS5oCiAgc3FsL2l0ZW1fZnVuYy5jYwogIHNxbC9pdGVtX3N0cmZ1bmMuY2MKICBzcWwvaXRlbV9z dWJzZWxlY3QuY2MKICBzcWwvaXRlbV90aW1lZnVuYy5jYwogIHNxbC9sb2cuY2MKICBzcWwvbG9n X2V2ZW50LmNjCiAgc3FsL21kbC5jYwogIHNxbC9teV9kZWNpbWFsLmNjCiAgc3FsL215c3FsX3By aXYuaAogIHNxbC9zZXRfdmFyLmNjCiAgc3FsL3NwX2hlYWQuY2MKICBzcWwvc3FsX2FjbC5jYwog IHNxbC9zcWxfYWNsLmgKICBzcWwvc3FsX2NhY2hlLmNjCiAgc3FsL3NxbF9jbGFzcy5jYwogIHNx bC9zcWxfY2xhc3MuaAogIHNxbC9zcWxfZGVsZXRlLmNjCiAgc3FsL3NxbF9sZXguaAogIHNxbC9z cWxfbGlzdC5oCiAgc3FsL3NxbF9wYXJzZS5jYwogIHNxbC9zcWxfc2VsZWN0LmNjCiAgc3FsL3Nx bF9zZWxlY3QuaAogIHNxbC9zcWxfc2hvdy5jYwogIHNxbC9zcWxfc3RyaW5nLmgKICBzcWwvc3Fs X3RhYmxlLmNjCiAgc3FsL3NxbF90YWJsZXNwYWNlLmNjCiAgc3FsL3NxbF95YWNjLnl5CiAgc3Fs L3RhYmxlLmNjCiAgc3FsL3Rocl9tYWxsb2MuY2MKICBzcWwvdW5pcmVnLmNjCiAgc3RvcmFnZS9t eWlzYW0vZnRfc3RhdGljLmMKICBzdG9yYWdlL215aXNhbS9taV9vcGVuLmMKICBzdG9yYWdlL215 aXNhbW1yZy9oYV9teWlzYW1tcmcuY2MKICBzdHJpbmdzL2NvbmZfdG9fc3JjLmMKICB0ZXN0cy9t eXNxbF9jbGllbnRfdGVzdC5jCgo9PT0gbW9kaWZpZWQgZmlsZSAnQlVJTEQvU0VUVVAuc2gnCi0t LSBhL0JVSUxEL1NFVFVQLnNoCTIwMDgtMDYtMjggMTE6MDA6NTkgKzAwMDAKKysrIGIvQlVJTEQv U0VUVVAuc2gJMjAwOC0wNy0yNSAxNzoyMTo1NSArMDAwMApAQCAtMTA5LDcgKzEwOSw3IEBAIGlm IFsgIngkd2FybmluZ19tb2RlIiAhPSAieHBlZGFudGljIiBdOyAKIGVsc2UKICAgd2FybmluZ3M9 Ii1XIC1XYWxsIC1hbnNpIC1wZWRhbnRpYyAtV25vLWxvbmctbG9uZyAtV25vLXVudXNlZCAtRF9Q T1NJWF9TT1VSQ0UiCiAgIGNfd2FybmluZ3M9IiR3YXJuaW5ncyIKLSAgY3h4X3dhcm5pbmdzPSIk d2FybmluZ3MgLXN0ZD1jKys5OCIKKyAgY3h4X3dhcm5pbmdzPSIkd2FybmluZ3MiCiAjIE5PVEU6 IHdhcm5pbmcgbW9kZSBzaG91bGQgbm90IGluZmx1ZW5jZSBvcHRpbWl6ZS9kZWJ1ZyBtb2RlLgog IyBQbGVhc2UgZmVlbCBmcmVlIHRvIGFkZCBhIHNlcGFyYXRlIG9wdGlvbiBpZiB5b3UgZG9uJ3Qg ZmVlbCBpdCdzIGFuIG92ZXJraWxsLgogICBkZWJ1Z19leHRyYV9jZmxhZ3M9Ii1PMCIKCj09PSBt b2RpZmllZCBmaWxlICdpbmNsdWRlL215X2hhbmRsZXIuaCcKLS0tIGEvaW5jbHVkZS9teV9oYW5k bGVyLmgJMjAwOC0wNi0yNiAxNzo0ODo0MiArMDAwMAorKysgYi9pbmNsdWRlL215X2hhbmRsZXIu aAkyMDA4LTA3LTI0IDExOjMzOjM1ICswMDAwCkBAIC01NCw4ICs1NCw4IEBAIHR5cGVkZWYgc3Ry dWN0IHN0X0hBX0tFWVNFRwkJLyogS2V5LXBvcnQKICAgdWludDE2IGJpdF9wb3M7ICAgICAgICAg ICAgICAgICAgICAgICAvKiBQb3NpdGlvbiB0byBiaXQgcGFydCAqLwogICB1aW50MTYgZmxhZzsK ICAgdWludDE2IGxlbmd0aDsJCQkvKiBLZXlsZW5ndGggKi8KKyAgdWludDE2IGxhbmd1YWdlOwog ICB1aW50OCAgdHlwZTsJCQkJLyogVHlwZSBvZiBrZXkgKGZvciBzb3J0KSAqLwotICB1aW50OCAg bGFuZ3VhZ2U7CiAgIHVpbnQ4ICBudWxsX2JpdDsJCQkvKiBiaXRtYXNrIHRvIHRlc3QgZm9yIE5V TEwgKi8KICAgdWludDggIGJpdF9zdGFydCxiaXRfZW5kOwkJLyogaWYgYml0IGZpZWxkICovCiAg IHVpbnQ4ICBiaXRfbGVuZ3RoOyAgICAgICAgICAgICAgICAgICAgLyogTGVuZ3RoIG9mIGJpdCBw YXJ0ICovCgo9PT0gbW9kaWZpZWQgZmlsZSAnaW5jbHVkZS9teV9zeXMuaCcKLS0tIGEvaW5jbHVk ZS9teV9zeXMuaAkyMDA4LTA3LTIxIDA5OjE3OjAzICswMDAwCisrKyBiL2luY2x1ZGUvbXlfc3lz LmgJMjAwOC0wNy0yNCAxMTozMzozNSArMDAwMApAQCAtMjMzLDggKzIzMyw5IEBAIGV4dGVybiB1 aW50ICAgIG15X2xhcmdlX3BhZ2Vfc2l6ZTsKICNlbmRpZgogCiAvKiBjaGFyc2V0cyAqLworI2Rl ZmluZSBNWV9BTExfQ0hBUlNFVFNfU0laRSA1MTIKIGV4dGVybiBDSEFSU0VUX0lORk8gKmRlZmF1 bHRfY2hhcnNldF9pbmZvOwotZXh0ZXJuIENIQVJTRVRfSU5GTyAqYWxsX2NoYXJzZXRzWzI1Nl07 CitleHRlcm4gQ0hBUlNFVF9JTkZPICphbGxfY2hhcnNldHNbTVlfQUxMX0NIQVJTRVRTX1NJWkVd OwogZXh0ZXJuIENIQVJTRVRfSU5GTyBjb21waWxlZF9jaGFyc2V0c1tdOwogCiAvKiBzdGF0aXN0 aWNzICovCgo9PT0gbW9kaWZpZWQgZmlsZSAnaW5jbHVkZS9teWlzYW0uaCcKLS0tIGEvaW5jbHVk ZS9teWlzYW0uaAkyMDA4LTA3LTA5IDA3OjEyOjQzICswMDAwCisrKyBiL2luY2x1ZGUvbXlpc2Ft LmgJMjAwOC0wNy0yNCAxMTozMzozNSArMDAwMApAQCAtMTY4LDcgKzE2OCw3IEBAIHR5cGVkZWYg c3RydWN0IHN0X21pX2NyZWF0ZV9pbmZvCiAgIHVsb25nbG9uZyBkYXRhX2ZpbGVfbGVuZ3RoOwog ICB1bG9uZ2xvbmcga2V5X2ZpbGVfbGVuZ3RoOwogICB1aW50IG9sZF9vcHRpb25zOwotICB1aW50 OCBsYW5ndWFnZTsKKyAgdWludDE2IGxhbmd1YWdlOwogICBteV9ib29sIHdpdGhfYXV0b19pbmNy ZW1lbnQ7CiB9IE1JX0NSRUFURV9JTkZPOwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnaW5jbHVkZS9t eWlzYW1jaGsuaCcKLS0tIGEvaW5jbHVkZS9teWlzYW1jaGsuaAkyMDA4LTA0LTEwIDAyOjI2OjM2 ICswMDAwCisrKyBiL2luY2x1ZGUvbXlpc2FtY2hrLmgJMjAwOC0wNy0yNCAxMTozMzozNSArMDAw MApAQCAtMTQ4LDcgKzE0OCw3IEBAIHR5cGVkZWYgc3RydWN0IHN0X2hhbmRsZXJfY2hlY2tfcGFy YW0KICAgdWludCBrZXlfY2FjaGVfYmxvY2tfc2l6ZSwgcGFnZWNhY2hlX2Jsb2NrX3NpemU7CiAg IGludCB0bXBmaWxlX2NyZWF0ZWZsYWcsIGVycl9jb3VudDsKICAgbXlmIG15Zl9ydzsKLSAgdWlu dDggbGFuZ3VhZ2U7CisgIHVpbnQxNiBsYW5ndWFnZTsKICAgbXlfYm9vbCB1c2luZ19nbG9iYWxf a2V5Y2FjaGUsIG9wdF9sb2NrX21lbW9yeSwgb3B0X2ZvbGxvd19saW5rczsKICAgbXlfYm9vbCBy ZXRyeV9yZXBhaXIsIGZvcmNlX3NvcnQsIGNhbGNfY2hlY2tzdW0sIHN0YXRpY19yb3dfc2l6ZTsK ICAgY2hhciB0ZW1wX2ZpbGVuYW1lW0ZOX1JFRkxFTl07Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlz cWwtdGVzdC9pbmNsdWRlL2NvbW1pdC5pbmMnCi0tLSBhL215c3FsLXRlc3QvaW5jbHVkZS9jb21t aXQuaW5jCTIwMDgtMDQtMDEgMTU6MTM6NTcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9pbmNsdWRl L2NvbW1pdC5pbmMJMjAwOC0wNy0yNiAxNjozODoyMCArMDAwMApAQCAtNzI2LDE1ICs3MjYsMTUg QEAgY2FsbCBwX3ZlcmlmeV9zdGF0dXNfaW5jcmVtZW50KDQsIDQsIDQsIAogYWx0ZXIgdGFibGUg dDMgYWRkIGNvbHVtbiAoYiBpbnQpOwogY2FsbCBwX3ZlcmlmeV9zdGF0dXNfaW5jcmVtZW50KDIs IDAsIDIsIDApOwogYWx0ZXIgdGFibGUgdDMgcmVuYW1lIHQ0OwotY2FsbCBwX3ZlcmlmeV9zdGF0 dXNfaW5jcmVtZW50KDEsIDAsIDEsIDApOworY2FsbCBwX3ZlcmlmeV9zdGF0dXNfaW5jcmVtZW50 KDIsIDAsIDIsIDApOwogcmVuYW1lIHRhYmxlIHQ0IHRvIHQzOwotY2FsbCBwX3ZlcmlmeV9zdGF0 dXNfaW5jcmVtZW50KDEsIDAsIDEsIDApOworY2FsbCBwX3ZlcmlmeV9zdGF0dXNfaW5jcmVtZW50 KDAsIDAsIDAsIDApOwogdHJ1bmNhdGUgdGFibGUgdDM7CiBjYWxsIHBfdmVyaWZ5X3N0YXR1c19p bmNyZW1lbnQoMiwgMiwgMiwgMik7CiBjcmVhdGUgdmlldyB2MSBhcyBzZWxlY3QgKiBmcm9tIHQy OwotY2FsbCBwX3ZlcmlmeV9zdGF0dXNfaW5jcmVtZW50KDEsIDAsIDEsIDApOworY2FsbCBwX3Zl cmlmeV9zdGF0dXNfaW5jcmVtZW50KDIsIDAsIDIsIDApOwogY2hlY2sgdGFibGUgdDE7Ci1jYWxs IHBfdmVyaWZ5X3N0YXR1c19pbmNyZW1lbnQoMywgMCwgMywgMCk7CitjYWxsIHBfdmVyaWZ5X3N0 YXR1c19pbmNyZW1lbnQoMiwgMCwgMiwgMCk7CiAtLWVjaG8gIyBTaWM6IGFmdGVyIHRoaXMgYnVn IGlzIGZpeGVkLCBDSEVDSyBsZWF2ZXMgbm8gcGVuZGluZyB0cmFuc2FjdGlvbgogY29tbWl0Owog Y2FsbCBwX3ZlcmlmeV9zdGF0dXNfaW5jcmVtZW50KDAsIDAsIDAsIDApOwoKPT09IGFkZGVkIGZp bGUgJ215c3FsLXRlc3QvaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYycKLS0tIGEv bXlzcWwtdGVzdC9pbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jCTE5NzAtMDEtMDEg MDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9pbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9o ZWxwZXIuaW5jCTIwMDgtMDctMjYgMTY6Mzg6MjAgKzAwMDAKQEAgLTAsMCArMSw1IEBACitJTlNF UlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CistLWRpc2FibGVfcmVzdWx0X2xvZwor ZXZhbCAkc3RhdGVtZW50OworLS1lbmFibGVfcmVzdWx0X2xvZworQ0FMTCBkYjEudGVzdF9pZl9j b21taXQoKTsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvYmlubG9nX2luZGV4LnJl c3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2JpbmxvZ19pbmRleC5yZXN1bHQJMjAwOC0wNC0wMSAx MDozNjoyMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvYmlubG9nX2luZGV4LnJlc3VsdAkyMDA4 LTA3LTE0IDEyOjQ5OjE5ICswMDAwCkBAIC0zMyw3ICszMyw3IEBAIHB1cmdlIGJpbmFyeSBsb2dz IFRPICdtYXN0ZXItYmluLjAwMDAwMicKIEVSUk9SIEhZMDAwOiBGYXRhbCBlcnJvciBkdXJpbmcg bG9nIHB1cmdlCiBzaG93IHdhcm5pbmdzOwogTGV2ZWwJQ29kZQlNZXNzYWdlCi1FcnJvcgkxMzc3 CWEgcHJvYmxlbSB3aXRoIGRlbGV0aW5nIE1ZU1FMVEVTVF9WQVJESVIvbG9nL21hc3Rlci1iaW4u MDAwMDAxOyBjb25zaWRlciBleGFtaW5pbmcgY29ycmVzcG9uZGVuY2Ugb2YgeW91ciBiaW5sb2cg aW5kZXggZmlsZSB0byB0aGUgYWN0dWFsIGJpbmxvZyBmaWxlcworV2FybmluZwkxMzc3CWEgcHJv YmxlbSB3aXRoIGRlbGV0aW5nIE1ZU1FMVEVTVF9WQVJESVIvbG9nL21hc3Rlci1iaW4uMDAwMDAx OyBjb25zaWRlciBleGFtaW5pbmcgY29ycmVzcG9uZGVuY2Ugb2YgeW91ciBiaW5sb2cgaW5kZXgg ZmlsZSB0byB0aGUgYWN0dWFsIGJpbmxvZyBmaWxlcwogRXJyb3IJMTM3NwlGYXRhbCBlcnJvciBk dXJpbmcgbG9nIHB1cmdlCiByZXNldCBtYXN0ZXI7CiBFbmQgb2YgdGVzdHMKCj09PSBtb2RpZmll ZCBmaWxlICdteXNxbC10ZXN0L3IvY29tbWl0XzFpbm5vZGIucmVzdWx0JwotLS0gYS9teXNxbC10 ZXN0L3IvY29tbWl0XzFpbm5vZGIucmVzdWx0CTIwMDgtMDQtMDEgMTU6MTM6NTcgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9yL2NvbW1pdF8xaW5ub2RiLnJlc3VsdAkyMDA4LTA3LTI2IDE2OjM4OjIw ICswMDAwCkBAIC04NDIsMTEgKzg0MiwxMSBAQCBjYWxsIHBfdmVyaWZ5X3N0YXR1c19pbmNyZW1l bnQoMiwgMCwgMiwgCiBTVUNDRVNTCiAKIGFsdGVyIHRhYmxlIHQzIHJlbmFtZSB0NDsKLWNhbGwg cF92ZXJpZnlfc3RhdHVzX2luY3JlbWVudCgxLCAwLCAxLCAwKTsKK2NhbGwgcF92ZXJpZnlfc3Rh dHVzX2luY3JlbWVudCgyLCAwLCAyLCAwKTsKIFNVQ0NFU1MKIAogcmVuYW1lIHRhYmxlIHQ0IHRv IHQzOwotY2FsbCBwX3ZlcmlmeV9zdGF0dXNfaW5jcmVtZW50KDEsIDAsIDEsIDApOworY2FsbCBw X3ZlcmlmeV9zdGF0dXNfaW5jcmVtZW50KDAsIDAsIDAsIDApOwogU1VDQ0VTUwogCiB0cnVuY2F0 ZSB0YWJsZSB0MzsKQEAgLTg1NCwxMyArODU0LDEzIEBAIGNhbGwgcF92ZXJpZnlfc3RhdHVzX2lu Y3JlbWVudCgyLCAyLCAyLCAKIFNVQ0NFU1MKIAogY3JlYXRlIHZpZXcgdjEgYXMgc2VsZWN0ICog ZnJvbSB0MjsKLWNhbGwgcF92ZXJpZnlfc3RhdHVzX2luY3JlbWVudCgxLCAwLCAxLCAwKTsKK2Nh bGwgcF92ZXJpZnlfc3RhdHVzX2luY3JlbWVudCgyLCAwLCAyLCAwKTsKIFNVQ0NFU1MKIAogY2hl Y2sgdGFibGUgdDE7CiBUYWJsZQlPcAlNc2dfdHlwZQlNc2dfdGV4dAogdGVzdC50MQljaGVjawlz dGF0dXMJT0sKLWNhbGwgcF92ZXJpZnlfc3RhdHVzX2luY3JlbWVudCgzLCAwLCAzLCAwKTsKK2Nh bGwgcF92ZXJpZnlfc3RhdHVzX2luY3JlbWVudCgyLCAwLCAyLCAwKTsKIFNVQ0NFU1MKIAogIyBT aWM6IGFmdGVyIHRoaXMgYnVnIGlzIGZpeGVkLCBDSEVDSyBsZWF2ZXMgbm8gcGVuZGluZyB0cmFu c2FjdGlvbgoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9jdHlwZV9sZG1sLnJlc3Vs dCcKLS0tIGEvbXlzcWwtdGVzdC9yL2N0eXBlX2xkbWwucmVzdWx0CTIwMDctMTAtMjIgMTE6NDM6 MzIgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL2N0eXBlX2xkbWwucmVzdWx0CTIwMDgtMDctMjQg MTE6MzM6MzUgKzAwMDAKQEAgLTgsNyArOCw3IEBAIFZhcmlhYmxlX25hbWUJVmFsdWUKIGNoYXJh Y3Rlcl9zZXRzX2RpcglNWVNRTF9URVNUX0RJUi9zdGRfZGF0YS8KIHNob3cgY29sbGF0aW9uIGxp a2UgJ3V0ZjhfdGVzdF9jaSc7CiBDb2xsYXRpb24JQ2hhcnNldAlJZAlEZWZhdWx0CUNvbXBpbGVk CVNvcnRsZW4KLXV0ZjhfdGVzdF9jaQl1dGY4CTI1MwkJCTgKK3V0ZjhfdGVzdF9jaQl1dGY4CTM1 MwkJCTgKIGNyZWF0ZSB0YWJsZSB0MSAoYzEgY2hhcigxKSBjaGFyYWN0ZXIgc2V0IHV0ZjggY29s bGF0ZSB1dGY4X3Rlc3RfY2kpOwogaW5zZXJ0IGludG8gdDEgdmFsdWVzICgnYScpOwogc2VsZWN0 ICogZnJvbSB0MSB3aGVyZSBjMT0nYic7CkBAIC0xNyw3ICsxNyw3IEBAIGEKIGRyb3AgdGFibGUg dDE7CiBzaG93IGNvbGxhdGlvbiBsaWtlICd1Y3MyX3Rlc3RfY2knOwogQ29sbGF0aW9uCUNoYXJz ZXQJSWQJRGVmYXVsdAlDb21waWxlZAlTb3J0bGVuCi11Y3MyX3Rlc3RfY2kJdWNzMgkxNTgJCQk4 Cit1Y3MyX3Rlc3RfY2kJdWNzMgkzNTgJCQk4CiBjcmVhdGUgdGFibGUgdDEgKGMxIGNoYXIoMSkg Y2hhcmFjdGVyIHNldCB1Y3MyIGNvbGxhdGUgdWNzMl90ZXN0X2NpKTsKIGluc2VydCBpbnRvIHQx IHZhbHVlcyAoJ2EnKTsKIHNlbGVjdCAqIGZyb20gdDEgd2hlcmUgYzE9J2InOwpAQCAtMjYsNyAr MjYsNyBAQCBhCiBkcm9wIHRhYmxlIHQxOwogc2hvdyBjb2xsYXRpb24gbGlrZSAndXRmMTZfdGVz dF9jaSc7CiBDb2xsYXRpb24JQ2hhcnNldAlJZAlEZWZhdWx0CUNvbXBpbGVkCVNvcnRsZW4KLXV0 ZjE2X3Rlc3RfY2kJdXRmMTYJMTI3CQkJOAordXRmMTZfdGVzdF9jaQl1dGYxNgkzMjcJCQk4CiBj cmVhdGUgdGFibGUgdDEgKGMxIGNoYXIoMSkgY2hhcmFjdGVyIHNldCB1dGYxNiBjb2xsYXRlIHV0 ZjE2X3Rlc3RfY2kpOwogaW5zZXJ0IGludG8gdDEgdmFsdWVzICgnYScpOwogc2VsZWN0ICogZnJv bSB0MSB3aGVyZSBjMT0nYic7CkBAIC0zNSw3ICszNSw3IEBAIGEKIGRyb3AgdGFibGUgdDE7CiBz aG93IGNvbGxhdGlvbiBsaWtlICd1dGYzMl90ZXN0X2NpJzsKIENvbGxhdGlvbglDaGFyc2V0CUlk CURlZmF1bHQJQ29tcGlsZWQJU29ydGxlbgotdXRmMzJfdGVzdF9jaQl1dGYzMgkxOTEJCQk4Cit1 dGYzMl90ZXN0X2NpCXV0ZjMyCTM5MQkJCTgKIGNyZWF0ZSB0YWJsZSB0MSAoYzEgY2hhcigxKSBj aGFyYWN0ZXIgc2V0IHV0ZjMyIGNvbGxhdGUgdXRmMzJfdGVzdF9jaSk7CiBpbnNlcnQgaW50byB0 MSB2YWx1ZXMgKCdhJyk7CiBzZWxlY3QgKiBmcm9tIHQxIHdoZXJlIGMxPSdiJzsKQEAgLTQ1LDcg KzQ1LDcgQEAgZHJvcCB0YWJsZSB0MTsKIFZpZXRuYW1lc2UgZXhwZXJpbWVudGFsIGNvbGxhdGlv bgogc2hvdyBjb2xsYXRpb24gbGlrZSAndWNzMl92bl9jaSc7CiBDb2xsYXRpb24JQ2hhcnNldAlJ ZAlEZWZhdWx0CUNvbXBpbGVkCVNvcnRsZW4KLXVjczJfdm5fY2kJdWNzMgkxNTkJCQk4Cit1Y3My X3ZuX2NpCXVjczIJMzU5CQkJOAogY3JlYXRlIHRhYmxlIHQxIChjMSBjaGFyKDEpIGNoYXJhY3Rl ciBzZXQgdWNzMiBjb2xsYXRlIHVjczJfdm5fY2kpOwogaW5zZXJ0IGludG8gdDEgdmFsdWVzICgw eDAwNjEpLCgweDAwNDEpLCgweDAwRTApLCgweDAwQzApLCgweDFFQTMpLCgweDFFQTIpLAogKDB4 MDBFMyksKDB4MDBDMyksKDB4MDBFMSksKDB4MDBDMSksKDB4MUVBMSksKDB4MUVBMCk7CkBAIC0z MTYsMyArMzE2LDI5IEBAIFZ2CiBYeAogWXnDncO94buy4buz4bu04bu14bu24bu34bu44bu5CiBk cm9wIHRhYmxlIHQxOworVGhlIGZvbGxvd2luZyB0ZXN0cyBjaGVjayB0aGF0IHR3by1ieXRlIGNv bGxhdGlvbiBJRHMgd29yaworc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sbGF0 aW9ucyB3aGVyZSBpZD4yNTYgb3JkZXIgYnkgaWQ7CitDT0xMQVRJT05fTkFNRQlDSEFSQUNURVJf U0VUX05BTUUJSUQJSVNfREVGQVVMVAlJU19DT01QSUxFRAlTT1JUTEVOCit1dGYxNl90ZXN0X2Np CXV0ZjE2CTMyNwkJCTgKK3V0ZjhfdGVzdF9jaQl1dGY4CTM1MwkJCTgKK3VjczJfdGVzdF9jaQl1 Y3MyCTM1OAkJCTgKK3VjczJfdm5fY2kJdWNzMgkzNTkJCQk4Cit1dGYzMl90ZXN0X2NpCXV0ZjMy CTM5MQkJCTgKK3Nob3cgY29sbGF0aW9uIGxpa2UgJyV0ZXN0JSc7CitDb2xsYXRpb24JQ2hhcnNl dAlJZAlEZWZhdWx0CUNvbXBpbGVkCVNvcnRsZW4KK3VjczJfdGVzdF9jaQl1Y3MyCTM1OAkJCTgK K3V0ZjhfdGVzdF9jaQl1dGY4CTM1MwkJCTgKK3V0ZjE2X3Rlc3RfY2kJdXRmMTYJMzI3CQkJOAor dXRmMzJfdGVzdF9jaQl1dGYzMgkzOTEJCQk4CitzaG93IGNvbGxhdGlvbiBsaWtlICd1Y3MyX3Zu X2NpJzsKK0NvbGxhdGlvbglDaGFyc2V0CUlkCURlZmF1bHQJQ29tcGlsZWQJU29ydGxlbgordWNz Ml92bl9jaQl1Y3MyCTM1OQkJCTgKK2NyZWF0ZSB0YWJsZSB0MSAoYzEgY2hhcigxKSBjaGFyYWN0 ZXIgc2V0IHVjczIgY29sbGF0ZSB1Y3MyX3ZuX2NpKTsKK2luc2VydCBpbnRvIHQxIHZhbHVlcyAo MHgwMDYxKTsKK3NldCBAQGNoYXJhY3Rlcl9zZXRfcmVzdWx0cz1OVUxMOworc2VsZWN0ICogZnJv bSB0MTsKK0NhdGFsb2cJRGF0YWJhc2UJVGFibGUJVGFibGVfYWxpYXMJQ29sdW1uCUNvbHVtbl9h bGlhcwlUeXBlCUxlbmd0aAlNYXggbGVuZ3RoCUlzX251bGwJRmxhZ3MJRGVjaW1hbHMJQ2hhcnNl dG5yCitkZWYJdGVzdAl0MQl0MQljMQljMQkyNTQJMgkyCVkJMAkwCTM1OQorYzEKKwBhCitkcm9w IHRhYmxlIHQxOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9jdHlwZV91dGY4LnJl c3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2N0eXBlX3V0ZjgucmVzdWx0CTIwMDgtMDctMjMgMDk6 NDM6NTAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL2N0eXBlX3V0ZjgucmVzdWx0CTIwMDgtMDct MjUgMTc6MjE6NTUgKzAwMDAKQEAgLTE2NjYsMjcgKzE2NjYsMjcgQEAgc2VsZWN0IGNoYXIoMHhm ZiwweDhmIHVzaW5nIHV0ZjgpOwogY2hhcigweGZmLDB4OGYgdXNpbmcgdXRmOCkKIE5VTEwKIFdh cm5pbmdzOgotRXJyb3IJMTMwMAlJbnZhbGlkIHV0ZjggY2hhcmFjdGVyIHN0cmluZzogJ0ZGOEYn CitXYXJuaW5nCTEzMDAJSW52YWxpZCB1dGY4IGNoYXJhY3RlciBzdHJpbmc6ICdGRjhGJwogc2Vs ZWN0IGNoYXIoMTk1IHVzaW5nIHV0ZjgpOwogY2hhcigxOTUgdXNpbmcgdXRmOCkKIE5VTEwKIFdh cm5pbmdzOgotRXJyb3IJMTMwMAlJbnZhbGlkIHV0ZjggY2hhcmFjdGVyIHN0cmluZzogJ0MzJwor V2FybmluZwkxMzAwCUludmFsaWQgdXRmOCBjaGFyYWN0ZXIgc3RyaW5nOiAnQzMnCiBzZWxlY3Qg Y2hhcigxOTYgdXNpbmcgdXRmOCk7CiBjaGFyKDE5NiB1c2luZyB1dGY4KQogTlVMTAogV2Fybmlu Z3M6Ci1FcnJvcgkxMzAwCUludmFsaWQgdXRmOCBjaGFyYWN0ZXIgc3RyaW5nOiAnQzQnCitXYXJu aW5nCTEzMDAJSW52YWxpZCB1dGY4IGNoYXJhY3RlciBzdHJpbmc6ICdDNCcKIHNlbGVjdCBjaGFy KDI1NTcgdXNpbmcgdXRmOCk7CiBjaGFyKDI1NTcgdXNpbmcgdXRmOCkKIE5VTEwKIFdhcm5pbmdz OgotRXJyb3IJMTMwMAlJbnZhbGlkIHV0ZjggY2hhcmFjdGVyIHN0cmluZzogJ0ZEJworV2Fybmlu ZwkxMzAwCUludmFsaWQgdXRmOCBjaGFyYWN0ZXIgc3RyaW5nOiAnRkQnCiBzZWxlY3QgY29udmVy dChjaGFyKDB4ZmYsMHg4ZikgdXNpbmcgdXRmOCk7CiBjb252ZXJ0KGNoYXIoMHhmZiwweDhmKSB1 c2luZyB1dGY4KQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMzAwCUludmFsaWQgdXRmOCBjaGFy YWN0ZXIgc3RyaW5nOiAnRkY4RicKK1dhcm5pbmcJMTMwMAlJbnZhbGlkIHV0ZjggY2hhcmFjdGVy IHN0cmluZzogJ0ZGOEYnCiBzZWxlY3QgaGV4KGNvbnZlcnQoY2hhcigyNTU3IHVzaW5nIGxhdGlu MSkgdXNpbmcgdXRmOCkpOwogaGV4KGNvbnZlcnQoY2hhcigyNTU3IHVzaW5nIGxhdGluMSkgdXNp bmcgdXRmOCkpCiAwOUMzQkQKQEAgLTE4NTAsMTIgKzE4NTAsMTIgQEAgc2VsZWN0IGhleChjaGFy KDB4RkYgdXNpbmcgdXRmOCkpOwogaGV4KGNoYXIoMHhGRiB1c2luZyB1dGY4KSkKIE5VTEwKIFdh cm5pbmdzOgotRXJyb3IJMTMwMAlJbnZhbGlkIHV0ZjggY2hhcmFjdGVyIHN0cmluZzogJ0ZGJwor V2FybmluZwkxMzAwCUludmFsaWQgdXRmOCBjaGFyYWN0ZXIgc3RyaW5nOiAnRkYnCiBzZWxlY3Qg aGV4KGNvbnZlcnQoMHhGRiB1c2luZyB1dGY4KSk7CiBoZXgoY29udmVydCgweEZGIHVzaW5nIHV0 ZjgpKQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMzAwCUludmFsaWQgdXRmOCBjaGFyYWN0ZXIg c3RyaW5nOiAnRkYnCitXYXJuaW5nCTEzMDAJSW52YWxpZCB1dGY4IGNoYXJhY3RlciBzdHJpbmc6 ICdGRicKIHNlbGVjdCBoZXgoX3V0ZjggMHg2MTYyNjNGRik7CiBFUlJPUiBIWTAwMDogSW52YWxp ZCB1dGY4IGNoYXJhY3RlciBzdHJpbmc6ICdGRicKIHNlbGVjdCBoZXgoX3V0ZjggWCc2MTYyNjNG RicpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9kYXRlX2Zvcm1hdHMucmVzdWx0 JwotLS0gYS9teXNxbC10ZXN0L3IvZGF0ZV9mb3JtYXRzLnJlc3VsdAkyMDA4LTAyLTEyIDE5OjA5 OjE2ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9kYXRlX2Zvcm1hdHMucmVzdWx0CTIwMDgtMDct MTQgMTI6NDk6MTkgKzAwMDAKQEAgLTgwLDcgKzgwLDcgQEAgc2VsZWN0IFNUUl9UT19EQVRFKCcy MDA0LjEyLjEyIDIyLjMwLjYxJwogU1RSX1RPX0RBVEUoJzIwMDQuMTIuMTIgMjIuMzAuNjEnLCcl WS4lbS4lZCAlVCcpCiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTE0MTEJSW5jb3JyZWN0IHRpbWUg dmFsdWU6ICcyMi4zMC42MScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5nCTE0MTEJ SW5jb3JyZWN0IHRpbWUgdmFsdWU6ICcyMi4zMC42MScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRl CiBjcmVhdGUgdGFibGUgdDEgKGRhdGUgY2hhcigzMCksIGZvcm1hdCBjaGFyKDMwKSBub3QgbnVs bCk7CiBpbnNlcnQgaW50byB0MSB2YWx1ZXMKICgnMjAwMy0wMS0wMiAxMDoxMToxMicsICclWS0l bS0lZCAlSDolaTolUycpLApAQCAtMzUyLDIxICszNTIsMjEgQEAgVHVlc2RheSA1MiAyMDAxCSVX ICV1ICV4CU5VTEwKIDcgNTMgMTk5OAkldyAldSAlWQlOVUxMCiBOVUxMCSVtLiVkLiVZCU5VTEwK IFdhcm5pbmdzOgotRXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcyMDAzLTAx LTAyIDEwOjExOjEyIFBNJyBmb3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKLUVycm9yCTE0MTEJSW5j b3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMjAwMy0wMS0wMiAxMDoxMToxMi4xMjM0NTYnIGZvciBm dW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6 ICcyMDAzLTAxLTAyIDEwOjExOjEyQU0nIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJ MTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcyMDAzLTAxLTAyIDEwOjExOjEyQU4nIGZv ciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFs dWU6ICcyMDAzLTAxLTAyIDEwOjExOjEyIFBNJyBmb3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKLUVy cm9yCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMTA6MjA6MTBBTScgZm9yIGZ1bmN0 aW9uIHN0cl90b19kYXRlCi1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJzE1 IFNlcHRlbWJlaSAyMDAxJyBmb3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKLUVycm9yCTE0MTEJSW5j b3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMTUgSnUgMjAwMScgZm9yIGZ1bmN0aW9uIHN0cl90b19k YXRlCi1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJ1N1bmQgMTUgTUEnIGZv ciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFs dWU6ICdUaHVyc2RhaSAxMiAxOTk4JyBmb3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKLUVycm9yCTE0 MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnU3VuZGF5IDAxIDIwMDEnIGZvciBmdW5jdGlv biBzdHJfdG9fZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICdUdWVz ZGF5IDUyIDIwMDEnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJl Y3QgZGF0ZXRpbWUgdmFsdWU6ICdUdWVzZGF5IDUyIDIwMDEnIGZvciBmdW5jdGlvbiBzdHJfdG9f ZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICdUdWVzZGF5IDUyIDIw MDEnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRp bWUgdmFsdWU6ICc3IDUzIDE5OTgnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkx NDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJzIwMDMtMDEtMDIgMTA6MTE6MTIgUE0nIGZv ciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUluY29ycmVjdCBkYXRldGltZSB2 YWx1ZTogJzIwMDMtMDEtMDIgMTA6MTE6MTIuMTIzNDU2JyBmb3IgZnVuY3Rpb24gc3RyX3RvX2Rh dGUKK1dhcm5pbmcJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcyMDAzLTAxLTAyIDEw OjExOjEyQU0nIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUluY29ycmVj dCBkYXRldGltZSB2YWx1ZTogJzIwMDMtMDEtMDIgMTA6MTE6MTJBTicgZm9yIGZ1bmN0aW9uIHN0 cl90b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMjAwMy0w MS0wMiAxMDoxMToxMiBQTScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5nCTE0MTEJ SW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMTA6MjA6MTBBTScgZm9yIGZ1bmN0aW9uIHN0cl90 b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMTUgU2VwdGVt YmVpIDIwMDEnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUluY29ycmVj dCBkYXRldGltZSB2YWx1ZTogJzE1IEp1IDIwMDEnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQor V2FybmluZwkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJ1N1bmQgMTUgTUEnIGZvciBm dW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1 ZTogJ1RodXJzZGFpIDEyIDE5OTgnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkx NDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJ1N1bmRheSAwMSAyMDAxJyBmb3IgZnVuY3Rp b24gc3RyX3RvX2RhdGUKK1dhcm5pbmcJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICdU dWVzZGF5IDUyIDIwMDEnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUlu Y29ycmVjdCBkYXRldGltZSB2YWx1ZTogJ1R1ZXNkYXkgNTIgMjAwMScgZm9yIGZ1bmN0aW9uIHN0 cl90b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnVHVlc2Rh eSA1MiAyMDAxJyBmb3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKK1dhcm5pbmcJMTQxMQlJbmNvcnJl Y3QgZGF0ZXRpbWUgdmFsdWU6ICc3IDUzIDE5OTgnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQog c2VsZWN0IGRhdGUsZm9ybWF0LGNvbmNhdChzdHJfdG9fZGF0ZShkYXRlLCBmb3JtYXQpLCcnKSBh cyBjb24gZnJvbSB0MTsKIGRhdGUJZm9ybWF0CWNvbgogMjAwMy0wMS0wMiAxMDoxMToxMiBQTQkl WS0lbS0lZCAlSDolaTolUyAlcAlOVUxMCkBAIC0zODYsMjEgKzM4NiwyMSBAQCBUdWVzZGF5IDUy IDIwMDEJJVcgJXUgJXgJTlVMTAogNyA1MyAxOTk4CSV3ICV1ICVZCU5VTEwKIE5VTEwJJW0uJWQu JVkJTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTog JzIwMDMtMDEtMDIgMTA6MTE6MTIgUE0nIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJ MTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcyMDAzLTAxLTAyIDEwOjExOjEyLjEyMzQ1 NicgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCi1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRldGlt ZSB2YWx1ZTogJzIwMDMtMDEtMDIgMTA6MTE6MTJBTScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRl Ci1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJzIwMDMtMDEtMDIgMTA6MTE6 MTJBTicgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCi1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRl dGltZSB2YWx1ZTogJzIwMDMtMDEtMDIgMTA6MTE6MTIgUE0nIGZvciBmdW5jdGlvbiBzdHJfdG9f ZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcxMDoyMDoxMEFNJyBm b3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKLUVycm9yCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZh bHVlOiAnMTUgU2VwdGVtYmVpIDIwMDEnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJ MTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcxNSBKdSAyMDAxJyBmb3IgZnVuY3Rpb24g c3RyX3RvX2RhdGUKLUVycm9yCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnU3VuZCAx NSBNQScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCi1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRl dGltZSB2YWx1ZTogJ1RodXJzZGFpIDEyIDE5OTgnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQot RXJyb3IJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICdTdW5kYXkgMDEgMjAwMScgZm9y IGZ1bmN0aW9uIHN0cl90b19kYXRlCi1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1 ZTogJ1R1ZXNkYXkgNTIgMjAwMScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCi1FcnJvcgkxNDEx CUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJ1R1ZXNkYXkgNTIgMjAwMScgZm9yIGZ1bmN0aW9u IHN0cl90b19kYXRlCi1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJ1R1ZXNk YXkgNTIgMjAwMScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCi1FcnJvcgkxNDExCUluY29ycmVj dCBkYXRldGltZSB2YWx1ZTogJzcgNTMgMTk5OCcgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitX YXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMjAwMy0wMS0wMiAxMDoxMTox MiBQTScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRh dGV0aW1lIHZhbHVlOiAnMjAwMy0wMS0wMiAxMDoxMToxMi4xMjM0NTYnIGZvciBmdW5jdGlvbiBz dHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJzIwMDMt MDEtMDIgMTA6MTE6MTJBTScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5nCTE0MTEJ SW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMjAwMy0wMS0wMiAxMDoxMToxMkFOJyBmb3IgZnVu Y3Rpb24gc3RyX3RvX2RhdGUKK1dhcm5pbmcJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6 ICcyMDAzLTAxLTAyIDEwOjExOjEyIFBNJyBmb3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKK1dhcm5p bmcJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcxMDoyMDoxMEFNJyBmb3IgZnVuY3Rp b24gc3RyX3RvX2RhdGUKK1dhcm5pbmcJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcx NSBTZXB0ZW1iZWkgMjAwMScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5nCTE0MTEJ SW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMTUgSnUgMjAwMScgZm9yIGZ1bmN0aW9uIHN0cl90 b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnU3VuZCAxNSBN QScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRhdGV0 aW1lIHZhbHVlOiAnVGh1cnNkYWkgMTIgMTk5OCcgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitX YXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnU3VuZGF5IDAxIDIwMDEnIGZv ciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUluY29ycmVjdCBkYXRldGltZSB2 YWx1ZTogJ1R1ZXNkYXkgNTIgMjAwMScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5n CTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnVHVlc2RheSA1MiAyMDAxJyBmb3IgZnVu Y3Rpb24gc3RyX3RvX2RhdGUKK1dhcm5pbmcJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6 ICdUdWVzZGF5IDUyIDIwMDEnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDEx CUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJzcgNTMgMTk5OCcgZm9yIGZ1bmN0aW9uIHN0cl90 b19kYXRlCiB0cnVuY2F0ZSB0YWJsZSB0MTsKIGluc2VydCBpbnRvIHQxIHZhbHVlcwogKCcxMDoy MDoxMEFNJywgJyVoOiVpOiVzJyksCkBAIC00NDAsNyArNDQwLDcgQEAgc2VsZWN0IHN0cl90b19k YXRlKCcxNS0wMS0yMDAxIDEyOjU5OjU5Jwogc3RyX3RvX2RhdGUoJzE1LTAxLTIwMDEgMTI6NTk6 NTknLCBHRVRfRk9STUFUKERBVEUsJ1VTQScpKQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxNDEx CUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJzE1LTAxLTIwMDEgMTI6NTk6NTknIGZvciBmdW5j dGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTog JzE1LTAxLTIwMDEgMTI6NTk6NTknIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQogZXhwbGFpbiBl eHRlbmRlZCBzZWxlY3QgbWFrZWRhdGUoMTk5NywxKSwgYWRkdGltZSgiMzEuMTIuOTcgMTEuNTku NTkuOTk5OTk5IFBNIiwgIjEgMS4xLjEuMDAwMDAyIiksc3VidGltZSgiMzEuMTIuOTcgMTEuNTku NTkuOTk5OTk5IFBNIiwgIjEgMS4xLjEuMDAwMDAyIiksdGltZWRpZmYoIjAxLjAxLjk3IDExOjU5 OjU5LjAwMDAwMSBQTSIsIjMxLjEyLjk1IDExOjU5OjU5LjAwMDAwMiBQTSIpLGNhc3Qoc3RyX3Rv X2RhdGUoIjE1LTAxLTIwMDEgMTI6NTk6NTkiLCAiJWQtJW0tJVkgJUg6JWk6JVMiKSBhcyBUSU1F KSwgbWFrZXRpbWUoMjMsMTEsMTIpLG1pY3Jvc2Vjb25kKCIxOTk3LTEyLTMxIDIzOjU5OjU5LjAw MDAwMSIpOwogaWQJc2VsZWN0X3R5cGUJdGFibGUJdHlwZQlwb3NzaWJsZV9rZXlzCWtleQlrZXlf bGVuCXJlZglyb3dzCWZpbHRlcmVkCUV4dHJhCiAxCVNJTVBMRQlOVUxMCU5VTEwJTlVMTAlOVUxM CU5VTEwJTlVMTAlOVUxMCU5VTEwJTm8gdGFibGVzIHVzZWQKCj09PSBtb2RpZmllZCBmaWxlICdt eXNxbC10ZXN0L3IvZnVuY19jb21wcmVzcy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9mdW5j X2NvbXByZXNzLnJlc3VsdAkyMDA2LTEwLTEzIDE0OjMzOjI4ICswMDAwCisrKyBiL215c3FsLXRl c3Qvci9mdW5jX2NvbXByZXNzLnJlc3VsdAkyMDA4LTA3LTE0IDEyOjQ5OjE5ICswMDAwCkBAIC02 NSw4ICs2NSw4IEBAIE5VTEwKIDUwMDAwCiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTEyNTkJWkxJ QjogSW5wdXQgZGF0YSBjb3JydXB0ZWQKLUVycm9yCTEyNTYJVW5jb21wcmVzc2VkIGRhdGEgc2l6 ZSB0b28gbGFyZ2U7IHRoZSBtYXhpbXVtIHNpemUgaXMgMTA0ODU3NiAocHJvYmFibHksIGxlbmd0 aCBvZiB1bmNvbXByZXNzZWQgZGF0YSB3YXMgY29ycnVwdGVkKQorV2FybmluZwkxMjU5CVpMSUI6 IElucHV0IGRhdGEgY29ycnVwdGVkCitXYXJuaW5nCTEyNTYJVW5jb21wcmVzc2VkIGRhdGEgc2l6 ZSB0b28gbGFyZ2U7IHRoZSBtYXhpbXVtIHNpemUgaXMgMTA0ODU3NiAocHJvYmFibHksIGxlbmd0 aCBvZiB1bmNvbXByZXNzZWQgZGF0YSB3YXMgY29ycnVwdGVkKQogZHJvcCB0YWJsZSB0MTsKIHNl dCBAQG1heF9hbGxvd2VkX3BhY2tldD0xMDQ4NTc2KjEwMDsKIHNlbGVjdCBjb21wcmVzcyhyZXBl YXQoJ2FhYWFhYWFhYWEnLCBJRihYWFgsIDEwLCAxMDAwMDAwMCkpKSBpcyBudWxsOwpAQCAtOTUs MTIgKzk1LDEyIEBAIGV4cGxhaW4gc2VsZWN0ICogZnJvbSB0MSB3aGVyZSB1bmNvbXByZXMKIGlk CXNlbGVjdF90eXBlCXRhYmxlCXR5cGUJcG9zc2libGVfa2V5cwlrZXkJa2V5X2xlbglyZWYJcm93 cwlFeHRyYQogMQlTSU1QTEUJdDEJc3lzdGVtCU5VTEwJTlVMTAlOVUxMCU5VTEwJMQkKIFdhcm5p bmdzOgotRXJyb3IJMTI1OQlaTElCOiBJbnB1dCBkYXRhIGNvcnJ1cHRlZAorV2FybmluZwkxMjU5 CVpMSUI6IElucHV0IGRhdGEgY29ycnVwdGVkCiBzZWxlY3QgKiBmcm9tIHQxIHdoZXJlIHVuY29t cHJlc3MoYSkgaXMgbnVsbDsKIGEKIGZvbwogV2FybmluZ3M6Ci1FcnJvcgkxMjU5CVpMSUI6IElu cHV0IGRhdGEgY29ycnVwdGVkCitXYXJuaW5nCTEyNTkJWkxJQjogSW5wdXQgZGF0YSBjb3JydXB0 ZWQKIGV4cGxhaW4gc2VsZWN0ICosIHVuY29tcHJlc3MoYSkgZnJvbSB0MTsKIGlkCXNlbGVjdF90 eXBlCXRhYmxlCXR5cGUJcG9zc2libGVfa2V5cwlrZXkJa2V5X2xlbglyZWYJcm93cwlFeHRyYQog MQlTSU1QTEUJdDEJc3lzdGVtCU5VTEwJTlVMTAlOVUxMCU5VTEwJMQkKQEAgLTEwOCwxMiArMTA4 LDEyIEBAIHNlbGVjdCAqLCB1bmNvbXByZXNzKGEpIGZyb20gdDE7CiBhCXVuY29tcHJlc3MoYSkK IGZvbwlOVUxMCiBXYXJuaW5nczoKLUVycm9yCTEyNTkJWkxJQjogSW5wdXQgZGF0YSBjb3JydXB0 ZWQKK1dhcm5pbmcJMTI1OQlaTElCOiBJbnB1dCBkYXRhIGNvcnJ1cHRlZAogc2VsZWN0ICosIHVu Y29tcHJlc3MoYSksIHVuY29tcHJlc3MoYSkgaXMgbnVsbCBmcm9tIHQxOwogYQl1bmNvbXByZXNz KGEpCXVuY29tcHJlc3MoYSkgaXMgbnVsbAogZm9vCU5VTEwJMQogV2FybmluZ3M6Ci1FcnJvcgkx MjU5CVpMSUI6IElucHV0IGRhdGEgY29ycnVwdGVkCi1FcnJvcgkxMjU5CVpMSUI6IElucHV0IGRh dGEgY29ycnVwdGVkCitXYXJuaW5nCTEyNTkJWkxJQjogSW5wdXQgZGF0YSBjb3JydXB0ZWQKK1dh cm5pbmcJMTI1OQlaTElCOiBJbnB1dCBkYXRhIGNvcnJ1cHRlZAogZHJvcCB0YWJsZSB0MTsKIEVu ZCBvZiA1LjAgdGVzdHMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvZnVuY19kaWdl c3QucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvZnVuY19kaWdlc3QucmVzdWx0CTIwMDctMTIt MTggMTc6Mjc6MjIgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL2Z1bmNfZGlnZXN0LnJlc3VsdAky MDA4LTA3LTE0IDEyOjQ5OjE5ICswMDAwCkBAIC0xMzQ2LDMyICsxMzQ2LDMyIEBAIFNFTEVDVCBT SEEyKCB4J2ZmJywgMSApOwogU0hBMiggeCdmZicsIDEgKQogTlVMTAogV2FybmluZ3M6Ci1FcnJv cgkxNTgzCUluY29ycmVjdCBwYXJhbWV0ZXJzIGluIHRoZSBjYWxsIHRvIG5hdGl2ZSBmdW5jdGlv biAnc2hhMicKK1dhcm5pbmcJMTU4MwlJbmNvcnJlY3QgcGFyYW1ldGVycyBpbiB0aGUgY2FsbCB0 byBuYXRpdmUgZnVuY3Rpb24gJ3NoYTInCiBTRUxFQ1QgU0hBMiggeCdmZicsIDIgKTsKIFNIQTIo IHgnZmYnLCAyICkKIE5VTEwKIFdhcm5pbmdzOgotRXJyb3IJMTU4MwlJbmNvcnJlY3QgcGFyYW1l dGVycyBpbiB0aGUgY2FsbCB0byBuYXRpdmUgZnVuY3Rpb24gJ3NoYTInCitXYXJuaW5nCTE1ODMJ SW5jb3JyZWN0IHBhcmFtZXRlcnMgaW4gdGhlIGNhbGwgdG8gbmF0aXZlIGZ1bmN0aW9uICdzaGEy JwogU0VMRUNUIFNIQTIoIHgnZmYnLCAyMjMgKTsKIFNIQTIoIHgnZmYnLCAyMjMgKQogTlVMTAog V2FybmluZ3M6Ci1FcnJvcgkxNTgzCUluY29ycmVjdCBwYXJhbWV0ZXJzIGluIHRoZSBjYWxsIHRv IG5hdGl2ZSBmdW5jdGlvbiAnc2hhMicKK1dhcm5pbmcJMTU4MwlJbmNvcnJlY3QgcGFyYW1ldGVy cyBpbiB0aGUgY2FsbCB0byBuYXRpdmUgZnVuY3Rpb24gJ3NoYTInCiBTRUxFQ1QgU0hBMiggeCdm ZicsIDUxMSApOwogU0hBMiggeCdmZicsIDUxMSApCiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTE1 ODMJSW5jb3JyZWN0IHBhcmFtZXRlcnMgaW4gdGhlIGNhbGwgdG8gbmF0aXZlIGZ1bmN0aW9uICdz aGEyJworV2FybmluZwkxNTgzCUluY29ycmVjdCBwYXJhbWV0ZXJzIGluIHRoZSBjYWxsIHRvIG5h dGl2ZSBmdW5jdGlvbiAnc2hhMicKIFNFTEVDVCBTSEEyKCB4J2ZmJywgbGVhc3QoMTIzLCA0Mikg KTsKIFNIQTIoIHgnZmYnLCBsZWFzdCgxMjMsIDQyKSApCiBOVUxMCiBXYXJuaW5nczoKLUVycm9y CTE1ODMJSW5jb3JyZWN0IHBhcmFtZXRlcnMgaW4gdGhlIGNhbGwgdG8gbmF0aXZlIGZ1bmN0aW9u ICdzaGEyJworV2FybmluZwkxNTgzCUluY29ycmVjdCBwYXJhbWV0ZXJzIGluIHRoZSBjYWxsIHRv IG5hdGl2ZSBmdW5jdGlvbiAnc2hhMicKIFNFTEVDVCBTSEEyKCB4J2ZmJywgMTAwMDAwMDAwMDAw MDAgKTsKIFNIQTIoIHgnZmYnLCAxMDAwMDAwMDAwMDAwMCApCiBOVUxMCiBXYXJuaW5nczoKLUVy cm9yCTE1ODMJSW5jb3JyZWN0IHBhcmFtZXRlcnMgaW4gdGhlIGNhbGwgdG8gbmF0aXZlIGZ1bmN0 aW9uICdzaGEyJworV2FybmluZwkxNTgzCUluY29ycmVjdCBwYXJhbWV0ZXJzIGluIHRoZSBjYWxs IHRvIG5hdGl2ZSBmdW5jdGlvbiAnc2hhMicKIFNFTEVDVCBTSEEyKCBTSEEyKCBOVUxMLCAyMjQp LCAyMjQgKTsKIFNIQTIoIFNIQTIoIE5VTEwsIDIyNCksIDIyNCApCiBOVUxMCgo9PT0gbW9kaWZp ZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2Z1bmNfZW5jcnlwdC5yZXN1bHQnCi0tLSBhL215c3FsLXRl c3Qvci9mdW5jX2VuY3J5cHQucmVzdWx0CTIwMDgtMDItMTIgMTk6Mjk6NTUgKzAwMDAKKysrIGIv bXlzcWwtdGVzdC9yL2Z1bmNfZW5jcnlwdC5yZXN1bHQJMjAwOC0wNy0xNCAxMjo0OToxOSArMDAw MApAQCAtMTI0LDcgKzEyNCw3IEBAIHNlbGVjdCBkZXNfZW5jcnlwdCgiaGVsbG8iLDEwKTsKIGRl c19lbmNyeXB0KCJoZWxsbyIsMTApCiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTE1ODMJSW5jb3Jy ZWN0IHBhcmFtZXRlcnMgaW4gdGhlIGNhbGwgdG8gbmF0aXZlIGZ1bmN0aW9uICdkZXNfZW5jcnlw dCcKK1dhcm5pbmcJMTU4MwlJbmNvcnJlY3QgcGFyYW1ldGVycyBpbiB0aGUgY2FsbCB0byBuYXRp dmUgZnVuY3Rpb24gJ2Rlc19lbmNyeXB0Jwogc2VsZWN0IGRlc19lbmNyeXB0KE5VTEwpOwogZGVz X2VuY3J5cHQoTlVMTCkKIE5VTEwKQEAgLTEzOCwxMiArMTM4LDEyIEBAIHNlbGVjdCBkZXNfZW5j cnlwdCgxMCwgTlVMTCk7CiBkZXNfZW5jcnlwdCgxMCwgTlVMTCkKIE5VTEwKIFdhcm5pbmdzOgot RXJyb3IJMTU4MwlJbmNvcnJlY3QgcGFyYW1ldGVycyBpbiB0aGUgY2FsbCB0byBuYXRpdmUgZnVu Y3Rpb24gJ2Rlc19lbmNyeXB0JworV2FybmluZwkxNTgzCUluY29ycmVjdCBwYXJhbWV0ZXJzIGlu IHRoZSBjYWxsIHRvIG5hdGl2ZSBmdW5jdGlvbiAnZGVzX2VuY3J5cHQnCiBzZWxlY3QgZGVzX2Vu Y3J5cHQoImhlbGxvIiwgTlVMTCk7CiBkZXNfZW5jcnlwdCgiaGVsbG8iLCBOVUxMKQogTlVMTAog V2FybmluZ3M6Ci1FcnJvcgkxNTgzCUluY29ycmVjdCBwYXJhbWV0ZXJzIGluIHRoZSBjYWxsIHRv IG5hdGl2ZSBmdW5jdGlvbiAnZGVzX2VuY3J5cHQnCitXYXJuaW5nCTE1ODMJSW5jb3JyZWN0IHBh cmFtZXRlcnMgaW4gdGhlIGNhbGwgdG8gbmF0aXZlIGZ1bmN0aW9uICdkZXNfZW5jcnlwdCcKIHNl bGVjdCBkZXNfZGVjcnlwdCgiaGVsbG8iLDEwKTsKIGRlc19kZWNyeXB0KCJoZWxsbyIsMTApCiBo ZWxsbwpAQCAtMTc3LDcgKzE3Nyw3IEBAIHNlbGVjdCBoZXgoZGVzX2RlY3J5cHQoZGVzX2VuY3J5 cHQoImhlbGwKIGhleChkZXNfZGVjcnlwdChkZXNfZW5jcnlwdCgiaGVsbG8iLCJoaWRkZW4iKSkp CiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTE1ODMJSW5jb3JyZWN0IHBhcmFtZXRlcnMgaW4gdGhl IGNhbGwgdG8gbmF0aXZlIGZ1bmN0aW9uICdkZXNfZGVjcnlwdCcKK1dhcm5pbmcJMTU4MwlJbmNv cnJlY3QgcGFyYW1ldGVycyBpbiB0aGUgY2FsbCB0byBuYXRpdmUgZnVuY3Rpb24gJ2Rlc19kZWNy eXB0JwogZXhwbGFpbiBleHRlbmRlZCBzZWxlY3QgZGVzX2RlY3J5cHQoZGVzX2VuY3J5cHQoImhl bGxvIiw0KSwncGFzc3dvcmQyJyksIGRlc19kZWNyeXB0KGRlc19lbmNyeXB0KCJoZWxsbyIsImhp ZGRlbiIpKTsKIGlkCXNlbGVjdF90eXBlCXRhYmxlCXR5cGUJcG9zc2libGVfa2V5cwlrZXkJa2V5 X2xlbglyZWYJcm93cwlmaWx0ZXJlZAlFeHRyYQogMQlTSU1QTEUJTlVMTAlOVUxMCU5VTEwJTlVM TAlOVUxMCU5VTEwJTlVMTAlOVUxMCU5vIHRhYmxlcyB1c2VkCgo9PT0gbW9kaWZpZWQgZmlsZSAn bXlzcWwtdGVzdC9yL2Z1bmNfZW5jcnlwdF9ub3NzbC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qv ci9mdW5jX2VuY3J5cHRfbm9zc2wucmVzdWx0CTIwMDctMTItMTEgMTA6Mzk6MTQgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9yL2Z1bmNfZW5jcnlwdF9ub3NzbC5yZXN1bHQJMjAwOC0wNy0xNSAwMDow Njo0MyArMDAwMApAQCAtMiw4MyArMiw4MyBAQCBzZWxlY3QgZGVzX2VuY3J5cHQoInRlc3QiLCAn YWtleXN0cicpOwogZGVzX2VuY3J5cHQoInRlc3QiLCAnYWtleXN0cicpCiBOVUxMCiBXYXJuaW5n czoKLUVycm9yCTEyODkJVGhlICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsgeW91 IG5lZWQgTXlTUUwgYnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5nCitX YXJuaW5nCTEyODkJVGhlICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsgeW91IG5l ZWQgTXlTUUwgYnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5nCiBzZWxl Y3QgZGVzX2VuY3J5cHQoInRlc3QiLCAxKTsKIGRlc19lbmNyeXB0KCJ0ZXN0IiwgMSkKIE5VTEwK IFdhcm5pbmdzOgotRXJyb3IJMTI4OQlUaGUgJ2Rlc19lbmNyeXB0JyBmZWF0dXJlIGlzIGRpc2Fi bGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBoYXZlIGl0IHdv cmtpbmcKK1dhcm5pbmcJMTI4OQlUaGUgJ2Rlc19lbmNyeXB0JyBmZWF0dXJlIGlzIGRpc2FibGVk OyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBoYXZlIGl0IHdvcmtp bmcKIHNlbGVjdCBkZXNfZW5jcnlwdCgidGVzdCIsIDkpOwogZGVzX2VuY3J5cHQoInRlc3QiLCA5 KQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMjg5CVRoZSAnZGVzX2VuY3J5cHQnIGZlYXR1cmUg aXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhh dmUgaXQgd29ya2luZworV2FybmluZwkxMjg5CVRoZSAnZGVzX2VuY3J5cHQnIGZlYXR1cmUgaXMg ZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhhdmUg aXQgd29ya2luZwogc2VsZWN0IGRlc19lbmNyeXB0KCJ0ZXN0IiwgMTAwKTsKIGRlc19lbmNyeXB0 KCJ0ZXN0IiwgMTAwKQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMjg5CVRoZSAnZGVzX2VuY3J5 cHQnIGZlYXR1cmUgaXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0 aC1zc2wnIHRvIGhhdmUgaXQgd29ya2luZworV2FybmluZwkxMjg5CVRoZSAnZGVzX2VuY3J5cHQn IGZlYXR1cmUgaXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1z c2wnIHRvIGhhdmUgaXQgd29ya2luZwogc2VsZWN0IGRlc19lbmNyeXB0KCJ0ZXN0IiwgTlVMTCk7 CiBkZXNfZW5jcnlwdCgidGVzdCIsIE5VTEwpCiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTEyODkJ VGhlICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsgeW91IG5lZWQgTXlTUUwgYnVp bHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5nCitXYXJuaW5nCTEyODkJVGhl ICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsgeW91IG5lZWQgTXlTUUwgYnVpbHQg d2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5nCiBzZWxlY3QgZGVzX2VuY3J5cHQo TlVMTCwgTlVMTCk7CiBkZXNfZW5jcnlwdChOVUxMLCBOVUxMKQogTlVMTAogV2FybmluZ3M6Ci1F cnJvcgkxMjg5CVRoZSAnZGVzX2VuY3J5cHQnIGZlYXR1cmUgaXMgZGlzYWJsZWQ7IHlvdSBuZWVk IE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhhdmUgaXQgd29ya2luZworV2Fybmlu ZwkxMjg5CVRoZSAnZGVzX2VuY3J5cHQnIGZlYXR1cmUgaXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15 U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhhdmUgaXQgd29ya2luZwogc2VsZWN0IGRl c19kZWNyeXB0KCJ0ZXN0IiwgJ2Fub3RoZXJrZXlzdHInKTsKIGRlc19kZWNyeXB0KCJ0ZXN0Iiwg J2Fub3RoZXJrZXlzdHInKQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMjg5CVRoZSAnZGVzX2Rl Y3J5cHQnIGZlYXR1cmUgaXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0t d2l0aC1zc2wnIHRvIGhhdmUgaXQgd29ya2luZworV2FybmluZwkxMjg5CVRoZSAnZGVzX2RlY3J5 cHQnIGZlYXR1cmUgaXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0 aC1zc2wnIHRvIGhhdmUgaXQgd29ya2luZwogc2VsZWN0IGRlc19kZWNyeXB0KDEsIDEpOwogZGVz X2RlY3J5cHQoMSwgMSkKIE5VTEwKIFdhcm5pbmdzOgotRXJyb3IJMTI4OQlUaGUgJ2Rlc19kZWNy eXB0JyBmZWF0dXJlIGlzIGRpc2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdp dGgtc3NsJyB0byBoYXZlIGl0IHdvcmtpbmcKK1dhcm5pbmcJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0 JyBmZWF0dXJlIGlzIGRpc2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgt c3NsJyB0byBoYXZlIGl0IHdvcmtpbmcKIHNlbGVjdCBkZXNfZGVjcnlwdChkZXNfZW5jcnlwdCgi dGVzdCIsICd0aGVrZXknKSk7CiBkZXNfZGVjcnlwdChkZXNfZW5jcnlwdCgidGVzdCIsICd0aGVr ZXknKSkKIE5VTEwKIFdhcm5pbmdzOgotRXJyb3IJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0JyBmZWF0 dXJlIGlzIGRpc2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0 byBoYXZlIGl0IHdvcmtpbmcKK1dhcm5pbmcJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0JyBmZWF0dXJl IGlzIGRpc2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBo YXZlIGl0IHdvcmtpbmcKIHNlbGVjdCBoZXgoZGVzX2VuY3J5cHQoImhlbGxvIikpLGRlc19kZWNy eXB0KGRlc19lbmNyeXB0KCJoZWxsbyIpKTsKIGhleChkZXNfZW5jcnlwdCgiaGVsbG8iKSkJZGVz X2RlY3J5cHQoZGVzX2VuY3J5cHQoImhlbGxvIikpCiBOVUxMCU5VTEwKIFdhcm5pbmdzOgotRXJy b3IJMTI4OQlUaGUgJ2Rlc19lbmNyeXB0JyBmZWF0dXJlIGlzIGRpc2FibGVkOyB5b3UgbmVlZCBN eVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBoYXZlIGl0IHdvcmtpbmcKLUVycm9yCTEy ODkJVGhlICdkZXNfZGVjcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsgeW91IG5lZWQgTXlTUUwg YnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5nCitXYXJuaW5nCTEyODkJ VGhlICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsgeW91IG5lZWQgTXlTUUwgYnVp bHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5nCitXYXJuaW5nCTEyODkJVGhl ICdkZXNfZGVjcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsgeW91IG5lZWQgTXlTUUwgYnVpbHQg d2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5nCiBzZWxlY3QgZGVzX2RlY3J5cHQo ZGVzX2VuY3J5cHQoImhlbGxvIiw0KSk7CiBkZXNfZGVjcnlwdChkZXNfZW5jcnlwdCgiaGVsbG8i LDQpKQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMjg5CVRoZSAnZGVzX2RlY3J5cHQnIGZlYXR1 cmUgaXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRv IGhhdmUgaXQgd29ya2luZworV2FybmluZwkxMjg5CVRoZSAnZGVzX2RlY3J5cHQnIGZlYXR1cmUg aXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhh dmUgaXQgd29ya2luZwogc2VsZWN0IGRlc19kZWNyeXB0KGRlc19lbmNyeXB0KCJoZWxsbyIsJ3Rl c3QnKSwndGVzdCcpOwogZGVzX2RlY3J5cHQoZGVzX2VuY3J5cHQoImhlbGxvIiwndGVzdCcpLCd0 ZXN0JykKIE5VTEwKIFdhcm5pbmdzOgotRXJyb3IJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0JyBmZWF0 dXJlIGlzIGRpc2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0 byBoYXZlIGl0IHdvcmtpbmcKK1dhcm5pbmcJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0JyBmZWF0dXJl IGlzIGRpc2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBo YXZlIGl0IHdvcmtpbmcKIHNlbGVjdCBoZXgoZGVzX2VuY3J5cHQoImhlbGxvIikpLGhleChkZXNf ZW5jcnlwdCgiaGVsbG8iLDUpKSxoZXgoZGVzX2VuY3J5cHQoImhlbGxvIiwnZGVmYXVsdF9wYXNz d29yZCcpKTsKIGhleChkZXNfZW5jcnlwdCgiaGVsbG8iKSkJaGV4KGRlc19lbmNyeXB0KCJoZWxs byIsNSkpCWhleChkZXNfZW5jcnlwdCgiaGVsbG8iLCdkZWZhdWx0X3Bhc3N3b3JkJykpCiBOVUxM CU5VTEwJTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMjg5CVRoZSAnZGVzX2VuY3J5cHQnIGZlYXR1 cmUgaXMgZGlzYWJsZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRv IGhhdmUgaXQgd29ya2luZwotRXJyb3IJMTI4OQlUaGUgJ2Rlc19lbmNyeXB0JyBmZWF0dXJlIGlz IGRpc2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBoYXZl IGl0IHdvcmtpbmcKLUVycm9yCTEyODkJVGhlICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNh YmxlZDsgeW91IG5lZWQgTXlTUUwgYnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3 b3JraW5nCitXYXJuaW5nCTEyODkJVGhlICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxl ZDsgeW91IG5lZWQgTXlTUUwgYnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3Jr aW5nCitXYXJuaW5nCTEyODkJVGhlICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsg eW91IG5lZWQgTXlTUUwgYnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5n CitXYXJuaW5nCTEyODkJVGhlICdkZXNfZW5jcnlwdCcgZmVhdHVyZSBpcyBkaXNhYmxlZDsgeW91 IG5lZWQgTXlTUUwgYnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBpdCB3b3JraW5nCiBz ZWxlY3QgZGVzX2RlY3J5cHQoZGVzX2VuY3J5cHQoImhlbGxvIiksJ2RlZmF1bHRfcGFzc3dvcmQn KTsKIGRlc19kZWNyeXB0KGRlc19lbmNyeXB0KCJoZWxsbyIpLCdkZWZhdWx0X3Bhc3N3b3JkJykK IE5VTEwKIFdhcm5pbmdzOgotRXJyb3IJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0JyBmZWF0dXJlIGlz IGRpc2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBoYXZl IGl0IHdvcmtpbmcKK1dhcm5pbmcJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0JyBmZWF0dXJlIGlzIGRp c2FibGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBoYXZlIGl0 IHdvcmtpbmcKIHNlbGVjdCBkZXNfZGVjcnlwdChkZXNfZW5jcnlwdCgiaGVsbG8iLDQpLCdwYXNz d29yZDQnKTsKIGRlc19kZWNyeXB0KGRlc19lbmNyeXB0KCJoZWxsbyIsNCksJ3Bhc3N3b3JkNCcp CiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTEyODkJVGhlICdkZXNfZGVjcnlwdCcgZmVhdHVyZSBp cyBkaXNhYmxlZDsgeW91IG5lZWQgTXlTUUwgYnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2 ZSBpdCB3b3JraW5nCitXYXJuaW5nCTEyODkJVGhlICdkZXNfZGVjcnlwdCcgZmVhdHVyZSBpcyBk aXNhYmxlZDsgeW91IG5lZWQgTXlTUUwgYnVpbHQgd2l0aCAnLS13aXRoLXNzbCcgdG8gaGF2ZSBp dCB3b3JraW5nCiBTRVQgQGE9ZGVzX2RlY3J5cHQoZGVzX2VuY3J5cHQoImhlbGxvIikpOwogV2Fy bmluZ3M6Ci1FcnJvcgkxMjg5CVRoZSAnZGVzX2RlY3J5cHQnIGZlYXR1cmUgaXMgZGlzYWJsZWQ7 IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhhdmUgaXQgd29ya2lu ZworV2FybmluZwkxMjg5CVRoZSAnZGVzX2RlY3J5cHQnIGZlYXR1cmUgaXMgZGlzYWJsZWQ7IHlv dSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhhdmUgaXQgd29ya2luZwog Zmx1c2ggZGVzX2tleV9maWxlOwogc2VsZWN0IEBhID0gZGVzX2RlY3J5cHQoZGVzX2VuY3J5cHQo ImhlbGxvIikpOwogQGEgPSBkZXNfZGVjcnlwdChkZXNfZW5jcnlwdCgiaGVsbG8iKSkKQEAgLTkw LDkgKzkwLDkgQEAgc2VsZWN0IGhleChkZXNfZGVjcnlwdChkZXNfZW5jcnlwdCgiaGVsbAogaGV4 KGRlc19kZWNyeXB0KGRlc19lbmNyeXB0KCJoZWxsbyIsNCksJ3Bhc3N3b3JkMicpKQogTlVMTAog V2FybmluZ3M6Ci1FcnJvcgkxMjg5CVRoZSAnZGVzX2RlY3J5cHQnIGZlYXR1cmUgaXMgZGlzYWJs ZWQ7IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhhdmUgaXQgd29y a2luZworV2FybmluZwkxMjg5CVRoZSAnZGVzX2RlY3J5cHQnIGZlYXR1cmUgaXMgZGlzYWJsZWQ7 IHlvdSBuZWVkIE15U1FMIGJ1aWx0IHdpdGggJy0td2l0aC1zc2wnIHRvIGhhdmUgaXQgd29ya2lu Zwogc2VsZWN0IGhleChkZXNfZGVjcnlwdChkZXNfZW5jcnlwdCgiaGVsbG8iLCJoaWRkZW4iKSkp OwogaGV4KGRlc19kZWNyeXB0KGRlc19lbmNyeXB0KCJoZWxsbyIsImhpZGRlbiIpKSkKIE5VTEwK IFdhcm5pbmdzOgotRXJyb3IJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0JyBmZWF0dXJlIGlzIGRpc2Fi bGVkOyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBoYXZlIGl0IHdv cmtpbmcKK1dhcm5pbmcJMTI4OQlUaGUgJ2Rlc19kZWNyeXB0JyBmZWF0dXJlIGlzIGRpc2FibGVk OyB5b3UgbmVlZCBNeVNRTCBidWlsdCB3aXRoICctLXdpdGgtc3NsJyB0byBoYXZlIGl0IHdvcmtp bmcKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvZnVuY19tYXRoLnJlc3VsdCcKLS0t IGEvbXlzcWwtdGVzdC9yL2Z1bmNfbWF0aC5yZXN1bHQJMjAwOC0wNC0wNyAxODoyNToxOSArMDAw MAorKysgYi9teXNxbC10ZXN0L3IvZnVuY19tYXRoLnJlc3VsdAkyMDA4LTA3LTE0IDEyOjQ5OjE5 ICswMDAwCkBAIC0yMjUsMjcgKzIyNSwyNyBAQCBzZWxlY3QgbG4oLTEpOwogbG4oLTEpCiBOVUxM CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlz aW9uIGJ5IDAKIHNlbGVjdCBsb2cxMCgtMSk7CiBsb2cxMCgtMSkKIE5VTEwKIFdhcm5pbmdzOgot RXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAogc2Vs ZWN0IGxvZzIoLTEpOwogbG9nMigtMSkKIE5VTEwKIFdhcm5pbmdzOgotRXJyb3IJMTM2NQlEaXZp c2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAogc2VsZWN0IGxvZygyLC0xKTsK IGxvZygyLC0xKQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKK1dh cm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCiBzZWxlY3QgbG9nKC0yLDEpOwogbG9nKC0yLDEpCiBO VUxMCiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURp dmlzaW9uIGJ5IDAKIHNldCBzcWxfbW9kZT0nJzsKIHNlbGVjdCByb3VuZCgxMTEsLTEwKTsKIHJv dW5kKDExMSwtMTApCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2Z1bmNfc3RyLnJl c3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2Z1bmNfc3RyLnJlc3VsdAkyMDA4LTA1LTEzIDIzOjQy OjQzICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9mdW5jX3N0ci5yZXN1bHQJMjAwOC0wNy0xNCAx Mjo0OToxOSArMDAwMApAQCAtMTQzNSw3ICsxNDM1LDcgQEAgc2VsZWN0IGJlbmNobWFyaygtMSwg MSk7CiBiZW5jaG1hcmsoLTEsIDEpCiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTE0MTEJSW5jb3Jy ZWN0IGNvdW50IHZhbHVlOiAnLTEnIGZvciBmdW5jdGlvbiBiZW5jaG1hcmsKK1dhcm5pbmcJMTQx MQlJbmNvcnJlY3QgY291bnQgdmFsdWU6ICctMScgZm9yIGZ1bmN0aW9uIGJlbmNobWFyawogc2V0 IEBwYXNzd29yZD0icGFzc3dvcmQiOwogc2V0IEBteV9kYXRhPSJjbGVhciB0ZXh0IHRvIGVuY29k ZSI7CiBzZWxlY3QgbWQ1KGVuY29kZShAbXlfZGF0YSwgInBhc3N3b3JkIikpOwpAQCAtMjI3MSwx MiArMjI3MSwxMiBAQCBTRUxFQ1QgQ0hBUigweGZmLDB4OGYgVVNJTkcgdXRmOCk7CiBDSEFSKDB4 ZmYsMHg4ZiBVU0lORyB1dGY4KQogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMzAwCUludmFsaWQg dXRmOCBjaGFyYWN0ZXIgc3RyaW5nOiAnRkY4RicKK1dhcm5pbmcJMTMwMAlJbnZhbGlkIHV0Zjgg Y2hhcmFjdGVyIHN0cmluZzogJ0ZGOEYnCiBTRUxFQ1QgQ0hBUigweGZmLDB4OGYgVVNJTkcgdXRm OCkgSVMgTlVMTDsKIENIQVIoMHhmZiwweDhmIFVTSU5HIHV0ZjgpIElTIE5VTEwKIDEKIFdhcm5p bmdzOgotRXJyb3IJMTMwMAlJbnZhbGlkIHV0ZjggY2hhcmFjdGVyIHN0cmluZzogJ0ZGOEYnCitX YXJuaW5nCTEzMDAJSW52YWxpZCB1dGY4IGNoYXJhY3RlciBzdHJpbmc6ICdGRjhGJwogU0VUIFNR TF9NT0RFPUBvcmlnX3NxbF9tb2RlOwogc2VsZWN0IHN1YnN0cmluZygnYWJjJywgY2FzdCgyIGFz IHVuc2lnbmVkIGludCkpOwogc3Vic3RyaW5nKCdhYmMnLCBjYXN0KDIgYXMgdW5zaWduZWQgaW50 KSkKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvZ3JhbnQucmVzdWx0JwotLS0gYS9t eXNxbC10ZXN0L3IvZ3JhbnQucmVzdWx0CTIwMDgtMDUtMjIgMTg6NDA6MTUgKzAwMDAKKysrIGIv bXlzcWwtdGVzdC9yL2dyYW50LnJlc3VsdAkyMDA4LTA3LTI0IDA3OjQ0OjIxICswMDAwCkBAIC0x Miw4ICsxMiw4IEBAIEdSQU5UIFVTQUdFIE9OICouKiBUTyAnbXlzcWx0ZXN0XzEnQCdsb2MKIEdS QU5UIFNFTEVDVCBPTiBgbXlzcWx0ZXN0YC4qIFRPICdteXNxbHRlc3RfMSdAJ2xvY2FsaG9zdCcK IGdyYW50IGRlbGV0ZSBvbiBteXNxbHRlc3QuKiB0byBteXNxbHRlc3RfMUBsb2NhbGhvc3Q7CiBz ZWxlY3QgKiBmcm9tIG15c3FsLnVzZXIgd2hlcmUgdXNlcj0ibXlzcWx0ZXN0XzEiOwotSG9zdAlV c2VyCVBhc3N3b3JkCVNlbGVjdF9wcml2CUluc2VydF9wcml2CVVwZGF0ZV9wcml2CURlbGV0ZV9w cml2CUNyZWF0ZV9wcml2CURyb3BfcHJpdglSZWxvYWRfcHJpdglTaHV0ZG93bl9wcml2CVByb2Nl c3NfcHJpdglGaWxlX3ByaXYJR3JhbnRfcHJpdglSZWZlcmVuY2VzX3ByaXYJSW5kZXhfcHJpdglB bHRlcl9wcml2CVNob3dfZGJfcHJpdglTdXBlcl9wcml2CUNyZWF0ZV90bXBfdGFibGVfcHJpdglM b2NrX3RhYmxlc19wcml2CUV4ZWN1dGVfcHJpdglSZXBsX3NsYXZlX3ByaXYJUmVwbF9jbGllbnRf cHJpdglDcmVhdGVfdmlld19wcml2CVNob3dfdmlld19wcml2CUNyZWF0ZV9yb3V0aW5lX3ByaXYJ QWx0ZXJfcm91dGluZV9wcml2CUNyZWF0ZV91c2VyX3ByaXYJRXZlbnRfcHJpdglUcmlnZ2VyX3By aXYJc3NsX3R5cGUJc3NsX2NpcGhlcgl4NTA5X2lzc3Vlcgl4NTA5X3N1YmplY3QJbWF4X3F1ZXN0 aW9ucwltYXhfdXBkYXRlcwltYXhfY29ubmVjdGlvbnMJbWF4X3VzZXJfY29ubmVjdGlvbnMKLWxv Y2FsaG9zdAlteXNxbHRlc3RfMQkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglTUEVDSUZJRUQJRURILVJTQS1ERVMtQ0JDMy1TSEEJCQkwCTAJ MAkwCitIb3N0CVVzZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJSW5zZXJ0X3ByaXYJVXBkYXRlX3By aXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2CVJlbG9hZF9wcml2CVNodXRkb3du X3ByaXYJUHJvY2Vzc19wcml2CUZpbGVfcHJpdglHcmFudF9wcml2CVJlZmVyZW5jZXNfcHJpdglJ bmRleF9wcml2CUFsdGVyX3ByaXYJU2hvd19kYl9wcml2CVN1cGVyX3ByaXYJQ3JlYXRlX3RtcF90 YWJsZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9wcml2CVJlcGxfc2xhdmVfcHJpdglS ZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92aWV3X3ByaXYJU2hvd192aWV3X3ByaXYJQ3JlYXRlX3Jv dXRpbmVfcHJpdglBbHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRlX3VzZXJfcHJpdglFdmVudF9wcml2 CVRyaWdnZXJfcHJpdglDcmVhdGVfdGFibGVzcGFjZV9wcml2CXNzbF90eXBlCXNzbF9jaXBoZXIJ eDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4X2Nv bm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCitsb2NhbGhvc3QJbXlzcWx0ZXN0XzEJCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglT UEVDSUZJRUQJRURILVJTQS1ERVMtQ0JDMy1TSEEJCQkwCTAJMAkwCiBzaG93IGdyYW50cyBmb3Ig bXlzcWx0ZXN0XzFAbG9jYWxob3N0OwogR3JhbnRzIGZvciBteXNxbHRlc3RfMUBsb2NhbGhvc3QK IEdSQU5UIFVTQUdFIE9OICouKiBUTyAnbXlzcWx0ZXN0XzEnQCdsb2NhbGhvc3QnIFJFUVVJUkUg Q0lQSEVSICdFREgtUlNBLURFUy1DQkMzLVNIQScKQEAgLTQzLDE1ICs0MywxNSBAQCBkZWxldGUg ZnJvbSBteXNxbC51c2VyIHdoZXJlIHVzZXI9J215c3FsCiBmbHVzaCBwcml2aWxlZ2VzOwogZ3Jh bnQgdXNhZ2Ugb24gKi4qIHRvIG15c3FsdGVzdF8xQGxvY2FsaG9zdCB3aXRoIG1heF9xdWVyaWVz X3Blcl9ob3VyIDEwOwogc2VsZWN0ICogZnJvbSBteXNxbC51c2VyIHdoZXJlIHVzZXI9Im15c3Fs dGVzdF8xIjsKLUhvc3QJVXNlcglQYXNzd29yZAlTZWxlY3RfcHJpdglJbnNlcnRfcHJpdglVcGRh dGVfcHJpdglEZWxldGVfcHJpdglDcmVhdGVfcHJpdglEcm9wX3ByaXYJUmVsb2FkX3ByaXYJU2h1 dGRvd25fcHJpdglQcm9jZXNzX3ByaXYJRmlsZV9wcml2CUdyYW50X3ByaXYJUmVmZXJlbmNlc19w cml2CUluZGV4X3ByaXYJQWx0ZXJfcHJpdglTaG93X2RiX3ByaXYJU3VwZXJfcHJpdglDcmVhdGVf dG1wX3RhYmxlX3ByaXYJTG9ja190YWJsZXNfcHJpdglFeGVjdXRlX3ByaXYJUmVwbF9zbGF2ZV9w cml2CVJlcGxfY2xpZW50X3ByaXYJQ3JlYXRlX3ZpZXdfcHJpdglTaG93X3ZpZXdfcHJpdglDcmVh dGVfcm91dGluZV9wcml2CUFsdGVyX3JvdXRpbmVfcHJpdglDcmVhdGVfdXNlcl9wcml2CUV2ZW50 X3ByaXYJVHJpZ2dlcl9wcml2CXNzbF90eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9z dWJqZWN0CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2Vy X2Nvbm5lY3Rpb25zCi1sb2NhbGhvc3QJbXlzcWx0ZXN0XzEJCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTEwCTAJMAkwCitIb3N0CVVz ZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJSW5zZXJ0X3ByaXYJVXBkYXRlX3ByaXYJRGVsZXRlX3By aXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2CVJlbG9hZF9wcml2CVNodXRkb3duX3ByaXYJUHJvY2Vz c19wcml2CUZpbGVfcHJpdglHcmFudF9wcml2CVJlZmVyZW5jZXNfcHJpdglJbmRleF9wcml2CUFs dGVyX3ByaXYJU2hvd19kYl9wcml2CVN1cGVyX3ByaXYJQ3JlYXRlX3RtcF90YWJsZV9wcml2CUxv Y2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9wcml2CVJlcGxfc2xhdmVfcHJpdglSZXBsX2NsaWVudF9w cml2CUNyZWF0ZV92aWV3X3ByaXYJU2hvd192aWV3X3ByaXYJQ3JlYXRlX3JvdXRpbmVfcHJpdglB bHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRlX3VzZXJfcHJpdglFdmVudF9wcml2CVRyaWdnZXJfcHJp dglDcmVhdGVfdGFibGVzcGFjZV9wcml2CXNzbF90eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJ eDUwOV9zdWJqZWN0CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1h eF91c2VyX2Nvbm5lY3Rpb25zCitsb2NhbGhvc3QJbXlzcWx0ZXN0XzEJCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMTAJMAkwCTAK IHNob3cgZ3JhbnRzIGZvciBteXNxbHRlc3RfMUBsb2NhbGhvc3Q7CiBHcmFudHMgZm9yIG15c3Fs dGVzdF8xQGxvY2FsaG9zdAogR1JBTlQgVVNBR0UgT04gKi4qIFRPICdteXNxbHRlc3RfMSdAJ2xv Y2FsaG9zdCcgV0lUSCBNQVhfUVVFUklFU19QRVJfSE9VUiAxMAogZ3JhbnQgdXNhZ2Ugb24gKi4q IHRvIG15c3FsdGVzdF8xQGxvY2FsaG9zdCB3aXRoIG1heF91cGRhdGVzX3Blcl9ob3VyIDIwIG1h eF9jb25uZWN0aW9uc19wZXJfaG91ciAzMDsKIHNlbGVjdCAqIGZyb20gbXlzcWwudXNlciB3aGVy ZSB1c2VyPSJteXNxbHRlc3RfMSI7Ci1Ib3N0CVVzZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJSW5z ZXJ0X3ByaXYJVXBkYXRlX3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2CVJl bG9hZF9wcml2CVNodXRkb3duX3ByaXYJUHJvY2Vzc19wcml2CUZpbGVfcHJpdglHcmFudF9wcml2 CVJlZmVyZW5jZXNfcHJpdglJbmRleF9wcml2CUFsdGVyX3ByaXYJU2hvd19kYl9wcml2CVN1cGVy X3ByaXYJQ3JlYXRlX3RtcF90YWJsZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9wcml2 CVJlcGxfc2xhdmVfcHJpdglSZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92aWV3X3ByaXYJU2hvd192 aWV3X3ByaXYJQ3JlYXRlX3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRlX3Vz ZXJfcHJpdglFdmVudF9wcml2CVRyaWdnZXJfcHJpdglzc2xfdHlwZQlzc2xfY2lwaGVyCXg1MDlf aXNzdWVyCXg1MDlfc3ViamVjdAltYXhfcXVlc3Rpb25zCW1heF91cGRhdGVzCW1heF9jb25uZWN0 aW9ucwltYXhfdXNlcl9jb25uZWN0aW9ucwotbG9jYWxob3N0CW15c3FsdGVzdF8xCQlOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkxMAky MAkzMAkwCitIb3N0CVVzZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJSW5zZXJ0X3ByaXYJVXBkYXRl X3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2CVJlbG9hZF9wcml2CVNodXRk b3duX3ByaXYJUHJvY2Vzc19wcml2CUZpbGVfcHJpdglHcmFudF9wcml2CVJlZmVyZW5jZXNfcHJp dglJbmRleF9wcml2CUFsdGVyX3ByaXYJU2hvd19kYl9wcml2CVN1cGVyX3ByaXYJQ3JlYXRlX3Rt cF90YWJsZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9wcml2CVJlcGxfc2xhdmVfcHJp dglSZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92aWV3X3ByaXYJU2hvd192aWV3X3ByaXYJQ3JlYXRl X3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRlX3VzZXJfcHJpdglFdmVudF9w cml2CVRyaWdnZXJfcHJpdglDcmVhdGVfdGFibGVzcGFjZV9wcml2CXNzbF90eXBlCXNzbF9jaXBo ZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4 X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCitsb2NhbGhvc3QJbXlzcWx0ZXN0XzEJ CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TgkJCQkJMTAJMjAJMzAJMAogc2hvdyBncmFudHMgZm9yIG15c3FsdGVzdF8xQGxvY2FsaG9zdDsK IEdyYW50cyBmb3IgbXlzcWx0ZXN0XzFAbG9jYWxob3N0CiBHUkFOVCBVU0FHRSBPTiAqLiogVE8g J215c3FsdGVzdF8xJ0AnbG9jYWxob3N0JyBXSVRIIE1BWF9RVUVSSUVTX1BFUl9IT1VSIDEwIE1B WF9VUERBVEVTX1BFUl9IT1VSIDIwIE1BWF9DT05ORUNUSU9OU19QRVJfSE9VUiAzMApAQCAtNDgy LDYgKzQ4Miw3IEBAIFNob3cgdmlldwlUYWJsZXMJVG8gc2VlIHZpZXdzIHdpdGggU0hPVyAKIFNo dXRkb3duCVNlcnZlciBBZG1pbglUbyBzaHV0IGRvd24gdGhlIHNlcnZlcgogU3VwZXIJU2VydmVy IEFkbWluCVRvIHVzZSBLSUxMIHRocmVhZCwgU0VUIEdMT0JBTCwgQ0hBTkdFIE1BU1RFUiwgZXRj LgogVHJpZ2dlcglUYWJsZXMJVG8gdXNlIHRyaWdnZXJzCitDcmVhdGUgdGFibGVzcGFjZQlTZXJ2 ZXIgQWRtaW4JVG8gY3JlYXRlL2FsdGVyL2Ryb3AgdGFibGVzcGFjZXMKIFVwZGF0ZQlUYWJsZXMJ VG8gdXBkYXRlIGV4aXN0aW5nIHJvd3MKIFVzYWdlCVNlcnZlciBBZG1pbglObyBwcml2aWxlZ2Vz IC0gYWxsb3cgY29ubmVjdCBvbmx5CiBjcmVhdGUgZGF0YWJhc2UgbXlzcWx0ZXN0OwoKPT09IGFk ZGVkIGZpbGUgJ215c3FsLXRlc3Qvci9pbXBsaWNpdF9jb21taXQucmVzdWx0JwotLS0gYS9teXNx bC10ZXN0L3IvaW1wbGljaXRfY29tbWl0LnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAw CisrKyBiL215c3FsLXRlc3Qvci9pbXBsaWNpdF9jb21taXQucmVzdWx0CTIwMDgtMDctMjYgMTY6 Mzg6MjAgKzAwMDAKQEAgLTAsMCArMSwxMDY2IEBACitTRVQgR0xPQkFMIEVWRU5UX1NDSEVEVUxF UiA9IE9GRjsKK1NFVCBCSU5MT0dfRk9STUFUID0gU1RBVEVNRU5UOworQ1JFQVRFIERBVEFCQVNF IGRiMTsKK1VTRSBkYjE7CitDUkVBVEUgVEFCTEUgdDEgKGEgSU5ULCBLRVkgYShhKSkgRU5HSU5F PUlOTk9EQjsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSksKDIpLCgzKSwoNCksKDUpOworQ1JF QVRFIFRBQkxFIHQzIChhIElOVCkgRU5HSU5FPU15SVNBTTsKK0lOU0VSVCBJTlRPIHQzIFNFTEVD VCAqIEZST00gdDE7CitDUkVBVEUgVEFCTEUgdHJhbnMgKGEgSU5UKSBFTkdJTkU9SU5OT0RCOwor Q1JFQVRFIFBST0NFRFVSRSB0ZXN0X2lmX2NvbW1pdCgpCitCRUdJTgorUk9MTEJBQ0s7CitTRUxF Q1QgSUYgKENPVU5UKCopID4gMCwgIllFUyIsICJOTyIpIEFTICJJTVBMSUNJVCBDT01NSVQiIEZS T00gdHJhbnM7CitERUxFVEUgRlJPTSB0cmFuczsKK0NPTU1JVDsKK0VORHwKK1NFVCBBVVRPQ09N TUlUID0gRkFMU0U7CisjCisjIFNRTENPTV9TRUxFQ1QKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFu cyAoYSkgVkFMVUVTICgxKTsKK3NlbGVjdCAxIGFzIHJlcyBmcm9tIHQxIHdoZXJlICgxKSBpbiAo c2VsZWN0ICogZnJvbSB0MSk7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQg Q09NTUlUCitOTworIworIyBTUUxDT01fQ1JFQVRFX1RBQkxFIExJS0UKKyMKK0lOU0VSVCBJTlRP IGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2NyZWF0ZSB0YWJsZSB0MiBsaWtlIHQxOworQ0FM TCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNRTENP TV9TSE9XX0NSRUFURQorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOwor c2hvdyBjcmVhdGUgdGFibGUgdDI7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElD SVQgQ09NTUlUCitOTworIworIyBTUUxDT01fRFJPUF9UQUJMRQorIworSU5TRVJUIElOVE8gZGIx LnRyYW5zIChhKSBWQUxVRVMgKDEpOworZHJvcCB0YWJsZSB0MjsKK0NBTEwgZGIxLnRlc3RfaWZf Y29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworIworIyBTUUxDT01fQ1JFQVRFX1RBQkxF IFRFTVBPUkFSWQorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworY3Jl YXRlIHRlbXBvcmFyeSB0YWJsZSB0MiBhcyBzZWxlY3QgKiBmcm9tIHQxOworQ0FMTCBkYjEudGVz dF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KK1dhcm5pbmdzOgorV2FybmluZwkx MTk2CVNvbWUgbm9uLXRyYW5zYWN0aW9uYWwgY2hhbmdlZCB0YWJsZXMgY291bGRuJ3QgYmUgcm9s bGVkIGJhY2sKKyMKKyMgU1FMQ09NX0RST1BfVEFCTEUgVEVNUE9SQVJZCisjCitJTlNFUlQgSU5U TyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7Citkcm9wIHRlbXBvcmFyeSB0YWJsZSB0MjsKK0NB TEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENP TV9DUkVBVEVfVEFCTEUKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsK K2NyZWF0ZSB0YWJsZSB0MiBhcyBzZWxlY3QgKiBmcm9tIHQxOworQ0FMTCBkYjEudGVzdF9pZl9j b21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNRTENPTV9VUERBVEUKKyMKK0lO U0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3VwZGF0ZSB0MiBzZXQgYT1hKzEg d2hlcmUgKDEpIGluIChzZWxlY3QgKiBmcm9tIHQxKTsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0 KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCitXYXJuaW5nczoKK1dhcm5pbmcJMTE5NglTb21lIG5v bi10cmFuc2FjdGlvbmFsIGNoYW5nZWQgdGFibGVzIGNvdWxkbid0IGJlIHJvbGxlZCBiYWNrCisj CisjIFNRTENPTV9JTlNFUlQKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgx KTsKK2luc2VydCBpbnRvIHQyIHNldCBhPSgoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpKTsKK0NB TEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCitXYXJuaW5nczoK K1dhcm5pbmcJMTE5NglTb21lIG5vbi10cmFuc2FjdGlvbmFsIGNoYW5nZWQgdGFibGVzIGNvdWxk bid0IGJlIHJvbGxlZCBiYWNrCisjCisjIFNRTENPTV9JTlNFUlRfU0VMRUNUCisjCitJTlNFUlQg SU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitpbnNlcnQgaW50byB0MiBzZWxlY3QgKiBm cm9tIHQxOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8K K1dhcm5pbmdzOgorV2FybmluZwkxMTk2CVNvbWUgbm9uLXRyYW5zYWN0aW9uYWwgY2hhbmdlZCB0 YWJsZXMgY291bGRuJ3QgYmUgcm9sbGVkIGJhY2sKKyMKKyMgU1FMQ09NX1JFUExBQ0UKKyMKK0lO U0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3JlcGxhY2UgdDIgc2V0IGE9KCgx KSBpbiAoc2VsZWN0ICogZnJvbSB0MSkpOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lN UExJQ0lUIENPTU1JVAorTk8KK1dhcm5pbmdzOgorV2FybmluZwkxMTk2CVNvbWUgbm9uLXRyYW5z YWN0aW9uYWwgY2hhbmdlZCB0YWJsZXMgY291bGRuJ3QgYmUgcm9sbGVkIGJhY2sKKyMKKyMgU1FM Q09NX1JFUExBQ0VfU0VMRUNUCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAo MSk7CityZXBsYWNlIHQyIHNlbGVjdCAqIGZyb20gdDE7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1p dCgpOworSU1QTElDSVQgQ09NTUlUCitOTworV2FybmluZ3M6CitXYXJuaW5nCTExOTYJU29tZSBu b24tdHJhbnNhY3Rpb25hbCBjaGFuZ2VkIHRhYmxlcyBjb3VsZG4ndCBiZSByb2xsZWQgYmFjawor IworIyBTUUxDT01fREVMRVRFCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAo MSk7CitkZWxldGUgZnJvbSB0MiB3aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworQ0FM TCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KK1dhcm5pbmdzOgor V2FybmluZwkxMTk2CVNvbWUgbm9uLXRyYW5zYWN0aW9uYWwgY2hhbmdlZCB0YWJsZXMgY291bGRu J3QgYmUgcm9sbGVkIGJhY2sKKyMKKyMgU1FMQ09NX0RFTEVURV9NVUxUSQorIworSU5TRVJUIElO VE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworZGVsZXRlIHQyLCB0MyBmcm9tIHQyLCB0MyB3 aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQo KTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1VQREFURV9NVUxUSQorIworc2Vs ZWN0ICogZnJvbSB0MjsKK2EKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsK K3VwZGF0ZSB0MiwgdDMgc2V0IHQzLmE9dDIuYSwgdDIuYT1udWxsIHdoZXJlICgxKSBpbiAoc2Vs ZWN0ICogZnJvbSB0MSk7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09N TUlUCitOTworIworIyBTUUxDT01fTE9BRAorIworY3JlYXRlIHRhYmxlIHQ0IChhIHZhcmNoYXIo MTAwKSk7CitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7Citsb2FkIGRhdGEg aW5maWxlICcuLi9zdGRfZGF0YV9sbi93b3Jkcy5kYXQnIGludG8gdGFibGUgdDQ7CitDQUxMIGRi MS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworV2FybmluZ3M6CitXYXJu aW5nCTExOTYJU29tZSBub24tdHJhbnNhY3Rpb25hbCBjaGFuZ2VkIHRhYmxlcyBjb3VsZG4ndCBi ZSByb2xsZWQgYmFjaworZHJvcCB0YWJsZSB0NDsKKyMKKyMgU1FMQ09NX1NIT1dfREFUQUJBU0VT CisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IGRhdGFiYXNl cyB3aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworQ0FMTCBkYjEudGVzdF9pZl9jb21t aXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1NIT1dfVEFCTEVTCisjCitJ TlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IHRhYmxlcyB3aGVyZSAo MSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lN UExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1NIT1dfRklFTERTCisjCitJTlNFUlQgSU5U TyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IGZpZWxkcyBmcm9tIHQxIHdoZXJlICgx KSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1Q TElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fU0hPV19LRVlTCisjCitJTlNFUlQgSU5UTyBk YjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IGtleXMgZnJvbSB0MSB3aGVyZSAoMSkgaW4g KHNlbGVjdCAqIGZyb20gdDEpOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lU IENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1NIT1dfVkFSSUFCTEVTCisjCitJTlNFUlQgSU5UTyBk YjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IHZhcmlhYmxlcyB3aGVyZSAoMSkgaW4gKHNl bGVjdCAqIGZyb20gdDEpOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENP TU1JVAorTk8KKyMKKyMgU1FMQ09NX1NIT1dfU1RBVFVTCisjCisjCisjIFNRTENPTV9TSE9XX0VO R0lORV9NVVRFWAorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hv dyBlbmdpbmUgYWxsIG11dGV4OworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lU IENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1NIT1dfUFJPQ0VTU0xJU1QKKyMKK0lOU0VSVCBJTlRP IGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3Nob3cgcHJvY2Vzc2xpc3Q7CitDQUxMIGRiMS50 ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fU0hPV19F TkdJTkVfTE9HUworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hv dyBlbmdpbmUgYWxsIGxvZ3M7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQg Q09NTUlUCitOTworIworIyBTUUxDT01fU0hPV19FTkdJTkVfU1RBVFVTCisjCitJTlNFUlQgSU5U TyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IGVuZ2luZSBhbGwgc3RhdHVzOworQ0FM TCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09N X1NIT1dfQ0hBUlNFVFMKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsK K3Nob3cgY2hhcnNldCB3aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworQ0FMTCBkYjEu dGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1NIT1df Q09MTEFUSU9OUworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hv dyBjb2xsYXRpb24gd2hlcmUgKDEpIGluIChzZWxlY3QgKiBmcm9tIHQxKTsKK0NBTEwgZGIxLnRl c3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENPTV9TSE9XX1RB QkxFX1NUQVRVUworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hv dyB0YWJsZSBzdGF0dXMgd2hlcmUgKDEpIGluIChzZWxlY3QgKiBmcm9tIHQxKTsKK0NBTEwgZGIx LnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENPTV9TSE9X X1RSSUdHRVJTCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93 IHRyaWdnZXJzIHdoZXJlICgxKSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7CitDQUxMIGRiMS50ZXN0 X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fU0hPV19PUEVO X1RBQkxFUworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hvdyBv cGVuIHRhYmxlcyB3aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworQ0FMTCBkYjEudGVz dF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1NIT1dfU1RB VFVTX1BST0MKKyMKKyMKKyMgU1FMQ09NX1NIT1dfU1RBVFVTX0ZVTkMKKyMKKyMKKyMgU1FMQ09N X1NFVF9PUFRJT04KKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3Nl dCBAYT0oKDEpIGluIChzZWxlY3QgKiBmcm9tIHQxKSk7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1p dCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fRE8KKyMKK0lOU0VSVCBJTlRP IGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2RvICgoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEp KTsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisj IFNRTENPTV9DQUxMCisjCitjcmVhdGUgcHJvY2VkdXJlIHAxKGEgaW50KSBiZWdpbiBlbmQ7Citk cm9wIHByb2NlZHVyZSBwMTsKKyMKKyMgU1FMQ09NX0NSRUFURV9WSUVXCisjCitJTlNFUlQgSU5U TyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitjcmVhdGUgdmlldyB2MSBhcyBzZWxlY3QgKiBm cm9tIHQxOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVT CisjCisjIFNRTENPTV9BTFRFUl9WSUVXCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZB TFVFUyAoMSk7CithbHRlciB2aWV3IHYxIGFzIHNlbGVjdCAyOworQ0FMTCBkYjEudGVzdF9pZl9j b21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNRTENPTV9EUk9QX1ZJRVcKKyMK K0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2Ryb3AgdmlldyB2MTsKK0NB TEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworIworIyBTUUxD T01fQ1JFQVRFX0lOREVYCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7 CitjcmVhdGUgaW5kZXggaWR4MSBvbiB0MShhKTsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7 CitJTVBMSUNJVCBDT01NSVQKK1lFUworIworIyBTUUxDT01fRFJPUF9JTkRFWAorIworSU5TRVJU IElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworZHJvcCBpbmRleCBpZHgxIG9uIHQxOwor Q0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNR TENPTV9BTFRFUl9UQUJMRQorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEp OworYWx0ZXIgdGFibGUgdDEgYWRkIGNvbHVtbiBiIGludDsKK0NBTEwgZGIxLnRlc3RfaWZfY29t bWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBW QUxVRVMgKDEpOworYWx0ZXIgdGFibGUgdDEgY2hhbmdlIGIgYyBpbnQ7CitDQUxMIGRiMS50ZXN0 X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZRVMKK0lOU0VSVCBJTlRPIGRiMS50cmFu cyAoYSkgVkFMVUVTICgxKTsKK2FsdGVyIHRhYmxlIHQxIGRyb3AgY29sdW1uIGM7CitDQUxMIGRi MS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZRVMKKyMKKyMgU1FMQ09NX0FM VEVSX1RBQkxFIFRFTVBPUkFSWQorIworY3JlYXRlIHRlbXBvcmFyeSB0YWJsZSB0NCAoYSBpbnQp OworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworYWx0ZXIgdGFibGUgdDEg YWRkIGNvbHVtbiBiIGludDsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBD T01NSVQKK1lFUworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworYWx0ZXIg dGFibGUgdDEgY2hhbmdlIGIgYyBpbnQ7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1Q TElDSVQgQ09NTUlUCitZRVMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsK K2FsdGVyIHRhYmxlIHQxIGRyb3AgY29sdW1uIGM7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgp OworSU1QTElDSVQgQ09NTUlUCitZRVMKK2Ryb3AgdGFibGUgdDQ7CisjCisjIFNRTENPTV9UUlVO Q0FURQorIworaW5zZXJ0IGludG8gdDIgc2VsZWN0ICogZnJvbSB0MTsKK0lOU0VSVCBJTlRPIGRi MS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3RydW5jYXRlIHRhYmxlIHQyOworQ0FMTCBkYjEudGVz dF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCitpbnNlcnQgaW50byB0MiBzZWxl Y3QgKiBmcm9tIHQxOworIworIyBTUUxDT01fVFJVTkNBVEUgVEVNUE9SQVJZCisjCitjcmVhdGUg dGVtcG9yYXJ5IHRhYmxlIHQ0IGFzIHNlbGVjdCAqIGZyb20gdDE7CitJTlNFUlQgSU5UTyBkYjEu dHJhbnMgKGEpIFZBTFVFUyAoMSk7Cit0cnVuY2F0ZSB0YWJsZSB0NDsKK0NBTEwgZGIxLnRlc3Rf aWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworZHJvcCB0ZW1wb3JhcnkgdGFibGUg dDQ7CisjCisjIFNRTENPTV9TSE9XX01BU1RFUl9TVEFUCisjCitJTlNFUlQgSU5UTyBkYjEudHJh bnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IG1hc3RlciBzdGF0dXM7CitDQUxMIGRiMS50ZXN0X2lm X2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fU0hPV19TTEFWRV9T VEFUCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IHNsYXZl IHN0YXR1czsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05P CisjCisjIFNRTENPTV9HUkFOVAorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMg KDEpOworZ3JhbnQgYWxsIG9uIHRlc3QudDEgdG8gbXlzcWx0ZXN0XzJAbG9jYWxob3N0IHdpdGgg Z3JhbnQgb3B0aW9uOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1J VAorWUVTCisjCisjIFNRTENPTV9SRVZPS0UKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkg VkFMVUVTICgxKTsKK3Jldm9rZSBzZWxlY3Qgb24gdGVzdC50MSBmcm9tIG15c3FsdGVzdF8yQGxv Y2FsaG9zdDsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lF UworIworIyBTUUxDT01fUkVWT0tFX0FMTAorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBW QUxVRVMgKDEpOworcmV2b2tlIGFsbCBvbiB0ZXN0LnQxIGZyb20gbXlzcWx0ZXN0XzJAbG9jYWxo b3N0OworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisj CisjIFNRTENPTV9TSE9XX0dSQU5UUworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxV RVMgKDEpOworc2hvdyBncmFudHM7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElD SVQgQ09NTUlUCitOTworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hv dyBncmFudHMgZm9yIGN1cnJlbnRfdXNlcigpOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsK K0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX0xPQ0tfVEFCTEVTCisjCitJTlNFUlQg SU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7Citsb2NrIHRhYmxlcyB0MSB3cml0ZSwgdHJh bnMgd3JpdGU7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZ RVMKKyMKKyMgU1FMQ09NX1VOTE9DS19UQUJMRVMKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAo YSkgVkFMVUVTICgxKTsKK3VubG9jayB0YWJsZXM7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgp OworSU1QTElDSVQgQ09NTUlUCitZRVMKKyMKKyMgU1FMQ09NX0NSRUFURV9EQgorIworSU5TRVJU IElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworY3JlYXRlIGRhdGFiYXNlIGRiMjsKK0NB TEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworIworIyBTUUxD T01fQ0hBTkdFX0RCCisjCitjcmVhdGUgdGFibGUgZGIyLnQxIChhIGludCk7CitpbnNlcnQgaW50 byBkYjIudDEgdmFsdWVzICgxKTsKK2NvbW1pdDsKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkg VkFMVUVTICgxKTsKK3VzZSBkYjI7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElD SVQgQ09NTUlUCitOTworIworIyBTUUxDT01fU0hPV19DUkVBVEVfREIKKyMKK0lOU0VSVCBJTlRP IGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3Nob3cgY3JlYXRlIGRhdGFiYXNlIGRiMjsKK0NB TEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENP TV9BTFRFUl9EQgorIworIworIyBTUUxDT01fQUxURVJfREJfVVBHUkFERQorIworIworIyBTUUxD T01fRFJPUF9EQgorIwordXNlIGRiMTsKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVT ICgxKTsKK2Ryb3AgZGF0YWJhc2UgZGIyOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lN UExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNRTENPTV9SRVBBSVIKKyMKK0lOU0VSVCBJTlRPIGRi MS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3JlcGFpciB0YWJsZSB0MjsKK0NBTEwgZGIxLnRlc3Rf aWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworSU5TRVJUIElOVE8gZGIxLnRyYW5z IChhKSBWQUxVRVMgKDEpOworcmVwYWlyIHRhYmxlIHQyIHVzZV9mcm07CitDQUxMIGRiMS50ZXN0 X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZRVMKKyMKKyMgU1FMQ09NX09QVElNSVpF CisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitvcHRpbWl6ZSB0YWJs ZSB0MTsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUwor IworIyBTUUxDT01fQ0hFQ0sKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgx KTsKK2NoZWNrIHRhYmxlIHQxOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lU IENPTU1JVAorWUVTCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitjaGVj ayB0YWJsZSB0MSBleHRlbmRlZDsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJ VCBDT01NSVQKK1lFUworIworIyBTUUxDT01fQVNTSUdOX1RPX0tFWUNBQ0hFCisjCitzZXQgZ2xv YmFsIGtleWNhY2hlLmtleV9idWZmZXJfc2l6ZT0xMjgqMTAyNDsKK0lOU0VSVCBJTlRPIGRiMS50 cmFucyAoYSkgVkFMVUVTICgxKTsKK2NhY2hlIGluZGV4IHQzIGluIGtleWNhY2hlOworQ0FMTCBk YjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCitzZXQgZ2xvYmFsIGtl eWNhY2hlLmtleV9idWZmZXJfc2l6ZT0wOworIworIyBTUUxDT01fUFJFTE9BRF9LRVlTCisjCitJ TlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7Citsb2FkIGluZGV4IGludG8gY2Fj aGUgdDM7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZRVMK KyMKKyMgU1FMQ09NX0ZMVVNICisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAo MSk7CitmbHVzaCBsb2NhbCBwcml2aWxlZ2VzOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsK K0lNUExJQ0lUIENPTU1JVAorWUVTCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAo MSk7CitmbHVzaCBwcml2aWxlZ2VzOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJ Q0lUIENPTU1JVAorWUVTCisjCisjIFNRTENPTV9LSUxMCisjCisjCisjIFNRTENPTV9BTkFMWVpF CisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CithbmFseXplIHRhYmxl IHQxOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisj CisjIFNRTENPTV9ST0xMQkFDSworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMg KDEpOworcm9sbGJhY2s7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09N TUlUCitOTworIworIyBTUUxDT01fUk9MTEJBQ0tfVE9fU0FWRVBPSU5UCisjCisjCisjIFNRTENP TV9DT01NSVQKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2NvbW1p dDsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworIwor IyBTUUxDT01fU0FWRVBPSU5UCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAo MSk7CitzYXZlcG9pbnQgc3AxOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lU IENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1JFTEVBU0VfU0FWRVBPSU5UCisjCisjCisjIFNRTENP TV9TTEFWRV9TVEFSVAorIworIworIyBTUUxDT01fU0xBVkVfU1RPUAorIworIworIyBTUUxDT01f QkVHSU4KKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2JlZ2luOwor Q0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNR TENPTV9DSEFOR0VfTUFTVEVSCisjCisjCisjIFNRTENPTV9SRU5BTUVfVEFCTEUKKyMKK0lOU0VS VCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3JlbmFtZSB0YWJsZSB0MyB0byB0NDsK K0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworSU5TRVJU IElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworcmVuYW1lIHRhYmxlIHQ0IHRvIHQzOwor Q0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNR TENPTV9SRVNFVAorIworIworIyBTUUxDT01fUFVSR0UKKyMKKyMKKyMgU1FMQ09NX1BVUkdFX0JF Rk9SRQorIworIworIyBTUUxDT01fU0hPV19CSU5MT0dTCisjCisjCisjIFNRTENPTV9IQV9PUEVO CisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitoYW5kbGVyIHQxIG9w ZW4gYXMgaGExOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAor Tk8KKyMKKyMgU1FMQ09NX0hBX1JFQUQKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFM VUVTICgxKTsKK2hhbmRsZXIgaGExIHJlYWQgYSBmaXJzdDsKK0NBTEwgZGIxLnRlc3RfaWZfY29t bWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENPTV9IQV9DTE9TRQorIworSU5T RVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworaGFuZGxlciBoYTEgY2xvc2U7CitD QUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxD T01fU0hPV19TTEFWRV9IT1NUUworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMg KDEpOworc2hvdyBzbGF2ZSBob3N0czsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBM SUNJVCBDT01NSVQKK05PCisjCisjIFNRTENPTV9TSE9XX0JJTkxPR19FVkVOVFMKKyMKK0lOU0VS VCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3Nob3cgYmlubG9nIGV2ZW50czsKK0NB TEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENP TV9TSE9XX05FV19NQVNURVIKKyMKKyMKKyMgU1FMQ09NX1NIT1dfV0FSTlMKKyMKK0lOU0VSVCBJ TlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3Nob3cgd2FybmluZ3M7CitDQUxMIGRiMS50 ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fRU1QVFlf UVVFUlkKKyMKKyMKKyMgU1FMQ09NX1NIT1dfRVJST1JTCisjCitJTlNFUlQgSU5UTyBkYjEudHJh bnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IGVycm9yczsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0 KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENPTV9TSE9XX1NUT1JBR0VfRU5HSU5F UworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hvdyBlbmdpbmVz OworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMg U1FMQ09NX1NIT1dfUFJJVklMRUdFUworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxV RVMgKDEpOworc2hvdyBwcml2aWxlZ2VzOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lN UExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX0hFTFAKKyMKK0lOU0VSVCBJTlRPIGRiMS50 cmFucyAoYSkgVkFMVUVTICgxKTsKK2hlbHAgJ2Zvbyc7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1p dCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fQ1JFQVRFX1VTRVIKKyMKK0lO U0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2NyZWF0ZSB1c2VyIHRyeHVzcjE7 CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZRVMKKyMKKyMg U1FMQ09NX1JFTkFNRV9VU0VSCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAo MSk7CityZW5hbWUgdXNlciAndHJ4dXNyMScgdG8gJ3RyeHVzcjInOworQ0FMTCBkYjEudGVzdF9p Zl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNRTENPTV9EUk9QX1VTRVIK KyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2Ryb3AgdXNlciB0cnh1 c3IyOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisj CisjIFNRTENPTV9DSEVDS1NVTQorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMg KDEpOworY2hlY2tzdW0gdGFibGUgdDE7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1Q TElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fQ1JFQVRFX1BST0NFRFVSRQorIworSU5TRVJU IElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworY3JlYXRlIHByb2NlZHVyZSBwMShhIGlu dCkgYmVnaW4gZW5kOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1J VAorWUVTCisjCisjIFNRTENPTV9BTFRFUl9QUk9DRURVUkUKKyMKK0lOU0VSVCBJTlRPIGRiMS50 cmFucyAoYSkgVkFMVUVTICgxKTsKK2FsdGVyIHByb2NlZHVyZSBwMSBjb21tZW50ICdmb29iYXIn OworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisj IFNRTENPTV9TSE9XX0NSRUFURV9QUk9DCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZB TFVFUyAoMSk7CitzaG93IGNyZWF0ZSBwcm9jZWR1cmUgcDE7CitDQUxMIGRiMS50ZXN0X2lmX2Nv bW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fU0hPV19TVEFUVVNfUFJP QworIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hvdyBwcm9jZWR1 cmUgc3RhdHVzOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAor Tk8KKyMKKyMgU1FMQ09NX1NIT1dfUFJPQ19DT0RFCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMg KGEpIFZBTFVFUyAoMSk7CitzaG93IHByb2NlZHVyZSBjb2RlIHAxOworQ0FMTCBkYjEudGVzdF9p Zl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX0RST1BfUFJPQ0VE VVJFCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7Citkcm9wIHByb2Nl ZHVyZSBwMTsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lF UworIworIyBTUUxDT01fQ1JFQVRFX0ZVTkNUSU9OCisjCisjCisjIFNRTENPTV9EUk9QX0ZVTkNU SU9OCisjCisjCisjIFNRTENPTV9DUkVBVEVfU1BGVU5DVElPTgorIworSU5TRVJUIElOVE8gZGIx LnRyYW5zIChhKSBWQUxVRVMgKDEpOworY3JlYXRlIGZ1bmN0aW9uIGYxKCkgcmV0dXJucyBpbnQg cmV0dXJuIDY5OworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAor WUVTCisjCisjIFNRTENPTV9BTFRFUl9GVU5DVElPTgorIworSU5TRVJUIElOVE8gZGIxLnRyYW5z IChhKSBWQUxVRVMgKDEpOworYWx0ZXIgZnVuY3Rpb24gZjEgY29tbWVudCAnY29tbWVudCc7CitD QUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZRVMKKyMKKyMgU1FM Q09NX1NIT1dfQ1JFQVRFX0ZVTkMKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVT ICgxKTsKK3Nob3cgY3JlYXRlIGZ1bmN0aW9uIGYxOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQo KTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX1NIT1dfU1RBVFVTX0ZVTkMKKyMK K0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3Nob3cgZnVuY3Rpb24gc3Rh dHVzIGxpa2UgJyVmJSc7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09N TUlUCitOTworIworIyBTUUxDT01fU0hPV19GVU5DX0NPREUKKyMKK0lOU0VSVCBJTlRPIGRiMS50 cmFucyAoYSkgVkFMVUVTICgxKTsKK3Nob3cgZnVuY3Rpb24gY29kZSBmMTsKK0NBTEwgZGIxLnRl c3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENPTV9QUkVQQVJF CisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitwcmVwYXJlIHN0bXQx IGZyb20gImluc2VydCBpbnRvIHQxIHZhbHVlcyAoNSkiOworQ0FMTCBkYjEudGVzdF9pZl9jb21t aXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KKyMKKyMgU1FMQ09NX0VYRUNVVEUKKyMKK0lOU0VS VCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2V4ZWN1dGUgc3RtdDE7CitDQUxMIGRi MS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fREVB TExPQ0FURV9QUkVQQVJFCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7 CitkZWFsbG9jYXRlIHByZXBhcmUgc3RtdDE7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOwor SU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fQ1JFQVRFX1RSSUdHRVIKKyMKK0lOU0VS VCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK2NyZWF0ZSB0cmlnZ2VyIHRyZzEgYmVm b3JlIGluc2VydCBvbiB0MSBmb3IgZWFjaCByb3cgc2V0IEBhOj0xOworQ0FMTCBkYjEudGVzdF9p Zl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisjCisjIFNRTENPTV9TSE9XX0NSRUFU RV9UUklHR0VSCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93 IGNyZWF0ZSB0cmlnZ2VyIHRyZzE7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElD SVQgQ09NTUlUCitOTworIworIyBTUUxDT01fRFJPUF9UUklHR0VSCisjCitJTlNFUlQgSU5UTyBk YjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7Citkcm9wIHRyaWdnZXIgdHJnMTsKK0NBTEwgZGIxLnRl c3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworIworIyBTUUxDT01fWEFfU1RB UlQKKyMKKyMKKyMgU1FMQ09NX1hBX0VORAorIworIworIyBTUUxDT01fWEFfUFJFUEFSRQorIwor IworIyBTUUxDT01fWEFfQ09NTUlUCisjCisjCisjIFNRTENPTV9YQV9ST0xMQkFDSworIworIwor IyBTUUxDT01fWEFfUkVDT1ZFUgorIworIworIyBTUUxDT01fQUxURVJfVEFCTEVTUEFDRQorIwor IworIyBTUUxDT01fSU5TVEFMTF9QTFVHSU4KKyMKKyMKKyMgU1FMQ09NX1NIT1dfUExVR0lOUwor IworIworIyBTUUxDT01fVU5JTlNUQUxMX1BMVUdJTgorIworIworIyBTUUxDT01fU0hPV19BVVRI T1JTCisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IGF1dGhv cnM7CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIwor IyBTUUxDT01fQklOTE9HX0JBU0U2NF9FVkVOVAorIworIworIyBTUUxDT01fU0hPV19DT05UUklC VVRPUlMKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsKK3Nob3cgY29u dHJpYnV0b3JzOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAor Tk8KKyMKKyMgU1FMQ09NX0NSRUFURV9TRVJWRVIKKyMKKyMKKyMgU1FMQ09NX0FMVEVSX1NFUlZF UgorIworIworIyBTUUxDT01fRFJPUF9TRVJWRVIKKyMKKyMKKyMgU1FMQ09NX0NSRUFURV9FVkVO VAorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworY3JlYXRlIGV2ZW50 IGV2MSBvbiBzY2hlZHVsZSBldmVyeSAxIHNlY29uZCBkbyBpbnNlcnQgaW50byB0MSB2YWx1ZXMg KDYpOworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorWUVTCisj CisjIFNRTENPTV9BTFRFUl9FVkVOVAorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxV RVMgKDEpOworYWx0ZXIgZXZlbnQgZXYxIHJlbmFtZSB0byBldjIgZGlzYWJsZTsKK0NBTEwgZGIx LnRlc3RfaWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworIworIyBTUUxDT01fU0hP V19DUkVBVEVfRVZFTlQKKyMKK0lOU0VSVCBJTlRPIGRiMS50cmFucyAoYSkgVkFMVUVTICgxKTsK K3Nob3cgY3JlYXRlIGV2ZW50IGV2MjsKK0NBTEwgZGIxLnRlc3RfaWZfY29tbWl0KCk7CitJTVBM SUNJVCBDT01NSVQKK05PCisjCisjIFNRTENPTV9TSE9XX0VWRU5UUworIworSU5TRVJUIElOVE8g ZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworc2hvdyBldmVudHM7CitDQUxMIGRiMS50ZXN0X2lm X2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitOTworIworIyBTUUxDT01fRFJPUF9FVkVOVAor IworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOworZHJvcCBldmVudCBldjI7 CitDQUxMIGRiMS50ZXN0X2lmX2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZRVMKKyMKKyMg U1FMQ09NX0JBQ0tVUAorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBWQUxVRVMgKDEpOwor YmFja3VwIGRhdGFiYXNlIGRiMSB0byAnYmFja3VwX2RiMS5iYSc7CitDQUxMIGRiMS50ZXN0X2lm X2NvbW1pdCgpOworSU1QTElDSVQgQ09NTUlUCitZRVMKKyMKKyMgU1FMQ09NX1NIT1dfQVJDSElW RQorIworIworIyBTUUxDT01fUkVTVE9SRQorIworSU5TRVJUIElOVE8gZGIxLnRyYW5zIChhKSBW QUxVRVMgKDEpOworcmVzdG9yZSBmcm9tICdiYWNrdXBfZGIxLmJhJzsKK0NBTEwgZGIxLnRlc3Rf aWZfY29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK1lFUworIworIyBTUUxDT01fQkFDS1VQX1RF U1QKKyMKKyMKKyMgU1FMQ09NX1NIT1dfUFJPRklMRQorIworSU5TRVJUIElOVE8gZGIxLnRyYW5z IChhKSBWQUxVRVMgKDEpOworc2hvdyBwcm9maWxlIG1lbW9yeTsKK0NBTEwgZGIxLnRlc3RfaWZf Y29tbWl0KCk7CitJTVBMSUNJVCBDT01NSVQKK05PCisjCisjIFNRTENPTV9TSE9XX1BST0ZJTEVT CisjCitJTlNFUlQgSU5UTyBkYjEudHJhbnMgKGEpIFZBTFVFUyAoMSk7CitzaG93IHByb2ZpbGVz OworQ0FMTCBkYjEudGVzdF9pZl9jb21taXQoKTsKK0lNUExJQ0lUIENPTU1JVAorTk8KK0RST1Ag VEFCTEUgdDE7CitEUk9QIFRBQkxFIHQyOworRFJPUCBUQUJMRSB0MzsKK1VTRSB0ZXN0OworRFJP UCBEQVRBQkFTRSBkYjE7CitFbmQgb2YgdGVzdHMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10 ZXN0L3IvbWVyZ2UucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvbWVyZ2UucmVzdWx0CTIwMDgt MDctMDkgMDc6MTI6NDMgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL21lcmdlLnJlc3VsdAkyMDA4 LTA3LTI0IDEwOjAwOjU2ICswMDAwCkBAIC05MTQsNyArOTE0LDcgQEAgU0VMRUNUICogRlJPTSB0 bTE7CiBFUlJPUiBIWTAwMDogVW5hYmxlIHRvIG9wZW4gdW5kZXJseWluZyB0YWJsZSB3aGljaCBp cyBkaWZmZXJlbnRseSBkZWZpbmVkIG9yIG9mIG5vbi1NeUlTQU0gdHlwZSBvciBkb2Vzbid0IGV4 aXN0CiBDSEVDSyBUQUJMRSB0bTE7CiBUYWJsZQlPcAlNc2dfdHlwZQlNc2dfdGV4dAotdGVzdC50 bTEJY2hlY2sJRXJyb3IJVGFibGUgJ3Rlc3QudDInIGlzIGRpZmZlcmVudGx5IGRlZmluZWQgb3Ig b2Ygbm9uLU15SVNBTSB0eXBlIG9yIGRvZXNuJ3QgZXhpc3QKK3Rlc3QudG0xCWNoZWNrCVdhcm5p bmcJVGFibGUgJ3Rlc3QudDInIGlzIGRpZmZlcmVudGx5IGRlZmluZWQgb3Igb2Ygbm9uLU15SVNB TSB0eXBlIG9yIGRvZXNuJ3QgZXhpc3QKIHRlc3QudG0xCWNoZWNrCUVycm9yCVVuYWJsZSB0byBv cGVuIHVuZGVybHlpbmcgdGFibGUgd2hpY2ggaXMgZGlmZmVyZW50bHkgZGVmaW5lZCBvciBvZiBu b24tTXlJU0FNIHR5cGUgb3IgZG9lc24ndCBleGlzdAogdGVzdC50bTEJY2hlY2sJZXJyb3IJQ29y cnVwdAogQUxURVIgVEFCTEUgdDIgTU9ESUZZIGEgSU5UOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215 c3FsLXRlc3Qvci9teWlzYW0tc3lzdGVtLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL215aXNh bS1zeXN0ZW0ucmVzdWx0CTIwMDYtMDUtMDMgMTI6NTk6MTcgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9yL215aXNhbS1zeXN0ZW0ucmVzdWx0CTIwMDgtMDctMTQgMTI6NDk6MTkgKzAwMDAKQEAgLTIs NyArMiw3IEBAIGRyb3AgdGFibGUgaWYgZXhpc3RzIHQxLHQyOwogY3JlYXRlIHRhYmxlIHQxIChh IGludCkgZW5naW5lPW15aXNhbTsKIGRyb3AgdGFibGUgaWYgZXhpc3RzIHQxOwogV2FybmluZ3M6 Ci1FcnJvcgkyCUNhbid0IGZpbmQgZmlsZTogJ3QxJyAoZXJybm86IDIpCitXYXJuaW5nCTIJQ2Fu J3QgZmluZCBmaWxlOiAndDEnIChlcnJubzogMikKIGNyZWF0ZSB0YWJsZSB0MSAoYSBpbnQpIGVu Z2luZT1teWlzYW07CiBkcm9wIHRhYmxlIHQxOwogR290IG9uZSBvZiB0aGUgbGlzdGVkIGVycm9y cwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9wcy5yZXN1bHQnCi0tLSBhL215c3Fs LXRlc3Qvci9wcy5yZXN1bHQJMjAwOC0wNy0wNyAyMzoxNTowOCArMDAwMAorKysgYi9teXNxbC10 ZXN0L3IvcHMucmVzdWx0CTIwMDgtMDctMjQgMTA6MDA6NTYgKzAwMDAKQEAgLTExOTIsMTMgKzEx OTIsMTMgQEAgU0VUIEBhdXg9ICJTRUxFQ1QgQ09VTlQoKikKIHByZXBhcmUgbXlfc3RtdCBmcm9t IEBhdXg7CiBleGVjdXRlIG15X3N0bXQ7CiBDT1VOVCgqKQotMzkKKzQwCiBleGVjdXRlIG15X3N0 bXQ7CiBDT1VOVCgqKQotMzkKKzQwCiBleGVjdXRlIG15X3N0bXQ7CiBDT1VOVCgqKQotMzkKKzQw CiBkZWFsbG9jYXRlIHByZXBhcmUgbXlfc3RtdDsKIGRyb3AgcHJvY2VkdXJlIGlmIGV4aXN0cyBw MXwKIGRyb3AgdGFibGUgaWYgZXhpc3RzIHQxfAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRl c3Qvci9zdHJpY3QucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Ivc3RyaWN0LnJlc3VsdAkyMDA4 LTA1LTIyIDE4OjQwOjE1ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9zdHJpY3QucmVzdWx0CTIw MDgtMDctMTQgMTI6NDk6MTkgKzAwMDAKQEAgLTMxNSw4ICszMTUsOCBAQCBNT0QoY29sMSwwKQog TlVMTAogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKLUVycm9yCTEz NjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2 NQlEaXZpc2lvbiBieSAwCiBJTlNFUlQgSU5UTyB0MSAoY29sMSkgVkFMVUVTKC0xMjkpOwogRVJS T1IgMjIwMDM6IE91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjb2wxJyBhdCByb3cgMQog SU5TRVJUIElOVE8gdDEgKGNvbDEpIFZBTFVFUygxMjgpOwpAQCAtMzQzLDcgKzM0Myw3IEBAIFNF TEVDVCBNT0QoY29sMSwwKSBGUk9NIHQxIFdIRVJFIGNvbDEgPiAKIE1PRChjb2wxLDApCiBOVUxM CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlz aW9uIGJ5IDAKIFVQREFURSB0MSBTRVQgY29sMSA9IGNvbDEgLSA1MCBXSEVSRSBjb2wxIDwgMDsK IEVSUk9SIDIyMDAzOiBPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnY29sMScgYXQgcm93 IDEKIFVQREFURSB0MSBTRVQgY29sMj1jb2wyICsgNTAgV0hFUkUgY29sMiA+IDA7CkBAIC0zNTMs MTYgKzM1MywxNiBAQCBFUlJPUiAyMjAxMjogRGl2aXNpb24gYnkgMAogc2V0IEBAc3FsX21vZGU9 J0VSUk9SX0ZPUl9ESVZJU0lPTl9CWV9aRVJPJzsKIElOU0VSVCBJTlRPIHQxIHZhbHVlcyAoMS8w LDEvMCk7CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAotRXJyb3IJMTM2NQlE aXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURp dmlzaW9uIGJ5IDAKIHNldCBAQHNxbF9tb2RlPSdhbnNpLHRyYWRpdGlvbmFsJzsKIFNFTEVDVCBN T0QoY29sMSwwKSBGUk9NIHQxIFdIRVJFIGNvbDEgPiAwIExJTUlUIDI7CiBNT0QoY29sMSwwKQog TlVMTAogTlVMTAogV2FybmluZ3M6Ci1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKLUVycm9yCTEz NjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2 NQlEaXZpc2lvbiBieSAwCiBJTlNFUlQgSU5UTyB0MSAoY29sMSkgVkFMVUVTICgnJyk7CiBFUlJP UiBIWTAwMDogSW5jb3JyZWN0IGludGVnZXIgdmFsdWU6ICcnIGZvciBjb2x1bW4gJ2NvbDEnIGF0 IHJvdyAxCiBJTlNFUlQgSU5UTyB0MSAoY29sMSkgVkFMVUVTICgnYTU5YicpOwpAQCAtMzc0LDgg KzM3NCw4IEBAIFdhcm5pbmdzOgogV2FybmluZwkxMjY1CURhdGEgdHJ1bmNhdGVkIGZvciBjb2x1 bW4gJ2NvbDEnIGF0IHJvdyAxCiBJTlNFUlQgSUdOT1JFIElOVE8gdDEgdmFsdWVzICgxLzAsMS8w KTsKIFdhcm5pbmdzOgotRXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCi1FcnJvcgkxMzY1CURpdmlz aW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNp b24gYnkgMAogc2V0IEBAc3FsX21vZGU9J2Fuc2knOwogSU5TRVJUIElOVE8gdDEgdmFsdWVzICgx LzAsMS8wKTsKIHNldCBAQHNxbF9tb2RlPSdhbnNpLHRyYWRpdGlvbmFsJzsKQEAgLTQ1Nyw4ICs0 NTcsOCBAQCBXYXJuaW5nczoKIFdhcm5pbmcJMTI2NQlEYXRhIHRydW5jYXRlZCBmb3IgY29sdW1u ICdjb2wxJyBhdCByb3cgMQogSU5TRVJUIElHTk9SRSBJTlRPIHQxIHZhbHVlcyAoMS8wLDEvMCk7 CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAotRXJyb3IJMTM2NQlEaXZpc2lv biBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9u IGJ5IDAKIElOU0VSVCBJR05PUkUgSU5UTyB0MSBWQUxVRVMoLTMyNzY5LC0xKSwoMzI3NjgsNjU1 MzYpOwogV2FybmluZ3M6CiBXYXJuaW5nCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1 bW4gJ2NvbDEnIGF0IHJvdyAxCkBAIC01NDEsOCArNTQxLDggQEAgV2FybmluZ3M6CiBXYXJuaW5n CTEyNjUJRGF0YSB0cnVuY2F0ZWQgZm9yIGNvbHVtbiAnY29sMScgYXQgcm93IDEKIElOU0VSVCBJ R05PUkUgSU5UTyB0MSB2YWx1ZXMgKDEvMCwxLzApOwogV2FybmluZ3M6Ci1FcnJvcgkxMzY1CURp dmlzaW9uIGJ5IDAKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlz aW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCiBJTlNFUlQgSUdOT1JFIElOVE8g dDEgVkFMVUVTKC04Mzg4NjA5LC0xKSwoODM4ODYwOCwxNjc3NzIxNik7CiBXYXJuaW5nczoKIFdh cm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnY29sMScgYXQgcm93IDEK QEAgLTYyNSw4ICs2MjUsOCBAQCBXYXJuaW5nczoKIFdhcm5pbmcJMTI2NQlEYXRhIHRydW5jYXRl ZCBmb3IgY29sdW1uICdjb2wxJyBhdCByb3cgMQogSU5TRVJUIElHTk9SRSBJTlRPIHQxIHZhbHVl cyAoMS8wLDEvMCk7CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAotRXJyb3IJ MTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkx MzY1CURpdmlzaW9uIGJ5IDAKIElOU0VSVCBJR05PUkUgSU5UTyB0MSB2YWx1ZXMgKC0yMTQ3NDgz NjQ5LCAtMSksKDIxNDc2NDM2NDgsNDI5NDk2NzI5Nik7CiBXYXJuaW5nczoKIFdhcm5pbmcJMTI2 NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnY29sMScgYXQgcm93IDEKQEAgLTcwNyw4 ICs3MDcsOCBAQCBXYXJuaW5nczoKIFdhcm5pbmcJMTI2NQlEYXRhIHRydW5jYXRlZCBmb3IgY29s dW1uICdjb2wxJyBhdCByb3cgMQogSU5TRVJUIElHTk9SRSBJTlRPIHQxIHZhbHVlcyAoMS8wLDEv MCk7CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAotRXJyb3IJMTM2NQlEaXZp c2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlz aW9uIGJ5IDAKIElOU0VSVCBJR05PUkUgSU5UTyB0MSBWQUxVRVMoLTkyMjMzNzIwMzY4NTQ3NzU4 MDksLTEpLCg5MjIzMzcyMDM2ODU0Nzc1ODA4LDE4NDQ2NzQ0MDczNzA5NTUxNjE2KTsKIFdhcm5p bmdzOgogV2FybmluZwkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjb2wxJyBh dCByb3cgMQpAQCAtNzk0LDcgKzc5NCw3IEBAIFdhcm5pbmdzOgogTm90ZQkxMjY1CURhdGEgdHJ1 bmNhdGVkIGZvciBjb2x1bW4gJ2NvbDEnIGF0IHJvdyAxCiBJTlNFUlQgSUdOT1JFIElOVE8gdDEg dmFsdWVzICgxLzApOwogV2FybmluZ3M6Ci1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5p bmcJMTM2NQlEaXZpc2lvbiBieSAwCiBJTlNFUlQgSUdOT1JFIElOVE8gdDEgVkFMVUVTKDEwMDAp LCgtMTAwMCk7CiBXYXJuaW5nczoKIFdhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9y IGNvbHVtbiAnY29sMScgYXQgcm93IDEKQEAgLTg2MSw3ICs4NjEsNyBAQCBXYXJuaW5nczoKIFdh cm5pbmcJMTI2NQlEYXRhIHRydW5jYXRlZCBmb3IgY29sdW1uICdjb2wxJyBhdCByb3cgMQogSU5T RVJUIElHTk9SRSBJTlRPIHQxIChjb2wxKSBWQUxVRVMgKDEvMCk7CiBXYXJuaW5nczoKLUVycm9y CTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKIElOU0VSVCBJ R05PUkUgSU5UTyB0MSBWQUxVRVMgKCszLjRFKzM5LC0zLjRFKzM5KTsKIFdhcm5pbmdzOgogV2Fy bmluZwkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjb2wxJyBhdCByb3cgMQpA QCAtOTEwLDcgKzkxMCw3IEBAIFdhcm5pbmdzOgogV2FybmluZwkxMjY1CURhdGEgdHJ1bmNhdGVk IGZvciBjb2x1bW4gJ2NvbDEnIGF0IHJvdyAxCiBJTlNFUlQgSUdOT1JFIElOVE8gdDEgKGNvbDEp IHZhbHVlcyAoMS8wKTsKIFdhcm5pbmdzOgotRXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJu aW5nCTEzNjUJRGl2aXNpb24gYnkgMAogSU5TRVJUIElHTk9SRSBJTlRPIHQxIFZBTFVFUyAoKzEu OUUrMzA5LC0xLjlFKzMwOSk7CiBFUlJPUiAyMjAwNzogSWxsZWdhbCBkb3VibGUgJzEuOUUrMzA5 JyB2YWx1ZSBmb3VuZCBkdXJpbmcgcGFyc2luZwogSU5TRVJUIElHTk9SRSBJTlRPIHQxIFZBTFVF UyAoJysyLjBFKzMwOScsJy0yLjBFKzMwOScpOwpAQCAtMTA4MCwxMyArMTA4MCwxMyBAQCBXYXJu aW5nczoKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAn MzEuMTAuMjAwNCAxNS4zMCBhYmMnCiBpbnNlcnQgaW50byB0MSB2YWx1ZXMoU1RSX1RPX0RBVEUo JzMyLjEwLjIwMDQgMTUuMzAnLCclZC4lbS4lWSAlSC4laScpKTsKIFdhcm5pbmdzOgotRXJyb3IJ MTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICczMi4xMC4yMDA0IDE1LjMwJyBmb3IgZnVu Y3Rpb24gc3RyX3RvX2RhdGUKK1dhcm5pbmcJMTQxMQlJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6 ICczMi4xMC4yMDA0IDE1LjMwJyBmb3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKIGluc2VydCBpbnRv IHQxIHZhbHVlcyhTVFJfVE9fREFURSgnMjAwNC4xMi4xMiAyMjoyMjozMyBBTScsJyVZLiVtLiVk ICVyJykpOwogV2FybmluZ3M6Ci1FcnJvcgkxNDExCUluY29ycmVjdCB0aW1lIHZhbHVlOiAnMjI6 MjI6MzMgQU0nIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQorV2FybmluZwkxNDExCUluY29ycmVj dCB0aW1lIHZhbHVlOiAnMjI6MjI6MzMgQU0nIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQogaW5z ZXJ0IGludG8gdDEgdmFsdWVzKFNUUl9UT19EQVRFKCcyMDA0LjEyLjEyIGFiYycsJyVZLiVtLiVk ICVUJykpOwogV2FybmluZ3M6Ci1FcnJvcgkxNDExCUluY29ycmVjdCB0aW1lIHZhbHVlOiAnYWJj JyBmb3IgZnVuY3Rpb24gc3RyX3RvX2RhdGUKK1dhcm5pbmcJMTQxMQlJbmNvcnJlY3QgdGltZSB2 YWx1ZTogJ2FiYycgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCiBpbnNlcnQgaW50byB0MSB2YWx1 ZXMoU1RSX1RPX0RBVEUoJzMxLjEwLjIwMDQgMTUuMzAnLCclZC4lbS4lWSAlSC4laScpKTsKIGlu c2VydCBpbnRvIHQxIHZhbHVlcyhTVFJfVE9fREFURSgnMjAwNC4xMi4xMiAxMToyMjozMyBBTScs JyVZLiVtLiVkICVyJykpOwogaW5zZXJ0IGludG8gdDEgdmFsdWVzKFNUUl9UT19EQVRFKCcyMDA0 LjEyLjEyIDEwOjIyOjU5JywnJVkuJW0uJWQgJVQnKSk7CkBAIC0xMTA0LDkgKzExMDQsOSBAQCBz ZWxlY3QgY291bnQoKikgZnJvbSB0MSB3aGVyZSBTVFJfVE9fREFUCiBjb3VudCgqKQogNwogV2Fy bmluZ3M6Ci1FcnJvcgkxNDExCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTogJzIwMDQuMTIuMTIg MTA6MjI6NjEnIGZvciBmdW5jdGlvbiBzdHJfdG9fZGF0ZQotRXJyb3IJMTQxMQlJbmNvcnJlY3Qg ZGF0ZXRpbWUgdmFsdWU6ICcyMDA0LjEyLjEyIDEwOjIyOjYxJyBmb3IgZnVuY3Rpb24gc3RyX3Rv X2RhdGUKLUVycm9yCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMjAwNC4xMi4xMiAx MDoyMjo2MScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3JyZWN0 IGRhdGV0aW1lIHZhbHVlOiAnMjAwNC4xMi4xMiAxMDoyMjo2MScgZm9yIGZ1bmN0aW9uIHN0cl90 b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMjAwNC4xMi4x MiAxMDoyMjo2MScgZm9yIGZ1bmN0aW9uIHN0cl90b19kYXRlCitXYXJuaW5nCTE0MTEJSW5jb3Jy ZWN0IGRhdGV0aW1lIHZhbHVlOiAnMjAwNC4xMi4xMiAxMDoyMjo2MScgZm9yIGZ1bmN0aW9uIHN0 cl90b19kYXRlCiBkcm9wIHRhYmxlIHQxOwogY3JlYXRlIHRhYmxlIHQxIChjb2wxIGNoYXIoMyks IGNvbDIgaW50ZWdlcik7CiBpbnNlcnQgaW50byB0MSAoY29sMSkgdmFsdWVzIChjYXN0KDEwMDAg YXMgY2hhcigzKSkpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9zeXN0ZW1fbXlz cWxfZGIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Ivc3lzdGVtX215c3FsX2RiLnJlc3VsdAky MDA4LTAyLTExIDIxOjIyOjE5ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9zeXN0ZW1fbXlzcWxf ZGIucmVzdWx0CTIwMDgtMDctMjQgMDc6NDQ6MjEgKzAwMDAKQEAgLTExMyw2ICsxMTMsNyBAQCB1 c2VyCUNSRUFURSBUQUJMRSBgdXNlcmAgKAogICBgQ3JlYXRlX3VzZXJfcHJpdmAgZW51bSgnTics J1knKSBDSEFSQUNURVIgU0VUIHV0ZjggTk9UIE5VTEwgREVGQVVMVCAnTicsCiAgIGBFdmVudF9w cml2YCBlbnVtKCdOJywnWScpIENIQVJBQ1RFUiBTRVQgdXRmOCBOT1QgTlVMTCBERUZBVUxUICdO JywKICAgYFRyaWdnZXJfcHJpdmAgZW51bSgnTicsJ1knKSBDSEFSQUNURVIgU0VUIHV0ZjggTk9U IE5VTEwgREVGQVVMVCAnTicsCisgIGBDcmVhdGVfdGFibGVzcGFjZV9wcml2YCBlbnVtKCdOJywn WScpIENIQVJBQ1RFUiBTRVQgdXRmOCBOT1QgTlVMTCBERUZBVUxUICdOJywKICAgYHNzbF90eXBl YCBlbnVtKCcnLCdBTlknLCdYNTA5JywnU1BFQ0lGSUVEJykgQ0hBUkFDVEVSIFNFVCB1dGY4IE5P VCBOVUxMIERFRkFVTFQgJycsCiAgIGBzc2xfY2lwaGVyYCBibG9iIE5PVCBOVUxMLAogICBgeDUw OV9pc3N1ZXJgIGJsb2IgTk9UIE5VTEwsCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9y L3RyaWdnZXIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvdHJpZ2dlci5yZXN1bHQJMjAwOC0w NC0wOCAxNjowMToyMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvdHJpZ2dlci5yZXN1bHQJMjAw OC0wNy0xNCAxMjo0OToxOSArMDAwMApAQCAtMTA3Myw3ICsxMDczLDcgQEAgTlVMTAogU0VUIEB4 PTI7CiBVUERBVEUgdDEgU0VUIGkxID0gQHg7CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNp b24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKIFNFTEVDVCBAeDsKIEB4CiBOVUxM CkBAIC0xMDg2LDggKzEwODYsOCBAQCBOVUxMCiBTRVQgQHg9NDsKIFVQREFURSB0MSBTRVQgaTEg PSBAeDsKIFdhcm5pbmdzOgotRXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCi1FcnJvcgkxMzY1CURp dmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2 aXNpb24gYnkgMAogU0VMRUNUIEB4OwogQHgKIE5VTEwKQEAgLTExOTAsMTYgKzExOTAsMTYgQEAg Y3JlYXRlIHRyaWdnZXIgdDRfYnUgYmVmb3JlIHVwZGF0ZSBvbiB0NAogaW5zZXJ0IGludG8gdDEg dmFsdWVzKDEwLCAxMCl8CiBzZXQgQGE6PTEvMHwKIFdhcm5pbmdzOgotRXJyb3IJMTM2NQlEaXZp c2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAogc2VsZWN0IDEvMCBmcm9tIHQx fAogMS8wCiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2Fybmlu ZwkxMzY1CURpdmlzaW9uIGJ5IDAKIGNyZWF0ZSB0cmlnZ2VyIHQxX2JpIGJlZm9yZSBpbnNlcnQg b24gdDEgZm9yIGVhY2ggcm93IHNldCBAYTo9MS8wfAogaW5zZXJ0IGludG8gdDEgdmFsdWVzKDIw LCAyMCl8CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1 CURpdmlzaW9uIGJ5IDAKIGRyb3AgdHJpZ2dlciB0MV9iaXwKIGNyZWF0ZSB0cmlnZ2VyIHQxX2Jp IGJlZm9yZSBpbnNlcnQgb24gdDEgZm9yIGVhY2ggcm93CiBiZWdpbgpAQCAtMTIxOSw3ICsxMjE5 LDcgQEAgZW5kfAogc2V0IEBjaGVjaz0wLCBAdDRfYmlfY2FsbGVkPTAsIEB0NF9idV9jYWxsZWQ9 MHwKIGluc2VydCBpbnRvIHQxIHZhbHVlcygzMCwgMzApfAogV2FybmluZ3M6Ci1FcnJvcgkxMzY1 CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCiBzZWxlY3QgQGNoZWNr LCBAdDRfYmlfY2FsbGVkLCBAdDRfYnVfY2FsbGVkfAogQGNoZWNrCUB0NF9iaV9jYWxsZWQJQHQ0 X2J1X2NhbGxlZAogMgkxCTEKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvdHlwZV9u ZXdkZWNpbWFsLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3R5cGVfbmV3ZGVjaW1hbC5yZXN1 bHQJMjAwOC0wNS0xMyAyMzo0Mjo0MyArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvdHlwZV9uZXdk ZWNpbWFsLnJlc3VsdAkyMDA4LTA3LTE0IDEyOjQ5OjE5ICswMDAwCkBAIC0xODUsNyArMTg1LDcg QEAgc2VsZWN0IDFlMTAvMGUwOwogMWUxMC8wZTAKIE5VTEwKIFdhcm5pbmdzOgotRXJyb3IJMTM2 NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAogY3JlYXRlIHRhYmxl IHdsMTYxMiAoY29sMSBpbnQsIGNvbDIgZGVjaW1hbCgzOCwxMCksIGNvbDMgbnVtZXJpYygzOCwx MCkpOwogaW5zZXJ0IGludG8gd2wxNjEyIHZhbHVlcygxLDEyMzQ1Njc4OTAxMjM0NTY3ODkwLjEy MzQ1Njc4OTAsMTIzNDU2Nzg5MDEyMzQ1Njc4OTAuMTIzNDU2Nzg5MCk7CiBzZWxlY3QgKiBmcm9t IHdsMTYxMjsKQEAgLTIwNSwyNyArMjA1LDI3IEBAIE5VTEwKIE5VTEwKIE5VTEwKIFdhcm5pbmdz OgotRXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCi1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKLUVy cm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5p bmcJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAogc2VsZWN0 IGNvbDIvMCBmcm9tIHdsMTYxMjsKIGNvbDIvMAogTlVMTAogTlVMTAogTlVMTAogV2FybmluZ3M6 Ci1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAotRXJy b3IJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAorV2Fybmlu ZwkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCiBzZWxlY3Qg Y29sMy8wIGZyb20gd2wxNjEyOwogY29sMy8wCiBOVUxMCiBOVUxMCiBOVUxMCiBXYXJuaW5nczoK LUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAotRXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCi1FcnJv cgkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5n CTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKIGluc2VydCBp bnRvIHdsMTYxMiB2YWx1ZXMoNSw1MDAwLjAwMDUsNTAwMC4wMDA1KTsKIGluc2VydCBpbnRvIHds MTYxMiB2YWx1ZXMoNiw1MDAwLjAwMDUsNTAwMC4wMDA1KTsKIHNlbGVjdCBzdW0oY29sMiksc3Vt KGNvbDMpIGZyb20gd2wxNjEyOwpAQCAtNzg4LDEyICs3ODgsMTIgQEAgc2VsZWN0IDEgLyAxRS01 MDA7CiAxIC8gMUUtNTAwCiBOVUxMCiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkg MAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKIHNlbGVjdCAxIC8gMDsKIDEgLyAwCiBOVUxM CiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlz aW9uIGJ5IDAKIHNldCBzcWxfbW9kZT0nYW5zaSx0cmFkaXRpb25hbCc7CiBDUkVBVEUgVEFCTEUg U293Nl8yZiAoY29sMSBOVU1FUklDKDQsMikpOwogSU5TRVJUIElOVE8gU293Nl8yZiBWQUxVRVMg KDEwLjU1KTsKQEAgLTgxOSwxMSArODE5LDExIEBAIE5VTEwKIE5VTEwKIE5VTEwKIFdhcm5pbmdz OgotRXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCi1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKLUVy cm9yCTEzNjUJRGl2aXNpb24gYnkgMAotRXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCi1FcnJvcgkx MzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEz NjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2 NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAogSU5TRVJUIElOVE8g U293Nl8yZiBWQUxVRVMgKCdhNTliJyk7CiBFUlJPUiBIWTAwMDogSW5jb3JyZWN0IGRlY2ltYWwg dmFsdWU6ICdhNTliJyBmb3IgY29sdW1uICdjb2wxJyBhdCByb3cgMQogZHJvcCB0YWJsZSBTb3c2 XzJmOwpAQCAtMTQ0NCwxMiArMTQ0NCwxMiBAQCBzZWxlY3QgY2FzdCgxMS4xMjM0IGFzIERFQ0lN QUwoMywyKSk7CiBjYXN0KDExLjEyMzQgYXMgREVDSU1BTCgzLDIpKQogOS45OQogV2FybmluZ3M6 Ci1FcnJvcgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjYXN0KDExLjEyMzQg YXMgREVDSU1BTCgzLDIpKScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFs dWUgZm9yIGNvbHVtbiAnY2FzdCgxMS4xMjM0IGFzIERFQ0lNQUwoMywyKSknIGF0IHJvdyAxCiBz ZWxlY3QgKiBmcm9tIChzZWxlY3QgY2FzdCgxMS4xMjM0IGFzIERFQ0lNQUwoMywyKSkpIHQ7CiBj YXN0KDExLjEyMzQgYXMgREVDSU1BTCgzLDIpKQogOS45OQogV2FybmluZ3M6Ci1FcnJvcgkxMjY0 CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjYXN0KDExLjEyMzQgYXMgREVDSU1BTCgz LDIpKScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVt biAnY2FzdCgxMS4xMjM0IGFzIERFQ0lNQUwoMywyKSknIGF0IHJvdyAxCiBzZWxlY3QgY2FzdChh IGFzIERFQ0lNQUwoMywyKSkKIGZyb20gKHNlbGVjdCAxMS4xMjMzIGFzIGEKIFVOSU9OIHNlbGVj dCAxMS4xMjM0CkBAIC0xNDYwLDkgKzE0NjAsOSBAQCBjYXN0KGEgYXMgREVDSU1BTCgzLDIpKQog OS45OQogOS45OQogV2FybmluZ3M6Ci1FcnJvcgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3Ig Y29sdW1uICdjYXN0KGEgYXMgREVDSU1BTCgzLDIpKScgYXQgcm93IDEKLUVycm9yCTEyNjQJT3V0 IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ2Nhc3QoYSBhcyBERUNJTUFMKDMsMikpJyBhdCBy b3cgMQotRXJyb3IJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnY2FzdChhIGFz IERFQ0lNQUwoMywyKSknIGF0IHJvdyAxCitXYXJuaW5nCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVl IGZvciBjb2x1bW4gJ2Nhc3QoYSBhcyBERUNJTUFMKDMsMikpJyBhdCByb3cgMQorV2FybmluZwkx MjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjYXN0KGEgYXMgREVDSU1BTCgzLDIp KScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAn Y2FzdChhIGFzIERFQ0lNQUwoMywyKSknIGF0IHJvdyAxCiBzZWxlY3QgY2FzdChhIGFzIERFQ0lN QUwoMywyKSksIGNvdW50KCopCiBmcm9tIChzZWxlY3QgMTEuMTIzMyBhcyBhCiBVTklPTiBzZWxl Y3QgMTEuMTIzNApAQCAtMTQ3MSwxMCArMTQ3MSwxMCBAQCBVTklPTiBzZWxlY3QgMTIuMTIzNAog Y2FzdChhIGFzIERFQ0lNQUwoMywyKSkJY291bnQoKikKIDkuOTkJMwogV2FybmluZ3M6Ci1FcnJv cgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjYXN0KGEgYXMgREVDSU1BTCgz LDIpKScgYXQgcm93IDEKLUVycm9yCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4g J2Nhc3QoYSBhcyBERUNJTUFMKDMsMikpJyBhdCByb3cgMQotRXJyb3IJMTI2NAlPdXQgb2YgcmFu Z2UgdmFsdWUgZm9yIGNvbHVtbiAnY2FzdChhIGFzIERFQ0lNQUwoMywyKSknIGF0IHJvdyAxCi1F cnJvcgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjYXN0KGEgYXMgREVDSU1B TCgzLDIpKScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNv bHVtbiAnY2FzdChhIGFzIERFQ0lNQUwoMywyKSknIGF0IHJvdyAxCitXYXJuaW5nCTEyNjQJT3V0 IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ2Nhc3QoYSBhcyBERUNJTUFMKDMsMikpJyBhdCBy b3cgMQorV2FybmluZwkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjYXN0KGEg YXMgREVDSU1BTCgzLDIpKScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFs dWUgZm9yIGNvbHVtbiAnY2FzdChhIGFzIERFQ0lNQUwoMywyKSknIGF0IHJvdyAxCiBjcmVhdGUg dGFibGUgdDEgKHMgdmFyY2hhcigxMDApKTsKIGluc2VydCBpbnRvIHQxIHZhbHVlcyAoMC4wMDAw MDAwMDAxMDAwMDAwMDAwMDAwMDAwMDM2NDMyMTk3MzE1NDk3NzQxNTc5MTY1NTQ3MDY1NTk5NjM5 NjA4OTkwNDAxMDI5NTg2NzkxOTkyMTg3NSk7CiBkcm9wIHRhYmxlIHQxOwpAQCAtMTU0MCw3ICsx NTQwLDcgQEAgc2VsZWN0IGNhc3QoMTQzLjQ4MSBhcyBkZWNpbWFsKDIsMSkpOwogY2FzdCgxNDMu NDgxIGFzIGRlY2ltYWwoMiwxKSkKIDkuOQogV2FybmluZ3M6Ci1FcnJvcgkxMjY0CU91dCBvZiBy YW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjYXN0KDE0My40ODEgYXMgZGVjaW1hbCgyLDEpKScgYXQg cm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnY2FzdCgx NDMuNDgxIGFzIGRlY2ltYWwoMiwxKSknIGF0IHJvdyAxCiBzZWxlY3QgY2FzdCgtMy40IGFzIGRl Y2ltYWwoMiwxKSk7CiBjYXN0KC0zLjQgYXMgZGVjaW1hbCgyLDEpKQogLTMuNApAQCAtMTU0OCwx MiArMTU0OCwxMiBAQCBzZWxlY3QgY2FzdCg5OS42IGFzIGRlY2ltYWwoMiwwKSk7CiBjYXN0KDk5 LjYgYXMgZGVjaW1hbCgyLDApKQogOTkKIFdhcm5pbmdzOgotRXJyb3IJMTI2NAlPdXQgb2YgcmFu Z2UgdmFsdWUgZm9yIGNvbHVtbiAnY2FzdCg5OS42IGFzIGRlY2ltYWwoMiwwKSknIGF0IHJvdyAx CitXYXJuaW5nCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ2Nhc3QoOTkuNiBh cyBkZWNpbWFsKDIsMCkpJyBhdCByb3cgMQogc2VsZWN0IGNhc3QoLTEzLjQgYXMgZGVjaW1hbCgy LDEpKTsKIGNhc3QoLTEzLjQgYXMgZGVjaW1hbCgyLDEpKQogLTkuOQogV2FybmluZ3M6Ci1FcnJv cgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdjYXN0KC0xMy40IGFzIGRlY2lt YWwoMiwxKSknIGF0IHJvdyAxCitXYXJuaW5nCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBj b2x1bW4gJ2Nhc3QoLTEzLjQgYXMgZGVjaW1hbCgyLDEpKScgYXQgcm93IDEKIHNlbGVjdCBjYXN0 KDk4LjYgYXMgZGVjaW1hbCgyLDApKTsKIGNhc3QoOTguNiBhcyBkZWNpbWFsKDIsMCkpCiA5OQoK PT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci92aWV3LnJlc3VsdCcKLS0tIGEvbXlzcWwt dGVzdC9yL3ZpZXcucmVzdWx0CTIwMDgtMDYtMjggMTE6MDA6NTkgKzAwMDAKKysrIGIvbXlzcWwt dGVzdC9yL3ZpZXcucmVzdWx0CTIwMDgtMDctMTQgMTI6NDk6MTkgKzAwMDAKQEAgLTExMTIsOCAr MTExMiw4IEBAIGluc2VydCBpbnRvIHYxIHZhbHVlcygzKTsKIEVSUk9SIEhZMDAwOiBDSEVDSyBP UFRJT04gZmFpbGVkICd0ZXN0LnYxJwogaW5zZXJ0IGlnbm9yZSBpbnRvIHYxIHZhbHVlcyAoMiks KDMpLCgwKTsKIFdhcm5pbmdzOgotRXJyb3IJMTM2OQlDSEVDSyBPUFRJT04gZmFpbGVkICd0ZXN0 LnYxJwotRXJyb3IJMTM2OQlDSEVDSyBPUFRJT04gZmFpbGVkICd0ZXN0LnYxJworV2FybmluZwkx MzY5CUNIRUNLIE9QVElPTiBmYWlsZWQgJ3Rlc3QudjEnCitXYXJuaW5nCTEzNjkJQ0hFQ0sgT1BU SU9OIGZhaWxlZCAndGVzdC52MScKIHNlbGVjdCAqIGZyb20gdDE7CiBhCiAxCkBAIC0xMTI2LDgg KzExMjYsOCBAQCBjcmVhdGUgdGFibGUgdDIgKGEgaW50KTsKIGluc2VydCBpbnRvIHQyIHZhbHVl cyAoMiksKDMpLCgwKTsKIGluc2VydCBpZ25vcmUgaW50byB2MSBTRUxFQ1QgYSBmcm9tIHQyOwog V2FybmluZ3M6Ci1FcnJvcgkxMzY5CUNIRUNLIE9QVElPTiBmYWlsZWQgJ3Rlc3QudjEnCi1FcnJv cgkxMzY5CUNIRUNLIE9QVElPTiBmYWlsZWQgJ3Rlc3QudjEnCitXYXJuaW5nCTEzNjkJQ0hFQ0sg T1BUSU9OIGZhaWxlZCAndGVzdC52MScKK1dhcm5pbmcJMTM2OQlDSEVDSyBPUFRJT04gZmFpbGVk ICd0ZXN0LnYxJwogc2VsZWN0ICogZnJvbSB0MSBvcmRlciBieSBhIGRlc2M7CiBhCiAxCkBAIC0x MTQ5LDcgKzExNDksNyBAQCBhCiB1cGRhdGUgdjEgc2V0IGE9YSsxOwogdXBkYXRlIGlnbm9yZSB2 MSx0MiBzZXQgdjEuYT12MS5hKzEgd2hlcmUgdjEuYT10Mi5hOwogV2FybmluZ3M6Ci1FcnJvcgkx MzY5CUNIRUNLIE9QVElPTiBmYWlsZWQgJ3Rlc3QudjEnCitXYXJuaW5nCTEzNjkJQ0hFQ0sgT1BU SU9OIGZhaWxlZCAndGVzdC52MScKIHNlbGVjdCAqIGZyb20gdDE7CiBhCiAxCkBAIC0xMTgzLDcg KzExODMsNyBAQCBpbnNlcnQgaW50byB2MSB2YWx1ZXMgKDEpIG9uIGR1cGxpY2F0ZSBrCiBFUlJP UiBIWTAwMDogQ0hFQ0sgT1BUSU9OIGZhaWxlZCAndGVzdC52MScKIGluc2VydCBpZ25vcmUgaW50 byB2MSB2YWx1ZXMgKDEpIG9uIGR1cGxpY2F0ZSBrZXkgdXBkYXRlIGE9MjsKIFdhcm5pbmdzOgot RXJyb3IJMTM2OQlDSEVDSyBPUFRJT04gZmFpbGVkICd0ZXN0LnYxJworV2FybmluZwkxMzY5CUNI RUNLIE9QVElPTiBmYWlsZWQgJ3Rlc3QudjEnCiBzZWxlY3QgKiBmcm9tIHQxOwogYQogMQpAQCAt MTI4NCw3ICsxMjg0LDcgQEAgaW5zZXJ0IGlnbm9yZSBpbnRvIHYxIHZhbHVlcyAoNik7CiBFUlJP UiBIWTAwMDogQ0hFQ0sgT1BUSU9OIGZhaWxlZCAndGVzdC52MScKIGluc2VydCBpZ25vcmUgaW50 byB2MSB2YWx1ZXMgKDYpLCgzKTsKIFdhcm5pbmdzOgotRXJyb3IJMTM2OQlDSEVDSyBPUFRJT04g ZmFpbGVkICd0ZXN0LnYxJworV2FybmluZwkxMzY5CUNIRUNLIE9QVElPTiBmYWlsZWQgJ3Rlc3Qu djEnCiBzZWxlY3QgKiBmcm9tIHQxOwogczEKIDMKQEAgLTEzMjksOSArMTMyOSw5IEBAIGRlbGV0 ZSBmcm9tIHQxOwogbG9hZCBkYXRhIGluZmlsZSAnLi4vc3RkX2RhdGFfbG4vbG9hZGRhdGEzLmRh dCcgaWdub3JlIGludG8gdGFibGUgdjEgZmllbGRzIHRlcm1pbmF0ZWQgYnkgJycgZW5jbG9zZWQg YnkgJycgaWdub3JlIDEgbGluZXM7CiBXYXJuaW5nczoKIFdhcm5pbmcJMTM2NglJbmNvcnJlY3Qg aW50ZWdlciB2YWx1ZTogJ2Vycm9yICAgICAgJyBmb3IgY29sdW1uICdhJyBhdCByb3cgMwotRXJy b3IJMTM2OQlDSEVDSyBPUFRJT04gZmFpbGVkICd0ZXN0LnYxJworV2FybmluZwkxMzY5CUNIRUNL IE9QVElPTiBmYWlsZWQgJ3Rlc3QudjEnCiBXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGludGVnZXIg dmFsdWU6ICd3cm9uZyBlbmQgICcgZm9yIGNvbHVtbiAnYScgYXQgcm93IDQKLUVycm9yCTEzNjkJ Q0hFQ0sgT1BUSU9OIGZhaWxlZCAndGVzdC52MScKK1dhcm5pbmcJMTM2OQlDSEVDSyBPUFRJT04g ZmFpbGVkICd0ZXN0LnYxJwogc2VsZWN0ICogZnJvbSB0MSBvcmRlciBieSBhLGI7CiBhCWIKIDEJ cm93IDEKQEAgLTEzNTUsNyArMTM1NSw3IEBAIGNvbmNhdCgnfCcsYSwnfCcpCWNvbmNhdCgnfCcs YiwnfCcpCiBkZWxldGUgZnJvbSB0MTsKIGxvYWQgZGF0YSBpbmZpbGUgJy4uL3N0ZF9kYXRhX2xu L2xvYWRkYXRhMi5kYXQnIGlnbm9yZSBpbnRvIHRhYmxlIHYxIGZpZWxkcyB0ZXJtaW5hdGVkIGJ5 ICcsJyBlbmNsb3NlZCBieSAnJycnOwogV2FybmluZ3M6Ci1FcnJvcgkxMzY5CUNIRUNLIE9QVElP TiBmYWlsZWQgJ3Rlc3QudjEnCitXYXJuaW5nCTEzNjkJQ0hFQ0sgT1BUSU9OIGZhaWxlZCAndGVz dC52MScKIFdhcm5pbmcJMTI2MQlSb3cgMiBkb2Vzbid0IGNvbnRhaW4gZGF0YSBmb3IgYWxsIGNv bHVtbnMKIHNlbGVjdCBjb25jYXQoJ3wnLGEsJ3wnKSwgY29uY2F0KCd8JyxiLCd8JykgZnJvbSB0 MTsKIGNvbmNhdCgnfCcsYSwnfCcpCWNvbmNhdCgnfCcsYiwnfCcpCgo9PT0gbW9kaWZpZWQgZmls ZSAnbXlzcWwtdGVzdC9zdGRfZGF0YS9JbmRleC54bWwnCi0tLSBhL215c3FsLXRlc3Qvc3RkX2Rh dGEvSW5kZXgueG1sCTIwMDctMTAtMjIgMTE6NDM6MzIgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9z dGRfZGF0YS9JbmRleC54bWwJMjAwOC0wNy0yNCAxMTozMzozNSArMDAwMApAQCAtMSw3ICsxLDcg QEAKIDxjaGFyc2V0cz4KIAogICA8Y2hhcnNldCBuYW1lPSJ1dGY4Ij4KLSAgICA8Y29sbGF0aW9u IG5hbWU9InV0ZjhfdGVzdF9jaSIgaWQ9IjI1MyI+CisgICAgPGNvbGxhdGlvbiBuYW1lPSJ1dGY4 X3Rlc3RfY2kiIGlkPSIzNTMiPgogICAgICAgPHJ1bGVzPgogICAgICAgICA8cmVzZXQ+YTwvcmVz ZXQ+CiAgICAgICAgIDxzPmI8L3M+CkBAIC0xMSw3ICsxMSw3IEBACiAgIDwvY2hhcnNldD4KIAog ICA8Y2hhcnNldCBuYW1lPSJ1dGYxNiI+Ci0gICAgPGNvbGxhdGlvbiBuYW1lPSJ1dGYxNl90ZXN0 X2NpIiBpZD0iMTI3Ij4KKyAgICA8Y29sbGF0aW9uIG5hbWU9InV0ZjE2X3Rlc3RfY2kiIGlkPSIz MjciPgogICAgICAgPHJ1bGVzPgogICAgICAgICA8cmVzZXQ+YTwvcmVzZXQ+CiAgICAgICAgIDxz PmI8L3M+CkBAIC0yMCw3ICsyMCw3IEBACiAgIDwvY2hhcnNldD4KIAogICA8Y2hhcnNldCBuYW1l PSJ1dGYzMiI+Ci0gICAgPGNvbGxhdGlvbiBuYW1lPSJ1dGYzMl90ZXN0X2NpIiBpZD0iMTkxIj4K KyAgICA8Y29sbGF0aW9uIG5hbWU9InV0ZjMyX3Rlc3RfY2kiIGlkPSIzOTEiPgogICAgICAgPHJ1 bGVzPgogICAgICAgICA8cmVzZXQ+YTwvcmVzZXQ+CiAgICAgICAgIDxzPmI8L3M+CkBAIC0zMSwx MyArMzEsMTMgQEAKIAogCiAgIDxjaGFyc2V0IG5hbWU9InVjczIiPgotICAgIDxjb2xsYXRpb24g bmFtZT0idWNzMl90ZXN0X2NpIiBpZD0iMTU4Ij4KKyAgICA8Y29sbGF0aW9uIG5hbWU9InVjczJf dGVzdF9jaSIgaWQ9IjM1OCI+CiAgICAgICA8cnVsZXM+CiAgICAgICAgIDxyZXNldD5hPC9yZXNl dD4KICAgICAgICAgPHM+Yjwvcz4KICAgICAgIDwvcnVsZXM+CiAgICAgPC9jb2xsYXRpb24+Ci0g ICAgPGNvbGxhdGlvbiBuYW1lPSJ1Y3MyX3ZuX2NpIiBpZD0iMTU5Ij4KKyAgICA8Y29sbGF0aW9u IG5hbWU9InVjczJfdm5fY2kiIGlkPSIzNTkiPgogICAgICAgPCEtLSBWaWV0bmFtZXNlIGV4cGVy aW1lbnRhbCBjb2xsYXRpb24gLS0+CiAgICAgICA8cnVsZXM+CiAgICAgICAgIDxyZXNldD5BPC9y ZXNldD4KCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi9yL2ZhbGNv bl9idWdfMjI5NzIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi9yL2ZhbGNv bl9idWdfMjI5NzIucmVzdWx0CTIwMDgtMDYtMjcgMTM6MzA6NDkgKzAwMDAKKysrIGIvbXlzcWwt dGVzdC9zdWl0ZS9mYWxjb24vci9mYWxjb25fYnVnXzIyOTcyLnJlc3VsdAkyMDA4LTA3LTE1IDAw OjA2OjQzICswMDAwCkBAIC01LDYgKzUsNiBAQCBEUk9QIFRBQkxFIHQxOwogRVJST1IgNDJTMDI6 IFVua25vd24gdGFibGUgJ3QxJwogU0hPVyBXQVJOSU5HUzsKIExldmVsCUNvZGUJTWVzc2FnZQot RXJyb3IJMTc4CUNhbid0IGV4ZWN1dGUgdGhlIGdpdmVuIGNvbW1hbmQgYmVjYXVzZSB5b3UgaGF2 ZSBhY3RpdmUgbG9ja2VkIHRhYmxlcyBvciBhbiBhY3RpdmUgdHJhbnNhY3Rpb24KK1dhcm5pbmcJ MTc4CUNhbid0IGV4ZWN1dGUgdGhlIGdpdmVuIGNvbW1hbmQgYmVjYXVzZSB5b3UgaGF2ZSBhY3Rp dmUgbG9ja2VkIHRhYmxlcyBvciBhbiBhY3RpdmUgdHJhbnNhY3Rpb24KIENPTU1JVDsKIERST1Ag VEFCTEUgdDE7Cgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mYWxjb24vci9mYWxj b25fdGFibGVzcGFjZV9wcml2LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9mYWxjb24v ci9mYWxjb25fdGFibGVzcGFjZV9wcml2LnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAw CisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZmFsY29uL3IvZmFsY29uX3RhYmxlc3BhY2VfcHJpdi5y ZXN1bHQJMjAwOC0wOC0wNCAwNjo1ODoxMiArMDAwMApAQCAtMCwwICsxLDcwIEBACisjIC0tCisj IC0tIFdMIzQzMDA6IERlZmluZSBwcml2aWxlZ2VzIGZvciB0YWJsZXNwYWNlcy4KKyMgLS0KK0dS QU5UIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyBteXNxbHRlc3RfdTFAbG9jYWxob3N0Owor R1JBTlQgU1VQRVIgT04gKi4qIFRPIG15c3FsdGVzdF91MkBsb2NhbGhvc3Q7CisKKyMgLS0gQ29u bmVjdGlvbjogbXlzcWx0ZXN0X3UxQGxvY2FsaG9zdAorCisjIC0tIEdyYW50cyBmb3IgbXlzcWx0 ZXN0X3UxQGxvY2FsaG9zdDoKK1NIT1cgR1JBTlRTOworR3JhbnRzIGZvciBteXNxbHRlc3RfdTFA bG9jYWxob3N0CitHUkFOVCBDUkVBVEUgVEFCTEVTUEFDRSBPTiAqLiogVE8gJ215c3FsdGVzdF91 MSdAJ2xvY2FsaG9zdCcKKworIyAtLSBDaGVjayBDUkVBVEUgVEFCTEVTUEFDRS4uLgorQ1JFQVRF IFRBQkxFU1BBQ0UgdHMxCitBREQgREFUQUZJTEUgJ2RhdGFmaWxlLmRhdCcKK0VOR0lORSA9IEZh bGNvbjsKKworIyAtLSBDaGVjayBEUk9QIFRBQkxFU1BBQ0UuLi4KK0RST1AgVEFCTEVTUEFDRSB0 czEgCitFTkdJTkUgPSBGYWxjb247CisKKyMgLS0gQ29ubmVjdGlvbjogbXlzcWx0ZXN0X3UyQGxv Y2FsaG9zdAorCisjIC0tIEdyYW50cyBmb3IgbXlzcWx0ZXN0X3UyQGxvY2FsaG9zdDoKK1NIT1cg R1JBTlRTOworR3JhbnRzIGZvciBteXNxbHRlc3RfdTJAbG9jYWxob3N0CitHUkFOVCBTVVBFUiBP TiAqLiogVE8gJ215c3FsdGVzdF91MidAJ2xvY2FsaG9zdCcKKworIyAtLSBDaGVjayBDUkVBVEUg VEFCTEVTUEFDRS4uLgorQ1JFQVRFIFRBQkxFU1BBQ0UgdHMxCitBREQgREFUQUZJTEUgJ2RhdGFm aWxlLmRhdCcKK0VOR0lORSA9IEZhbGNvbjsKK0VSUk9SIDQyMDAwOiBBY2Nlc3MgZGVuaWVkOyB5 b3UgbmVlZCB0aGUgQ1JFQVRFIFRBQkxFU1BBQ0UgcHJpdmlsZWdlIGZvciB0aGlzIG9wZXJhdGlv bgorCisjIC0tIENoZWNrIERST1AgVEFCTEVTUEFDRS4uLgorRFJPUCBUQUJMRVNQQUNFIHRzMSAK K0VOR0lORSA9IEZhbGNvbjsKK0VSUk9SIDQyMDAwOiBBY2Nlc3MgZGVuaWVkOyB5b3UgbmVlZCB0 aGUgQ1JFQVRFIFRBQkxFU1BBQ0UgcHJpdmlsZWdlIGZvciB0aGlzIG9wZXJhdGlvbgorCisjIC0t IENvbm5lY3Rpb246IHJvb3RAbG9jYWxob3N0CisKK0RST1AgVVNFUiBteXNxbHRlc3RfdTFAbG9j YWxob3N0OworRFJPUCBVU0VSIG15c3FsdGVzdF91MkBsb2NhbGhvc3Q7CisjIC0tCisjIC0tIEJ1 ZyMzMTMwMjogVVNFIGluZm9ybWF0aW9uX3NjaGVtYSBkaXNhYmxlcyBEUk9QIHRhYmxlc3BhY2UK KyMgLS0KK0dSQU5UIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyBteXNxbHRlc3RfdTFAbG9j YWxob3N0OworCisjIC0tIENvbm5lY3Rpb246IG15c3FsdGVzdF91MUBsb2NhbGhvc3QKKworIyAt LSBHcmFudHMgZm9yIG15c3FsdGVzdF91MUBsb2NhbGhvc3Q6CitTSE9XIEdSQU5UUzsKK0dyYW50 cyBmb3IgbXlzcWx0ZXN0X3UxQGxvY2FsaG9zdAorR1JBTlQgQ1JFQVRFIFRBQkxFU1BBQ0UgT04g Ki4qIFRPICdteXNxbHRlc3RfdTEnQCdsb2NhbGhvc3QnCisKKyMgLS0gQ1JFQVRFIFRBQkxFU1BB Q0UuLi4KK0NSRUFURSBUQUJMRVNQQUNFIHRzMQorQUREIERBVEFGSUxFICdkYXRhZmlsZS5kYXQn CitFTkdJTkUgPSBGYWxjb247CisKK3VzZSBJTkZPUk1BVElPTl9TQ0hFTUE7CisKKyMgLS0gRFJP UCBUQUJMRVNQQUNFLi4uCitEUk9QIFRBQkxFU1BBQ0UgdHMxIAorRU5HSU5FID0gRmFsY29uOwor CisjIC0tIENvbm5lY3Rpb246IHJvb3RAbG9jYWxob3N0CisKK0RST1AgVVNFUiBteXNxbHRlc3Rf dTFAbG9jYWxob3N0OwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZmFsY29uL3Qv ZmFsY29uX3RhYmxlc3BhY2VfcHJpdi50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2ZhbGNv bi90L2ZhbGNvbl90YWJsZXNwYWNlX3ByaXYudGVzdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAw CisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZmFsY29uL3QvZmFsY29uX3RhYmxlc3BhY2VfcHJpdi50 ZXN0CTIwMDgtMDgtMDQgMDY6NTg6MTIgKzAwMDAKQEAgLTAsMCArMSw5NCBAQAorLS1zb3VyY2Ug aW5jbHVkZS9oYXZlX2ZhbGNvbi5pbmMKKworLS1lY2hvICMgLS0KKy0tZWNobyAjIC0tIFdMIzQz MDA6IERlZmluZSBwcml2aWxlZ2VzIGZvciB0YWJsZXNwYWNlcy4KKy0tZWNobyAjIC0tCisKK0dS QU5UIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyBteXNxbHRlc3RfdTFAbG9jYWxob3N0Owor R1JBTlQgU1VQRVIgT04gKi4qIFRPIG15c3FsdGVzdF91MkBsb2NhbGhvc3Q7CisKKy0tZWNobwor LS1lY2hvICMgLS0gQ29ubmVjdGlvbjogbXlzcWx0ZXN0X3UxQGxvY2FsaG9zdAorLS1lY2hvCist LWNvbm5lY3QoY29uMSwgbG9jYWxob3N0LCBteXNxbHRlc3RfdTEsLCkKKworLS1lY2hvICMgLS0g R3JhbnRzIGZvciBteXNxbHRlc3RfdTFAbG9jYWxob3N0OgorU0hPVyBHUkFOVFM7CisKKy0tZWNo bworLS1lY2hvICMgLS0gQ2hlY2sgQ1JFQVRFIFRBQkxFU1BBQ0UuLi4KK0NSRUFURSBUQUJMRVNQ QUNFIHRzMQorQUREIERBVEFGSUxFICdkYXRhZmlsZS5kYXQnCitFTkdJTkUgPSBGYWxjb247CisK Ky0tZWNobworLS1lY2hvICMgLS0gQ2hlY2sgRFJPUCBUQUJMRVNQQUNFLi4uCitEUk9QIFRBQkxF U1BBQ0UgdHMxIAorRU5HSU5FID0gRmFsY29uOworCistLWVjaG8KKy0tZWNobyAjIC0tIENvbm5l Y3Rpb246IG15c3FsdGVzdF91MkBsb2NhbGhvc3QKKy0tZWNobworLS1jb25uZWN0KGNvbjIsIGxv Y2FsaG9zdCwgbXlzcWx0ZXN0X3UyLCwpCisKKy0tZWNobyAjIC0tIEdyYW50cyBmb3IgbXlzcWx0 ZXN0X3UyQGxvY2FsaG9zdDoKK1NIT1cgR1JBTlRTOworCistLWVjaG8KKy0tZWNobyAjIC0tIENo ZWNrIENSRUFURSBUQUJMRVNQQUNFLi4uCistLWVycm9yIEVSX1NQRUNJRklDX0FDQ0VTU19ERU5J RURfRVJST1IKK0NSRUFURSBUQUJMRVNQQUNFIHRzMQorQUREIERBVEFGSUxFICdkYXRhZmlsZS5k YXQnCitFTkdJTkUgPSBGYWxjb247CisKKy0tZWNobworLS1lY2hvICMgLS0gQ2hlY2sgRFJPUCBU QUJMRVNQQUNFLi4uCistLWVycm9yIEVSX1NQRUNJRklDX0FDQ0VTU19ERU5JRURfRVJST1IKK0RS T1AgVEFCTEVTUEFDRSB0czEgCitFTkdJTkUgPSBGYWxjb247CisKKy0tZWNobworLS1lY2hvICMg LS0gQ29ubmVjdGlvbjogcm9vdEBsb2NhbGhvc3QKKy0tZWNobworLS1jb25uZWN0aW9uIGRlZmF1 bHQKKy0tZGlzY29ubmVjdCBjb24xCistLWRpc2Nvbm5lY3QgY29uMgorCitEUk9QIFVTRVIgbXlz cWx0ZXN0X3UxQGxvY2FsaG9zdDsKK0RST1AgVVNFUiBteXNxbHRlc3RfdTJAbG9jYWxob3N0Owor CistLWVjaG8gIyAtLQorLS1lY2hvICMgLS0gQnVnIzMxMzAyOiBVU0UgaW5mb3JtYXRpb25fc2No ZW1hIGRpc2FibGVzIERST1AgdGFibGVzcGFjZQorLS1lY2hvICMgLS0KKworR1JBTlQgQ1JFQVRF IFRBQkxFU1BBQ0UgT04gKi4qIFRPIG15c3FsdGVzdF91MUBsb2NhbGhvc3Q7CisKKy0tZWNobwor LS1lY2hvICMgLS0gQ29ubmVjdGlvbjogbXlzcWx0ZXN0X3UxQGxvY2FsaG9zdAorLS1lY2hvCist LWNvbm5lY3QoY29uMSwgbG9jYWxob3N0LCBteXNxbHRlc3RfdTEsLCkKKworLS1lY2hvICMgLS0g R3JhbnRzIGZvciBteXNxbHRlc3RfdTFAbG9jYWxob3N0OgorU0hPVyBHUkFOVFM7CisKKy0tZWNo bworLS1lY2hvICMgLS0gQ1JFQVRFIFRBQkxFU1BBQ0UuLi4KK0NSRUFURSBUQUJMRVNQQUNFIHRz MQorQUREIERBVEFGSUxFICdkYXRhZmlsZS5kYXQnCitFTkdJTkUgPSBGYWxjb247CisKKy0tZWNo bwordXNlIElORk9STUFUSU9OX1NDSEVNQTsKKworLS1lY2hvCistLWVjaG8gIyAtLSBEUk9QIFRB QkxFU1BBQ0UuLi4KK0RST1AgVEFCTEVTUEFDRSB0czEgCitFTkdJTkUgPSBGYWxjb247CisKKy0t ZWNobworLS1lY2hvICMgLS0gQ29ubmVjdGlvbjogcm9vdEBsb2NhbGhvc3QKKy0tZWNobworLS1j b25uZWN0aW9uIGRlZmF1bHQKKy0tZGlzY29ubmVjdCBjb24xCisKK0RST1AgVVNFUiBteXNxbHRl c3RfdTFAbG9jYWxob3N0OwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVu Y3NfMS9yL2ZhbGNvbl9mdW5jX3ZpZXcucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1 bmNzXzEvci9mYWxjb25fZnVuY192aWV3LnJlc3VsdAkyMDA4LTA2LTE5IDE4OjU2OjQ4ICswMDAw CisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2ZhbGNvbl9mdW5jX3ZpZXcucmVzdWx0 CTIwMDgtMDctMTUgMDA6MDY6NDMgKzAwMDAKQEAgLTMyODMsOSArMzI4Myw5IEBAIE5VTEwJTlVM TAkxCiAtMzMzMy4zMwktMzMzMy4zMzMzCTMwCiBXYXJuaW5nczoKIFdhcm5pbmcJMTI5MglUcnVu Y2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcnCi1FcnJvcgkxMjY0CU91dCBvZiByYW5n ZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQg cm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnQ0FTVCht eV9kb3VibGUgQVMgREVDSU1BTCgzNywyKSknIGF0IHJvdyAxCiBXYXJuaW5nCTEyOTIJVHJ1bmNh dGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnJwotRXJyb3IJMTI2NAlPdXQgb2YgcmFuZ2Ug dmFsdWUgZm9yIGNvbHVtbiAnQ0FTVChteV9kb3VibGUgQVMgREVDSU1BTCgzNywyKSknIGF0IHJv dyAxCitXYXJuaW5nCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NBU1QobXlf ZG91YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQogU0hPVyBDUkVBVEUgVklFVyB2MTsK IFZpZXcJQ3JlYXRlIFZpZXcJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rp b24KIHYxCUNSRUFURSBBTEdPUklUSE09VU5ERUZJTkVEIERFRklORVI9YHJvb3RgQGBsb2NhbGhv c3RgIFNRTCBTRUNVUklUWSBERUZJTkVSIFZJRVcgYHYxYCBBUyBzZWxlY3QgY2FzdChgdDFfdmFs dWVzYC5gbXlfZG91YmxlYCBhcyBkZWNpbWFsKDM3LDIpKSBBUyBgQ0FTVChteV9kb3VibGUgQVMg REVDSU1BTCgzNywyKSlgLGB0MV92YWx1ZXNgLmBteV9kb3VibGVgIEFTIGBteV9kb3VibGVgLGB0 MV92YWx1ZXNgLmBpZGAgQVMgYGlkYCBmcm9tIGB0MV92YWx1ZXNgCWxhdGluMQlsYXRpbjFfc3dl ZGlzaF9jaQpAQCAtMzMwMSw5ICszMzAxLDkgQEAgTlVMTAlOVUxMCTEKIC0zMzMzLjMzCS0zMzMz LjMzMzMJMzAKIFdhcm5pbmdzOgogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVD SU1BTCB2YWx1ZTogJycKLUVycm9yCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4g J0NBU1QobXlfZG91YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQorV2FybmluZwkxMjY0 CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFM KDM3LDIpKScgYXQgcm93IDEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lN QUwgdmFsdWU6ICcnCi1FcnJvcgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdD QVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlP dXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnQ0FTVChteV9kb3VibGUgQVMgREVDSU1BTCgz NywyKSknIGF0IHJvdyAxCiBEUk9QIFZJRVcgdjE7CiAKIApAQCAtMzM3Miw5ICszMzcyLDkgQEAg TlVMTAlOVUxMCTEKIC0xLjAwCS0xCTUKIC0zMzMzLjMzCS0zMzMzLjMzMzMJMjkKIFdhcm5pbmdz OgotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBh dCByb3cgLTEKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1 bW4gJycgYXQgcm93IC0xCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBm b3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZh bHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBk ZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUlu Y29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogU0hPVyBD UkVBVEUgVklFVyB2MTsKIFZpZXcJQ3JlYXRlIFZpZXcJY2hhcmFjdGVyX3NldF9jbGllbnQJY29s bGF0aW9uX2Nvbm5lY3Rpb24KIHYxCUNSRUFURSBBTEdPUklUSE09VU5ERUZJTkVEIERFRklORVI9 YHJvb3RgQGBsb2NhbGhvc3RgIFNRTCBTRUNVUklUWSBERUZJTkVSIFZJRVcgYHYxYCBBUyBzZWxl Y3QgY2FzdChgdDFfdmFsdWVzYC5gbXlfdmFyYmluYXJ5XzEwMDBgIGFzIGRlY2ltYWwoMzcsMikp IEFTIGBDQVNUKG15X3ZhcmJpbmFyeV8xMDAwIEFTIERFQ0lNQUwoMzcsMikpYCxgdDFfdmFsdWVz YC5gbXlfdmFyYmluYXJ5XzEwMDBgIEFTIGBteV92YXJiaW5hcnlfMTAwMGAsYHQxX3ZhbHVlc2Au YGlkYCBBUyBgaWRgIGZyb20gYHQxX3ZhbHVlc2AJbGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCkBA IC0zMzg5LDkgKzMzODksOSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMz MzMuMzMzMwkyOQogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVl OiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1h bCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKLUVycm9yCTEzNjYJSW5jb3JyZWN0 IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJ SW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJu aW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93 IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4g JycgYXQgcm93IC0xCiBEUk9QIFZJRVcgdjE7CiAKIApAQCAtMzQwOCwxMSArMzQwOCwxMSBAQCBO VUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyOAogV2FybmluZ3M6 Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0 IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29s dW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1B TCB2YWx1ZTogJycKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBj b2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6 ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29y cmVjdCBERUNJTUFMIHZhbHVlOiAnPC0tLS0tLS0tMzAgY2hhcmFjdGVycy0tLS0tLS0+JwotRXJy b3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cg LTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAn JyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFs dWU6ICcgLS0t77+977+977+9KiQtLSAnCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVj dCBERUNJTUFMIHZhbHVlOiAnLTEnCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBE RUNJTUFMIHZhbHVlOiAnLTMzMzMuMzMzMycKQEAgLTM0MzAsMTEgKzM0MzAsMTEgQEAgTlVMTAlO VUxMCTEKIC0xLjAwCS0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk1CiAtMzMzMy4zMwkt MzMzMy4zMzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAJMjgKIFdhcm5pbmdzOgotRXJyb3IJMTM2NglJ bmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5p bmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cg LTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcnCi1F cnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJv dyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1u ICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2 YWx1ZTogJzwtLS0tLS0tLTMwIGNoYXJhY3RlcnMtLS0tLS0tPicKLUVycm9yCTEzNjYJSW5jb3Jy ZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEz NjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBX YXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnIC0tLe+/ve+/ ve+/vSokLS0gJwogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1 ZTogJy0xJwogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTog Jy0zMzMzLjMzMzMnCkBAIC0zNDU0LDkgKzM0NTQsOSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJ NQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyNwogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVj dCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJ bmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKLUVycm9y CTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0x CitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycg YXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBj b2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6 ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBTSE9XIENSRUFURSBWSUVXIHYxOwogVmlldwlD cmVhdGUgVmlldwljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbgogdjEJ Q1JFQVRFIEFMR09SSVRITT1VTkRFRklORUQgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgU1FM IFNFQ1VSSVRZIERFRklORVIgVklFVyBgdjFgIEFTIHNlbGVjdCBjYXN0KGB0MV92YWx1ZXNgLmBt eV92YXJjaGFyXzEwMDBgIGFzIGRlY2ltYWwoMzcsMikpIEFTIGBDQVNUKG15X3ZhcmNoYXJfMTAw MCBBUyBERUNJTUFMKDM3LDIpKWAsYHQxX3ZhbHVlc2AuYG15X3ZhcmNoYXJfMTAwMGAgQVMgYG15 X3ZhcmNoYXJfMTAwMGAsYHQxX3ZhbHVlc2AuYGlkYCBBUyBgaWRgIGZyb20gYHQxX3ZhbHVlc2AJ bGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCkBAIC0zNDcxLDkgKzM0NzEsOSBAQCBOVUxMCU5VTEwJ MQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyNwogV2FybmluZ3M6Ci1FcnJvcgkx MzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQot RXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCBy b3cgLTEKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4g JycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZv ciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFs dWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRl Y2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBEUk9QIFZJRVcgdjE7CiAK IApAQCAtMzQ5MCwxMSArMzQ5MCwxMSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMu MzMJLTMzMzMuMzMzMwkyNgogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFs IHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVj dCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjky CVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICcKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBj b2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6 ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29y cmVjdCBERUNJTUFMIHZhbHVlOiAnPC0tLS0tLS0tMzAgY2hhcmFjdGVycy0tLS0tLS0+JwotRXJy b3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cg LTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAn JyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFs dWU6ICcgLS0t77+977+977+9KiQtLSAgICAgICAgICAgJwogU0hPVyBDUkVBVEUgVklFVyB2MTsK IFZpZXcJQ3JlYXRlIFZpZXcJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rp b24KQEAgLTM1MTAsMTEgKzM1MTAsMTEgQEAgTlVMTAlOVUxMCTEKIC0xLjAwCS0xCTUKIC0zMzMz LjMzCS0zMzMzLjMzMzMJMjYKIFdhcm5pbmdzOgotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1h bCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJl Y3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5 MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3Ig Y29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVl OiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNv cnJlY3QgREVDSU1BTCB2YWx1ZTogJzwtLS0tLS0tLTMwIGNoYXJhY3RlcnMtLS0tLS0tPicKLUVy cm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93 IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4g JycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZh bHVlOiAnIC0tLe+/ve+/ve+/vSokLS0gICAgICAgICAgICcKIERST1AgVklFVyB2MTsKIAoKPT09 IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2ZhbGNvbl9zdG9yZWRw cm9jLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvZmFsY29uX3N0b3Jl ZHByb2MucmVzdWx0CTIwMDgtMDctMDggMTg6NDA6MzIgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9z dWl0ZS9mdW5jc18xL3IvZmFsY29uX3N0b3JlZHByb2MucmVzdWx0CTIwMDgtMDgtMDcgMTM6Mzg6 MjkgKzAwMDAKQEAgLTIxOTQyLDkgKzIxOTQyLDkgQEAgRU5ECWxhdGluMQlsYXRpbjFfc3dlZGlz aF9jaQlsYXRpbjFfc3dlZAogc2V0IEBAc3FsX21vZGU9Jyc7CiBDQUxMIHNwNCgpOwogTGV2ZWwJ Q29kZQlNZXNzYWdlCi1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZp c2lvbiBieSAwCiBXYXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkx MzY1CURpdmlzaW9uIGJ5IDAKIERST1AgUFJPQ0VEVVJFIHNwNDsKIHNldCBAQHNxbF9tb2RlPScn OwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvZmFsY29u X3RyaWdfMDMucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9mYWxjb25f dHJpZ18wMy5yZXN1bHQJMjAwOC0wNi0wMyAxMjoxMDozMyArMDAwMAorKysgYi9teXNxbC10ZXN0 L3N1aXRlL2Z1bmNzXzEvci9mYWxjb25fdHJpZ18wMy5yZXN1bHQJMjAwOC0wOC0wNyAxMzozODoy OSArMDAwMApAQCAtNzcsNyArNzcsNyBAQCBncmFudCBBTEwgIG9uICouKiB0byB0ZXN0X25vcHJp dnNAbG9jYWxoCiByZXZva2UgVFJJR0dFUiBvbiAqLiogZnJvbSB0ZXN0X25vcHJpdnNAbG9jYWxo b3N0Owogc2hvdyBncmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3Q7CiBHcmFudHMgZm9y IHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKLUdSQU5UIFNFTEVDVCwgSU5TRVJULCBVUERBVEUsIERF TEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBSRUZF UkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRFTVBP UkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQ TElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElORSwg QUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5UIE9OICouKiBUTyAndGVzdF9ub3ByaXZz J0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENG MTA0RUY5MTgzRjM3NEE1NENBMjU3NicKK0dSQU5UIFNFTEVDVCwgSU5TRVJULCBVUERBVEUsIERF TEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBSRUZF UkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRFTVBP UkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQ TElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElORSwg QUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBDUkVBVEUgVEFCTEVTUEFDRSBPTiAq LiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAn KkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCiByZXZva2UgQUxMIFBS SVZJTEVHRVMsIEdSQU5UIE9QVElPTiBGUk9NIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0OwogZ3Jh bnQgVFJJR0dFUiBvbiAqLiogdG8gdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7CiBncmFudCBTRUxF Q1Qgb24gcHJpdl9kYi50MSB0byB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsKQEAgLTE1NSw3ICsx NTUsNyBAQCBncmFudCBBTEwgIG9uICouKiB0byB0ZXN0X25vcHJpdnNAbG9jYWxoCiByZXZva2Ug VVBEQVRFICBvbiAqLiogZnJvbSB0ZXN0X25vcHJpdnNAbG9jYWxob3N0Owogc2hvdyBncmFudHMg Zm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3Q7CiBHcmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2Nh bGhvc3QKLUdSQU5UIFNFTEVDVCwgSU5TRVJULCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FE LCBTSFVURE9XTiwgUFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9X IERBVEFCQVNFUywgU1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywg RVhFQ1VURSwgUkVQTElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJ RVcsIFNIT1cgVklFVywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VS LCBFVkVOVCwgVFJJR0dFUiBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9zdCcgSURF TlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRD QTI1NzYnCitHUkFOVCBTRUxFQ1QsIElOU0VSVCwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9B RCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hP VyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMs IEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBW SUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNF UiwgRVZFTlQsIFRSSUdHRVIsIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF9ub3By aXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlD MENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKIHJldm9rZSBBTEwgUFJJVklMRUdFUywgR1JBTlQg T1BUSU9OIEZST00gdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7CiBncmFudCBUUklHR0VSLCBVUERB VEUgb24gKi4qIHRvIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0Owogc2hvdyBncmFudHMgZm9yIHRl c3RfeWVzcHJpdnNAbG9jYWxob3N0OwpAQCAtMTY5LDcgKzE2OSw3IEBAIHRlc3Rfbm9wcml2c0Bs b2NhbGhvc3QKIHVzZSBwcml2X2RiOwogc2hvdyBncmFudHM7CiBHcmFudHMgZm9yIHRlc3Rfbm9w cml2c0Bsb2NhbGhvc3QKLUdSQU5UIFNFTEVDVCwgSU5TRVJULCBERUxFVEUsIENSRUFURSwgRFJP UCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFM VEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NL IFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwg Q1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENS RUFURSBVU0VSLCBFVkVOVCwgVFJJR0dFUiBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2Fs aG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4 M0YzNzRBNTRDQTI1NzYnCitHUkFOVCBTRUxFQ1QsIElOU0VSVCwgREVMRVRFLCBDUkVBVEUsIERS T1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBB TFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9D SyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQs IENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBD UkVBVEUgVVNFUiwgRVZFTlQsIFRSSUdHRVIsIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAn dGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1 RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKIHNlbGVjdCBmMSBmcm9tIHQxIG9y ZGVyIGJ5IGYxOwogZjEKIGluc2VydCAzLjUuMy4yLW5vCkBAIC00MDEsNyArNDAxLDcgQEAgZ3Jh bnQgQUxMICBvbiAqLiogdG8gdGVzdF9ub3ByaXZzQGxvY2FsaAogcmV2b2tlIFNFTEVDVCAgb24g Ki4qIGZyb20gdGVzdF9ub3ByaXZzQGxvY2FsaG9zdDsKIHNob3cgZ3JhbnRzIGZvciB0ZXN0X25v cHJpdnNAbG9jYWxob3N0OwogR3JhbnRzIGZvciB0ZXN0X25vcHJpdnNAbG9jYWxob3N0Ci1HUkFO VCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04s IFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMs IFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJF UExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJ RVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIFRS SUdHRVIgT04gKi4qIFRPICd0ZXN0X25vcHJpdnMnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkg UEFTU1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2JworR1JB TlQgSU5TRVJULCBVUERBVEUsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dO LCBQUk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VT LCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBS RVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBW SUVXLCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBU UklHR0VSLCBDUkVBVEUgVEFCTEVTUEFDRSBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2Fs aG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4 M0YzNzRBNTRDQTI1NzYnCiByZXZva2UgQUxMIFBSSVZJTEVHRVMsIEdSQU5UIE9QVElPTiBGUk9N IHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0OwogZ3JhbnQgVFJJR0dFUiwgU0VMRUNUIG9uICouKiB0 byB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsKIHNob3cgZ3JhbnRzIGZvciB0ZXN0X3llc3ByaXZz QGxvY2FsaG9zdDsKQEAgLTQxNSw3ICs0MTUsNyBAQCB0ZXN0X25vcHJpdnNAbG9jYWxob3N0CiB1 c2UgcHJpdl9kYjsKIHNob3cgZ3JhbnRzOwogR3JhbnRzIGZvciB0ZXN0X25vcHJpdnNAbG9jYWxo b3N0Ci1HUkFOVCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwg U0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBE QVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVY RUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVX LCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwg RVZFTlQsIFRSSUdHRVIgT04gKi4qIFRPICd0ZXN0X25vcHJpdnMnQCdsb2NhbGhvc3QnIElERU5U SUZJRUQgQlkgUEFTU1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0Ey NTc2JworR1JBTlQgSU5TRVJULCBVUERBVEUsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQs IFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cg REFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBF WEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklF VywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIs IEVWRU5ULCBUUklHR0VSLCBDUkVBVEUgVEFCTEVTUEFDRSBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2 cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBD RjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCiBjcmVhdGUgdHJpZ2dlciB0cmc1YV8xIGJlZm9yZSBJ TlNFUlQgb24gdDEgZm9yIGVhY2ggcm93CiBzZXQgQHRlc3RfdmFyID0gbmV3LmYxOwogc2V0IEB0 ZXN0X3ZhciA9ICdiZWZvcmUgdHJpZyAzLjUuMy44LTFhJzsKCj09PSBtb2RpZmllZCBmaWxlICdt eXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9mYWxjb25fdHJpZ18wM2UucmVzdWx0JwotLS0gYS9t eXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9mYWxjb25fdHJpZ18wM2UucmVzdWx0CTIwMDgtMDQt MDEgMjE6MDE6MDIgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvZmFsY29u X3RyaWdfMDNlLnJlc3VsdAkyMDA4LTA4LTA3IDEzOjM4OjI5ICswMDAwCkBAIC01NjIsNyArNTYy LDcgQEAgdHJpZyAxXzEteWVzCiByZXZva2UgVFJJR0dFUiBvbiAqLiogZnJvbSB0ZXN0X3llc3By aXZzQGxvY2FsaG9zdDsKIHNob3cgZ3JhbnRzIGZvciB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsK IEdyYW50cyBmb3IgdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3QKLUdSQU5UIFNFTEVDVCwgSU5TRVJU LCBVUERBVEUsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNT LCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwg Q1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElP TiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVB VEUgUk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5UIE9OICouKiBUTyAn dGVzdF95ZXNwcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTcz NUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFOVCBTRUxFQ1QsIElOU0VS VCwgVVBEQVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VT UywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIs IENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJ T04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JF QVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgQ1JFQVRFIFRB QkxFU1BBQ0UgT04gKi4qIFRPICd0ZXN0X3llc3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVE IEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicK IGNvbm5lY3QobG9jYWxob3N0LHRlc3RfeWVzcHJpdnMsUFdELHRlc3QsTUFTVEVSX01ZUE9SVCxN QVNURVJfTVlTT0NLKTsKIHNlbGVjdCBjdXJyZW50X3VzZXI7CiBjdXJyZW50X3VzZXIKQEAgLTYw OSw3ICs2MDksNyBAQCByb290QGxvY2FsaG9zdAogZ3JhbnQgVFJJR0dFUiBvbiBwcml2X2RiLiog dG8gdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7CiBzaG93IGdyYW50cyBmb3IgdGVzdF95ZXNwcml2 c0Bsb2NhbGhvc3Q7CiBHcmFudHMgZm9yIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0Ci1HUkFOVCBT RUxFQ1QsIElOU0VSVCwgVVBEQVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVU RE9XTiwgUFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFC QVNFUywgU1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VU RSwgUkVQTElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNI T1cgVklFVywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVO VCBPTiAqLiogVE8gJ3Rlc3RfeWVzcHJpdnMnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFT U1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2JworR1JBTlQg U0VMRUNULCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hV VERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRB QkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNV VEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBT SE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZF TlQsIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF95ZXNwcml2cydAJ2xvY2FsaG9z dCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0Yz NzRBNTRDQTI1NzYnCiBHUkFOVCBUUklHR0VSIE9OIGBwcml2X2RiYC4qIFRPICd0ZXN0X3llc3By aXZzJ0AnbG9jYWxob3N0JwogCiB0cmlnZ2VyIHByaXZpbGVnZSBvbiBkYiBsZXZlbCBmb3IgY3Jl YXRlOgoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lubm9k Yl9mdW5jX3ZpZXcucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pbm5v ZGJfZnVuY192aWV3LnJlc3VsdAkyMDA4LTA2LTE5IDE4OjU2OjQ4ICswMDAwCisrKyBiL215c3Fs LXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lubm9kYl9mdW5jX3ZpZXcucmVzdWx0CTIwMDgtMDctMTUg MDA6MDY6NDMgKzAwMDAKQEAgLTMyODMsOSArMzI4Myw5IEBAIE5VTEwJTlVMTAkxCiAtMzMzMy4z MwktMzMzMy4zMzMzCTMwCiBXYXJuaW5nczoKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3Jy ZWN0IERFQ0lNQUwgdmFsdWU6ICcnCi1FcnJvcgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3Ig Y29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKK1dhcm5p bmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnQ0FTVChteV9kb3VibGUgQVMg REVDSU1BTCgzNywyKSknIGF0IHJvdyAxCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVj dCBERUNJTUFMIHZhbHVlOiAnJwotRXJyb3IJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNv bHVtbiAnQ0FTVChteV9kb3VibGUgQVMgREVDSU1BTCgzNywyKSknIGF0IHJvdyAxCitXYXJuaW5n CTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NBU1QobXlfZG91YmxlIEFTIERF Q0lNQUwoMzcsMikpJyBhdCByb3cgMQogU0hPVyBDUkVBVEUgVklFVyB2MTsKIFZpZXcJQ3JlYXRl IFZpZXcJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24KIHYxCUNSRUFU RSBBTEdPUklUSE09VU5ERUZJTkVEIERFRklORVI9YHJvb3RgQGBsb2NhbGhvc3RgIFNRTCBTRUNV UklUWSBERUZJTkVSIFZJRVcgYHYxYCBBUyBzZWxlY3QgY2FzdChgdDFfdmFsdWVzYC5gbXlfZG91 YmxlYCBhcyBkZWNpbWFsKDM3LDIpKSBBUyBgQ0FTVChteV9kb3VibGUgQVMgREVDSU1BTCgzNywy KSlgLGB0MV92YWx1ZXNgLmBteV9kb3VibGVgIEFTIGBteV9kb3VibGVgLGB0MV92YWx1ZXNgLmBp ZGAgQVMgYGlkYCBmcm9tIGB0MV92YWx1ZXNgCWxhdGluMQlsYXRpbjFfc3dlZGlzaF9jaQpAQCAt MzMwMSw5ICszMzAxLDkgQEAgTlVMTAlOVUxMCTEKIC0zMzMzLjMzCS0zMzMzLjMzMzMJMzAKIFdh cm5pbmdzOgogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTog JycKLUVycm9yCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NBU1QobXlfZG91 YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQorV2FybmluZwkxMjY0CU91dCBvZiByYW5n ZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQg cm93IDEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcn Ci1FcnJvcgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJs ZSBBUyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2Ug dmFsdWUgZm9yIGNvbHVtbiAnQ0FTVChteV9kb3VibGUgQVMgREVDSU1BTCgzNywyKSknIGF0IHJv dyAxCiBEUk9QIFZJRVcgdjE7CiAKIApAQCAtMzM3Miw5ICszMzcyLDkgQEAgTlVMTAlOVUxMCTEK IC0xLjAwCS0xCTUKIC0zMzMzLjMzCS0zMzMzLjMzMzMJMjkKIFdhcm5pbmdzOgotRXJyb3IJMTM2 NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKLUVy cm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93 IC0xCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcn IGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3Ig Y29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVl OiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNp bWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogU0hPVyBDUkVBVEUgVklFVyB2 MTsKIFZpZXcJQ3JlYXRlIFZpZXcJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5l Y3Rpb24KIHYxCUNSRUFURSBBTEdPUklUSE09VU5ERUZJTkVEIERFRklORVI9YHJvb3RgQGBsb2Nh bGhvc3RgIFNRTCBTRUNVUklUWSBERUZJTkVSIFZJRVcgYHYxYCBBUyBzZWxlY3QgY2FzdChgdDFf dmFsdWVzYC5gbXlfdmFyYmluYXJ5XzEwMDBgIGFzIGRlY2ltYWwoMzcsMikpIEFTIGBDQVNUKG15 X3ZhcmJpbmFyeV8xMDAwIEFTIERFQ0lNQUwoMzcsMikpYCxgdDFfdmFsdWVzYC5gbXlfdmFyYmlu YXJ5XzEwMDBgIEFTIGBteV92YXJiaW5hcnlfMTAwMGAsYHQxX3ZhbHVlc2AuYGlkYCBBUyBgaWRg IGZyb20gYHQxX3ZhbHVlc2AJbGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCkBAIC0zMzg5LDkgKzMz ODksOSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyOQog V2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29s dW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycg Zm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFs dWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRl Y2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5j b3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5n CTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0x CiBEUk9QIFZJRVcgdjE7CiAKIApAQCAtMzQwOCwxMSArMzQwOCwxMSBAQCBOVUxMCU5VTEwJMQog LTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyOAogV2FybmluZ3M6Ci1FcnJvcgkxMzY2 CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2Fy bmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJv dyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJycK LUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQg cm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1 bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFM IHZhbHVlOiAnPC0tLS0tLS0tMzAgY2hhcmFjdGVycy0tLS0tLS0+JwotRXJyb3IJMTM2NglJbmNv cnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJ MTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEK IFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcgLS0t77+9 77+977+9KiQtLSAnCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZh bHVlOiAnLTEnCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVl OiAnLTMzMzMuMzMzMycKQEAgLTM0MzAsMTEgKzM0MzAsMTEgQEAgTlVMTAlOVUxMCTEKIC0xLjAw CS0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk1CiAtMzMzMy4zMwktMzMzMy4zMzMzAAAA AAAAAAAAAAAAAAAAAAAAAAAJMjgKIFdhcm5pbmdzOgotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVj aW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNv cnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJ MTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcnCi1FcnJvcgkxMzY2CUlu Y29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2Fybmlu ZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAt MQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJzwtLS0t LS0tLTMwIGNoYXJhY3RlcnMtLS0tLS0tPicKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwg dmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0 IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJ VHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnIC0tLe+/ve+/ve+/vSokLS0gJwog V2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJy0xJwogV2Fy bmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJy0zMzMzLjMzMzMn CkBAIC0zNDU0LDkgKzM0NTQsOSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMuMzMJ LTMzMzMuMzMzMwkyNwogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZh bHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVj aW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKLUVycm9yCTEzNjYJSW5jb3Jy ZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEz NjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitX YXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQg cm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1 bW4gJycgYXQgcm93IC0xCiBTSE9XIENSRUFURSBWSUVXIHYxOwogVmlldwlDcmVhdGUgVmlldwlj aGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbgogdjEJQ1JFQVRFIEFMR09S SVRITT1VTkRFRklORUQgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgU1FMIFNFQ1VSSVRZIERF RklORVIgVklFVyBgdjFgIEFTIHNlbGVjdCBjYXN0KGB0MV92YWx1ZXNgLmBteV92YXJjaGFyXzEw MDBgIGFzIGRlY2ltYWwoMzcsMikpIEFTIGBDQVNUKG15X3ZhcmNoYXJfMTAwMCBBUyBERUNJTUFM KDM3LDIpKWAsYHQxX3ZhbHVlc2AuYG15X3ZhcmNoYXJfMTAwMGAgQVMgYG15X3ZhcmNoYXJfMTAw MGAsYHQxX3ZhbHVlc2AuYGlkYCBBUyBgaWRgIGZyb20gYHQxX3ZhbHVlc2AJbGF0aW4xCWxhdGlu MV9zd2VkaXNoX2NpCkBAIC0zNDcxLDkgKzM0NzEsOSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJ NQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyNwogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVj dCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJ bmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKLUVycm9y CTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0x CitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycg YXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBj b2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6 ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBEUk9QIFZJRVcgdjE7CiAKIApAQCAtMzQ5MCwx MSArMzQ5MCwxMSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMz MwkyNgogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBm b3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZh bHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBp bmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcK LUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQg cm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1 bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFM IHZhbHVlOiAnPC0tLS0tLS0tMzAgY2hhcmFjdGVycy0tLS0tLS0+JwotRXJyb3IJMTM2NglJbmNv cnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJ MTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEK IFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcgLS0t77+9 77+977+9KiQtLSAgICAgICAgICAgJwogU0hPVyBDUkVBVEUgVklFVyB2MTsKIFZpZXcJQ3JlYXRl IFZpZXcJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24KQEAgLTM1MTAs MTEgKzM1MTAsMTEgQEAgTlVMTAlOVUxMCTEKIC0xLjAwCS0xCTUKIC0zMzMzLjMzCS0zMzMzLjMz MzMJMjYKIFdhcm5pbmdzOgotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycg Zm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2 YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQg aW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0 IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29s dW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1B TCB2YWx1ZTogJzwtLS0tLS0tLTMwIGNoYXJhY3RlcnMtLS0tLS0tPicKLUVycm9yCTEzNjYJSW5j b3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5n CTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0x CiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnIC0tLe+/ ve+/ve+/vSokLS0gICAgICAgICAgICcKIERST1AgVklFVyB2MTsKIAoKPT09IG1vZGlmaWVkIGZp bGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lubm9kYl9zdG9yZWRwcm9jLnJlc3VsdCcK LS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaW5ub2RiX3N0b3JlZHByb2MucmVzdWx0 CTIwMDgtMDctMDggMTg6NDA6MzIgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18x L3IvaW5ub2RiX3N0b3JlZHByb2MucmVzdWx0CTIwMDgtMDgtMDcgMTM6Mzg6MjkgKzAwMDAKQEAg LTIxOTQyLDkgKzIxOTQyLDkgQEAgRU5ECWxhdGluMQlsYXRpbjFfc3dlZGlzaF9jaQlsYXRpbjFf c3dlZAogc2V0IEBAc3FsX21vZGU9Jyc7CiBDQUxMIHNwNCgpOwogTGV2ZWwJQ29kZQlNZXNzYWdl Ci1FcnJvcgkxMzY1CURpdmlzaW9uIGJ5IDAKK1dhcm5pbmcJMTM2NQlEaXZpc2lvbiBieSAwCiBX YXJuaW5nczoKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9u IGJ5IDAKIERST1AgUFJPQ0VEVVJFIHNwNDsKIHNldCBAQHNxbF9tb2RlPScnOwogCgo9PT0gbW9k aWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaW5ub2RiX3RyaWdfMDMucmVz dWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pbm5vZGJfdHJpZ18wMy5yZXN1 bHQJMjAwOC0wNi0wMyAxMDoyMTo0OCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNz XzEvci9pbm5vZGJfdHJpZ18wMy5yZXN1bHQJMjAwOC0wOC0wNyAxMzozODoyOSArMDAwMApAQCAt NzcsNyArNzcsNyBAQCBncmFudCBBTEwgIG9uICouKiB0byB0ZXN0X25vcHJpdnNAbG9jYWxoCiBy ZXZva2UgVFJJR0dFUiBvbiAqLiogZnJvbSB0ZXN0X25vcHJpdnNAbG9jYWxob3N0Owogc2hvdyBn cmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3Q7CiBHcmFudHMgZm9yIHRlc3Rfbm9wcml2 c0Bsb2NhbGhvc3QKLUdSQU5UIFNFTEVDVCwgSU5TRVJULCBVUERBVEUsIERFTEVURSwgQ1JFQVRF LCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRF WCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMs IExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJ RU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElO RSwgQ1JFQVRFIFVTRVIsIEVWRU5UIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0 JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3 NEE1NENBMjU3NicKK0dSQU5UIFNFTEVDVCwgSU5TRVJULCBVUERBVEUsIERFTEVURSwgQ1JFQVRF LCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRF WCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMs IExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJ RU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElO RSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBDUkVBVEUgVEFCTEVTUEFDRSBPTiAqLiogVE8gJ3Rlc3Rf bm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZB MDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCiByZXZva2UgQUxMIFBSSVZJTEVHRVMsIEdS QU5UIE9QVElPTiBGUk9NIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0OwogZ3JhbnQgVFJJR0dFUiBv biAqLiogdG8gdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7CiBncmFudCBTRUxFQ1Qgb24gcHJpdl9k Yi50MSB0byB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsKQEAgLTE1NSw3ICsxNTUsNyBAQCBncmFu dCBBTEwgIG9uICouKiB0byB0ZXN0X25vcHJpdnNAbG9jYWxoCiByZXZva2UgVVBEQVRFICBvbiAq LiogZnJvbSB0ZXN0X25vcHJpdnNAbG9jYWxob3N0Owogc2hvdyBncmFudHMgZm9yIHRlc3Rfbm9w cml2c0Bsb2NhbGhvc3Q7CiBHcmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKLUdSQU5U IFNFTEVDVCwgSU5TRVJULCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwg UFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywg U1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQ TElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklF VywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgVFJJ R0dFUiBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQ QVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFO VCBTRUxFQ1QsIElOU0VSVCwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04s IFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMs IFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJF UExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJ RVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIFRS SUdHRVIsIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxo b3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgz RjM3NEE1NENBMjU3NicKIHJldm9rZSBBTEwgUFJJVklMRUdFUywgR1JBTlQgT1BUSU9OIEZST00g dGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7CiBncmFudCBUUklHR0VSLCBVUERBVEUgb24gKi4qIHRv IHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0Owogc2hvdyBncmFudHMgZm9yIHRlc3RfeWVzcHJpdnNA bG9jYWxob3N0OwpAQCAtMTY5LDcgKzE2OSw3IEBAIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKIHVz ZSBwcml2X2RiOwogc2hvdyBncmFudHM7CiBHcmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhv c3QKLUdSQU5UIFNFTEVDVCwgSU5TRVJULCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBT SFVURE9XTiwgUFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERB VEFCQVNFUywgU1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhF Q1VURSwgUkVQTElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcs IFNIT1cgVklFVywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBF VkVOVCwgVFJJR0dFUiBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJ RklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1 NzYnCitHUkFOVCBTRUxFQ1QsIElOU0VSVCwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwg U0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBE QVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVY RUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVX LCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwg RVZFTlQsIFRSSUdHRVIsIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF9ub3ByaXZz J0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENG MTA0RUY5MTgzRjM3NEE1NENBMjU3NicKIHNlbGVjdCBmMSBmcm9tIHQxIG9yZGVyIGJ5IGYxOwog ZjEKIGluc2VydCAzLjUuMy4yLW5vCkBAIC00MDEsNyArNDAxLDcgQEAgZ3JhbnQgQUxMICBvbiAq LiogdG8gdGVzdF9ub3ByaXZzQGxvY2FsaAogcmV2b2tlIFNFTEVDVCAgb24gKi4qIGZyb20gdGVz dF9ub3ByaXZzQGxvY2FsaG9zdDsKIHNob3cgZ3JhbnRzIGZvciB0ZXN0X25vcHJpdnNAbG9jYWxo b3N0OwogR3JhbnRzIGZvciB0ZXN0X25vcHJpdnNAbG9jYWxob3N0Ci1HUkFOVCBJTlNFUlQsIFVQ REFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJ TEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVB VEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNM QVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBS T1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIFRSSUdHRVIgT04gKi4q IFRPICd0ZXN0X25vcHJpdnMnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypD NDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2JworR1JBTlQgSU5TRVJULCBV UERBVEUsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBG SUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JF QVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBT TEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUg Uk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBUUklHR0VSLCBDUkVB VEUgVEFCTEVTUEFDRSBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJ RklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1 NzYnCiByZXZva2UgQUxMIFBSSVZJTEVHRVMsIEdSQU5UIE9QVElPTiBGUk9NIHRlc3RfeWVzcHJp dnNAbG9jYWxob3N0OwogZ3JhbnQgVFJJR0dFUiwgU0VMRUNUIG9uICouKiB0byB0ZXN0X3llc3By aXZzQGxvY2FsaG9zdDsKIHNob3cgZ3JhbnRzIGZvciB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsK QEAgLTQxNSw3ICs0MTUsNyBAQCB0ZXN0X25vcHJpdnNAbG9jYWxob3N0CiB1c2UgcHJpdl9kYjsK IHNob3cgZ3JhbnRzOwogR3JhbnRzIGZvciB0ZXN0X25vcHJpdnNAbG9jYWxob3N0Ci1HUkFOVCBJ TlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBS T0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNV UEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJ Q0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcs IENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIFRSSUdH RVIgT04gKi4qIFRPICd0ZXN0X25vcHJpdnMnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFT U1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2JworR1JBTlQg SU5TRVJULCBVUERBVEUsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQ Uk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBT VVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBM SUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVX LCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBUUklH R0VSLCBDUkVBVEUgVEFCTEVTUEFDRSBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9z dCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0Yz NzRBNTRDQTI1NzYnCiBjcmVhdGUgdHJpZ2dlciB0cmc1YV8xIGJlZm9yZSBJTlNFUlQgb24gdDEg Zm9yIGVhY2ggcm93CiBzZXQgQHRlc3RfdmFyID0gbmV3LmYxOwogc2V0IEB0ZXN0X3ZhciA9ICdi ZWZvcmUgdHJpZyAzLjUuMy44LTFhJzsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1 aXRlL2Z1bmNzXzEvci9pbm5vZGJfdHJpZ18wM2UucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1 aXRlL2Z1bmNzXzEvci9pbm5vZGJfdHJpZ18wM2UucmVzdWx0CTIwMDgtMDQtMzAgMTY6MTY6NDUg KzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaW5ub2RiX3RyaWdfMDNlLnJl c3VsdAkyMDA4LTA4LTA3IDEzOjM4OjI5ICswMDAwCkBAIC01NjIsNyArNTYyLDcgQEAgdHJpZyAx XzEteWVzCiByZXZva2UgVFJJR0dFUiBvbiAqLiogZnJvbSB0ZXN0X3llc3ByaXZzQGxvY2FsaG9z dDsKIHNob3cgZ3JhbnRzIGZvciB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsKIEdyYW50cyBmb3Ig dGVzdF95ZXNwcml2c0Bsb2NhbGhvc3QKLUdSQU5UIFNFTEVDVCwgSU5TRVJULCBVUERBVEUsIERF TEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBSRUZF UkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRFTVBP UkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQ TElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElORSwg QUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5UIE9OICouKiBUTyAndGVzdF95ZXNwcml2 cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBD RjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFOVCBTRUxFQ1QsIElOU0VSVCwgVVBEQVRFLCBE RUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywgRklMRSwgUkVG RVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIsIENSRUFURSBURU1Q T1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJT04gU0xBVkUsIFJF UExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JFQVRFIFJPVVRJTkUs IEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgQ1JFQVRFIFRBQkxFU1BBQ0UgT04g Ki4qIFRPICd0ZXN0X3llc3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JE ICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKIGNvbm5lY3QobG9j YWxob3N0LHRlc3RfeWVzcHJpdnMsUFdELHRlc3QsTUFTVEVSX01ZUE9SVCxNQVNURVJfTVlTT0NL KTsKIHNlbGVjdCBjdXJyZW50X3VzZXI7CiBjdXJyZW50X3VzZXIKQEAgLTYwOSw3ICs2MDksNyBA QCByb290QGxvY2FsaG9zdAogZ3JhbnQgVFJJR0dFUiBvbiBwcml2X2RiLiogdG8gdGVzdF95ZXNw cml2c0Bsb2NhbGhvc3Q7CiBzaG93IGdyYW50cyBmb3IgdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7 CiBHcmFudHMgZm9yIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0Ci1HUkFOVCBTRUxFQ1QsIElOU0VS VCwgVVBEQVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VT UywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIs IENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJ T04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JF QVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCBPTiAqLiogVE8g J3Rlc3RfeWVzcHJpdnMnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypDNDk3 MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2JworR1JBTlQgU0VMRUNULCBJTlNF UlQsIFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NF U1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVS LCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FU SU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENS RUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIENSRUFURSBU QUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF95ZXNwcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklF RCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYn CiBHUkFOVCBUUklHR0VSIE9OIGBwcml2X2RiYC4qIFRPICd0ZXN0X3llc3ByaXZzJ0AnbG9jYWxo b3N0JwogCiB0cmlnZ2VyIHByaXZpbGVnZSBvbiBkYiBsZXZlbCBmb3IgY3JlYXRlOgoKPT09IG1v ZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWwu cmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc19jb2x1bW5zX215c3Fs LnJlc3VsdAkyMDA4LTA3LTEwIDA5OjQ5OjUzICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUv ZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWwucmVzdWx0CTIwMDgtMDgtMDcgMTM6Mzg6MjkgKzAw MDAKQEAgLTIwOSw2ICsyMDksNyBAQCBOVUxMCW15c3FsCXVzZXIJQWx0ZXJfcHJpdgkxNwlOCU5P CWVudW0JCiBOVUxMCW15c3FsCXVzZXIJQWx0ZXJfcm91dGluZV9wcml2CTI4CU4JTk8JZW51bQkx CTQJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQlzZWxlY3Qs aW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKIE5VTEwJbXlzcWwJdXNl cglDcmVhdGVfcHJpdgk4CU4JTk8JZW51bQkxCTQJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFs X2NpCWVudW0oJ04nLCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZh dWx0CURlZmF1bHQKIE5VTEwJbXlzcWwJdXNlcglDcmVhdGVfcm91dGluZV9wcml2CTI3CU4JTk8J ZW51bQkxCTQJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQlz ZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKK05VTEwJbXlz cWwJdXNlcglDcmVhdGVfdGFibGVzcGFjZV9wcml2CTMyCU4JTk8JZW51bQkxCTQJTlVMTAlOVUxM CXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0 ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKIE5VTEwJbXlzcWwJdXNlcglDcmVhdGVfdG1w X3RhYmxlX3ByaXYJMjAJTglOTwllbnVtCTEJNAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxf Y2kJZW51bSgnTicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1 bHQJRGVmYXVsdAogTlVMTAlteXNxbAl1c2VyCUNyZWF0ZV91c2VyX3ByaXYJMjkJTglOTwllbnVt CTEJNAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCXNlbGVj dCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVsdAogTlVMTAlteXNxbAl1 c2VyCUNyZWF0ZV92aWV3X3ByaXYJMjUJTglOTwllbnVtCTEJNAlOVUxMCU5VTEwJdXRmOAl1dGY4 X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5j ZXMJCURlZmF1bHQJRGVmYXVsdApAQCAtMjIyLDEwICsyMjMsMTAgQEAgTlVMTAlteXNxbAl1c2Vy CUhvc3QJMQkJTk8JY2hhcgk2MAkyNDAJTgogTlVMTAlteXNxbAl1c2VyCUluZGV4X3ByaXYJMTYJ TglOTwllbnVtCTEJNAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1kn KQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVsdAogTlVM TAlteXNxbAl1c2VyCUluc2VydF9wcml2CTUJTglOTwllbnVtCTEJNAlOVUxMCU5VTEwJdXRmOAl1 dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVy ZW5jZXMJCURlZmF1bHQJRGVmYXVsdAogTlVMTAlteXNxbAl1c2VyCUxvY2tfdGFibGVzX3ByaXYJ MjEJTglOTwllbnVtCTEJNAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTics J1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVsdAot TlVMTAlteXNxbAl1c2VyCW1heF9jb25uZWN0aW9ucwkzOAkwCU5PCWludAlOVUxMCU5VTEwJMTAJ MAlOVUxMCU5VTEwJaW50KDExKSB1bnNpZ25lZAkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVy ZW5jZXMJCURlZmF1bHQJRGVmYXVsdAotTlVMTAlteXNxbAl1c2VyCW1heF9xdWVzdGlvbnMJMzYJ MAlOTwlpbnQJTlVMTAlOVUxMCTEwCTAJTlVMTAlOVUxMCWludCgxMSkgdW5zaWduZWQJCQlzZWxl Y3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKLU5VTEwJbXlzcWwJ dXNlcgltYXhfdXBkYXRlcwkzNwkwCU5PCWludAlOVUxMCU5VTEwJMTAJMAlOVUxMCU5VTEwJaW50 KDExKSB1bnNpZ25lZAkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJ RGVmYXVsdAotTlVMTAlteXNxbAl1c2VyCW1heF91c2VyX2Nvbm5lY3Rpb25zCTM5CTAJTk8JaW50 CU5VTEwJTlVMTAkxMAkwCU5VTEwJTlVMTAlpbnQoMTEpIHVuc2lnbmVkCQkJc2VsZWN0LGluc2Vy dCx1cGRhdGUscmVmZXJlbmNlcwkJRGVmYXVsdAlEZWZhdWx0CitOVUxMCW15c3FsCXVzZXIJbWF4 X2Nvbm5lY3Rpb25zCTM5CTAJTk8JaW50CU5VTEwJTlVMTAkxMAkwCU5VTEwJTlVMTAlpbnQoMTEp IHVuc2lnbmVkCQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkJRGVmYXVsdAlEZWZh dWx0CitOVUxMCW15c3FsCXVzZXIJbWF4X3F1ZXN0aW9ucwkzNwkwCU5PCWludAlOVUxMCU5VTEwJ MTAJMAlOVUxMCU5VTEwJaW50KDExKSB1bnNpZ25lZAkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJl ZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVsdAorTlVMTAlteXNxbAl1c2VyCW1heF91cGRhdGVzCTM4 CTAJTk8JaW50CU5VTEwJTlVMTAkxMAkwCU5VTEwJTlVMTAlpbnQoMTEpIHVuc2lnbmVkCQkJc2Vs ZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkJRGVmYXVsdAlEZWZhdWx0CitOVUxMCW15c3Fs CXVzZXIJbWF4X3VzZXJfY29ubmVjdGlvbnMJNDAJMAlOTwlpbnQJTlVMTAlOVUxMCTEwCTAJTlVM TAlOVUxMCWludCgxMSkgdW5zaWduZWQJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2Vz CQlEZWZhdWx0CURlZmF1bHQKIE5VTEwJbXlzcWwJdXNlcglQYXNzd29yZAkzCQlOTwljaGFyCTQx CTQxCU5VTEwJTlVMTAlsYXRpbjEJbGF0aW4xX2JpbgljaGFyKDQxKQkJCXNlbGVjdCxpbnNlcnQs dXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVsdAogTlVMTAlteXNxbAl1c2VyCVByb2Nl c3NfcHJpdgkxMglOCU5PCWVudW0JMQk0CU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQll bnVtKCdOJywnWScpCQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkJRGVmYXVsdAlE ZWZhdWx0CiBOVUxMCW15c3FsCXVzZXIJUmVmZXJlbmNlc19wcml2CTE1CU4JTk8JZW51bQkxCTQJ TlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQlzZWxlY3QsaW5z ZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKQEAgLTIzNiwxNCArMjM3LDE0 IEBAIE5VTEwJbXlzcWwJdXNlcglTZWxlY3RfcHJpdgk0CU4JTk8JZW51bQkKIE5VTEwJbXlzcWwJ dXNlcglTaG93X2RiX3ByaXYJMTgJTglOTwllbnVtCTEJNAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dl bmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJ CURlZmF1bHQJRGVmYXVsdAogTlVMTAlteXNxbAl1c2VyCVNob3dfdmlld19wcml2CTI2CU4JTk8J ZW51bQkxCTQJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQlz ZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKIE5VTEwJbXlz cWwJdXNlcglTaHV0ZG93bl9wcml2CTExCU4JTk8JZW51bQkxCTQJTlVMTAlOVUxMCXV0ZjgJdXRm OF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVu Y2VzCQlEZWZhdWx0CURlZmF1bHQKLU5VTEwJbXlzcWwJdXNlcglzc2xfY2lwaGVyCTMzCU5VTEwJ Tk8JYmxvYgk2NTUzNQk2NTUzNQlOVUxMCU5VTEwJTlVMTAlOVUxMCWJsb2IJCQlzZWxlY3QsaW5z ZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKLU5VTEwJbXlzcWwJdXNlcglz c2xfdHlwZQkzMgkJTk8JZW51bQk5CTM2CU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQll bnVtKCcnLCdBTlknLCdYNTA5JywnU1BFQ0lGSUVEJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxy ZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKK05VTEwJbXlzcWwJdXNlcglzc2xfY2lwaGVyCTM0 CU5VTEwJTk8JYmxvYgk2NTUzNQk2NTUzNQlOVUxMCU5VTEwJTlVMTAlOVUxMCWJsb2IJCQlzZWxl Y3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKK05VTEwJbXlzcWwJ dXNlcglzc2xfdHlwZQkzMwkJTk8JZW51bQk5CTM2CU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJh bF9jaQllbnVtKCcnLCdBTlknLCdYNTA5JywnU1BFQ0lGSUVEJykJCQlzZWxlY3QsaW5zZXJ0LHVw ZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKIE5VTEwJbXlzcWwJdXNlcglTdXBlcl9w cml2CTE5CU4JTk8JZW51bQkxCTQJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0o J04nLCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1 bHQKIE5VTEwJbXlzcWwJdXNlcglUcmlnZ2VyX3ByaXYJMzEJTglOTwllbnVtCTEJNAlOVUxMCU5V TEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBk YXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVsdAogTlVMTAlteXNxbAl1c2VyCVVwZGF0ZV9w cml2CTYJTglOTwllbnVtCTEJNAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgn TicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVs dAogTlVMTAlteXNxbAl1c2VyCVVzZXIJMgkJTk8JY2hhcgkxNgk2NAlOVUxMCU5VTEwJdXRmOAl1 dGY4X2JpbgljaGFyKDE2KQlQUkkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCURl ZmF1bHQJRGVmYXVsdAotTlVMTAlteXNxbAl1c2VyCXg1MDlfaXNzdWVyCTM0CU5VTEwJTk8JYmxv Ygk2NTUzNQk2NTUzNQlOVUxMCU5VTEwJTlVMTAlOVUxMCWJsb2IJCQlzZWxlY3QsaW5zZXJ0LHVw ZGF0ZSxyZWZlcmVuY2VzCQlEZWZhdWx0CURlZmF1bHQKLU5VTEwJbXlzcWwJdXNlcgl4NTA5X3N1 YmplY3QJMzUJTlVMTAlOTwlibG9iCTY1NTM1CTY1NTM1CU5VTEwJTlVMTAlOVUxMCU5VTEwJYmxv YgkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVsdAorTlVM TAlteXNxbAl1c2VyCXg1MDlfaXNzdWVyCTM1CU5VTEwJTk8JYmxvYgk2NTUzNQk2NTUzNQlOVUxM CU5VTEwJTlVMTAlOVUxMCWJsb2IJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQlE ZWZhdWx0CURlZmF1bHQKK05VTEwJbXlzcWwJdXNlcgl4NTA5X3N1YmplY3QJMzYJTlVMTAlOTwli bG9iCTY1NTM1CTY1NTM1CU5VTEwJTlVMTAlOVUxMCU5VTEwJYmxvYgkJCXNlbGVjdCxpbnNlcnQs dXBkYXRlLHJlZmVyZW5jZXMJCURlZmF1bHQJRGVmYXVsdAogIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMg U2hvdyB0aGUgcXVvdGllbnQgb2YgQ0hBUkFDVEVSX09DVEVUX0xFTkdUSCBhbmQgQ0hBUkFDVEVS X01BWElNVU1fTEVOR1RICiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtNTQ4LDYgKzU0OSw3IEBAIE5V TEwJbXlzcWwJdGltZV96b25lX3RyYW5zaXRpb25fdHlwZQlJc18KIDQuMDAwMAlteXNxbAl1c2Vy CUNyZWF0ZV91c2VyX3ByaXYJZW51bQkxCTQJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTics J1knKQogNC4wMDAwCW15c3FsCXVzZXIJRXZlbnRfcHJpdgllbnVtCTEJNAl1dGY4CXV0ZjhfZ2Vu ZXJhbF9jaQllbnVtKCdOJywnWScpCiA0LjAwMDAJbXlzcWwJdXNlcglUcmlnZ2VyX3ByaXYJZW51 bQkxCTQJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQorNC4wMDAwCW15c3FsCXVz ZXIJQ3JlYXRlX3RhYmxlc3BhY2VfcHJpdgllbnVtCTEJNAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQll bnVtKCdOJywnWScpCiA0LjAwMDAJbXlzcWwJdXNlcglzc2xfdHlwZQllbnVtCTkJMzYJdXRmOAl1 dGY4X2dlbmVyYWxfY2kJZW51bSgnJywnQU5ZJywnWDUwOScsJ1NQRUNJRklFRCcpCiAxLjAwMDAJ bXlzcWwJdXNlcglzc2xfY2lwaGVyCWJsb2IJNjU1MzUJNjU1MzUJTlVMTAlOVUxMCWJsb2IKIDEu MDAwMAlteXNxbAl1c2VyCXg1MDlfaXNzdWVyCWJsb2IJNjU1MzUJNjU1MzUJTlVMTAlOVUxMCWJs b2IKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc191c2Vy X3ByaXZpbGVnZXMucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc191 c2VyX3ByaXZpbGVnZXMucmVzdWx0CTIwMDgtMDMtMDcgMTk6MTg6MTQgKzAwMDAKKysrIGIvbXlz cWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaXNfdXNlcl9wcml2aWxlZ2VzLnJlc3VsdAkyMDA4LTA4 LTA3IDEzOjM4OjI5ICswMDAwCkBAIC03NiwxMCArNzYsMTAgQEAgR1JBTlRFRQlUQUJMRV9DQVRB TE9HCVBSSVZJTEVHRV9UWVBFCUlTXwogJ3Rlc3R1c2VyMydAJ2xvY2FsaG9zdCcJTlVMTAlVU0FH RQlOTwogU0VMRUNUICogRlJPTSBteXNxbC51c2VyCiBXSEVSRSB1c2VyIExJS0UgJ3Rlc3R1c2Vy JScgT1JERVIgQlkgaG9zdCwgdXNlcjsKLUhvc3QJVXNlcglQYXNzd29yZAlTZWxlY3RfcHJpdglJ bnNlcnRfcHJpdglVcGRhdGVfcHJpdglEZWxldGVfcHJpdglDcmVhdGVfcHJpdglEcm9wX3ByaXYJ UmVsb2FkX3ByaXYJU2h1dGRvd25fcHJpdglQcm9jZXNzX3ByaXYJRmlsZV9wcml2CUdyYW50X3By aXYJUmVmZXJlbmNlc19wcml2CUluZGV4X3ByaXYJQWx0ZXJfcHJpdglTaG93X2RiX3ByaXYJU3Vw ZXJfcHJpdglDcmVhdGVfdG1wX3RhYmxlX3ByaXYJTG9ja190YWJsZXNfcHJpdglFeGVjdXRlX3By aXYJUmVwbF9zbGF2ZV9wcml2CVJlcGxfY2xpZW50X3ByaXYJQ3JlYXRlX3ZpZXdfcHJpdglTaG93 X3ZpZXdfcHJpdglDcmVhdGVfcm91dGluZV9wcml2CUFsdGVyX3JvdXRpbmVfcHJpdglDcmVhdGVf dXNlcl9wcml2CUV2ZW50X3ByaXYJVHJpZ2dlcl9wcml2CXNzbF90eXBlCXNzbF9jaXBoZXIJeDUw OV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4X2Nvbm5l Y3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCi1sb2NhbGhvc3QJdGVzdHVzZXIxCQlOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJ MAkwCi1sb2NhbGhvc3QJdGVzdHVzZXIyCQlOCVkJWQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCi1sb2NhbGhvc3QJdGVzdHVzZXIz CQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CQkJCQkwCTAJMAkwCitIb3N0CVVzZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJSW5zZXJ0X3ByaXYJ VXBkYXRlX3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2CVJlbG9hZF9wcml2 CVNodXRkb3duX3ByaXYJUHJvY2Vzc19wcml2CUZpbGVfcHJpdglHcmFudF9wcml2CVJlZmVyZW5j ZXNfcHJpdglJbmRleF9wcml2CUFsdGVyX3ByaXYJU2hvd19kYl9wcml2CVN1cGVyX3ByaXYJQ3Jl YXRlX3RtcF90YWJsZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9wcml2CVJlcGxfc2xh dmVfcHJpdglSZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92aWV3X3ByaXYJU2hvd192aWV3X3ByaXYJ Q3JlYXRlX3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRlX3VzZXJfcHJpdglF dmVudF9wcml2CVRyaWdnZXJfcHJpdglDcmVhdGVfdGFibGVzcGFjZV9wcml2CXNzbF90eXBlCXNz bF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0 ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCitsb2NhbGhvc3QJdGVzdHVz ZXIxCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JCQkJCTAJMAkwCTAKK2xvY2FsaG9zdAl0ZXN0dXNlcjIJCU4JWQlZCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJMAorbG9j YWxob3N0CXRlc3R1c2VyMwkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCiAjCiAjIEFkZCBHUkFOVCBPUFRJT04gZGJf ZGF0YWRpY3QuKiB0byB0ZXN0dXNlcjE7CiBHUkFOVCBVUERBVEUgT04gZGJfZGF0YWRpY3QuKiBU TyAndGVzdHVzZXIxJ0AnbG9jYWxob3N0JyBXSVRIIEdSQU5UIE9QVElPTjsKQEAgLTkzLDEwICs5 MywxMCBAQCBHUkFOVEVFCVRBQkxFX0NBVEFMT0cJUFJJVklMRUdFX1RZUEUJSVNfCiAndGVzdHVz ZXIzJ0AnbG9jYWxob3N0JwlOVUxMCVVTQUdFCU5PCiBTRUxFQ1QgKiBGUk9NIG15c3FsLnVzZXIK IFdIRVJFIHVzZXIgTElLRSAndGVzdHVzZXIlJyBPUkRFUiBCWSBob3N0LCB1c2VyOwotSG9zdAlV c2VyCVBhc3N3b3JkCVNlbGVjdF9wcml2CUluc2VydF9wcml2CVVwZGF0ZV9wcml2CURlbGV0ZV9w cml2CUNyZWF0ZV9wcml2CURyb3BfcHJpdglSZWxvYWRfcHJpdglTaHV0ZG93bl9wcml2CVByb2Nl c3NfcHJpdglGaWxlX3ByaXYJR3JhbnRfcHJpdglSZWZlcmVuY2VzX3ByaXYJSW5kZXhfcHJpdglB bHRlcl9wcml2CVNob3dfZGJfcHJpdglTdXBlcl9wcml2CUNyZWF0ZV90bXBfdGFibGVfcHJpdglM b2NrX3RhYmxlc19wcml2CUV4ZWN1dGVfcHJpdglSZXBsX3NsYXZlX3ByaXYJUmVwbF9jbGllbnRf cHJpdglDcmVhdGVfdmlld19wcml2CVNob3dfdmlld19wcml2CUNyZWF0ZV9yb3V0aW5lX3ByaXYJ QWx0ZXJfcm91dGluZV9wcml2CUNyZWF0ZV91c2VyX3ByaXYJRXZlbnRfcHJpdglUcmlnZ2VyX3By aXYJc3NsX3R5cGUJc3NsX2NpcGhlcgl4NTA5X2lzc3Vlcgl4NTA5X3N1YmplY3QJbWF4X3F1ZXN0 aW9ucwltYXhfdXBkYXRlcwltYXhfY29ubmVjdGlvbnMJbWF4X3VzZXJfY29ubmVjdGlvbnMKLWxv Y2FsaG9zdAl0ZXN0dXNlcjEJCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKLWxvY2FsaG9zdAl0ZXN0dXNlcjIJCU4JWQlZ CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJ MAkwCTAKLWxvY2FsaG9zdAl0ZXN0dXNlcjMJCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK0hvc3QJVXNlcglQYXNzd29y ZAlTZWxlY3RfcHJpdglJbnNlcnRfcHJpdglVcGRhdGVfcHJpdglEZWxldGVfcHJpdglDcmVhdGVf cHJpdglEcm9wX3ByaXYJUmVsb2FkX3ByaXYJU2h1dGRvd25fcHJpdglQcm9jZXNzX3ByaXYJRmls ZV9wcml2CUdyYW50X3ByaXYJUmVmZXJlbmNlc19wcml2CUluZGV4X3ByaXYJQWx0ZXJfcHJpdglT aG93X2RiX3ByaXYJU3VwZXJfcHJpdglDcmVhdGVfdG1wX3RhYmxlX3ByaXYJTG9ja190YWJsZXNf cHJpdglFeGVjdXRlX3ByaXYJUmVwbF9zbGF2ZV9wcml2CVJlcGxfY2xpZW50X3ByaXYJQ3JlYXRl X3ZpZXdfcHJpdglTaG93X3ZpZXdfcHJpdglDcmVhdGVfcm91dGluZV9wcml2CUFsdGVyX3JvdXRp bmVfcHJpdglDcmVhdGVfdXNlcl9wcml2CUV2ZW50X3ByaXYJVHJpZ2dlcl9wcml2CUNyZWF0ZV90 YWJsZXNwYWNlX3ByaXYJc3NsX3R5cGUJc3NsX2NpcGhlcgl4NTA5X2lzc3Vlcgl4NTA5X3N1Ympl Y3QJbWF4X3F1ZXN0aW9ucwltYXhfdXBkYXRlcwltYXhfY29ubmVjdGlvbnMJbWF4X3VzZXJfY29u bmVjdGlvbnMKK2xvY2FsaG9zdAl0ZXN0dXNlcjEJCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJMAorbG9jYWxob3N0CXRl c3R1c2VyMgkJTglZCVkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCQkJCQkwCTAJMAkwCitsb2NhbGhvc3QJdGVzdHVzZXIzCQlOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAK ICMgRXN0YWJsaXNoIGNvbm5lY3Rpb24gdGVzdHVzZXIxICh1c2VyPXRlc3R1c2VyMSkKIFNFTEVD VCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnVzZXJfcHJpdmlsZWdlcwogV0hFUkUgZ3JhbnRl ZSBMSUtFICcnJ3Rlc3R1c2VyJScnJwpAQCAtMTA1LDEwICsxMDUsMTAgQEAgR1JBTlRFRQlUQUJM RV9DQVRBTE9HCVBSSVZJTEVHRV9UWVBFCUlTXwogJ3Rlc3R1c2VyMSdAJ2xvY2FsaG9zdCcJTlVM TAlVU0FHRQlOTwogU0VMRUNUICogRlJPTSBteXNxbC51c2VyCiBXSEVSRSB1c2VyIExJS0UgJ3Rl c3R1c2VyJScgT1JERVIgQlkgaG9zdCwgdXNlcjsKLUhvc3QJVXNlcglQYXNzd29yZAlTZWxlY3Rf cHJpdglJbnNlcnRfcHJpdglVcGRhdGVfcHJpdglEZWxldGVfcHJpdglDcmVhdGVfcHJpdglEcm9w X3ByaXYJUmVsb2FkX3ByaXYJU2h1dGRvd25fcHJpdglQcm9jZXNzX3ByaXYJRmlsZV9wcml2CUdy YW50X3ByaXYJUmVmZXJlbmNlc19wcml2CUluZGV4X3ByaXYJQWx0ZXJfcHJpdglTaG93X2RiX3By aXYJU3VwZXJfcHJpdglDcmVhdGVfdG1wX3RhYmxlX3ByaXYJTG9ja190YWJsZXNfcHJpdglFeGVj dXRlX3ByaXYJUmVwbF9zbGF2ZV9wcml2CVJlcGxfY2xpZW50X3ByaXYJQ3JlYXRlX3ZpZXdfcHJp dglTaG93X3ZpZXdfcHJpdglDcmVhdGVfcm91dGluZV9wcml2CUFsdGVyX3JvdXRpbmVfcHJpdglD cmVhdGVfdXNlcl9wcml2CUV2ZW50X3ByaXYJVHJpZ2dlcl9wcml2CXNzbF90eXBlCXNzbF9jaXBo ZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4 X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCi1sb2NhbGhvc3QJdGVzdHVzZXIxCQlO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJ CQkwCTAJMAkwCi1sb2NhbGhvc3QJdGVzdHVzZXIyCQlOCVkJWQlOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCi1sb2NhbGhvc3QJdGVz dHVzZXIzCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCQkJCQkwCTAJMAkwCitIb3N0CVVzZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJSW5zZXJ0 X3ByaXYJVXBkYXRlX3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2CVJlbG9h ZF9wcml2CVNodXRkb3duX3ByaXYJUHJvY2Vzc19wcml2CUZpbGVfcHJpdglHcmFudF9wcml2CVJl ZmVyZW5jZXNfcHJpdglJbmRleF9wcml2CUFsdGVyX3ByaXYJU2hvd19kYl9wcml2CVN1cGVyX3By aXYJQ3JlYXRlX3RtcF90YWJsZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9wcml2CVJl cGxfc2xhdmVfcHJpdglSZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92aWV3X3ByaXYJU2hvd192aWV3 X3ByaXYJQ3JlYXRlX3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRlX3VzZXJf cHJpdglFdmVudF9wcml2CVRyaWdnZXJfcHJpdglDcmVhdGVfdGFibGVzcGFjZV9wcml2CXNzbF90 eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVzdGlvbnMJbWF4 X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCitsb2NhbGhvc3QJ dGVzdHVzZXIxCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK2xvY2FsaG9zdAl0ZXN0dXNlcjIJCU4JWQlZCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJ MAorbG9jYWxob3N0CXRlc3R1c2VyMwkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCiBTSE9XIEdSQU5UUzsKIEdyYW50 cyBmb3IgdGVzdHVzZXIxQGxvY2FsaG9zdAogR1JBTlQgVVNBR0UgT04gKi4qIFRPICd0ZXN0dXNl cjEnQCdsb2NhbGhvc3QnCkBAIC0xMzAsMTAgKzEzMCwxMCBAQCBHUkFOVEVFCVRBQkxFX0NBVEFM T0cJUFJJVklMRUdFX1RZUEUJSVNfCiAndGVzdHVzZXIzJ0AnbG9jYWxob3N0JwlOVUxMCVVTQUdF CU5PCiBTRUxFQ1QgKiBGUk9NIG15c3FsLnVzZXIKIFdIRVJFIHVzZXIgTElLRSAndGVzdHVzZXIl JyBPUkRFUiBCWSBob3N0LCB1c2VyOwotSG9zdAlVc2VyCVBhc3N3b3JkCVNlbGVjdF9wcml2CUlu c2VydF9wcml2CVVwZGF0ZV9wcml2CURlbGV0ZV9wcml2CUNyZWF0ZV9wcml2CURyb3BfcHJpdglS ZWxvYWRfcHJpdglTaHV0ZG93bl9wcml2CVByb2Nlc3NfcHJpdglGaWxlX3ByaXYJR3JhbnRfcHJp dglSZWZlcmVuY2VzX3ByaXYJSW5kZXhfcHJpdglBbHRlcl9wcml2CVNob3dfZGJfcHJpdglTdXBl cl9wcml2CUNyZWF0ZV90bXBfdGFibGVfcHJpdglMb2NrX3RhYmxlc19wcml2CUV4ZWN1dGVfcHJp dglSZXBsX3NsYXZlX3ByaXYJUmVwbF9jbGllbnRfcHJpdglDcmVhdGVfdmlld19wcml2CVNob3df dmlld19wcml2CUNyZWF0ZV9yb3V0aW5lX3ByaXYJQWx0ZXJfcm91dGluZV9wcml2CUNyZWF0ZV91 c2VyX3ByaXYJRXZlbnRfcHJpdglUcmlnZ2VyX3ByaXYJc3NsX3R5cGUJc3NsX2NpcGhlcgl4NTA5 X2lzc3Vlcgl4NTA5X3N1YmplY3QJbWF4X3F1ZXN0aW9ucwltYXhfdXBkYXRlcwltYXhfY29ubmVj dGlvbnMJbWF4X3VzZXJfY29ubmVjdGlvbnMKLWxvY2FsaG9zdAl0ZXN0dXNlcjEJCVkJTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkw CTAKLWxvY2FsaG9zdAl0ZXN0dXNlcjIJCU4JWQlZCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKLWxvY2FsaG9zdAl0ZXN0dXNlcjMJ CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J CQkJCTAJMAkwCTAKK0hvc3QJVXNlcglQYXNzd29yZAlTZWxlY3RfcHJpdglJbnNlcnRfcHJpdglV cGRhdGVfcHJpdglEZWxldGVfcHJpdglDcmVhdGVfcHJpdglEcm9wX3ByaXYJUmVsb2FkX3ByaXYJ U2h1dGRvd25fcHJpdglQcm9jZXNzX3ByaXYJRmlsZV9wcml2CUdyYW50X3ByaXYJUmVmZXJlbmNl c19wcml2CUluZGV4X3ByaXYJQWx0ZXJfcHJpdglTaG93X2RiX3ByaXYJU3VwZXJfcHJpdglDcmVh dGVfdG1wX3RhYmxlX3ByaXYJTG9ja190YWJsZXNfcHJpdglFeGVjdXRlX3ByaXYJUmVwbF9zbGF2 ZV9wcml2CVJlcGxfY2xpZW50X3ByaXYJQ3JlYXRlX3ZpZXdfcHJpdglTaG93X3ZpZXdfcHJpdglD cmVhdGVfcm91dGluZV9wcml2CUFsdGVyX3JvdXRpbmVfcHJpdglDcmVhdGVfdXNlcl9wcml2CUV2 ZW50X3ByaXYJVHJpZ2dlcl9wcml2CUNyZWF0ZV90YWJsZXNwYWNlX3ByaXYJc3NsX3R5cGUJc3Ns X2NpcGhlcgl4NTA5X2lzc3Vlcgl4NTA5X3N1YmplY3QJbWF4X3F1ZXN0aW9ucwltYXhfdXBkYXRl cwltYXhfY29ubmVjdGlvbnMJbWF4X3VzZXJfY29ubmVjdGlvbnMKK2xvY2FsaG9zdAl0ZXN0dXNl cjEJCVkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTgkJCQkJMAkwCTAJMAorbG9jYWxob3N0CXRlc3R1c2VyMgkJTglZCVkJTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCitsb2Nh bGhvc3QJdGVzdHVzZXIzCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKIEdSQU5UIFNFTEVDVCBPTiAqLiogVE8gJ3Rl c3R1c2VyMSdAJ2xvY2FsaG9zdCcgV0lUSCBHUkFOVCBPUFRJT047CiAjCiAjIEhlcmUgPFNFTEVD VCBZRVM+IGlzIHNob3duIGNvcnJlY3RseSBmb3IgdGVzdHVzZXIxOwpAQCAtMTQ3LDEwICsxNDcs MTAgQEAgR1JBTlRFRQlUQUJMRV9DQVRBTE9HCVBSSVZJTEVHRV9UWVBFCUlTXwogJ3Rlc3R1c2Vy MydAJ2xvY2FsaG9zdCcJTlVMTAlVU0FHRQlOTwogU0VMRUNUICogRlJPTSBteXNxbC51c2VyCiBX SEVSRSB1c2VyIExJS0UgJ3Rlc3R1c2VyJScgT1JERVIgQlkgaG9zdCwgdXNlcjsKLUhvc3QJVXNl cglQYXNzd29yZAlTZWxlY3RfcHJpdglJbnNlcnRfcHJpdglVcGRhdGVfcHJpdglEZWxldGVfcHJp dglDcmVhdGVfcHJpdglEcm9wX3ByaXYJUmVsb2FkX3ByaXYJU2h1dGRvd25fcHJpdglQcm9jZXNz X3ByaXYJRmlsZV9wcml2CUdyYW50X3ByaXYJUmVmZXJlbmNlc19wcml2CUluZGV4X3ByaXYJQWx0 ZXJfcHJpdglTaG93X2RiX3ByaXYJU3VwZXJfcHJpdglDcmVhdGVfdG1wX3RhYmxlX3ByaXYJTG9j a190YWJsZXNfcHJpdglFeGVjdXRlX3ByaXYJUmVwbF9zbGF2ZV9wcml2CVJlcGxfY2xpZW50X3By aXYJQ3JlYXRlX3ZpZXdfcHJpdglTaG93X3ZpZXdfcHJpdglDcmVhdGVfcm91dGluZV9wcml2CUFs dGVyX3JvdXRpbmVfcHJpdglDcmVhdGVfdXNlcl9wcml2CUV2ZW50X3ByaXYJVHJpZ2dlcl9wcml2 CXNzbF90eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVzdGlv bnMJbWF4X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCi1sb2Nh bGhvc3QJdGVzdHVzZXIxCQlZCU4JTglOCU4JTglOCU4JTglOCVkJTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCi1sb2NhbGhvc3QJdGVzdHVzZXIyCQlOCVkJWQlO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJ MAkwCi1sb2NhbGhvc3QJdGVzdHVzZXIzCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCitIb3N0CVVzZXIJUGFzc3dvcmQJ U2VsZWN0X3ByaXYJSW5zZXJ0X3ByaXYJVXBkYXRlX3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3By aXYJRHJvcF9wcml2CVJlbG9hZF9wcml2CVNodXRkb3duX3ByaXYJUHJvY2Vzc19wcml2CUZpbGVf cHJpdglHcmFudF9wcml2CVJlZmVyZW5jZXNfcHJpdglJbmRleF9wcml2CUFsdGVyX3ByaXYJU2hv d19kYl9wcml2CVN1cGVyX3ByaXYJQ3JlYXRlX3RtcF90YWJsZV9wcml2CUxvY2tfdGFibGVzX3By aXYJRXhlY3V0ZV9wcml2CVJlcGxfc2xhdmVfcHJpdglSZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92 aWV3X3ByaXYJU2hvd192aWV3X3ByaXYJQ3JlYXRlX3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0aW5l X3ByaXYJQ3JlYXRlX3VzZXJfcHJpdglFdmVudF9wcml2CVRyaWdnZXJfcHJpdglDcmVhdGVfdGFi bGVzcGFjZV9wcml2CXNzbF90eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0 CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5l Y3Rpb25zCitsb2NhbGhvc3QJdGVzdHVzZXIxCQlZCU4JTglOCU4JTglOCU4JTglOCVkJTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK2xvY2FsaG9zdAl0ZXN0 dXNlcjIJCU4JWQlZCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTgkJCQkJMAkwCTAJMAorbG9jYWxob3N0CXRlc3R1c2VyMwkJTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCiAj IFN3aXRjaCB0byBjb25uZWN0aW9uIHRlc3R1c2VyMQogU0VMRUNUICogRlJPTSBpbmZvcm1hdGlv bl9zY2hlbWEudXNlcl9wcml2aWxlZ2VzCiBXSEVSRSBncmFudGVlIExJS0UgJycndGVzdHVzZXIl JycnCkBAIC0xNTksMTAgKzE1OSwxMCBAQCBHUkFOVEVFCVRBQkxFX0NBVEFMT0cJUFJJVklMRUdF X1RZUEUJSVNfCiAndGVzdHVzZXIxJ0AnbG9jYWxob3N0JwlOVUxMCVNFTEVDVAlZRVMKIFNFTEVD VCAqIEZST00gbXlzcWwudXNlcgogV0hFUkUgdXNlciBMSUtFICd0ZXN0dXNlciUnIE9SREVSIEJZ IGhvc3QsIHVzZXI7Ci1Ib3N0CVVzZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJSW5zZXJ0X3ByaXYJ VXBkYXRlX3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2CVJlbG9hZF9wcml2 CVNodXRkb3duX3ByaXYJUHJvY2Vzc19wcml2CUZpbGVfcHJpdglHcmFudF9wcml2CVJlZmVyZW5j ZXNfcHJpdglJbmRleF9wcml2CUFsdGVyX3ByaXYJU2hvd19kYl9wcml2CVN1cGVyX3ByaXYJQ3Jl YXRlX3RtcF90YWJsZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9wcml2CVJlcGxfc2xh dmVfcHJpdglSZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92aWV3X3ByaXYJU2hvd192aWV3X3ByaXYJ Q3JlYXRlX3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRlX3VzZXJfcHJpdglF dmVudF9wcml2CVRyaWdnZXJfcHJpdglzc2xfdHlwZQlzc2xfY2lwaGVyCXg1MDlfaXNzdWVyCXg1 MDlfc3ViamVjdAltYXhfcXVlc3Rpb25zCW1heF91cGRhdGVzCW1heF9jb25uZWN0aW9ucwltYXhf dXNlcl9jb25uZWN0aW9ucwotbG9jYWxob3N0CXRlc3R1c2VyMQkJWQlOCU4JTglOCU4JTglOCU4J TglZCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJMAotbG9jYWxo b3N0CXRlc3R1c2VyMgkJTglZCVkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTgkJCQkJMAkwCTAJMAotbG9jYWxob3N0CXRlc3R1c2VyMwkJTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJ MAorSG9zdAlVc2VyCVBhc3N3b3JkCVNlbGVjdF9wcml2CUluc2VydF9wcml2CVVwZGF0ZV9wcml2 CURlbGV0ZV9wcml2CUNyZWF0ZV9wcml2CURyb3BfcHJpdglSZWxvYWRfcHJpdglTaHV0ZG93bl9w cml2CVByb2Nlc3NfcHJpdglGaWxlX3ByaXYJR3JhbnRfcHJpdglSZWZlcmVuY2VzX3ByaXYJSW5k ZXhfcHJpdglBbHRlcl9wcml2CVNob3dfZGJfcHJpdglTdXBlcl9wcml2CUNyZWF0ZV90bXBfdGFi bGVfcHJpdglMb2NrX3RhYmxlc19wcml2CUV4ZWN1dGVfcHJpdglSZXBsX3NsYXZlX3ByaXYJUmVw bF9jbGllbnRfcHJpdglDcmVhdGVfdmlld19wcml2CVNob3dfdmlld19wcml2CUNyZWF0ZV9yb3V0 aW5lX3ByaXYJQWx0ZXJfcm91dGluZV9wcml2CUNyZWF0ZV91c2VyX3ByaXYJRXZlbnRfcHJpdglU cmlnZ2VyX3ByaXYJQ3JlYXRlX3RhYmxlc3BhY2VfcHJpdglzc2xfdHlwZQlzc2xfY2lwaGVyCXg1 MDlfaXNzdWVyCXg1MDlfc3ViamVjdAltYXhfcXVlc3Rpb25zCW1heF91cGRhdGVzCW1heF9jb25u ZWN0aW9ucwltYXhfdXNlcl9jb25uZWN0aW9ucworbG9jYWxob3N0CXRlc3R1c2VyMQkJWQlOCU4J TglOCU4JTglOCU4JTglZCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkw CTAJMAkwCitsb2NhbGhvc3QJdGVzdHVzZXIyCQlOCVkJWQlOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK2xvY2FsaG9zdAl0ZXN0 dXNlcjMJCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTgkJCQkJMAkwCTAJMAogU0hPVyBHUkFOVFM7CiBHcmFudHMgZm9yIHRlc3R1c2VyMUBs b2NhbGhvc3QKIEdSQU5UIFNFTEVDVCBPTiAqLiogVE8gJ3Rlc3R1c2VyMSdAJ2xvY2FsaG9zdCcg V0lUSCBHUkFOVCBPUFRJT04KQEAgLTIwNywxMCArMjA3LDEwIEBAIEdSQU5URUUJVEFCTEVfQ0FU QUxPRwlQUklWSUxFR0VfVFlQRQlJU18KICd0ZXN0dXNlcjMnQCdsb2NhbGhvc3QnCU5VTEwJVVNB R0UJTk8KIFNFTEVDVCAqIEZST00gbXlzcWwudXNlcgogV0hFUkUgdXNlciBMSUtFICd0ZXN0dXNl ciUnIE9SREVSIEJZIGhvc3QsIHVzZXI7Ci1Ib3N0CVVzZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJ SW5zZXJ0X3ByaXYJVXBkYXRlX3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2 CVJlbG9hZF9wcml2CVNodXRkb3duX3ByaXYJUHJvY2Vzc19wcml2CUZpbGVfcHJpdglHcmFudF9w cml2CVJlZmVyZW5jZXNfcHJpdglJbmRleF9wcml2CUFsdGVyX3ByaXYJU2hvd19kYl9wcml2CVN1 cGVyX3ByaXYJQ3JlYXRlX3RtcF90YWJsZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9w cml2CVJlcGxfc2xhdmVfcHJpdglSZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92aWV3X3ByaXYJU2hv d192aWV3X3ByaXYJQ3JlYXRlX3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRl X3VzZXJfcHJpdglFdmVudF9wcml2CVRyaWdnZXJfcHJpdglzc2xfdHlwZQlzc2xfY2lwaGVyCXg1 MDlfaXNzdWVyCXg1MDlfc3ViamVjdAltYXhfcXVlc3Rpb25zCW1heF91cGRhdGVzCW1heF9jb25u ZWN0aW9ucwltYXhfdXNlcl9jb25uZWN0aW9ucwotbG9jYWxob3N0CXRlc3R1c2VyMQkJTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkw CTAJMAotbG9jYWxob3N0CXRlc3R1c2VyMgkJTglZCVkJTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJMAotbG9jYWxob3N0CXRlc3R1c2Vy MwkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TgkJCQkJMAkwCTAJMAorSG9zdAlVc2VyCVBhc3N3b3JkCVNlbGVjdF9wcml2CUluc2VydF9wcml2 CVVwZGF0ZV9wcml2CURlbGV0ZV9wcml2CUNyZWF0ZV9wcml2CURyb3BfcHJpdglSZWxvYWRfcHJp dglTaHV0ZG93bl9wcml2CVByb2Nlc3NfcHJpdglGaWxlX3ByaXYJR3JhbnRfcHJpdglSZWZlcmVu Y2VzX3ByaXYJSW5kZXhfcHJpdglBbHRlcl9wcml2CVNob3dfZGJfcHJpdglTdXBlcl9wcml2CUNy ZWF0ZV90bXBfdGFibGVfcHJpdglMb2NrX3RhYmxlc19wcml2CUV4ZWN1dGVfcHJpdglSZXBsX3Ns YXZlX3ByaXYJUmVwbF9jbGllbnRfcHJpdglDcmVhdGVfdmlld19wcml2CVNob3dfdmlld19wcml2 CUNyZWF0ZV9yb3V0aW5lX3ByaXYJQWx0ZXJfcm91dGluZV9wcml2CUNyZWF0ZV91c2VyX3ByaXYJ RXZlbnRfcHJpdglUcmlnZ2VyX3ByaXYJQ3JlYXRlX3RhYmxlc3BhY2VfcHJpdglzc2xfdHlwZQlz c2xfY2lwaGVyCXg1MDlfaXNzdWVyCXg1MDlfc3ViamVjdAltYXhfcXVlc3Rpb25zCW1heF91cGRh dGVzCW1heF9jb25uZWN0aW9ucwltYXhfdXNlcl9jb25uZWN0aW9ucworbG9jYWxob3N0CXRlc3R1 c2VyMQkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCQkJCQkwCTAJMAkwCitsb2NhbGhvc3QJdGVzdHVzZXIyCQlOCVkJWQlOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK2xv Y2FsaG9zdAl0ZXN0dXNlcjMJCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJMAogIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB0 ZXN0dXNlcjEKIFNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnVzZXJfcHJpdmlsZWdl cwogV0hFUkUgZ3JhbnRlZSBMSUtFICcnJ3Rlc3R1c2VyJScnJwpAQCAtMjUzLDEwICsyNTMsMTAg QEAgR1JBTlRFRQlUQUJMRV9DQVRBTE9HCVBSSVZJTEVHRV9UWVBFCUlTXwogJ3Rlc3R1c2VyMydA J2xvY2FsaG9zdCcJTlVMTAlVU0FHRQlOTwogU0VMRUNUICogRlJPTSBteXNxbC51c2VyCiBXSEVS RSB1c2VyIExJS0UgJ3Rlc3R1c2VyJScgT1JERVIgQlkgaG9zdCwgdXNlcjsKLUhvc3QJVXNlcglQ YXNzd29yZAlTZWxlY3RfcHJpdglJbnNlcnRfcHJpdglVcGRhdGVfcHJpdglEZWxldGVfcHJpdglD cmVhdGVfcHJpdglEcm9wX3ByaXYJUmVsb2FkX3ByaXYJU2h1dGRvd25fcHJpdglQcm9jZXNzX3By aXYJRmlsZV9wcml2CUdyYW50X3ByaXYJUmVmZXJlbmNlc19wcml2CUluZGV4X3ByaXYJQWx0ZXJf cHJpdglTaG93X2RiX3ByaXYJU3VwZXJfcHJpdglDcmVhdGVfdG1wX3RhYmxlX3ByaXYJTG9ja190 YWJsZXNfcHJpdglFeGVjdXRlX3ByaXYJUmVwbF9zbGF2ZV9wcml2CVJlcGxfY2xpZW50X3ByaXYJ Q3JlYXRlX3ZpZXdfcHJpdglTaG93X3ZpZXdfcHJpdglDcmVhdGVfcm91dGluZV9wcml2CUFsdGVy X3JvdXRpbmVfcHJpdglDcmVhdGVfdXNlcl9wcml2CUV2ZW50X3ByaXYJVHJpZ2dlcl9wcml2CXNz bF90eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVzdGlvbnMJ bWF4X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCi1sb2NhbGhv c3QJdGVzdHVzZXIxCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCi1sb2NhbGhvc3QJdGVzdHVzZXIyCQlOCVkJWQlOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkw Ci1sb2NhbGhvc3QJdGVzdHVzZXIzCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCitIb3N0CVVzZXIJUGFzc3dvcmQJU2Vs ZWN0X3ByaXYJSW5zZXJ0X3ByaXYJVXBkYXRlX3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJ RHJvcF9wcml2CVJlbG9hZF9wcml2CVNodXRkb3duX3ByaXYJUHJvY2Vzc19wcml2CUZpbGVfcHJp dglHcmFudF9wcml2CVJlZmVyZW5jZXNfcHJpdglJbmRleF9wcml2CUFsdGVyX3ByaXYJU2hvd19k Yl9wcml2CVN1cGVyX3ByaXYJQ3JlYXRlX3RtcF90YWJsZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJ RXhlY3V0ZV9wcml2CVJlcGxfc2xhdmVfcHJpdglSZXBsX2NsaWVudF9wcml2CUNyZWF0ZV92aWV3 X3ByaXYJU2hvd192aWV3X3ByaXYJQ3JlYXRlX3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0aW5lX3By aXYJQ3JlYXRlX3VzZXJfcHJpdglFdmVudF9wcml2CVRyaWdnZXJfcHJpdglDcmVhdGVfdGFibGVz cGFjZV9wcml2CXNzbF90eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1h eF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rp b25zCitsb2NhbGhvc3QJdGVzdHVzZXIxCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK2xvY2FsaG9zdAl0ZXN0dXNl cjIJCU4JWQlZCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTgkJCQkJMAkwCTAJMAorbG9jYWxob3N0CXRlc3R1c2VyMwkJTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCiAjIFN3 aXRjaCB0byBjb25uZWN0aW9uIHRlc3R1c2VyMQogU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9z Y2hlbWEudXNlcl9wcml2aWxlZ2VzCiBXSEVSRSBncmFudGVlIExJS0UgJycndGVzdHVzZXIlJycn CkBAIC0yNjUsMTAgKzI2NSwxMCBAQCBHUkFOVEVFCVRBQkxFX0NBVEFMT0cJUFJJVklMRUdFX1RZ UEUJSVNfCiAndGVzdHVzZXIxJ0AnbG9jYWxob3N0JwlOVUxMCVVTQUdFCU5PCiBTRUxFQ1QgKiBG Uk9NIG15c3FsLnVzZXIKIFdIRVJFIHVzZXIgTElLRSAndGVzdHVzZXIlJyBPUkRFUiBCWSBob3N0 LCB1c2VyOwotSG9zdAlVc2VyCVBhc3N3b3JkCVNlbGVjdF9wcml2CUluc2VydF9wcml2CVVwZGF0 ZV9wcml2CURlbGV0ZV9wcml2CUNyZWF0ZV9wcml2CURyb3BfcHJpdglSZWxvYWRfcHJpdglTaHV0 ZG93bl9wcml2CVByb2Nlc3NfcHJpdglGaWxlX3ByaXYJR3JhbnRfcHJpdglSZWZlcmVuY2VzX3By aXYJSW5kZXhfcHJpdglBbHRlcl9wcml2CVNob3dfZGJfcHJpdglTdXBlcl9wcml2CUNyZWF0ZV90 bXBfdGFibGVfcHJpdglMb2NrX3RhYmxlc19wcml2CUV4ZWN1dGVfcHJpdglSZXBsX3NsYXZlX3By aXYJUmVwbF9jbGllbnRfcHJpdglDcmVhdGVfdmlld19wcml2CVNob3dfdmlld19wcml2CUNyZWF0 ZV9yb3V0aW5lX3ByaXYJQWx0ZXJfcm91dGluZV9wcml2CUNyZWF0ZV91c2VyX3ByaXYJRXZlbnRf cHJpdglUcmlnZ2VyX3ByaXYJc3NsX3R5cGUJc3NsX2NpcGhlcgl4NTA5X2lzc3Vlcgl4NTA5X3N1 YmplY3QJbWF4X3F1ZXN0aW9ucwltYXhfdXBkYXRlcwltYXhfY29ubmVjdGlvbnMJbWF4X3VzZXJf Y29ubmVjdGlvbnMKLWxvY2FsaG9zdAl0ZXN0dXNlcjEJCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKLWxvY2FsaG9zdAl0 ZXN0dXNlcjIJCU4JWQlZCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JCQkJCTAJMAkwCTAKLWxvY2FsaG9zdAl0ZXN0dXNlcjMJCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK0hv c3QJVXNlcglQYXNzd29yZAlTZWxlY3RfcHJpdglJbnNlcnRfcHJpdglVcGRhdGVfcHJpdglEZWxl dGVfcHJpdglDcmVhdGVfcHJpdglEcm9wX3ByaXYJUmVsb2FkX3ByaXYJU2h1dGRvd25fcHJpdglQ cm9jZXNzX3ByaXYJRmlsZV9wcml2CUdyYW50X3ByaXYJUmVmZXJlbmNlc19wcml2CUluZGV4X3By aXYJQWx0ZXJfcHJpdglTaG93X2RiX3ByaXYJU3VwZXJfcHJpdglDcmVhdGVfdG1wX3RhYmxlX3By aXYJTG9ja190YWJsZXNfcHJpdglFeGVjdXRlX3ByaXYJUmVwbF9zbGF2ZV9wcml2CVJlcGxfY2xp ZW50X3ByaXYJQ3JlYXRlX3ZpZXdfcHJpdglTaG93X3ZpZXdfcHJpdglDcmVhdGVfcm91dGluZV9w cml2CUFsdGVyX3JvdXRpbmVfcHJpdglDcmVhdGVfdXNlcl9wcml2CUV2ZW50X3ByaXYJVHJpZ2dl cl9wcml2CUNyZWF0ZV90YWJsZXNwYWNlX3ByaXYJc3NsX3R5cGUJc3NsX2NpcGhlcgl4NTA5X2lz c3Vlcgl4NTA5X3N1YmplY3QJbWF4X3F1ZXN0aW9ucwltYXhfdXBkYXRlcwltYXhfY29ubmVjdGlv bnMJbWF4X3VzZXJfY29ubmVjdGlvbnMKK2xvY2FsaG9zdAl0ZXN0dXNlcjEJCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJ MAorbG9jYWxob3N0CXRlc3R1c2VyMgkJTglZCVkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCitsb2NhbGhvc3QJdGVzdHVzZXIz CQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JCQkJCTAJMAkwCTAKIFNIT1cgR1JBTlRTOwogR3JhbnRzIGZvciB0ZXN0dXNlcjFAbG9jYWxo b3N0CiBHUkFOVCBVU0FHRSBPTiAqLiogVE8gJ3Rlc3R1c2VyMSdAJ2xvY2FsaG9zdCcKQEAgLTI4 NCwxMCArMjg0LDEwIEBAIEdSQU5URUUJVEFCTEVfQ0FUQUxPRwlQUklWSUxFR0VfVFlQRQlJU18K ICd0ZXN0dXNlcjEnQCdsb2NhbGhvc3QnCU5VTEwJVVNBR0UJTk8KIFNFTEVDVCAqIEZST00gbXlz cWwudXNlcgogV0hFUkUgdXNlciBMSUtFICd0ZXN0dXNlciUnIE9SREVSIEJZIGhvc3QsIHVzZXI7 Ci1Ib3N0CVVzZXIJUGFzc3dvcmQJU2VsZWN0X3ByaXYJSW5zZXJ0X3ByaXYJVXBkYXRlX3ByaXYJ RGVsZXRlX3ByaXYJQ3JlYXRlX3ByaXYJRHJvcF9wcml2CVJlbG9hZF9wcml2CVNodXRkb3duX3By aXYJUHJvY2Vzc19wcml2CUZpbGVfcHJpdglHcmFudF9wcml2CVJlZmVyZW5jZXNfcHJpdglJbmRl eF9wcml2CUFsdGVyX3ByaXYJU2hvd19kYl9wcml2CVN1cGVyX3ByaXYJQ3JlYXRlX3RtcF90YWJs ZV9wcml2CUxvY2tfdGFibGVzX3ByaXYJRXhlY3V0ZV9wcml2CVJlcGxfc2xhdmVfcHJpdglSZXBs X2NsaWVudF9wcml2CUNyZWF0ZV92aWV3X3ByaXYJU2hvd192aWV3X3ByaXYJQ3JlYXRlX3JvdXRp bmVfcHJpdglBbHRlcl9yb3V0aW5lX3ByaXYJQ3JlYXRlX3VzZXJfcHJpdglFdmVudF9wcml2CVRy aWdnZXJfcHJpdglzc2xfdHlwZQlzc2xfY2lwaGVyCXg1MDlfaXNzdWVyCXg1MDlfc3ViamVjdAlt YXhfcXVlc3Rpb25zCW1heF91cGRhdGVzCW1heF9jb25uZWN0aW9ucwltYXhfdXNlcl9jb25uZWN0 aW9ucwotbG9jYWxob3N0CXRlc3R1c2VyMQkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJMAotbG9jYWxob3N0CXRlc3R1c2Vy MgkJTglZCVkJTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TgkJCQkJMAkwCTAJMAotbG9jYWxob3N0CXRlc3R1c2VyMwkJTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJMAkwCTAJMAorSG9zdAlVc2Vy CVBhc3N3b3JkCVNlbGVjdF9wcml2CUluc2VydF9wcml2CVVwZGF0ZV9wcml2CURlbGV0ZV9wcml2 CUNyZWF0ZV9wcml2CURyb3BfcHJpdglSZWxvYWRfcHJpdglTaHV0ZG93bl9wcml2CVByb2Nlc3Nf cHJpdglGaWxlX3ByaXYJR3JhbnRfcHJpdglSZWZlcmVuY2VzX3ByaXYJSW5kZXhfcHJpdglBbHRl cl9wcml2CVNob3dfZGJfcHJpdglTdXBlcl9wcml2CUNyZWF0ZV90bXBfdGFibGVfcHJpdglMb2Nr X3RhYmxlc19wcml2CUV4ZWN1dGVfcHJpdglSZXBsX3NsYXZlX3ByaXYJUmVwbF9jbGllbnRfcHJp dglDcmVhdGVfdmlld19wcml2CVNob3dfdmlld19wcml2CUNyZWF0ZV9yb3V0aW5lX3ByaXYJQWx0 ZXJfcm91dGluZV9wcml2CUNyZWF0ZV91c2VyX3ByaXYJRXZlbnRfcHJpdglUcmlnZ2VyX3ByaXYJ Q3JlYXRlX3RhYmxlc3BhY2VfcHJpdglzc2xfdHlwZQlzc2xfY2lwaGVyCXg1MDlfaXNzdWVyCXg1 MDlfc3ViamVjdAltYXhfcXVlc3Rpb25zCW1heF91cGRhdGVzCW1heF9jb25uZWN0aW9ucwltYXhf dXNlcl9jb25uZWN0aW9ucworbG9jYWxob3N0CXRlc3R1c2VyMQkJTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCitsb2Nh bGhvc3QJdGVzdHVzZXIyCQlOCVkJWQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK2xvY2FsaG9zdAl0ZXN0dXNlcjMJCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTgkJCQkJ MAkwCTAJMAogU0hPVyBHUkFOVFM7CiBHcmFudHMgZm9yIHRlc3R1c2VyMUBsb2NhbGhvc3QKIEdS QU5UIFVTQUdFIE9OICouKiBUTyAndGVzdHVzZXIxJ0AnbG9jYWxob3N0JwpAQCAtMzA5LDEwICsz MDksMTAgQEAgR1JBTlRFRQlUQUJMRV9DQVRBTE9HCVBSSVZJTEVHRV9UWVBFCUlTXwogJ3Rlc3R1 c2VyMydAJ2xvY2FsaG9zdCcJTlVMTAlVU0FHRQlOTwogU0VMRUNUICogRlJPTSBteXNxbC51c2Vy CiBXSEVSRSB1c2VyIExJS0UgJ3Rlc3R1c2VyJScgT1JERVIgQlkgaG9zdCwgdXNlcjsKLUhvc3QJ VXNlcglQYXNzd29yZAlTZWxlY3RfcHJpdglJbnNlcnRfcHJpdglVcGRhdGVfcHJpdglEZWxldGVf cHJpdglDcmVhdGVfcHJpdglEcm9wX3ByaXYJUmVsb2FkX3ByaXYJU2h1dGRvd25fcHJpdglQcm9j ZXNzX3ByaXYJRmlsZV9wcml2CUdyYW50X3ByaXYJUmVmZXJlbmNlc19wcml2CUluZGV4X3ByaXYJ QWx0ZXJfcHJpdglTaG93X2RiX3ByaXYJU3VwZXJfcHJpdglDcmVhdGVfdG1wX3RhYmxlX3ByaXYJ TG9ja190YWJsZXNfcHJpdglFeGVjdXRlX3ByaXYJUmVwbF9zbGF2ZV9wcml2CVJlcGxfY2xpZW50 X3ByaXYJQ3JlYXRlX3ZpZXdfcHJpdglTaG93X3ZpZXdfcHJpdglDcmVhdGVfcm91dGluZV9wcml2 CUFsdGVyX3JvdXRpbmVfcHJpdglDcmVhdGVfdXNlcl9wcml2CUV2ZW50X3ByaXYJVHJpZ2dlcl9w cml2CXNzbF90eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJqZWN0CW1heF9xdWVz dGlvbnMJbWF4X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nvbm5lY3Rpb25zCi1s b2NhbGhvc3QJdGVzdHVzZXIxCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCi1sb2NhbGhvc3QJdGVzdHVzZXIyCQlOCVkJ WQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkw CTAJMAkwCi1sb2NhbGhvc3QJdGVzdHVzZXIzCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkwCitIb3N0CVVzZXIJUGFzc3dv cmQJU2VsZWN0X3ByaXYJSW5zZXJ0X3ByaXYJVXBkYXRlX3ByaXYJRGVsZXRlX3ByaXYJQ3JlYXRl X3ByaXYJRHJvcF9wcml2CVJlbG9hZF9wcml2CVNodXRkb3duX3ByaXYJUHJvY2Vzc19wcml2CUZp bGVfcHJpdglHcmFudF9wcml2CVJlZmVyZW5jZXNfcHJpdglJbmRleF9wcml2CUFsdGVyX3ByaXYJ U2hvd19kYl9wcml2CVN1cGVyX3ByaXYJQ3JlYXRlX3RtcF90YWJsZV9wcml2CUxvY2tfdGFibGVz X3ByaXYJRXhlY3V0ZV9wcml2CVJlcGxfc2xhdmVfcHJpdglSZXBsX2NsaWVudF9wcml2CUNyZWF0 ZV92aWV3X3ByaXYJU2hvd192aWV3X3ByaXYJQ3JlYXRlX3JvdXRpbmVfcHJpdglBbHRlcl9yb3V0 aW5lX3ByaXYJQ3JlYXRlX3VzZXJfcHJpdglFdmVudF9wcml2CVRyaWdnZXJfcHJpdglDcmVhdGVf dGFibGVzcGFjZV9wcml2CXNzbF90eXBlCXNzbF9jaXBoZXIJeDUwOV9pc3N1ZXIJeDUwOV9zdWJq ZWN0CW1heF9xdWVzdGlvbnMJbWF4X3VwZGF0ZXMJbWF4X2Nvbm5lY3Rpb25zCW1heF91c2VyX2Nv bm5lY3Rpb25zCitsb2NhbGhvc3QJdGVzdHVzZXIxCQlOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JCQkJCTAJMAkwCTAKK2xvY2FsaG9zdAl0 ZXN0dXNlcjIJCU4JWQlZCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglO CU4JTglOCU4JTgkJCQkJMAkwCTAJMAorbG9jYWxob3N0CXRlc3R1c2VyMwkJTglOCU4JTglOCU4J TglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCU4JTglOCQkJCQkwCTAJMAkw CiAjIFN3aXRjaCB0byBjb25uZWN0aW9uIHRlc3R1c2VyMQogU0VMRUNUICogRlJPTSBpbmZvcm1h dGlvbl9zY2hlbWEudXNlcl9wcml2aWxlZ2VzCiBXSEVSRSBncmFudGVlIExJS0UgJycndGVzdHVz ZXIlJycnCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbWVt b3J5X2Z1bmNfdmlldy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL21l bW9yeV9mdW5jX3ZpZXcucmVzdWx0CTIwMDgtMDYtMTkgMTg6NTY6NDggKzAwMDAKKysrIGIvbXlz cWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbWVtb3J5X2Z1bmNfdmlldy5yZXN1bHQJMjAwOC0wNy0x NSAwMDowNjo0MyArMDAwMApAQCAtMzI4NCw5ICszMjg0LDkgQEAgTlVMTAlOVUxMCTEKIC0zMzMz LjMzCS0zMzMzLjMzMzMJMzAKIFdhcm5pbmdzOgogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNv cnJlY3QgREVDSU1BTCB2YWx1ZTogJycKLUVycm9yCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZv ciBjb2x1bW4gJ0NBU1QobXlfZG91YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQorV2Fy bmluZwkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJsZSBB UyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3Jy ZWN0IERFQ0lNQUwgdmFsdWU6ICcnCi1FcnJvcgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3Ig Y29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKK1dhcm5p bmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnQ0FTVChteV9kb3VibGUgQVMg REVDSU1BTCgzNywyKSknIGF0IHJvdyAxCiBTSE9XIENSRUFURSBWSUVXIHYxOwogVmlldwlDcmVh dGUgVmlldwljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbgogdjEJQ1JF QVRFIEFMR09SSVRITT1VTkRFRklORUQgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgU1FMIFNF Q1VSSVRZIERFRklORVIgVklFVyBgdjFgIEFTIHNlbGVjdCBjYXN0KGB0MV92YWx1ZXNgLmBteV9k b3VibGVgIGFzIGRlY2ltYWwoMzcsMikpIEFTIGBDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3 LDIpKWAsYHQxX3ZhbHVlc2AuYG15X2RvdWJsZWAgQVMgYG15X2RvdWJsZWAsYHQxX3ZhbHVlc2Au YGlkYCBBUyBgaWRgIGZyb20gYHQxX3ZhbHVlc2AJbGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCkBA IC0zMzAyLDkgKzMzMDIsOSBAQCBOVUxMCU5VTEwJMQogLTMzMzMuMzMJLTMzMzMuMzMzMwkzMAog V2FybmluZ3M6CiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVl OiAnJwotRXJyb3IJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnQ0FTVChteV9k b3VibGUgQVMgREVDSU1BTCgzNywyKSknIGF0IHJvdyAxCitXYXJuaW5nCTEyNjQJT3V0IG9mIHJh bmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NBU1QobXlfZG91YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBh dCByb3cgMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTog JycKLUVycm9yCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NBU1QobXlfZG91 YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQorV2FybmluZwkxMjY0CU91dCBvZiByYW5n ZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQg cm93IDEKIERST1AgVklFVyB2MTsKIAogCkBAIC0zMzczLDkgKzMzNzMsOSBAQCBOVUxMCU5VTEwJ MQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyOQogV2FybmluZ3M6Ci1FcnJvcgkx MzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQot RXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCBy b3cgLTEKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4g JycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZv ciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFs dWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRl Y2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBTSE9XIENSRUFURSBWSUVX IHYxOwogVmlldwlDcmVhdGUgVmlldwljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29u bmVjdGlvbgogdjEJQ1JFQVRFIEFMR09SSVRITT1VTkRFRklORUQgREVGSU5FUj1gcm9vdGBAYGxv Y2FsaG9zdGAgU1FMIFNFQ1VSSVRZIERFRklORVIgVklFVyBgdjFgIEFTIHNlbGVjdCBjYXN0KGB0 MV92YWx1ZXNgLmBteV92YXJiaW5hcnlfMTAwMGAgYXMgZGVjaW1hbCgzNywyKSkgQVMgYENBU1Qo bXlfdmFyYmluYXJ5XzEwMDAgQVMgREVDSU1BTCgzNywyKSlgLGB0MV92YWx1ZXNgLmBteV92YXJi aW5hcnlfMTAwMGAgQVMgYG15X3ZhcmJpbmFyeV8xMDAwYCxgdDFfdmFsdWVzYC5gaWRgIEFTIGBp ZGAgZnJvbSBgdDFfdmFsdWVzYAlsYXRpbjEJbGF0aW4xX3N3ZWRpc2hfY2kKQEAgLTMzOTAsOSAr MzM5MCw5IEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI5 CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBj b2x1bW4gJycgYXQgcm93IC0xCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAn JyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2 YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3Qg ZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJ bmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5p bmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cg LTEKIERST1AgVklFVyB2MTsKIAogCkBAIC0zNDA5LDExICszNDA5LDExIEBAIE5VTEwJTlVMTAkx CiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI4CiBXYXJuaW5nczoKLUVycm9yCTEz NjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitX YXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQg cm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAn JwotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBh dCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNv bHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lN QUwgdmFsdWU6ICc8LS0tLS0tLS0zMCBjaGFyYWN0ZXJzLS0tLS0tLT4nCi1FcnJvcgkxMzY2CUlu Y29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2Fybmlu ZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAt MQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJyAtLS3v v73vv73vv70qJC0tICcKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwg dmFsdWU6ICctMScKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFs dWU6ICctMzMzMy4zMzMzJwpAQCAtMzQzMSwxMSArMzQzMSwxMSBAQCBOVUxMCU5VTEwJMQogLTEu MDAJLTEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTUKIC0zMzMzLjMzCS0zMzMzLjMzMzMA AAAAAAAAAAAAAAAAAAAAAAAAAAkyOAogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBk ZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUlu Y29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2Fybmlu ZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJycKLUVycm9yCTEzNjYJ SW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJu aW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93 IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnPC0t LS0tLS0tMzAgY2hhcmFjdGVycy0tLS0tLS0+JwotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1h bCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJl Y3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5 MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcgLS0t77+977+977+9KiQtLSAn CiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnLTEnCiBX YXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnLTMzMzMuMzMz MycKQEAgLTM0NTUsOSArMzQ1NSw5IEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4z MwktMzMzMy4zMzMzCTI3CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwg dmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCi1FcnJvcgkxMzY2CUluY29ycmVjdCBk ZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNv cnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJ MTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEK K1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBh dCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNv bHVtbiAnJyBhdCByb3cgLTEKIFNIT1cgQ1JFQVRFIFZJRVcgdjE7CiBWaWV3CUNyZWF0ZSBWaWV3 CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCiB2MQlDUkVBVEUgQUxH T1JJVEhNPVVOREVGSU5FRCBERUZJTkVSPWByb290YEBgbG9jYWxob3N0YCBTUUwgU0VDVVJJVFkg REVGSU5FUiBWSUVXIGB2MWAgQVMgc2VsZWN0IGNhc3QoYHQxX3ZhbHVlc2AuYG15X3ZhcmNoYXJf MTAwMGAgYXMgZGVjaW1hbCgzNywyKSkgQVMgYENBU1QobXlfdmFyY2hhcl8xMDAwIEFTIERFQ0lN QUwoMzcsMikpYCxgdDFfdmFsdWVzYC5gbXlfdmFyY2hhcl8xMDAwYCBBUyBgbXlfdmFyY2hhcl8x MDAwYCxgdDFfdmFsdWVzYC5gaWRgIEFTIGBpZGAgZnJvbSBgdDFfdmFsdWVzYAlsYXRpbjEJbGF0 aW4xX3N3ZWRpc2hfY2kKQEAgLTM0NzIsOSArMzQ3Miw5IEBAIE5VTEwJTlVMTAkxCiAtMS4wMAkt MQk1CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI3CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3Jy ZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCi1FcnJvcgkxMzY2 CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJy b3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cg LTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAn JyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9y IGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1 ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIERST1AgVklFVyB2MTsKIAogCkBAIC0zNDkx LDExICszNDkxLDExIEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4z MzMzCTI2CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcn IGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwg dmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVk IGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JwotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBh dCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNv bHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lN QUwgdmFsdWU6ICc8LS0tLS0tLS0zMCBjaGFyYWN0ZXJzLS0tLS0tLT4nCi1FcnJvcgkxMzY2CUlu Y29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2Fybmlu ZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAt MQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJyAtLS3v v73vv73vv70qJC0tICAgICAgICAgICAnCiBTSE9XIENSRUFURSBWSUVXIHYxOwogVmlldwlDcmVh dGUgVmlldwljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbgpAQCAtMzUx MSwxMSArMzUxMSwxMSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMu MzMzMwkyNgogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAn JyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFs IHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRl ZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICcKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycg YXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBj b2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJ TUFMIHZhbHVlOiAnPC0tLS0tLS0tMzAgY2hhcmFjdGVycy0tLS0tLS0+JwotRXJyb3IJMTM2NglJ bmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5p bmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cg LTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcgLS0t 77+977+977+9KiQtLSAgICAgICAgICAgJwogRFJPUCBWSUVXIHYxOwogCgo9PT0gbW9kaWZpZWQg ZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbWVtb3J5X3N0b3JlZHByb2MucmVzdWx0 JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfc3RvcmVkcHJvYy5yZXN1 bHQJMjAwOC0wNy0wOCAxODo0MDozMiArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNz XzEvci9tZW1vcnlfc3RvcmVkcHJvYy5yZXN1bHQJMjAwOC0wOC0wNyAxMzozODoyOSArMDAwMApA QCAtMjE5NDMsOSArMjE5NDMsOSBAQCBFTkQJbGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCWxhdGlu MV9zd2VkCiBzZXQgQEBzcWxfbW9kZT0nJzsKIENBTEwgc3A0KCk7CiBMZXZlbAlDb2RlCU1lc3Nh Z2UKLUVycm9yCTEzNjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAK IFdhcm5pbmdzOgotRXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNp b24gYnkgMAogRFJPUCBQUk9DRURVUkUgc3A0Owogc2V0IEBAc3FsX21vZGU9Jyc7CiAKCj09PSBt b2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfdHJpZ18wMy5y ZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL21lbW9yeV90cmlnXzAzLnJl c3VsdAkyMDA4LTA2LTE4IDE3OjIzOjU1ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZnVu Y3NfMS9yL21lbW9yeV90cmlnXzAzLnJlc3VsdAkyMDA4LTA4LTA3IDEzOjM4OjI5ICswMDAwCkBA IC03OCw3ICs3OCw3IEBAIGdyYW50IEFMTCAgb24gKi4qIHRvIHRlc3Rfbm9wcml2c0Bsb2NhbGgK IHJldm9rZSBUUklHR0VSIG9uICouKiBmcm9tIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3Q7CiBzaG93 IGdyYW50cyBmb3IgdGVzdF9ub3ByaXZzQGxvY2FsaG9zdDsKIEdyYW50cyBmb3IgdGVzdF9ub3By aXZzQGxvY2FsaG9zdAotR1JBTlQgU0VMRUNULCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVB VEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElO REVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxF UywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBD TElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VU SU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQgT04gKi4qIFRPICd0ZXN0X25vcHJpdnMnQCdsb2NhbGhv c3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNG Mzc0QTU0Q0EyNTc2JworR1JBTlQgU0VMRUNULCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVB VEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElO REVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxF UywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBD TElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VU SU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVz dF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAx NkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKIHJldm9rZSBBTEwgUFJJVklMRUdFUywg R1JBTlQgT1BUSU9OIEZST00gdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7CiBncmFudCBUUklHR0VS IG9uICouKiB0byB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsKIGdyYW50IFNFTEVDVCBvbiBwcml2 X2RiLnQxIHRvIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0OwpAQCAtMTU2LDcgKzE1Niw3IEBAIGdy YW50IEFMTCAgb24gKi4qIHRvIHRlc3Rfbm9wcml2c0Bsb2NhbGgKIHJldm9rZSBVUERBVEUgIG9u ICouKiBmcm9tIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3Q7CiBzaG93IGdyYW50cyBmb3IgdGVzdF9u b3ByaXZzQGxvY2FsaG9zdDsKIEdyYW50cyBmb3IgdGVzdF9ub3ByaXZzQGxvY2FsaG9zdAotR1JB TlQgU0VMRUNULCBJTlNFUlQsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dO LCBQUk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VT LCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBS RVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBW SUVXLCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBU UklHR0VSIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZ IFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKK0dS QU5UIFNFTEVDVCwgSU5TRVJULCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9X TiwgUFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNF UywgU1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwg UkVQTElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cg VklFVywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwg VFJJR0dFUiwgQ1JFQVRFIFRBQkxFU1BBQ0UgT04gKi4qIFRPICd0ZXN0X25vcHJpdnMnQCdsb2Nh bGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkx ODNGMzc0QTU0Q0EyNTc2JwogcmV2b2tlIEFMTCBQUklWSUxFR0VTLCBHUkFOVCBPUFRJT04gRlJP TSB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsKIGdyYW50IFRSSUdHRVIsIFVQREFURSBvbiAqLiog dG8gdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7CiBzaG93IGdyYW50cyBmb3IgdGVzdF95ZXNwcml2 c0Bsb2NhbGhvc3Q7CkBAIC0xNzAsNyArMTcwLDcgQEAgdGVzdF9ub3ByaXZzQGxvY2FsaG9zdAog dXNlIHByaXZfZGI7CiBzaG93IGdyYW50czsKIEdyYW50cyBmb3IgdGVzdF9ub3ByaXZzQGxvY2Fs aG9zdAotR1JBTlQgU0VMRUNULCBJTlNFUlQsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQs IFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cg REFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBF WEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklF VywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIs IEVWRU5ULCBUUklHR0VSIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVO VElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENB MjU3NicKK0dSQU5UIFNFTEVDVCwgSU5TRVJULCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FE LCBTSFVURE9XTiwgUFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9X IERBVEFCQVNFUywgU1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywg RVhFQ1VURSwgUkVQTElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJ RVcsIFNIT1cgVklFVywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VS LCBFVkVOVCwgVFJJR0dFUiwgQ1JFQVRFIFRBQkxFU1BBQ0UgT04gKi4qIFRPICd0ZXN0X25vcHJp dnMnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypDNDk3MzVEMDE2QTA5OUMw Q0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2Jwogc2VsZWN0IGYxIGZyb20gdDEgb3JkZXIgYnkgZjE7 CiBmMQogaW5zZXJ0IDMuNS4zLjItbm8KQEAgLTQwMiw3ICs0MDIsNyBAQCBncmFudCBBTEwgIG9u ICouKiB0byB0ZXN0X25vcHJpdnNAbG9jYWxoCiByZXZva2UgU0VMRUNUICBvbiAqLiogZnJvbSB0 ZXN0X25vcHJpdnNAbG9jYWxob3N0Owogc2hvdyBncmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2Nh bGhvc3Q7CiBHcmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKLUdSQU5UIElOU0VSVCwg VVBEQVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywg RklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIsIENS RUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJT04g U0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JFQVRF IFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgVFJJR0dFUiBPTiAq LiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAn KkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFOVCBJTlNFUlQs IFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1Ms IEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBD UkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9O IFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFU RSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIFRSSUdHRVIsIENS RUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVO VElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENB MjU3NicKIHJldm9rZSBBTEwgUFJJVklMRUdFUywgR1JBTlQgT1BUSU9OIEZST00gdGVzdF95ZXNw cml2c0Bsb2NhbGhvc3Q7CiBncmFudCBUUklHR0VSLCBTRUxFQ1Qgb24gKi4qIHRvIHRlc3RfeWVz cHJpdnNAbG9jYWxob3N0Owogc2hvdyBncmFudHMgZm9yIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0 OwpAQCAtNDE2LDcgKzQxNiw3IEBAIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKIHVzZSBwcml2X2Ri Owogc2hvdyBncmFudHM7CiBHcmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKLUdSQU5U IElOU0VSVCwgVVBEQVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwg UFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywg U1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQ TElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklF VywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgVFJJ R0dFUiBPTiAqLiogVE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQ QVNTV09SRCAnKkM0OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFO VCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04s IFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMs IFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJF UExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJ RVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIFRS SUdHRVIsIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxo b3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgz RjM3NEE1NENBMjU3NicKIGNyZWF0ZSB0cmlnZ2VyIHRyZzVhXzEgYmVmb3JlIElOU0VSVCBvbiB0 MSBmb3IgZWFjaCByb3cKIHNldCBAdGVzdF92YXIgPSBuZXcuZjE7CiBzZXQgQHRlc3RfdmFyID0g J2JlZm9yZSB0cmlnIDMuNS4zLjgtMWEnOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvZnVuY3NfMS9yL21lbW9yeV90cmlnXzAzZS5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qv c3VpdGUvZnVuY3NfMS9yL21lbW9yeV90cmlnXzAzZS5yZXN1bHQJMjAwOC0wNi0xOSAxODo1Njo0 OCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfdHJpZ18wM2Uu cmVzdWx0CTIwMDgtMDgtMDcgMTM6Mzg6MjkgKzAwMDAKQEAgLTU2Myw3ICs1NjMsNyBAQCB0cmln IDFfMS15ZXMKIHJldm9rZSBUUklHR0VSIG9uICouKiBmcm9tIHRlc3RfeWVzcHJpdnNAbG9jYWxo b3N0Owogc2hvdyBncmFudHMgZm9yIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0OwogR3JhbnRzIGZv ciB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdAotR1JBTlQgU0VMRUNULCBJTlNFUlQsIFVQREFURSwg REVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJF RkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVN UE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBS RVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5F LCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQgT04gKi4qIFRPICd0ZXN0X3llc3By aXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlD MENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKK0dSQU5UIFNFTEVDVCwgSU5TRVJULCBVUERBVEUs IERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBS RUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRF TVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwg UkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElO RSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBDUkVBVEUgVEFCTEVTUEFDRSBP TiAqLiogVE8gJ3Rlc3RfeWVzcHJpdnMnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dP UkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2JwogY29ubmVjdChs b2NhbGhvc3QsdGVzdF95ZXNwcml2cyxQV0QsdGVzdCxNQVNURVJfTVlQT1JULE1BU1RFUl9NWVNP Q0spOwogc2VsZWN0IGN1cnJlbnRfdXNlcjsKIGN1cnJlbnRfdXNlcgpAQCAtNjEwLDcgKzYxMCw3 IEBAIHJvb3RAbG9jYWxob3N0CiBncmFudCBUUklHR0VSIG9uIHByaXZfZGIuKiB0byB0ZXN0X3ll c3ByaXZzQGxvY2FsaG9zdDsKIHNob3cgZ3JhbnRzIGZvciB0ZXN0X3llc3ByaXZzQGxvY2FsaG9z dDsKIEdyYW50cyBmb3IgdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3QKLUdSQU5UIFNFTEVDVCwgSU5T RVJULCBVUERBVEUsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9D RVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBF UiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNB VElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBD UkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5UIE9OICouKiBU TyAndGVzdF95ZXNwcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0 OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFOVCBTRUxFQ1QsIElO U0VSVCwgVVBEQVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJP Q0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQ RVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElD QVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywg Q1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgQ1JFQVRF IFRBQkxFU1BBQ0UgT04gKi4qIFRPICd0ZXN0X3llc3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElG SUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3 NicKIEdSQU5UIFRSSUdHRVIgT04gYHByaXZfZGJgLiogVE8gJ3Rlc3RfeWVzcHJpdnMnQCdsb2Nh bGhvc3QnCiAKIHRyaWdnZXIgcHJpdmlsZWdlIG9uIGRiIGxldmVsIGZvciBjcmVhdGU6Cgo9PT0g bW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbXlpc2FtX2Z1bmNfdmll dy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL215aXNhbV9mdW5jX3Zp ZXcucmVzdWx0CTIwMDgtMDYtMTkgMTg6NTY6NDggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9mdW5jc18xL3IvbXlpc2FtX2Z1bmNfdmlldy5yZXN1bHQJMjAwOC0wNy0xNSAwMDowNjo0MyAr MDAwMApAQCAtMzI4NCw5ICszMjg0LDkgQEAgTlVMTAlOVUxMCTEKIC0zMzMzLjMzCS0zMzMzLjMz MzMJMzAKIFdhcm5pbmdzOgogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1B TCB2YWx1ZTogJycKLUVycm9yCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NB U1QobXlfZG91YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQorV2FybmluZwkxMjY0CU91 dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3 LDIpKScgYXQgcm93IDEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwg dmFsdWU6ICcnCi1FcnJvcgkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNU KG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlPdXQg b2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnQ0FTVChteV9kb3VibGUgQVMgREVDSU1BTCgzNywy KSknIGF0IHJvdyAxCiBTSE9XIENSRUFURSBWSUVXIHYxOwogVmlldwlDcmVhdGUgVmlldwljaGFy YWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbgogdjEJQ1JFQVRFIEFMR09SSVRI TT1VTkRFRklORUQgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgU1FMIFNFQ1VSSVRZIERFRklO RVIgVklFVyBgdjFgIEFTIHNlbGVjdCBjYXN0KGB0MV92YWx1ZXNgLmBteV9kb3VibGVgIGFzIGRl Y2ltYWwoMzcsMikpIEFTIGBDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKWAsYHQxX3Zh bHVlc2AuYG15X2RvdWJsZWAgQVMgYG15X2RvdWJsZWAsYHQxX3ZhbHVlc2AuYGlkYCBBUyBgaWRg IGZyb20gYHQxX3ZhbHVlc2AJbGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCkBAIC0zMzAyLDkgKzMz MDIsOSBAQCBOVUxMCU5VTEwJMQogLTMzMzMuMzMJLTMzMzMuMzMzMwkzMAogV2FybmluZ3M6CiBX YXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnJwotRXJyb3IJ MTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNvbHVtbiAnQ0FTVChteV9kb3VibGUgQVMgREVD SU1BTCgzNywyKSknIGF0IHJvdyAxCitXYXJuaW5nCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZv ciBjb2x1bW4gJ0NBU1QobXlfZG91YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQogV2Fy bmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJycKLUVycm9yCTEy NjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NBU1QobXlfZG91YmxlIEFTIERFQ0lN QUwoMzcsMikpJyBhdCByb3cgMQorV2FybmluZwkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3Ig Y29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKIERST1Ag VklFVyB2MTsKIAogCkBAIC0zMzczLDkgKzMzNzMsOSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJ NQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyOQogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVj dCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJ bmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKLUVycm9y CTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0x CitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycg YXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBj b2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6 ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBTSE9XIENSRUFURSBWSUVXIHYxOwogVmlldwlD cmVhdGUgVmlldwljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbgogdjEJ Q1JFQVRFIEFMR09SSVRITT1VTkRFRklORUQgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgU1FM IFNFQ1VSSVRZIERFRklORVIgVklFVyBgdjFgIEFTIHNlbGVjdCBjYXN0KGB0MV92YWx1ZXNgLmBt eV92YXJiaW5hcnlfMTAwMGAgYXMgZGVjaW1hbCgzNywyKSkgQVMgYENBU1QobXlfdmFyYmluYXJ5 XzEwMDAgQVMgREVDSU1BTCgzNywyKSlgLGB0MV92YWx1ZXNgLmBteV92YXJiaW5hcnlfMTAwMGAg QVMgYG15X3ZhcmJpbmFyeV8xMDAwYCxgdDFfdmFsdWVzYC5gaWRgIEFTIGBpZGAgZnJvbSBgdDFf dmFsdWVzYAlsYXRpbjEJbGF0aW4xX3N3ZWRpc2hfY2kKQEAgLTMzOTAsOSArMzM5MCw5IEBAIE5V TEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI5CiBXYXJuaW5nczoK LUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQg cm93IC0xCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1u ICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9y IGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1 ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVj aW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNv cnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIERST1AgVklF VyB2MTsKIAogCkBAIC0zNDA5LDExICszNDA5LDExIEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1 CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI4CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0 IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJ SW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJu aW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnJwotRXJyb3IJMTM2 NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dh cm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCBy b3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICc8 LS0tLS0tLS0zMCBjaGFyYWN0ZXJzLS0tLS0tLT4nCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNp bWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29y cmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkx MjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJyAtLS3vv73vv73vv70qJC0t ICcKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICctMScK IFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICctMzMzMy4z MzMzJwpAQCAtMzQzMSwxMSArMzQzMSwxMSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAACTUKIC0zMzMzLjMzCS0zMzMzLjMzMzMAAAAAAAAAAAAAAAAA AAAAAAAAAAkyOAogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVl OiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNp bWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5j YXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJycKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRl Y2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5j b3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5n CTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnPC0tLS0tLS0tMzAgY2hh cmFjdGVycy0tLS0tLS0+JwotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycg Zm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2 YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQg aW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcgLS0t77+977+977+9KiQtLSAnCiBXYXJuaW5nCTEy OTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnLTEnCiBXYXJuaW5nCTEyOTIJ VHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnLTMzMzMuMzMzMycKQEAgLTM0NTUs OSArMzQ1NSw5IEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMz CTI3CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZv ciBjb2x1bW4gJycgYXQgcm93IC0xCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVl OiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1h bCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJl Y3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2 NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dh cm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCBy b3cgLTEKIFNIT1cgQ1JFQVRFIFZJRVcgdjE7CiBWaWV3CUNyZWF0ZSBWaWV3CWNoYXJhY3Rlcl9z ZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCiB2MQlDUkVBVEUgQUxHT1JJVEhNPVVOREVG SU5FRCBERUZJTkVSPWByb290YEBgbG9jYWxob3N0YCBTUUwgU0VDVVJJVFkgREVGSU5FUiBWSUVX IGB2MWAgQVMgc2VsZWN0IGNhc3QoYHQxX3ZhbHVlc2AuYG15X3ZhcmNoYXJfMTAwMGAgYXMgZGVj aW1hbCgzNywyKSkgQVMgYENBU1QobXlfdmFyY2hhcl8xMDAwIEFTIERFQ0lNQUwoMzcsMikpYCxg dDFfdmFsdWVzYC5gbXlfdmFyY2hhcl8xMDAwYCBBUyBgbXlfdmFyY2hhcl8xMDAwYCxgdDFfdmFs dWVzYC5gaWRgIEFTIGBpZGAgZnJvbSBgdDFfdmFsdWVzYAlsYXRpbjEJbGF0aW4xX3N3ZWRpc2hf Y2kKQEAgLTM0NzIsOSArMzQ3Miw5IEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4z MwktMzMzMy4zMzMzCTI3CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwg dmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCi1FcnJvcgkxMzY2CUluY29ycmVjdCBk ZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNv cnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJ MTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEK K1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBh dCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNv bHVtbiAnJyBhdCByb3cgLTEKIERST1AgVklFVyB2MTsKIAogCkBAIC0zNDkxLDExICszNDkxLDEx IEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI2CiBXYXJu aW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4g JycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZv ciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBE RUNJTUFMIHZhbHVlOiAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJwotRXJyb3IJMTM2 NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dh cm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCBy b3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICc8 LS0tLS0tLS0zMCBjaGFyYWN0ZXJzLS0tLS0tLT4nCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNp bWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29y cmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkx MjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJyAtLS3vv73vv73vv70qJC0t ICAgICAgICAgICAnCiBTSE9XIENSRUFURSBWSUVXIHYxOwogVmlldwlDcmVhdGUgVmlldwljaGFy YWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbgpAQCAtMzUxMSwxMSArMzUxMSwx MSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyNgogV2Fy bmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1u ICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBm b3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3Qg REVDSU1BTCB2YWx1ZTogJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcKLUVycm9yCTEz NjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitX YXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQg cm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAn PC0tLS0tLS0tMzAgY2hhcmFjdGVycy0tLS0tLS0+JwotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVj aW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNv cnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJ MTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcgLS0t77+977+977+9KiQt LSAgICAgICAgICAgJwogRFJPUCBWSUVXIHYxOwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwt dGVzdC9zdWl0ZS9mdW5jc18xL3IvbXlpc2FtX3N0b3JlZHByb2MucmVzdWx0JwotLS0gYS9teXNx bC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9teWlzYW1fc3RvcmVkcHJvYy5yZXN1bHQJMjAwOC0wNy0w OCAxODo0MDozMiArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9teWlzYW1f c3RvcmVkcHJvYy5yZXN1bHQJMjAwOC0wOC0wNyAxMzozODoyOSArMDAwMApAQCAtMjE5NDMsOSAr MjE5NDMsOSBAQCBFTkQJbGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCWxhdGluMV9zd2VkCiBzZXQg QEBzcWxfbW9kZT0nJzsKIENBTEwgc3A0KCk7CiBMZXZlbAlDb2RlCU1lc3NhZ2UKLUVycm9yCTEz NjUJRGl2aXNpb24gYnkgMAorV2FybmluZwkxMzY1CURpdmlzaW9uIGJ5IDAKIFdhcm5pbmdzOgot RXJyb3IJMTM2NQlEaXZpc2lvbiBieSAwCitXYXJuaW5nCTEzNjUJRGl2aXNpb24gYnkgMAogRFJP UCBQUk9DRURVUkUgc3A0Owogc2V0IEBAc3FsX21vZGU9Jyc7CiAKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9teWlzYW1fdHJpZ18wMy5yZXN1bHQnCi0tLSBh L215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL215aXNhbV90cmlnXzAzLnJlc3VsdAkyMDA4LTA2 LTE4IDE3OjIzOjU1ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL215aXNh bV90cmlnXzAzLnJlc3VsdAkyMDA4LTA4LTA3IDEzOjM4OjI5ICswMDAwCkBAIC03OCw3ICs3OCw3 IEBAIGdyYW50IEFMTCAgb24gKi4qIHRvIHRlc3Rfbm9wcml2c0Bsb2NhbGgKIHJldm9rZSBUUklH R0VSIG9uICouKiBmcm9tIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3Q7CiBzaG93IGdyYW50cyBmb3Ig dGVzdF9ub3ByaXZzQGxvY2FsaG9zdDsKIEdyYW50cyBmb3IgdGVzdF9ub3ByaXZzQGxvY2FsaG9z dAotR1JBTlQgU0VMRUNULCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJF TE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwg U0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJM RVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFU RSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUg VVNFUiwgRVZFTlQgT04gKi4qIFRPICd0ZXN0X25vcHJpdnMnQCdsb2NhbGhvc3QnIElERU5USUZJ RUQgQlkgUEFTU1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2 JworR1JBTlQgU0VMRUNULCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJF TE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwg U0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJM RVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFU RSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUg VVNFUiwgRVZFTlQsIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0An bG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0 RUY5MTgzRjM3NEE1NENBMjU3NicKIHJldm9rZSBBTEwgUFJJVklMRUdFUywgR1JBTlQgT1BUSU9O IEZST00gdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7CiBncmFudCBUUklHR0VSIG9uICouKiB0byB0 ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsKIGdyYW50IFNFTEVDVCBvbiBwcml2X2RiLnQxIHRvIHRl c3RfeWVzcHJpdnNAbG9jYWxob3N0OwpAQCAtMTU2LDcgKzE1Niw3IEBAIGdyYW50IEFMTCAgb24g Ki4qIHRvIHRlc3Rfbm9wcml2c0Bsb2NhbGgKIHJldm9rZSBVUERBVEUgIG9uICouKiBmcm9tIHRl c3Rfbm9wcml2c0Bsb2NhbGhvc3Q7CiBzaG93IGdyYW50cyBmb3IgdGVzdF9ub3ByaXZzQGxvY2Fs aG9zdDsKIEdyYW50cyBmb3IgdGVzdF9ub3ByaXZzQGxvY2FsaG9zdAotR1JBTlQgU0VMRUNULCBJ TlNFUlQsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBG SUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JF QVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBT TEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUg Uk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBUUklHR0VSIE9OICou KiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcq QzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKK0dSQU5UIFNFTEVDVCwg SU5TRVJULCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywg RklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIsIENS RUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJT04g U0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JFQVRF IFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgVFJJR0dFUiwgQ1JF QVRFIFRBQkxFU1BBQ0UgT04gKi4qIFRPICd0ZXN0X25vcHJpdnMnQCdsb2NhbGhvc3QnIElERU5U SUZJRUQgQlkgUEFTU1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0Ey NTc2JwogcmV2b2tlIEFMTCBQUklWSUxFR0VTLCBHUkFOVCBPUFRJT04gRlJPTSB0ZXN0X3llc3By aXZzQGxvY2FsaG9zdDsKIGdyYW50IFRSSUdHRVIsIFVQREFURSBvbiAqLiogdG8gdGVzdF95ZXNw cml2c0Bsb2NhbGhvc3Q7CiBzaG93IGdyYW50cyBmb3IgdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3Q7 CkBAIC0xNzAsNyArMTcwLDcgQEAgdGVzdF9ub3ByaXZzQGxvY2FsaG9zdAogdXNlIHByaXZfZGI7 CiBzaG93IGdyYW50czsKIEdyYW50cyBmb3IgdGVzdF9ub3ByaXZzQGxvY2FsaG9zdAotR1JBTlQg U0VMRUNULCBJTlNFUlQsIERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQ Uk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBT VVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBM SUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVX LCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBUUklH R0VSIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBB U1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKK0dSQU5U IFNFTEVDVCwgSU5TRVJULCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwg UFJPQ0VTUywgRklMRSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywg U1VQRVIsIENSRUFURSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQ TElDQVRJT04gU0xBVkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklF VywgQ1JFQVRFIFJPVVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgVFJJ R0dFUiwgQ1JFQVRFIFRBQkxFU1BBQ0UgT04gKi4qIFRPICd0ZXN0X25vcHJpdnMnQCdsb2NhbGhv c3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypDNDk3MzVEMDE2QTA5OUMwQ0YxMDRFRjkxODNG Mzc0QTU0Q0EyNTc2Jwogc2VsZWN0IGYxIGZyb20gdDEgb3JkZXIgYnkgZjE7CiBmMQogaW5zZXJ0 IDMuNS4zLjItbm8KQEAgLTQwMiw3ICs0MDIsNyBAQCBncmFudCBBTEwgIG9uICouKiB0byB0ZXN0 X25vcHJpdnNAbG9jYWxoCiByZXZva2UgU0VMRUNUICBvbiAqLiogZnJvbSB0ZXN0X25vcHJpdnNA bG9jYWxob3N0Owogc2hvdyBncmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3Q7CiBHcmFu dHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKLUdSQU5UIElOU0VSVCwgVVBEQVRFLCBERUxF VEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywgRklMRSwgUkVGRVJF TkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIsIENSRUFURSBURU1QT1JB UlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJT04gU0xBVkUsIFJFUExJ Q0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JFQVRFIFJPVVRJTkUsIEFM VEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgVFJJR0dFUiBPTiAqLiogVE8gJ3Rlc3Rf bm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZB MDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFOVCBJTlNFUlQsIFVQREFURSwgREVM RVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVS RU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9S QVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBM SUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBB TFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIFRSSUdHRVIsIENSRUFURSBUQUJMRVNQ QUNFIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBB U1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKIHJldm9r ZSBBTEwgUFJJVklMRUdFUywgR1JBTlQgT1BUSU9OIEZST00gdGVzdF95ZXNwcml2c0Bsb2NhbGhv c3Q7CiBncmFudCBUUklHR0VSLCBTRUxFQ1Qgb24gKi4qIHRvIHRlc3RfeWVzcHJpdnNAbG9jYWxo b3N0Owogc2hvdyBncmFudHMgZm9yIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0OwpAQCAtNDE2LDcg KzQxNiw3IEBAIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKIHVzZSBwcml2X2RiOwogc2hvdyBncmFu dHM7CiBHcmFudHMgZm9yIHRlc3Rfbm9wcml2c0Bsb2NhbGhvc3QKLUdSQU5UIElOU0VSVCwgVVBE QVRFLCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywgRklM RSwgUkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIsIENSRUFU RSBURU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJT04gU0xB VkUsIFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JFQVRFIFJP VVRJTkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgVFJJR0dFUiBPTiAqLiog VE8gJ3Rlc3Rfbm9wcml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0 OTczNUQwMTZBMDk5QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFOVCBJTlNFUlQsIFVQ REFURSwgREVMRVRFLCBDUkVBVEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJ TEUsIFJFRkVSRU5DRVMsIElOREVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVB VEUgVEVNUE9SQVJZIFRBQkxFUywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNM QVZFLCBSRVBMSUNBVElPTiBDTElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBS T1VUSU5FLCBBTFRFUiBST1VUSU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQsIFRSSUdHRVIsIENSRUFU RSBUQUJMRVNQQUNFIE9OICouKiBUTyAndGVzdF9ub3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElG SUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3 NicKIGNyZWF0ZSB0cmlnZ2VyIHRyZzVhXzEgYmVmb3JlIElOU0VSVCBvbiB0MSBmb3IgZWFjaCBy b3cKIHNldCBAdGVzdF92YXIgPSBuZXcuZjE7CiBzZXQgQHRlc3RfdmFyID0gJ2JlZm9yZSB0cmln IDMuNS4zLjgtMWEnOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3Nf MS9yL215aXNhbV90cmlnXzAzZS5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvZnVuY3Nf MS9yL215aXNhbV90cmlnXzAzZS5yZXN1bHQJMjAwOC0wNi0xOSAxODo1Njo0OCArMDAwMAorKysg Yi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9teWlzYW1fdHJpZ18wM2UucmVzdWx0CTIwMDgt MDgtMDcgMTM6Mzg6MjkgKzAwMDAKQEAgLTU2Myw3ICs1NjMsNyBAQCB0cmlnIDFfMS15ZXMKIHJl dm9rZSBUUklHR0VSIG9uICouKiBmcm9tIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0Owogc2hvdyBn cmFudHMgZm9yIHRlc3RfeWVzcHJpdnNAbG9jYWxob3N0OwogR3JhbnRzIGZvciB0ZXN0X3llc3By aXZzQGxvY2FsaG9zdAotR1JBTlQgU0VMRUNULCBJTlNFUlQsIFVQREFURSwgREVMRVRFLCBDUkVB VEUsIERST1AsIFJFTE9BRCwgU0hVVERPV04sIFBST0NFU1MsIEZJTEUsIFJFRkVSRU5DRVMsIElO REVYLCBBTFRFUiwgU0hPVyBEQVRBQkFTRVMsIFNVUEVSLCBDUkVBVEUgVEVNUE9SQVJZIFRBQkxF UywgTE9DSyBUQUJMRVMsIEVYRUNVVEUsIFJFUExJQ0FUSU9OIFNMQVZFLCBSRVBMSUNBVElPTiBD TElFTlQsIENSRUFURSBWSUVXLCBTSE9XIFZJRVcsIENSRUFURSBST1VUSU5FLCBBTFRFUiBST1VU SU5FLCBDUkVBVEUgVVNFUiwgRVZFTlQgT04gKi4qIFRPICd0ZXN0X3llc3ByaXZzJ0AnbG9jYWxo b3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgz RjM3NEE1NENBMjU3NicKK0dSQU5UIFNFTEVDVCwgSU5TRVJULCBVUERBVEUsIERFTEVURSwgQ1JF QVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBSRUZFUkVOQ0VTLCBJ TkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRFTVBPUkFSWSBUQUJM RVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwgUkVQTElDQVRJT04g Q0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElORSwgQUxURVIgUk9V VElORSwgQ1JFQVRFIFVTRVIsIEVWRU5ULCBDUkVBVEUgVEFCTEVTUEFDRSBPTiAqLiogVE8gJ3Rl c3RfeWVzcHJpdnMnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypDNDk3MzVE MDE2QTA5OUMwQ0YxMDRFRjkxODNGMzc0QTU0Q0EyNTc2JwogY29ubmVjdChsb2NhbGhvc3QsdGVz dF95ZXNwcml2cyxQV0QsdGVzdCxNQVNURVJfTVlQT1JULE1BU1RFUl9NWVNPQ0spOwogc2VsZWN0 IGN1cnJlbnRfdXNlcjsKIGN1cnJlbnRfdXNlcgpAQCAtNjEwLDcgKzYxMCw3IEBAIHJvb3RAbG9j YWxob3N0CiBncmFudCBUUklHR0VSIG9uIHByaXZfZGIuKiB0byB0ZXN0X3llc3ByaXZzQGxvY2Fs aG9zdDsKIHNob3cgZ3JhbnRzIGZvciB0ZXN0X3llc3ByaXZzQGxvY2FsaG9zdDsKIEdyYW50cyBm b3IgdGVzdF95ZXNwcml2c0Bsb2NhbGhvc3QKLUdSQU5UIFNFTEVDVCwgSU5TRVJULCBVUERBVEUs IERFTEVURSwgQ1JFQVRFLCBEUk9QLCBSRUxPQUQsIFNIVVRET1dOLCBQUk9DRVNTLCBGSUxFLCBS RUZFUkVOQ0VTLCBJTkRFWCwgQUxURVIsIFNIT1cgREFUQUJBU0VTLCBTVVBFUiwgQ1JFQVRFIFRF TVBPUkFSWSBUQUJMRVMsIExPQ0sgVEFCTEVTLCBFWEVDVVRFLCBSRVBMSUNBVElPTiBTTEFWRSwg UkVQTElDQVRJT04gQ0xJRU5ULCBDUkVBVEUgVklFVywgU0hPVyBWSUVXLCBDUkVBVEUgUk9VVElO RSwgQUxURVIgUk9VVElORSwgQ1JFQVRFIFVTRVIsIEVWRU5UIE9OICouKiBUTyAndGVzdF95ZXNw cml2cydAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKkM0OTczNUQwMTZBMDk5 QzBDRjEwNEVGOTE4M0YzNzRBNTRDQTI1NzYnCitHUkFOVCBTRUxFQ1QsIElOU0VSVCwgVVBEQVRF LCBERUxFVEUsIENSRUFURSwgRFJPUCwgUkVMT0FELCBTSFVURE9XTiwgUFJPQ0VTUywgRklMRSwg UkVGRVJFTkNFUywgSU5ERVgsIEFMVEVSLCBTSE9XIERBVEFCQVNFUywgU1VQRVIsIENSRUFURSBU RU1QT1JBUlkgVEFCTEVTLCBMT0NLIFRBQkxFUywgRVhFQ1VURSwgUkVQTElDQVRJT04gU0xBVkUs IFJFUExJQ0FUSU9OIENMSUVOVCwgQ1JFQVRFIFZJRVcsIFNIT1cgVklFVywgQ1JFQVRFIFJPVVRJ TkUsIEFMVEVSIFJPVVRJTkUsIENSRUFURSBVU0VSLCBFVkVOVCwgQ1JFQVRFIFRBQkxFU1BBQ0Ug T04gKi4qIFRPICd0ZXN0X3llc3ByaXZzJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NX T1JEICcqQzQ5NzM1RDAxNkEwOTlDMENGMTA0RUY5MTgzRjM3NEE1NENBMjU3NicKIEdSQU5UIFRS SUdHRVIgT04gYHByaXZfZGJgLiogVE8gJ3Rlc3RfeWVzcHJpdnMnQCdsb2NhbGhvc3QnCiAKIHRy aWdnZXIgcHJpdmlsZWdlIG9uIGRiIGxldmVsIGZvciBjcmVhdGU6Cgo9PT0gbW9kaWZpZWQgZmls ZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbmRiX2Z1bmNfdmlldy5yZXN1bHQnCi0tLSBh L215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL25kYl9mdW5jX3ZpZXcucmVzdWx0CTIwMDgtMDYt MTkgMTg6NTY6NDggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbmRiX2Z1 bmNfdmlldy5yZXN1bHQJMjAwOC0wNy0xNSAwMDowNjo0MyArMDAwMApAQCAtMzMwNSw5ICszMzA1 LDkgQEAgTlVMTAlOVUxMCTEKIC0zMzMzLjMzCS0zMzMzLjMzMzMJMzAKIFdhcm5pbmdzOgogV2Fy bmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJycKLUVycm9yCTEy NjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NBU1QobXlfZG91YmxlIEFTIERFQ0lN QUwoMzcsMikpJyBhdCByb3cgMQorV2FybmluZwkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3Ig Y29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKIFdhcm5p bmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICcnCi1FcnJvcgkxMjY0 CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJsZSBBUyBERUNJTUFM KDM3LDIpKScgYXQgcm93IDEKK1dhcm5pbmcJMTI2NAlPdXQgb2YgcmFuZ2UgdmFsdWUgZm9yIGNv bHVtbiAnQ0FTVChteV9kb3VibGUgQVMgREVDSU1BTCgzNywyKSknIGF0IHJvdyAxCiBTSE9XIENS RUFURSBWSUVXIHYxOwogVmlldwlDcmVhdGUgVmlldwljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xs YXRpb25fY29ubmVjdGlvbgogdjEJQ1JFQVRFIEFMR09SSVRITT1VTkRFRklORUQgREVGSU5FUj1g cm9vdGBAYGxvY2FsaG9zdGAgU1FMIFNFQ1VSSVRZIERFRklORVIgVklFVyBgdjFgIEFTIHNlbGVj dCBjYXN0KGB0MV92YWx1ZXNgLmBteV9kb3VibGVgIGFzIGRlY2ltYWwoMzcsMikpIEFTIGBDQVNU KG15X2RvdWJsZSBBUyBERUNJTUFMKDM3LDIpKWAsYHQxX3ZhbHVlc2AuYG15X2RvdWJsZWAgQVMg YG15X2RvdWJsZWAsYHQxX3ZhbHVlc2AuYGlkYCBBUyBgaWRgIGZyb20gYHQxX3ZhbHVlc2AJbGF0 aW4xCWxhdGluMV9zd2VkaXNoX2NpCkBAIC0zMzIzLDkgKzMzMjMsOSBAQCBOVUxMCU5VTEwJMQog LTMzMzMuMzMJLTMzMzMuMzMzMwkzMAogV2FybmluZ3M6CiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVk IGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnJwotRXJyb3IJMTI2NAlPdXQgb2YgcmFuZ2UgdmFs dWUgZm9yIGNvbHVtbiAnQ0FTVChteV9kb3VibGUgQVMgREVDSU1BTCgzNywyKSknIGF0IHJvdyAx CitXYXJuaW5nCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVlIGZvciBjb2x1bW4gJ0NBU1QobXlfZG91 YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBp bmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJycKLUVycm9yCTEyNjQJT3V0IG9mIHJhbmdlIHZhbHVl IGZvciBjb2x1bW4gJ0NBU1QobXlfZG91YmxlIEFTIERFQ0lNQUwoMzcsMikpJyBhdCByb3cgMQor V2FybmluZwkxMjY0CU91dCBvZiByYW5nZSB2YWx1ZSBmb3IgY29sdW1uICdDQVNUKG15X2RvdWJs ZSBBUyBERUNJTUFMKDM3LDIpKScgYXQgcm93IDEKIERST1AgVklFVyB2MTsKIAogCkBAIC0zMzk0 LDkgKzMzOTQsOSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMz MwkyOQogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBm b3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1 ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2lt YWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3Jy ZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEz NjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitX YXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQg cm93IC0xCiBTSE9XIENSRUFURSBWSUVXIHYxOwogVmlldwlDcmVhdGUgVmlldwljaGFyYWN0ZXJf c2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbgogdjEJQ1JFQVRFIEFMR09SSVRITT1VTkRF RklORUQgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgU1FMIFNFQ1VSSVRZIERFRklORVIgVklF VyBgdjFgIEFTIHNlbGVjdCBjYXN0KGB0MV92YWx1ZXNgLmBteV92YXJiaW5hcnlfMTAwMGAgYXMg ZGVjaW1hbCgzNywyKSkgQVMgYENBU1QobXlfdmFyYmluYXJ5XzEwMDAgQVMgREVDSU1BTCgzNywy KSlgLGB0MV92YWx1ZXNgLmBteV92YXJiaW5hcnlfMTAwMGAgQVMgYG15X3ZhcmJpbmFyeV8xMDAw YCxgdDFfdmFsdWVzYC5gaWRgIEFTIGBpZGAgZnJvbSBgdDFfdmFsdWVzYAlsYXRpbjEJbGF0aW4x X3N3ZWRpc2hfY2kKQEAgLTM0MTEsOSArMzQxMSw5IEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1 CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI5CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0 IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCi1FcnJvcgkxMzY2CUlu Y29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJ MTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEK K1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBh dCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNv bHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTog JycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIERST1AgVklFVyB2MTsKIAogCkBAIC0zNDMwLDEx ICszNDMwLDExIEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMz CTI4CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZv ciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFs dWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGlu Y29ycmVjdCBERUNJTUFMIHZhbHVlOiAnJwotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2 YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3Qg ZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglU cnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICc8LS0tLS0tLS0zMCBjaGFyYWN0ZXJz LS0tLS0tLT4nCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29s dW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAn JyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJl Y3QgREVDSU1BTCB2YWx1ZTogJyAtLS3vv73vv73vv70qJC0tICcKIFdhcm5pbmcJMTI5MglUcnVu Y2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICctMScKIFdhcm5pbmcJMTI5MglUcnVuY2F0 ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICctMzMzMy4zMzMzJwpAQCAtMzQ1MiwxMSArMzQ1 MiwxMSBAQCBOVUxMCU5VTEwJMQogLTEuMDAJLTEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA CTUKIC0zMzMzLjMzCS0zMzMzLjMzMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAkyOAogV2FybmluZ3M6 Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0 IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29s dW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1B TCB2YWx1ZTogJycKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBj b2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6 ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29y cmVjdCBERUNJTUFMIHZhbHVlOiAnPC0tLS0tLS0tMzAgY2hhcmFjdGVycy0tLS0tLS0+JwotRXJy b3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cg LTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAn JyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFs dWU6ICcgLS0t77+977+977+9KiQtLSAnCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVj dCBERUNJTUFMIHZhbHVlOiAnLTEnCiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBE RUNJTUFMIHZhbHVlOiAnLTMzMzMuMzMzMycKQEAgLTM0NzYsOSArMzQ3Niw5IEBAIE5VTEwJTlVM TAkxCiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI3CiBXYXJuaW5nczoKLUVycm9y CTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0x Ci1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0 IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVt biAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycg Zm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2 YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3Qg ZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFNIT1cgQ1JFQVRFIFZJ RVcgdjE7CiBWaWV3CUNyZWF0ZSBWaWV3CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9j b25uZWN0aW9uCiB2MQlDUkVBVEUgQUxHT1JJVEhNPVVOREVGSU5FRCBERUZJTkVSPWByb290YEBg bG9jYWxob3N0YCBTUUwgU0VDVVJJVFkgREVGSU5FUiBWSUVXIGB2MWAgQVMgc2VsZWN0IGNhc3Qo YHQxX3ZhbHVlc2AuYG15X3ZhcmNoYXJfMTAwMGAgYXMgZGVjaW1hbCgzNywyKSkgQVMgYENBU1Qo bXlfdmFyY2hhcl8xMDAwIEFTIERFQ0lNQUwoMzcsMikpYCxgdDFfdmFsdWVzYC5gbXlfdmFyY2hh cl8xMDAwYCBBUyBgbXlfdmFyY2hhcl8xMDAwYCxgdDFfdmFsdWVzYC5gaWRgIEFTIGBpZGAgZnJv bSBgdDFfdmFsdWVzYAlsYXRpbjEJbGF0aW4xX3N3ZWRpc2hfY2kKQEAgLTM0OTMsOSArMzQ5Myw5 IEBAIE5VTEwJTlVMTAkxCiAtMS4wMAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI3CiBXYXJu aW5nczoKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4g JycgYXQgcm93IC0xCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3Ig Y29sdW1uICcnIGF0IHJvdyAtMQotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTog JycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1h bCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJl Y3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2 NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIERS T1AgVklFVyB2MTsKIAogCkBAIC0zNTEyLDExICszNTEyLDExIEBAIE5VTEwJTlVMTAkxCiAtMS4w MAktMQk1CiAtMzMzMy4zMwktMzMzMy4zMzMzCTI2CiBXYXJuaW5nczoKLUVycm9yCTEzNjYJSW5j b3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5n CTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0x CiBXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJwotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2 YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3Qg ZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglU cnVuY2F0ZWQgaW5jb3JyZWN0IERFQ0lNQUwgdmFsdWU6ICc8LS0tLS0tLS0zMCBjaGFyYWN0ZXJz LS0tLS0tLT4nCi1FcnJvcgkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29s dW1uICcnIGF0IHJvdyAtMQorV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAn JyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJl Y3QgREVDSU1BTCB2YWx1ZTogJyAtLS3vv73vv73vv70qJC0tICAgICAgICAgICAnCiBTSE9XIENS RUFURSBWSUVXIHYxOwogVmlldwlDcmVhdGUgVmlldwljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xs YXRpb25fY29ubmVjdGlvbgpAQCAtMzUzMiwxMSArMzUzMiwxMSBAQCBOVUxMCU5VTEwJMQogLTEu MDAJLTEJNQogLTMzMzMuMzMJLTMzMzMuMzMzMwkyNgogV2FybmluZ3M6Ci1FcnJvcgkxMzY2CUlu Y29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAtMQorV2Fybmlu ZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVlOiAnJyBmb3IgY29sdW1uICcnIGF0IHJvdyAt MQogV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgREVDSU1BTCB2YWx1ZTogJyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICcKLUVycm9yCTEzNjYJSW5jb3JyZWN0IGRlY2ltYWwg dmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCitXYXJuaW5nCTEzNjYJSW5jb3JyZWN0 IGRlY2ltYWwgdmFsdWU6ICcnIGZvciBjb2x1bW4gJycgYXQgcm93IC0xCiBXYXJuaW5nCTEyOTIJ VHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnPC0tLS0tLS0tMzAgY2hhcmFjdGVy cy0tLS0tLS0+JwotRXJyb3IJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTogJycgZm9yIGNv bHVtbiAnJyBhdCByb3cgLTEKK1dhcm5pbmcJMTM2NglJbmNvcnJlY3QgZGVjaW1hbCB2YWx1ZTog JycgZm9yIGNvbHVtbiAnJyBhdCByb3cgLTEKIFdhcm5pbmcJMTI5MglUcnVuY2F0ZWQgaW5jb3Jy ZWN0IERFQ0lNQUwgdmFsdWU6ICcgLS0t77+977+977+9KiQtLSAgICAgICAgICAgJwogRFJPUCBW SUVXIHYxOwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9uZGIvci9uZGJf YmFzaWMucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL25kYi9yL25kYl9iYXNpYy5yZXN1 bHQJMjAwNy0xMS0xMiAxMjoyNTozNCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL25kYi9y L25kYl9iYXNpYy5yZXN1bHQJMjAwOC0wOC0wNiAyMjoxNjowNyArMDAwMApAQCAtNzgzLDYgKzc4 Myw3IEBAIGYxCWYyCWYzCiAyMjIyMjIJYmJiYmJiCTIKIGRyb3AgdGFibGUgdDE7CiBJbGxlZ2Fs IG5kYiBlcnJvciBjb2RlOiAxMTg2CitNeVNRTCBlcnJvciBjb2RlIDExODYgKEVSX0ZMVVNIX01B U1RFUl9CSU5MT0dfQ0xPU0VEKTogQmlubG9nIGNsb3NlZCwgY2Fubm90IFJFU0VUIE1BU1RFUgog Q1JFQVRFIFRBQkxFIHQxICgKIGEgVkFSQklOQVJZKDQwKSBOT1QgTlVMTCwKIGIgVkFSQ0hBUiAo MjU2KSBDSEFSQUNURVIgU0VUIFVURjggTk9UIE5VTEwsCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlz cWwtdGVzdC9zdWl0ZS9uZGIvci9uZGJfYml0ZmllbGQucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0 L3N1aXRlL25kYi9yL25kYl9iaXRmaWVsZC5yZXN1bHQJMjAwNy0wOC0yNyAwODoxNDoyNCArMDAw MAorKysgYi9teXNxbC10ZXN0L3N1aXRlL25kYi9yL25kYl9iaXRmaWVsZC5yZXN1bHQJMjAwOC0w Ny0xNSAwMDowNjo0MyArMDAwMApAQCAtMjI2LDcgKzIyNiw3IEBAIGIgaW50CiBFUlJPUiBIWTAw MDogQ2FuJ3QgY3JlYXRlIHRhYmxlICd0ZXN0LnQxJyAoZXJybm86IDkwNikKIHNob3cgd2Fybmlu Z3M7CiBMZXZlbAlDb2RlCU1lc3NhZ2UKLUVycm9yCTEyOTYJR290IGVycm9yIDkwNiAnVW5zdXBw b3J0ZWQgYXR0cmlidXRlIHR5cGUgaW4gaW5kZXgnIGZyb20gTkRCCitXYXJuaW5nCTEyOTYJR290 IGVycm9yIDkwNiAnVW5zdXBwb3J0ZWQgYXR0cmlidXRlIHR5cGUgaW4gaW5kZXgnIGZyb20gTkRC CiBFcnJvcgkxMDA1CUNhbid0IGNyZWF0ZSB0YWJsZSAndGVzdC50MScgKGVycm5vOiA5MDYpCiBj cmVhdGUgdGFibGUgdDEgKAogcGsxIGludCBub3QgbnVsbCBwcmltYXJ5IGtleSwKQEAgLTIzNiw3 ICsyMzYsNyBAQCBrZXkoYikKIEVSUk9SIEhZMDAwOiBDYW4ndCBjcmVhdGUgdGFibGUgJ3Rlc3Qu dDEnIChlcnJubzogOTA2KQogc2hvdyB3YXJuaW5nczsKIExldmVsCUNvZGUJTWVzc2FnZQotRXJy b3IJMTI5NglHb3QgZXJyb3IgOTA2ICdVbnN1cHBvcnRlZCBhdHRyaWJ1dGUgdHlwZSBpbiBpbmRl eCcgZnJvbSBOREIKK1dhcm5pbmcJMTI5NglHb3QgZXJyb3IgOTA2ICdVbnN1cHBvcnRlZCBhdHRy aWJ1dGUgdHlwZSBpbiBpbmRleCcgZnJvbSBOREIKIEVycm9yCTEwMDUJQ2FuJ3QgY3JlYXRlIHRh YmxlICd0ZXN0LnQxJyAoZXJybm86IDkwNikKIGNyZWF0ZSB0YWJsZSB0MSAoCiBwazEgaW50IHBy aW1hcnkga2V5LAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvbmRiL3IvbmRi X2RkX2RkbC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvbmRiL3IvbmRiX2RkX2RkbC5y ZXN1bHQJMjAwNy0xMC0yNiAyMDo0MDo0OCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL25k Yi9yL25kYl9kZF9kZGwucmVzdWx0CTIwMDgtMDctMjUgMTg6NDQ6MjAgKzAwMDAKQEAgLTE1LDcg KzE1LDcgQEAgRU5HSU5FIE5EQjsKIEVSUk9SIEhZMDAwOiBGYWlsZWQgdG8gY3JlYXRlIExPR0ZJ TEUgR1JPVVAKIFNIT1cgV0FSTklOR1M7CiBMZXZlbAlDb2RlCU1lc3NhZ2UKLUVycm9yCTEyOTYJ R290IGVycm9yIDE1MTQgJ0N1cnJlbnRseSB0aGVyZSBpcyBhIGxpbWl0IG9mIG9uZSBsb2dmaWxl IGdyb3VwJyBmcm9tIE5EQgorV2FybmluZwkxMjk2CUdvdCBlcnJvciAxNTE0ICdDdXJyZW50bHkg dGhlcmUgaXMgYSBsaW1pdCBvZiBvbmUgbG9nZmlsZSBncm91cCcgZnJvbSBOREIKIEVycm9yCTE1 MjgJRmFpbGVkIHRvIGNyZWF0ZSBMT0dGSUxFIEdST1VQCiBDUkVBVEUgTE9HRklMRSBHUk9VUCBs ZzEKIEFERCBVTkRPRklMRSAndW5kb2ZpbGUuZGF0JwpAQCAtMjM2LDMgKzIzNiw3OSBAQCBlbmdp bmUgbmRiOwogRVJST1IgSFkwMDA6IEZhaWxlZCB0byBkcm9wIFRBQkxFU1BBQ0UKIGRyb3AgbG9n ZmlsZSBncm91cCBsZzEKIGVuZ2luZSBuZGI7CisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRW5kIDUuMSB0ZXN0 CisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisKKyMgLS0KKyMgLS0gV0wjNDMwMDogRGVmaW5lIHByaXZpbGVnZXMgZm9y IHRhYmxlc3BhY2VzLgorIyAtLQorR1JBTlQgQ1JFQVRFIFRBQkxFU1BBQ0UgT04gKi4qIFRPIG15 c3FsdGVzdF91MUBsb2NhbGhvc3Q7CisKK0RST1AgREFUQUJBU0UgSUYgRVhJU1RTIG15c3FsdGVz dDI7CitDUkVBVEUgREFUQUJBU0UgbXlzcWx0ZXN0MjsKK0dSQU5UIEFMTCBQUklWSUxFR0VTIE9O IG15c3FsdGVzdDIuKiBUTyBteXNxbHRlc3RfdTJAbG9jYWxob3N0OworCisjIC0tIENvbm5lY3Rp b246IG15c3FsdGVzdF91MUBsb2NhbGhvc3QKKworIyAtLSBHcmFudHMgZm9yIG15c3FsdGVzdF91 MUBsb2NhbGhvc3Q6CitTSE9XIEdSQU5UUzsKK0dyYW50cyBmb3IgbXlzcWx0ZXN0X3UxQGxvY2Fs aG9zdAorR1JBTlQgQ1JFQVRFIFRBQkxFU1BBQ0UgT04gKi4qIFRPICdteXNxbHRlc3RfdTEnQCds b2NhbGhvc3QnCisKKyMgLS0gQ2hlY2sgQ1JFQVRFIExPR0ZJTEUgR1JPVVAuLi4KK0NSRUFURSBM T0dGSUxFIEdST1VQIGxnMQorQUREIFVORE9GSUxFICd1bmRvZmlsZS5kYXQnCitJTklUSUFMX1NJ WkUgMU0KK1VORE9fQlVGRkVSX1NJWkUgPSAxTQorRU5HSU5FID0gTkRCOworCisjIC0tIENoZWNr IEFMVEVSIExPR0ZJTEUgR1JPVVAuLi4KK0FMVEVSIExPR0ZJTEUgR1JPVVAgbGcxCitBREQgVU5E T0ZJTEUgJ3VuZG9maWxlMDIuZGF0JworSU5JVElBTF9TSVpFIDFNCitFTkdJTkUgPSBOREI7CisK KyMgLS0gQ2hlY2sgQ1JFQVRFIFRBQkxFU1BBQ0UuLi4KK0NSRUFURSBUQUJMRVNQQUNFIHRzMQor QUREIERBVEFGSUxFICdkYXRhZmlsZS5kYXQnCitVU0UgTE9HRklMRSBHUk9VUCBsZzEKK0lOSVRJ QUxfU0laRSAxTQorRU5HSU5FID0gTkRCOworCisjIC0tIENoZWNrIEFMVEVSIFRBQkxFU1BBQ0Uu Li4KK0FMVEVSIFRBQkxFU1BBQ0UgdHMxCitEUk9QIERBVEFGSUxFICdkYXRhZmlsZS5kYXQnCitJ TklUSUFMX1NJWkUgMU0KK0VOR0lORSA9IE5EQjsKKworIyAtLSBDb25uZWN0aW9uOiBteXNxbHRl c3RfdTJAbG9jYWxob3N0CisKKyMgLS0gR3JhbnRzIGZvciBteXNxbHRlc3RfdTJAbG9jYWxob3N0 OgorU0hPVyBHUkFOVFM7CitHcmFudHMgZm9yIG15c3FsdGVzdF91MkBsb2NhbGhvc3QKK0dSQU5U IFVTQUdFIE9OICouKiBUTyAnbXlzcWx0ZXN0X3UyJ0AnbG9jYWxob3N0JworR1JBTlQgQUxMIFBS SVZJTEVHRVMgT04gYG15c3FsdGVzdDJgLiogVE8gJ215c3FsdGVzdF91MidAJ2xvY2FsaG9zdCcK K0NSRUFURSBUQUJMRSB0MShjIElOVCkgVEFCTEVTUEFDRSB0czE7CitEUk9QIFRBQkxFIHQxOwor CisjIC0tIENvbm5lY3Rpb246IG15c3FsdGVzdF91MUBsb2NhbGhvc3QKKworCisjIC0tIENoZWNr IERST1AgVEFCTEVTUEFDRS4uLgorRFJPUCBUQUJMRVNQQUNFIHRzMSAKK0VOR0lORSA9IE5EQjsK KworIyAtLSBDaGVjayBEUk9QIExPR0ZJTEUgR1JPVVAuLi4KK0RST1AgTE9HRklMRSBHUk9VUCBs ZzEgCitFTkdJTkUgPSBOREI7CisKKyMgLS0gQ29ubmVjdGlvbjogcm9vdEBsb2NhbGhvc3QKKwor RFJPUCBVU0VSIG15c3FsdGVzdF91MUBsb2NhbGhvc3Q7CitEUk9QIFVTRVIgbXlzcWx0ZXN0X3Uy QGxvY2FsaG9zdDsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBFbmQgNi4wIHRlc3QKKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCj09 PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL25kYi9yL25kYl9naXMucmVzdWx0Jwot LS0gYS9teXNxbC10ZXN0L3N1aXRlL25kYi9yL25kYl9naXMucmVzdWx0CTIwMDctMTItMTggMTg6 MDc6NDEgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9uZGIvci9uZGJfZ2lzLnJlc3VsdAky MDA4LTA3LTE1IDAwOjA2OjQzICswMDAwCkBAIC00NjUsNyArNDY1LDcgQEAgZHJvcCB0YWJsZSB0 MTsKIEVuZCBvZiA0LjEgdGVzdHMKIENSRUFURSBUQUJMRSB0MSAobmFtZSBWQVJDSEFSKDEwMCks IHNxdWFyZSBHRU9NRVRSWSk7CiBXYXJuaW5nczoKLUVycm9yCTE0NzgJVGFibGUgc3RvcmFnZSBl bmdpbmUgJ25kYmNsdXN0ZXInIGRvZXMgbm90IHN1cHBvcnQgdGhlIGNyZWF0ZSBvcHRpb24gJ0Jp bmxvZyBvZiB0YWJsZSB3aXRoIEJMT0IgYXR0cmlidXRlIGFuZCBubyBQSycKK1dhcm5pbmcJMTQ3 OAlUYWJsZSBzdG9yYWdlIGVuZ2luZSAnbmRiY2x1c3RlcicgZG9lcyBub3Qgc3VwcG9ydCB0aGUg Y3JlYXRlIG9wdGlvbiAnQmlubG9nIG9mIHRhYmxlIHdpdGggQkxPQiBhdHRyaWJ1dGUgYW5kIG5v IFBLJwogSU5TRVJUIElOVE8gdDEgVkFMVUVTKCJjZW50ZXIiLCBHZW9tRnJvbVRleHQoJ1BPTFlH T04gKCggMCAwLCAwIDIsIDIgMiwgMiAwLCAwIDApKScpKTsKIElOU0VSVCBJTlRPIHQxIFZBTFVF Uygic21hbGwiLCAgR2VvbUZyb21UZXh0KCdQT0xZR09OICgoIDAgMCwgMCAxLCAxIDEsIDEgMCwg MCAwKSknKSk7CiBJTlNFUlQgSU5UTyB0MSBWQUxVRVMoImJpZyIsICAgIEdlb21Gcm9tVGV4dCgn UE9MWUdPTiAoKCAwIDAsIDAgMywgMyAzLCAzIDAsIDAgMCkpJykpOwpAQCAtMTAxNyw3ICsxMDE3 LDcgQEAgZHJvcCB0YWJsZSB0MTsKIEVuZCBvZiA0LjEgdGVzdHMKIENSRUFURSBUQUJMRSB0MSAo bmFtZSBWQVJDSEFSKDEwMCksIHNxdWFyZSBHRU9NRVRSWSk7CiBXYXJuaW5nczoKLUVycm9yCTE0 NzgJVGFibGUgc3RvcmFnZSBlbmdpbmUgJ25kYmNsdXN0ZXInIGRvZXMgbm90IHN1cHBvcnQgdGhl IGNyZWF0ZSBvcHRpb24gJ0JpbmxvZyBvZiB0YWJsZSB3aXRoIEJMT0IgYXR0cmlidXRlIGFuZCBu byBQSycKK1dhcm5pbmcJMTQ3OAlUYWJsZSBzdG9yYWdlIGVuZ2luZSAnbmRiY2x1c3RlcicgZG9l cyBub3Qgc3VwcG9ydCB0aGUgY3JlYXRlIG9wdGlvbiAnQmlubG9nIG9mIHRhYmxlIHdpdGggQkxP QiBhdHRyaWJ1dGUgYW5kIG5vIFBLJwogSU5TRVJUIElOVE8gdDEgVkFMVUVTKCJjZW50ZXIiLCBH ZW9tRnJvbVRleHQoJ1BPTFlHT04gKCggMCAwLCAwIDIsIDIgMiwgMiAwLCAwIDApKScpKTsKIElO U0VSVCBJTlRPIHQxIFZBTFVFUygic21hbGwiLCAgR2VvbUZyb21UZXh0KCdQT0xZR09OICgoIDAg MCwgMCAxLCAxIDEsIDEgMCwgMCAwKSknKSk7CiBJTlNFUlQgSU5UTyB0MSBWQUxVRVMoImJpZyIs ICAgIEdlb21Gcm9tVGV4dCgnUE9MWUdPTiAoKCAwIDAsIDAgMywgMyAzLCAzIDAsIDAgMCkpJykp OwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvbmRiL3IvbmRiX211bHRpX3Jv dy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvbmRiL3IvbmRiX211bHRpX3Jvdy5yZXN1 bHQJMjAwNy0xMS0wMSAxNDowODowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL25kYi9y L25kYl9tdWx0aV9yb3cucmVzdWx0CTIwMDgtMDctMTUgMDA6MDY6NDMgKzAwMDAKQEAgLTYzLDYg KzYzLDYgQEAgdDQKIGRyb3AgdGFibGUgdDEsIHQyLCB0MywgdDQ7CiBkcm9wIHRhYmxlIGlmIGV4 aXN0cyB0MSwgdDMsIHQ0OwogV2FybmluZ3M6Ci1FcnJvcgkxNTUJVGFibGUgJ3Rlc3QudDEnIGRv ZXNuJ3QgZXhpc3QKLUVycm9yCTE1NQlUYWJsZSAndGVzdC50MycgZG9lc24ndCBleGlzdAotRXJy b3IJMTU1CVRhYmxlICd0ZXN0LnQ0JyBkb2Vzbid0IGV4aXN0CitXYXJuaW5nCTE1NQlUYWJsZSAn dGVzdC50MScgZG9lc24ndCBleGlzdAorV2FybmluZwkxNTUJVGFibGUgJ3Rlc3QudDMnIGRvZXNu J3QgZXhpc3QKK1dhcm5pbmcJMTU1CVRhYmxlICd0ZXN0LnQ0JyBkb2Vzbid0IGV4aXN0Cgo9PT0g bW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9uZGIvci9uZGJfcGFydGl0aW9uX2Vycm9y LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9uZGIvci9uZGJfcGFydGl0aW9uX2Vycm9y LnJlc3VsdAkyMDA3LTA2LTI3IDEyOjI4OjAyICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUv bmRiL3IvbmRiX3BhcnRpdGlvbl9lcnJvci5yZXN1bHQJMjAwOC0wNy0xNSAwMDowNjo0MyArMDAw MApAQCAtMTQsNyArMTQsNyBAQCBwYXJ0aXRpb24geDMgdmFsdWVzIGxlc3MgdGhhbiAoMjApIG5v ZGVnCiBFUlJPUiBIWTAwMDogQ2FuJ3QgY3JlYXRlIHRhYmxlICd0ZXN0LnQxJyAoZXJybm86IDE0 MCkKIHNob3cgd2FybmluZ3M7CiBMZXZlbAlDb2RlCU1lc3NhZ2UKLUVycm9yCTEyOTYJR290IGVy cm9yIDc3MSAnR2l2ZW4gTk9ERUdST1VQIGRvZXNuJ3QgZXhpc3QgaW4gdGhpcyBjbHVzdGVyJyBm cm9tIE5EQgorV2FybmluZwkxMjk2CUdvdCBlcnJvciA3NzEgJ0dpdmVuIE5PREVHUk9VUCBkb2Vz bid0IGV4aXN0IGluIHRoaXMgY2x1c3RlcicgZnJvbSBOREIKIEVycm9yCTEwMDUJQ2FuJ3QgY3Jl YXRlIHRhYmxlICd0ZXN0LnQxJyAoZXJybm86IDE0MCkKIENSRUFURSBUQUJMRSB0MSAoCiBhIGlu dCBub3QgbnVsbCwKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL25kYi9yL25k Yl9zaW5nbGVfdXNlci5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvbmRiL3IvbmRiX3Np bmdsZV91c2VyLnJlc3VsdAkyMDA3LTEwLTI2IDIwOjQwOjQ4ICswMDAwCisrKyBiL215c3FsLXRl c3Qvc3VpdGUvbmRiL3IvbmRiX3NpbmdsZV91c2VyLnJlc3VsdAkyMDA4LTA3LTE1IDAwOjA2OjQz ICswMDAwCkBAIC0xMCw3ICsxMCw3IEBAIEVOR0lORT1OREI7CiBFUlJPUiBIWTAwMDogRmFpbGVk IHRvIGNyZWF0ZSBMT0dGSUxFIEdST1VQCiBzaG93IHdhcm5pbmdzOwogTGV2ZWwJQ29kZQlNZXNz YWdlCi1FcnJvcgkxMjk2CUdvdCBlcnJvciAyOTkgJ09wZXJhdGlvbiBub3QgYWxsb3dlZCBvciBh Ym9ydGVkIGR1ZSB0byBzaW5nbGUgdXNlciBtb2RlJyBmcm9tIE5EQgorV2FybmluZwkxMjk2CUdv dCBlcnJvciAyOTkgJ09wZXJhdGlvbiBub3QgYWxsb3dlZCBvciBhYm9ydGVkIGR1ZSB0byBzaW5n bGUgdXNlciBtb2RlJyBmcm9tIE5EQgogRXJyb3IJMTUyOAlGYWlsZWQgdG8gY3JlYXRlIExPR0ZJ TEUgR1JPVVAKIGNyZWF0ZSB0YWJsZSB0MSAoYSBpbnQga2V5LCBiIGludCB1bmlxdWUsIGMgaW50 KSBlbmdpbmUgbmRiOwogQ1JFQVRFIExPR0ZJTEUgR1JPVVAgbGcxCkBAIC0yNiwxNCArMjYsMTQg QEAgRU5HSU5FIE5EQjsKIEVSUk9SIEhZMDAwOiBGYWlsZWQgdG8gY3JlYXRlIFRBQkxFU1BBQ0UK IHNob3cgd2FybmluZ3M7CiBMZXZlbAlDb2RlCU1lc3NhZ2UKLUVycm9yCTEyOTYJR290IGVycm9y IDI5OSAnT3BlcmF0aW9uIG5vdCBhbGxvd2VkIG9yIGFib3J0ZWQgZHVlIHRvIHNpbmdsZSB1c2Vy IG1vZGUnIGZyb20gTkRCCitXYXJuaW5nCTEyOTYJR290IGVycm9yIDI5OSAnT3BlcmF0aW9uIG5v dCBhbGxvd2VkIG9yIGFib3J0ZWQgZHVlIHRvIHNpbmdsZSB1c2VyIG1vZGUnIGZyb20gTkRCCiBF cnJvcgkxNTI4CUZhaWxlZCB0byBjcmVhdGUgVEFCTEVTUEFDRQogRFJPUCBMT0dGSUxFIEdST1VQ IGxnMSAKIEVOR0lORSA9TkRCOwogRVJST1IgSFkwMDA6IEZhaWxlZCB0byBkcm9wIExPR0ZJTEUg R1JPVVAKIHNob3cgd2FybmluZ3M7CiBMZXZlbAlDb2RlCU1lc3NhZ2UKLUVycm9yCTEyOTYJR290 IGVycm9yIDI5OSAnT3BlcmF0aW9uIG5vdCBhbGxvd2VkIG9yIGFib3J0ZWQgZHVlIHRvIHNpbmds ZSB1c2VyIG1vZGUnIGZyb20gTkRCCitXYXJuaW5nCTEyOTYJR290IGVycm9yIDI5OSAnT3BlcmF0 aW9uIG5vdCBhbGxvd2VkIG9yIGFib3J0ZWQgZHVlIHRvIHNpbmdsZSB1c2VyIG1vZGUnIGZyb20g TkRCCiBFcnJvcgkxNTI5CUZhaWxlZCB0byBkcm9wIExPR0ZJTEUgR1JPVVAKIENSRUFURSBUQUJM RVNQQUNFIHRzMQogQUREIERBVEFGSUxFICdkYXRhZmlsZS5kYXQnCkBAIC00Niw3ICs0Niw3IEBA IEVOR0lORSBOREI7CiBFUlJPUiBIWTAwMDogRmFpbGVkIHRvIGFsdGVyOiAgRFJPUCBEQVRBRklM RQogc2hvdyB3YXJuaW5nczsKIExldmVsCUNvZGUJTWVzc2FnZQotRXJyb3IJMTI5NglHb3QgZXJy b3IgMjk5ICdPcGVyYXRpb24gbm90IGFsbG93ZWQgb3IgYWJvcnRlZCBkdWUgdG8gc2luZ2xlIHVz ZXIgbW9kZScgZnJvbSBOREIKK1dhcm5pbmcJMTI5NglHb3QgZXJyb3IgMjk5ICdPcGVyYXRpb24g bm90IGFsbG93ZWQgb3IgYWJvcnRlZCBkdWUgdG8gc2luZ2xlIHVzZXIgbW9kZScgZnJvbSBOREIK IEVycm9yCTE1MzMJRmFpbGVkIHRvIGFsdGVyOiAgRFJPUCBEQVRBRklMRQogQUxURVIgVEFCTEVT UEFDRSB0czEKIERST1AgREFUQUZJTEUgJ2RhdGFmaWxlLmRhdCcKQEAgLTU2LDcgKzU2LDcgQEAg RU5HSU5FIE5EQjsKIEVSUk9SIEhZMDAwOiBGYWlsZWQgdG8gZHJvcCBUQUJMRVNQQUNFCiBzaG93 IHdhcm5pbmdzOwogTGV2ZWwJQ29kZQlNZXNzYWdlCi1FcnJvcgkxMjk2CUdvdCBlcnJvciAyOTkg J09wZXJhdGlvbiBub3QgYWxsb3dlZCBvciBhYm9ydGVkIGR1ZSB0byBzaW5nbGUgdXNlciBtb2Rl JyBmcm9tIE5EQgorV2FybmluZwkxMjk2CUdvdCBlcnJvciAyOTkgJ09wZXJhdGlvbiBub3QgYWxs b3dlZCBvciBhYm9ydGVkIGR1ZSB0byBzaW5nbGUgdXNlciBtb2RlJyBmcm9tIE5EQgogRXJyb3IJ MTUyOQlGYWlsZWQgdG8gZHJvcCBUQUJMRVNQQUNFCiBEUk9QIFRBQkxFU1BBQ0UgdHMxCiBFTkdJ TkUgTkRCOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvbmRiL3QvbmRiX2Rk X2RkbC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL25kYi90L25kYl9kZF9kZGwudGVzdAky MDA3LTA4LTIyIDEzOjU0OjEwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvbmRiL3QvbmRi X2RkX2RkbC50ZXN0CTIwMDgtMDctMjQgMDc6NDQ6MjEgKzAwMDAKQEAgLTM2Nyw0ICszNjcsMTAz IEBAIGVuZ2luZSBuZGI7CiAtLWV4ZWMgcm0gJE1ZU1FMVEVTVF9WQVJESVIvdG1wL3QxLmZybQog CiAKLSMgRW5kIDUuMSB0ZXN0CistLWVjaG8KKy0tZWNobyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLWVjaG8gIyBF bmQgNS4xIHRlc3QKKy0tZWNobyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy0tZWNobworLS1lY2hvICMgLS0KKy0t ZWNobyAjIC0tIFdMIzQzMDA6IERlZmluZSBwcml2aWxlZ2VzIGZvciB0YWJsZXNwYWNlcy4KKy0t ZWNobyAjIC0tCisKK0dSQU5UIENSRUFURSBUQUJMRVNQQUNFIE9OICouKiBUTyBteXNxbHRlc3Rf dTFAbG9jYWxob3N0OworCistLWVjaG8KKworLS1kaXNhYmxlX3dhcm5pbmdzCitEUk9QIERBVEFC QVNFIElGIEVYSVNUUyBteXNxbHRlc3QyOworLS1lbmFibGVfd2FybmluZ3MKKworQ1JFQVRFIERB VEFCQVNFIG15c3FsdGVzdDI7CisKK0dSQU5UIEFMTCBQUklWSUxFR0VTIE9OIG15c3FsdGVzdDIu KiBUTyBteXNxbHRlc3RfdTJAbG9jYWxob3N0OworCistLWVjaG8KKy0tZWNobyAjIC0tIENvbm5l Y3Rpb246IG15c3FsdGVzdF91MUBsb2NhbGhvc3QKKy0tZWNobworLS1jb25uZWN0KGNvbjEsIGxv Y2FsaG9zdCwgbXlzcWx0ZXN0X3UxLCwpCisKKy0tZWNobyAjIC0tIEdyYW50cyBmb3IgbXlzcWx0 ZXN0X3UxQGxvY2FsaG9zdDoKK1NIT1cgR1JBTlRTOworCistLWVjaG8KKy0tZWNobyAjIC0tIENo ZWNrIENSRUFURSBMT0dGSUxFIEdST1VQLi4uCitDUkVBVEUgTE9HRklMRSBHUk9VUCBsZzEKK0FE RCBVTkRPRklMRSAndW5kb2ZpbGUuZGF0JworSU5JVElBTF9TSVpFIDFNCitVTkRPX0JVRkZFUl9T SVpFID0gMU0KK0VOR0lORSA9IE5EQjsKKworLS1lY2hvCistLWVjaG8gIyAtLSBDaGVjayBBTFRF UiBMT0dGSUxFIEdST1VQLi4uCitBTFRFUiBMT0dGSUxFIEdST1VQIGxnMQorQUREIFVORE9GSUxF ICd1bmRvZmlsZTAyLmRhdCcKK0lOSVRJQUxfU0laRSAxTQorRU5HSU5FID0gTkRCOworCistLWVj aG8KKy0tZWNobyAjIC0tIENoZWNrIENSRUFURSBUQUJMRVNQQUNFLi4uCitDUkVBVEUgVEFCTEVT UEFDRSB0czEKK0FERCBEQVRBRklMRSAnZGF0YWZpbGUuZGF0JworVVNFIExPR0ZJTEUgR1JPVVAg bGcxCitJTklUSUFMX1NJWkUgMU0KK0VOR0lORSA9IE5EQjsKKworLS1lY2hvCistLWVjaG8gIyAt LSBDaGVjayBBTFRFUiBUQUJMRVNQQUNFLi4uCitBTFRFUiBUQUJMRVNQQUNFIHRzMQorRFJPUCBE QVRBRklMRSAnZGF0YWZpbGUuZGF0JworSU5JVElBTF9TSVpFIDFNCitFTkdJTkUgPSBOREI7CisK Ky0tZWNobworLS1lY2hvICMgLS0gQ29ubmVjdGlvbjogbXlzcWx0ZXN0X3UyQGxvY2FsaG9zdAor LS1lY2hvCistLWNvbm5lY3QoY29uMiwgbG9jYWxob3N0LCBteXNxbHRlc3RfdTIsLG15c3FsdGVz dDIpCisKKy0tZWNobyAjIC0tIEdyYW50cyBmb3IgbXlzcWx0ZXN0X3UyQGxvY2FsaG9zdDoKK1NI T1cgR1JBTlRTOworCitDUkVBVEUgVEFCTEUgdDEoYyBJTlQpIFRBQkxFU1BBQ0UgdHMxOworCitE Uk9QIFRBQkxFIHQxOworCistLWVjaG8KKy0tZWNobyAjIC0tIENvbm5lY3Rpb246IG15c3FsdGVz dF91MUBsb2NhbGhvc3QKKy0tZWNobworLS1jb25uZWN0aW9uIGNvbjEKKworLS1lY2hvCistLWVj aG8gIyAtLSBDaGVjayBEUk9QIFRBQkxFU1BBQ0UuLi4KK0RST1AgVEFCTEVTUEFDRSB0czEgCitF TkdJTkUgPSBOREI7CisKKy0tZWNobworLS1lY2hvICMgLS0gQ2hlY2sgRFJPUCBMT0dGSUxFIEdS T1VQLi4uCitEUk9QIExPR0ZJTEUgR1JPVVAgbGcxIAorRU5HSU5FID0gTkRCOworCistLWVjaG8K Ky0tZWNobyAjIC0tIENvbm5lY3Rpb246IHJvb3RAbG9jYWxob3N0CistLWVjaG8KKy0tY29ubmVj dGlvbiBkZWZhdWx0CistLWRpc2Nvbm5lY3QgY29uMQorCitEUk9QIFVTRVIgbXlzcWx0ZXN0X3Ux QGxvY2FsaG9zdDsKK0RST1AgVVNFUiBteXNxbHRlc3RfdTJAbG9jYWxob3N0OworCistLWVjaG8K Ky0tZWNobyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCistLWVjaG8gIyBFbmQgNi4wIHRlc3QKKy0tZWNobyAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfRUVfZXJy LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfRUVfZXJyLnJlc3VsdAky MDA3LTA2LTI3IDEyOjI4OjAyICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBs X0VFX2Vyci5yZXN1bHQJMjAwOC0wNy0xNCAxMjo0OToxOSArMDAwMApAQCAtOCw0ICs4LDQgQEAg Y3JlYXRlIHRhYmxlIHQxIChhIGludCkgZW5naW5lPW15aXNhbTsKIGZsdXNoIHRhYmxlczsKIGRy b3AgdGFibGUgaWYgZXhpc3RzIHQxOwogV2FybmluZ3M6Ci1FcnJvcgkyCUNhbid0IGZpbmQgZmls ZTogJ3QxJyAoZXJybm86IDIpCitXYXJuaW5nCTIJQ2FuJ3QgZmluZCBmaWxlOiAndDEnIChlcnJu bzogMikKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvY3R5cGVfbGRtbC50ZXN0Jwot LS0gYS9teXNxbC10ZXN0L3QvY3R5cGVfbGRtbC50ZXN0CTIwMDctMTAtMjIgMTE6NDM6MzIgKzAw MDAKKysrIGIvbXlzcWwtdGVzdC90L2N0eXBlX2xkbWwudGVzdAkyMDA4LTA3LTI0IDExOjMzOjM1 ICswMDAwCkBAIC03NywzICs3NywyMSBAQCBzZWxlY3QgaGV4KGMxKSBhcyBoLCBjMSBmcm9tIHQx IG9yZGVyIGJ5CiBzZWxlY3QgZ3JvdXBfY29uY2F0KGhleChjMSkgb3JkZXIgYnkgaGV4KGMxKSkg ZnJvbSB0MSBncm91cCBieSBjMTsKIHNlbGVjdCBncm91cF9jb25jYXQoYzEgb3JkZXIgYnkgaGV4 KGMxKSBTRVBBUkFUT1IgJycpIGZyb20gdDEgZ3JvdXAgYnkgYzE7CiBkcm9wIHRhYmxlIHQxOwor CisKKy0tIGVjaG8gVGhlIGZvbGxvd2luZyB0ZXN0cyBjaGVjayB0aGF0IHR3by1ieXRlIGNvbGxh dGlvbiBJRHMgd29yaworLS0gVGhlIGZpbGUgLi4vc3RkLWRhdGEvSW5kZXgueG1sIGhhcyBhIG51 bWJlciBvZiBjb2xsYXRpb25zIHdpdGggaGlnaCBJRHMuCisKKyMgVGVzdCB0aGF0IHRoZSAiSUQi IGNvbHVtbiBpbiBJX1MgYW5kIFNIT1cgcXVlcmllcyBjYW4gaGFuZGxlIHR3byBieXRlcworc2Vs ZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sbGF0aW9ucyB3aGVyZSBpZD4yNTYgb3Jk ZXIgYnkgaWQ7CitzaG93IGNvbGxhdGlvbiBsaWtlICcldGVzdCUnOworCisjIFRlc3QgdGhhdCB0 d28tYnl0ZSBjb2xsYXRpb24gSUQgaXMgY29ycmVjdGx5IHRyYW5zZmVyZWQgdG8gdGhlIGNsaWVu dCBzaWRlLgorc2hvdyBjb2xsYXRpb24gbGlrZSAndWNzMl92bl9jaSc7CitjcmVhdGUgdGFibGUg dDEgKGMxIGNoYXIoMSkgY2hhcmFjdGVyIHNldCB1Y3MyIGNvbGxhdGUgdWNzMl92bl9jaSk7Citp bnNlcnQgaW50byB0MSB2YWx1ZXMgKDB4MDA2MSk7CistLWVuYWJsZV9tZXRhZGF0YQorc2V0IEBA Y2hhcmFjdGVyX3NldF9yZXN1bHRzPU5VTEw7CitzZWxlY3QgKiBmcm9tIHQxOworLS1kaXNhYmxl X21ldGFkYXRhCitkcm9wIHRhYmxlIHQxOwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3QvdC9p bXBsaWNpdF9jb21taXQudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L2ltcGxpY2l0X2NvbW1pdC50 ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L2ltcGxpY2l0 X2NvbW1pdC50ZXN0CTIwMDgtMDctMjcgMTM6MTQ6NDYgKzAwMDAKQEAgLTAsMCArMSwxMTcyIEBA Citzb3VyY2UgaW5jbHVkZS9oYXZlX2lubm9kYi5pbmM7Citzb3VyY2UgaW5jbHVkZS9ub3RfZW1i ZWRkZWQuaW5jOworCitTRVQgR0xPQkFMIEVWRU5UX1NDSEVEVUxFUiA9IE9GRjsKK1NFVCBCSU5M T0dfRk9STUFUID0gU1RBVEVNRU5UOworCitMRVQgJE9MRF9EQj0gYFNFTEVDVCBEQVRBQkFTRSgp YDsKKworQ1JFQVRFIERBVEFCQVNFIGRiMTsKK1VTRSBkYjE7CitDUkVBVEUgVEFCTEUgdDEgKGEg SU5ULCBLRVkgYShhKSkgRU5HSU5FPUlOTk9EQjsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSks KDIpLCgzKSwoNCksKDUpOworQ1JFQVRFIFRBQkxFIHQzIChhIElOVCkgRU5HSU5FPU15SVNBTTsK K0lOU0VSVCBJTlRPIHQzIFNFTEVDVCAqIEZST00gdDE7CitDUkVBVEUgVEFCTEUgdHJhbnMgKGEg SU5UKSBFTkdJTkU9SU5OT0RCOworCitERUxJTUlURVIgfDsKKworQ1JFQVRFIFBST0NFRFVSRSB0 ZXN0X2lmX2NvbW1pdCgpCitCRUdJTgorICBST0xMQkFDSzsKKyAgU0VMRUNUIElGIChDT1VOVCgq KSA+IDAsICJZRVMiLCAiTk8iKSBBUyAiSU1QTElDSVQgQ09NTUlUIiBGUk9NIHRyYW5zOworICBE RUxFVEUgRlJPTSB0cmFuczsKKyAgQ09NTUlUOworRU5EfAorCitERUxJTUlURVIgO3wKKworU0VU IEFVVE9DT01NSVQgPSBGQUxTRTsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TRUxFQ1QK Ky0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzZWxlY3QgMSBhcyByZXMgZnJvbSB0MSB3 aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRf Y29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRFX1RB QkxFIExJS0UKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBjcmVhdGUgdGFibGUgdDIg bGlrZSB0MTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCist LWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfQ1JFQVRFCistLWVjaG8gIworCitsZXQgJHN0 YXRlbWVudD0KKyAgc2hvdyBjcmVhdGUgdGFibGUgdDI7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNp dF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9EUk9QX1RB QkxFCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgZHJvcCB0YWJsZSB0MjsKK3NvdXJj ZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hv ICMgU1FMQ09NX0NSRUFURV9UQUJMRSBURU1QT1JBUlkKKy0tZWNobyAjCisKK2xldCAkc3RhdGVt ZW50PQorICBjcmVhdGUgdGVtcG9yYXJ5IHRhYmxlIHQyIGFzIHNlbGVjdCAqIGZyb20gdDE7Citz b3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0t ZWNobyAjIFNRTENPTV9EUk9QX1RBQkxFIFRFTVBPUkFSWQorLS1lY2hvICMKKworbGV0ICRzdGF0 ZW1lbnQ9CisgIGRyb3AgdGVtcG9yYXJ5IHRhYmxlIHQyOworc291cmNlIGluY2x1ZGUvaW1wbGlj aXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRF X1RBQkxFCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgY3JlYXRlIHRhYmxlIHQyIGFz IHNlbGVjdCAqIGZyb20gdDE7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVy LmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9VUERBVEUKKy0tZWNobyAjCisKK2xl dCAkc3RhdGVtZW50PQorICB1cGRhdGUgdDIgc2V0IGE9YSsxIHdoZXJlICgxKSBpbiAoc2VsZWN0 ICogZnJvbSB0MSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsK KworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9JTlNFUlQKKy0tZWNobyAjCisKK2xldCAkc3Rh dGVtZW50PQorICBpbnNlcnQgaW50byB0MiBzZXQgYT0oKDEpIGluIChzZWxlY3QgKiBmcm9tIHQx KSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hv ICMKKy0tZWNobyAjIFNRTENPTV9JTlNFUlRfU0VMRUNUCistLWVjaG8gIworCitsZXQgJHN0YXRl bWVudD0KKyAgaW5zZXJ0IGludG8gdDIgc2VsZWN0ICogZnJvbSB0MTsKK3NvdXJjZSBpbmNsdWRl L2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09N X1JFUExBQ0UKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICByZXBsYWNlIHQyIHNldCBh PSgoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpKTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2Nv bW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1JFUExBQ0VfU0VM RUNUCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgcmVwbGFjZSB0MiBzZWxlY3QgKiBm cm9tIHQxOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0t ZWNobyAjCistLWVjaG8gIyBTUUxDT01fREVMRVRFCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVu dD0KKyAgZGVsZXRlIGZyb20gdDIgd2hlcmUgKDEpIGluIChzZWxlY3QgKiBmcm9tIHQxKTsKK3Nv dXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1l Y2hvICMgU1FMQ09NX0RFTEVURV9NVUxUSQorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9Cisg IGRlbGV0ZSB0MiwgdDMgZnJvbSB0MiwgdDMgd2hlcmUgKDEpIGluIChzZWxlY3QgKiBmcm9tIHQx KTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8g IworLS1lY2hvICMgU1FMQ09NX1VQREFURV9NVUxUSQorLS1lY2hvICMKKworc2VsZWN0ICogZnJv bSB0MjsKK2xldCAkc3RhdGVtZW50PQorICB1cGRhdGUgdDIsIHQzIHNldCB0My5hPXQyLmEsIHQy LmE9bnVsbCB3aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworc291cmNlIGluY2x1ZGUv aW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01f TE9BRAorLS1lY2hvICMKKworY3JlYXRlIHRhYmxlIHQ0IChhIHZhcmNoYXIoMTAwKSk7CisKK2xl dCAkc3RhdGVtZW50PQorICBsb2FkIGRhdGEgaW5maWxlICcuLi9zdGRfZGF0YV9sbi93b3Jkcy5k YXQnIGludG8gdGFibGUgdDQ7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVy LmluYzsKKworZHJvcCB0YWJsZSB0NDsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9X X0RBVEFCQVNFUworLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgZGF0YWJhc2Vz IHdoZXJlICgxKSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNp dF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX1RB QkxFUworLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgdGFibGVzIHdoZXJlICgx KSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRf aGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX0ZJRUxEUworLS1l Y2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgZmllbGRzIGZyb20gdDEgd2hlcmUgKDEp IGluIChzZWxlY3QgKiBmcm9tIHQxKTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9o ZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfS0VZUworLS1lY2hv ICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cga2V5cyBmcm9tIHQxIHdoZXJlICgxKSBpbiAo c2VsZWN0ICogZnJvbSB0MSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVy LmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX1ZBUklBQkxFUworLS1lY2hv ICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgdmFyaWFibGVzIHdoZXJlICgxKSBpbiAoc2Vs ZWN0ICogZnJvbSB0MSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmlu YzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX1NUQVRVUworLS1lY2hvICMKKwor IworIyBCdWcjMzc5MDgKKyMKKyNsZXQgJHN0YXRlbWVudD0KKyMgIHNob3cgc3RhdHVzIHdoZXJl ICgxKSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7Cisjc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29t bWl0X2hlbHBlci5pbmM7CisjCisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19FTkdJ TkVfTVVURVgKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IGVuZ2luZSBhbGwg bXV0ZXg7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1l Y2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX1BST0NFU1NMSVNUCistLWVjaG8gIworCitsZXQg JHN0YXRlbWVudD0KKyAgc2hvdyBwcm9jZXNzbGlzdDsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0 X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfRU5H SU5FX0xPR1MKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IGVuZ2luZSBhbGwg bG9nczsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVj aG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfRU5HSU5FX1NUQVRVUworLS1lY2hvICMKKworbGV0 ICRzdGF0ZW1lbnQ9CisgIHNob3cgZW5naW5lIGFsbCBzdGF0dXM7Citzb3VyY2UgaW5jbHVkZS9p bXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9T SE9XX0NIQVJTRVRTCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgc2hvdyBjaGFyc2V0 IHdoZXJlICgxKSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNp dF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX0NP TExBVElPTlMKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IGNvbGxhdGlvbiB3 aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRf Y29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19UQUJM RV9TVEFUVVMKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IHRhYmxlIHN0YXR1 cyB3aGVyZSAoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpOworc291cmNlIGluY2x1ZGUvaW1wbGlj aXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19U UklHR0VSUworLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgdHJpZ2dlcnMgd2hl cmUgKDEpIGluIChzZWxlY3QgKiBmcm9tIHQxKTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2Nv bW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfT1BFTl9U QUJMRVMKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IG9wZW4gdGFibGVzIHdo ZXJlICgxKSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9j b21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX1NUQVRV U19QUk9DCistLWVjaG8gIworCisjCisjIEJ1ZyMzNzkwOAorIworI2xldCAkc3RhdGVtZW50PQor IyAgc2hvdyBwcm9jZWR1cmUgc3RhdHVzIHdoZXJlICgxKSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7 Cisjc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisjCisKKy0tZWNo byAjCistLWVjaG8gIyBTUUxDT01fU0hPV19TVEFUVVNfRlVOQworLS1lY2hvICMKKworIworIyBC dWcjMzc5MDgKKyMKKyNsZXQgJHN0YXRlbWVudD0KKyMgIHNob3cgZnVuY3Rpb24gc3RhdHVzIHdo ZXJlICgxKSBpbiAoc2VsZWN0ICogZnJvbSB0MSk7Cisjc291cmNlIGluY2x1ZGUvaW1wbGljaXRf Y29tbWl0X2hlbHBlci5pbmM7CisjCisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0VUX09Q VElPTgorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNldCBAYT0oKDEpIGluIChzZWxl Y3QgKiBmcm9tIHQxKSk7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmlu YzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9ETworLS1lY2hvICMKKworbGV0ICRzdGF0 ZW1lbnQ9CisgIGRvICgoMSkgaW4gKHNlbGVjdCAqIGZyb20gdDEpKTsKK3NvdXJjZSBpbmNsdWRl L2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09N X0NBTEwKKy0tZWNobyAjCisKK2NyZWF0ZSBwcm9jZWR1cmUgcDEoYSBpbnQpIGJlZ2luIGVuZDsK KworIworIyBCdWcjMzc5NDkKKyMKKyNsZXQgJHN0YXRlbWVudD0KKyMgIGNhbGwgcDEoKDEpIGlu IChzZWxlY3QgKiBmcm9tIHQxKSk7Cisjc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hl bHBlci5pbmM7CisjCisKK2Ryb3AgcHJvY2VkdXJlIHAxOworCistLWVjaG8gIworLS1lY2hvICMg U1FMQ09NX0NSRUFURV9WSUVXCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgY3JlYXRl IHZpZXcgdjEgYXMgc2VsZWN0ICogZnJvbSB0MTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2Nv bW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX0FMVEVSX1ZJRVcK Ky0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBhbHRlciB2aWV3IHYxIGFzIHNlbGVjdCAy Oworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAj CistLWVjaG8gIyBTUUxDT01fRFJPUF9WSUVXCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0K KyAgZHJvcCB2aWV3IHYxOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5p bmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRFX0lOREVYCistLWVjaG8gIwor CitsZXQgJHN0YXRlbWVudD0KKyAgY3JlYXRlIGluZGV4IGlkeDEgb24gdDEoYSk7Citzb3VyY2Ug aW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAj IFNRTENPTV9EUk9QX0lOREVYCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgZHJvcCBp bmRleCBpZHgxIG9uIHQxOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5p bmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQUxURVJfVEFCTEUKKy0tZWNobyAjCisK K2xldCAkc3RhdGVtZW50PQorICBhbHRlciB0YWJsZSB0MSBhZGQgY29sdW1uIGIgaW50Oworc291 cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKK2xldCAkc3RhdGVtZW50 PQorICBhbHRlciB0YWJsZSB0MSBjaGFuZ2UgYiBjIGludDsKK3NvdXJjZSBpbmNsdWRlL2ltcGxp Y2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCitsZXQgJHN0YXRlbWVudD0KKyAgYWx0ZXIgdGFibGUg dDEgZHJvcCBjb2x1bW4gYzsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIu aW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX0FMVEVSX1RBQkxFIFRFTVBPUkFSWQor LS1lY2hvICMKKworY3JlYXRlIHRlbXBvcmFyeSB0YWJsZSB0NCAoYSBpbnQpOworCitsZXQgJHN0 YXRlbWVudD0KKyAgYWx0ZXIgdGFibGUgdDEgYWRkIGNvbHVtbiBiIGludDsKK3NvdXJjZSBpbmNs dWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCitsZXQgJHN0YXRlbWVudD0KKyAgYWx0 ZXIgdGFibGUgdDEgY2hhbmdlIGIgYyBpbnQ7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21t aXRfaGVscGVyLmluYzsKKworbGV0ICRzdGF0ZW1lbnQ9CisgIGFsdGVyIHRhYmxlIHQxIGRyb3Ag Y29sdW1uIGM7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKwor ZHJvcCB0YWJsZSB0NDsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9UUlVOQ0FURQorLS1l Y2hvICMKKworaW5zZXJ0IGludG8gdDIgc2VsZWN0ICogZnJvbSB0MTsKK2xldCAkc3RhdGVtZW50 PQorICB0cnVuY2F0ZSB0YWJsZSB0MjsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9o ZWxwZXIuaW5jOworaW5zZXJ0IGludG8gdDIgc2VsZWN0ICogZnJvbSB0MTsKKworLS1lY2hvICMK Ky0tZWNobyAjIFNRTENPTV9UUlVOQ0FURSBURU1QT1JBUlkKKy0tZWNobyAjCisKK2NyZWF0ZSB0 ZW1wb3JhcnkgdGFibGUgdDQgYXMgc2VsZWN0ICogZnJvbSB0MTsKK2xldCAkc3RhdGVtZW50PQor ICB0cnVuY2F0ZSB0YWJsZSB0NDsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxw ZXIuaW5jOworZHJvcCB0ZW1wb3JhcnkgdGFibGUgdDQ7CisKKy0tZWNobyAjCistLWVjaG8gIyBT UUxDT01fU0hPV19NQVNURVJfU1RBVAorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNo b3cgbWFzdGVyIHN0YXR1czsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIu aW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfU0xBVkVfU1RBVAorLS1lY2hv ICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgc2xhdmUgc3RhdHVzOworc291cmNlIGluY2x1 ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxD T01fR1JBTlQKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBncmFudCBhbGwgb24gdGVz dC50MSB0byBteXNxbHRlc3RfMkBsb2NhbGhvc3Qgd2l0aCBncmFudCBvcHRpb247Citzb3VyY2Ug aW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAj IFNRTENPTV9SRVZPS0UKKy0tZWNobyAjCitsZXQgJHN0YXRlbWVudD0KKyAgcmV2b2tlIHNlbGVj dCBvbiB0ZXN0LnQxIGZyb20gbXlzcWx0ZXN0XzJAbG9jYWxob3N0Oworc291cmNlIGluY2x1ZGUv aW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01f UkVWT0tFX0FMTAorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHJldm9rZSBhbGwgb24g dGVzdC50MSBmcm9tIG15c3FsdGVzdF8yQGxvY2FsaG9zdDsKK3NvdXJjZSBpbmNsdWRlL2ltcGxp Y2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1df R1JBTlRTCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgc2hvdyBncmFudHM7Citzb3Vy Y2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworbGV0ICRzdGF0ZW1lbnQ9 CisgIHNob3cgZ3JhbnRzIGZvciBjdXJyZW50X3VzZXIoKTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxp Y2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX0xPQ0tf VEFCTEVTCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgbG9jayB0YWJsZXMgdDEgd3Jp dGUsIHRyYW5zIHdyaXRlOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5p bmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fVU5MT0NLX1RBQkxFUworLS1lY2hvICMK KworbGV0ICRzdGF0ZW1lbnQ9CisgIHVubG9jayB0YWJsZXM7Citzb3VyY2UgaW5jbHVkZS9pbXBs aWNpdF9jb21taXRfaGVscGVyLmluYzsKKworIworIyBNaXNzaW5nIHRlc3QgZm9yIGxvY2sgdGFi bGVzIHRyYW5zYWN0aW9uYWwuCisjCisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRF X0RCCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgY3JlYXRlIGRhdGFiYXNlIGRiMjsK K3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIwor LS1lY2hvICMgU1FMQ09NX0NIQU5HRV9EQgorLS1lY2hvICMKKworY3JlYXRlIHRhYmxlIGRiMi50 MSAoYSBpbnQpOworaW5zZXJ0IGludG8gZGIyLnQxIHZhbHVlcyAoMSk7Citjb21taXQ7CisKK2xl dCAkc3RhdGVtZW50PQorICB1c2UgZGIyOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0 X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19DUkVBVEVfREIK Ky0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IGNyZWF0ZSBkYXRhYmFzZSBkYjI7 Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMK Ky0tZWNobyAjIFNRTENPTV9BTFRFUl9EQgorLS1lY2hvICMKKworI2xldCAkc3RhdGVtZW50PQor IyAgYWx0ZXIgZGF0YWJhc2UgZGIyIGNoYXJhY3RlciBzZXQga29pOHI7Cisjc291cmNlIGluY2x1 ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKyNsZXQgJHN0YXRlbWVudD0KKyMgIGFs dGVyIGRhdGFiYXNlIGRiMiBjb2xsYXRlIGNwMTI1MV9nZW5lcmFsX2NzOworI3NvdXJjZSBpbmNs dWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FM Q09NX0FMVEVSX0RCX1VQR1JBREUKKy0tZWNobyAjCisKKyNsZXQgJHN0YXRlbWVudD0KKyMgIGFs dGVyIGRhdGFiYXNlIGAjbXlzcWw1MCNkYjNgIHVwZ3JhZGUgZGF0YSBkaXJlY3RvcnkgbmFtZTsK KyNzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMK Ky0tZWNobyAjIFNRTENPTV9EUk9QX0RCCistLWVjaG8gIworCit1c2UgZGIxOworCitsZXQgJHN0 YXRlbWVudD0KKyAgZHJvcCBkYXRhYmFzZSBkYjI7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9j b21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9SRVBBSVIKKy0t ZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICByZXBhaXIgdGFibGUgdDI7Citzb3VyY2UgaW5j bHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHJl cGFpciB0YWJsZSB0MiB1c2VfZnJtOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hl bHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fT1BUSU1JWkUKKy0tZWNobyAj CisKK2xldCAkc3RhdGVtZW50PQorICBvcHRpbWl6ZSB0YWJsZSB0MTsKK3NvdXJjZSBpbmNsdWRl L2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09N X0NIRUNLCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgY2hlY2sgdGFibGUgdDE7Citz b3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworbGV0ICRzdGF0ZW1l bnQ9CisgIGNoZWNrIHRhYmxlIHQxIGV4dGVuZGVkOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRf Y29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQVNTSUdOX1RP X0tFWUNBQ0hFCistLWVjaG8gIworCitzZXQgZ2xvYmFsIGtleWNhY2hlLmtleV9idWZmZXJfc2l6 ZT0xMjgqMTAyNDsKKworbGV0ICRzdGF0ZW1lbnQ9CisgIGNhY2hlIGluZGV4IHQzIGluIGtleWNh Y2hlOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKK3NldCBn bG9iYWwga2V5Y2FjaGUua2V5X2J1ZmZlcl9zaXplPTA7CisKKy0tZWNobyAjCistLWVjaG8gIyBT UUxDT01fUFJFTE9BRF9LRVlTCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgbG9hZCBp bmRleCBpbnRvIGNhY2hlIHQzOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBl ci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fRkxVU0gKKy0tZWNobyAjCisKK2xl dCAkc3RhdGVtZW50PQorICBmbHVzaCBsb2NhbCBwcml2aWxlZ2VzOworc291cmNlIGluY2x1ZGUv aW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKK2xldCAkc3RhdGVtZW50PQorICBmbHVzaCBw cml2aWxlZ2VzOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisK Ky0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fS0lMTAorLS1lY2hvICMKKworLS1lY2hvICMKKy0t ZWNobyAjIFNRTENPTV9BTkFMWVpFCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgYW5h bHl6ZSB0YWJsZSB0MTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5j OworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1JPTExCQUNLCistLWVjaG8gIworCitsZXQg JHN0YXRlbWVudD0KKyAgcm9sbGJhY2s7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRf aGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9ST0xMQkFDS19UT19TQVZF UE9JTlQKKy0tZWNobyAjCisKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9DT01NSVQKKy0t ZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBjb21taXQ7Citzb3VyY2UgaW5jbHVkZS9pbXBs aWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TQVZF UE9JTlQKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzYXZlcG9pbnQgc3AxOworc291 cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVj aG8gIyBTUUxDT01fUkVMRUFTRV9TQVZFUE9JTlQKKy0tZWNobyAjCisKKy0tZWNobyAjCistLWVj aG8gIyBTUUxDT01fU0xBVkVfU1RBUlQKKy0tZWNobyAjCisKKy0tZWNobyAjCistLWVjaG8gIyBT UUxDT01fU0xBVkVfU1RPUAorLS1lY2hvICMKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9C RUdJTgorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIGJlZ2luOworc291cmNlIGluY2x1 ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxD T01fQ0hBTkdFX01BU1RFUgorLS1lY2hvICMKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9S RU5BTUVfVEFCTEUKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICByZW5hbWUgdGFibGUg dDMgdG8gdDQ7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKwor bGV0ICRzdGF0ZW1lbnQ9CisgIHJlbmFtZSB0YWJsZSB0NCB0byB0MzsKK3NvdXJjZSBpbmNsdWRl L2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09N X1JFU0VUCistLWVjaG8gIworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1BVUkdFCistLWVj aG8gIworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1BVUkdFX0JFRk9SRQorLS1lY2hvICMK KworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX0JJTkxPR1MKKy0tZWNobyAjCisKKy0t ZWNobyAjCistLWVjaG8gIyBTUUxDT01fSEFfT1BFTgorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1l bnQ9CisgIGhhbmRsZXIgdDEgb3BlbiBhcyBoYTE7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9j b21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9IQV9SRUFECist LWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgaGFuZGxlciBoYTEgcmVhZCBhIGZpcnN0Owor c291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCist LWVjaG8gIyBTUUxDT01fSEFfQ0xPU0UKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBo YW5kbGVyIGhhMSBjbG9zZTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIu aW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfU0xBVkVfSE9TVFMKKy0tZWNo byAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IHNsYXZlIGhvc3RzOworc291cmNlIGluY2x1 ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxD T01fU0hPV19CSU5MT0dfRVZFTlRTCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgc2hv dyBiaW5sb2cgZXZlbnRzOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5p bmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19ORVdfTUFTVEVSCistLWVjaG8g IworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfV0FSTlMKKy0tZWNobyAjCisKK2xl dCAkc3RhdGVtZW50PQorICBzaG93IHdhcm5pbmdzOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRf Y29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fRU1QVFlfUVVF UlkKKy0tZWNobyAjCisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19FUlJPUlMKKy0t ZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IGVycm9yczsKK3NvdXJjZSBpbmNsdWRl L2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09N X1NIT1dfU1RPUkFHRV9FTkdJTkVTCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgc2hv dyBlbmdpbmVzOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisK Ky0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19QUklWSUxFR0VTCistLWVjaG8gIworCits ZXQgJHN0YXRlbWVudD0KKyAgc2hvdyBwcml2aWxlZ2VzOworc291cmNlIGluY2x1ZGUvaW1wbGlj aXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fSEVMUAor LS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIGhlbHAgJ2Zvbyc7Citzb3VyY2UgaW5jbHVk ZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENP TV9DUkVBVEVfVVNFUgorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIGNyZWF0ZSB1c2Vy IHRyeHVzcjE7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKwor LS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9SRU5BTUVfVVNFUgorLS1lY2hvICMKKworbGV0ICRz dGF0ZW1lbnQ9CisgIHJlbmFtZSB1c2VyICd0cnh1c3IxJyB0byAndHJ4dXNyMic7Citzb3VyY2Ug aW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAj IFNRTENPTV9EUk9QX1VTRVIKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBkcm9wIHVz ZXIgdHJ4dXNyMjsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOwor CistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX0NIRUNLU1VNCistLWVjaG8gIworCitsZXQgJHN0 YXRlbWVudD0KKyAgY2hlY2tzdW0gdGFibGUgdDE7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9j b21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9DUkVBVEVfUFJP Q0VEVVJFCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgY3JlYXRlIHByb2NlZHVyZSBw MShhIGludCkgYmVnaW4gZW5kOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBl ci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQUxURVJfUFJPQ0VEVVJFCistLWVj aG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgYWx0ZXIgcHJvY2VkdXJlIHAxIGNvbW1lbnQgJ2Zv b2Jhcic7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1l Y2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX0NSRUFURV9QUk9DCistLWVjaG8gIworCitsZXQg JHN0YXRlbWVudD0KKyAgc2hvdyBjcmVhdGUgcHJvY2VkdXJlIHAxOworc291cmNlIGluY2x1ZGUv aW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01f U0hPV19TVEFUVVNfUFJPQworLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgcHJv Y2VkdXJlIHN0YXR1czsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5j OworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfUFJPQ19DT0RFCistLWVjaG8gIwor CisjCisjIEF2YWlsYWJsZSBvbmx5IG9uIHNlcnZlcnMgd2l0aCBkZWJ1Z2dpbmcgc3VwcG9ydC4K KyMKKworLS1kaXNhYmxlX2Fib3J0X29uX2Vycm9yCitsZXQgJHN0YXRlbWVudD0KKyAgc2hvdyBw cm9jZWR1cmUgY29kZSBwMTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIu aW5jOworLS1lbmFibGVfYWJvcnRfb25fZXJyb3IKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENP TV9EUk9QX1BST0NFRFVSRQorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIGRyb3AgcHJv Y2VkdXJlIHAxOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisK Ky0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRFX0ZVTkNUSU9OCistLWVjaG8gIworCist LWVjaG8gIworLS1lY2hvICMgU1FMQ09NX0RST1BfRlVOQ1RJT04KKy0tZWNobyAjCisKKy0tZWNo byAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRFX1NQRlVOQ1RJT04KKy0tZWNobyAjCisKK2xldCAk c3RhdGVtZW50PQorICBjcmVhdGUgZnVuY3Rpb24gZjEoKSByZXR1cm5zIGludCByZXR1cm4gNjk7 Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMK Ky0tZWNobyAjIFNRTENPTV9BTFRFUl9GVU5DVElPTgorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1l bnQ9CisgIGFsdGVyIGZ1bmN0aW9uIGYxIGNvbW1lbnQgJ2NvbW1lbnQnOworc291cmNlIGluY2x1 ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxD T01fU0hPV19DUkVBVEVfRlVOQworLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cg Y3JlYXRlIGZ1bmN0aW9uIGYxOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBl ci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19TVEFUVVNfRlVOQworLS1l Y2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgZnVuY3Rpb24gc3RhdHVzIGxpa2UgJyVm JSc7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hv ICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX0ZVTkNfQ09ERQorLS1lY2hvICMKKworIworIyBBdmFp bGFibGUgb25seSBvbiBzZXJ2ZXJzIHdpdGggZGVidWdnaW5nIHN1cHBvcnQuCisjCisKKy0tZGlz YWJsZV9hYm9ydF9vbl9lcnJvcgorbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgZnVuY3Rpb24gY29k ZSBmMTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxwZXIuaW5jOworLS1lbmFi bGVfYWJvcnRfb25fZXJyb3IKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9QUkVQQVJFCist LWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgcHJlcGFyZSBzdG10MSBmcm9tICJpbnNlcnQg aW50byB0MSB2YWx1ZXMgKDUpIjsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1pdF9oZWxw ZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX0VYRUNVVEUKKy0tZWNobyAjCisK K2xldCAkc3RhdGVtZW50PQorICBleGVjdXRlIHN0bXQxOworc291cmNlIGluY2x1ZGUvaW1wbGlj aXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fREVBTExP Q0FURV9QUkVQQVJFCistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgZGVhbGxvY2F0ZSBw cmVwYXJlIHN0bXQxOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7 CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRFX1RSSUdHRVIKKy0tZWNobyAjCisK K2xldCAkc3RhdGVtZW50PQorICBjcmVhdGUgdHJpZ2dlciB0cmcxIGJlZm9yZSBpbnNlcnQgb24g dDEgZm9yIGVhY2ggcm93IHNldCBAYTo9MTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2NvbW1p dF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1NIT1dfQ1JFQVRFX1RS SUdHRVIKKy0tZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBzaG93IGNyZWF0ZSB0cmlnZ2Vy IHRyZzE7Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1l Y2hvICMKKy0tZWNobyAjIFNRTENPTV9EUk9QX1RSSUdHRVIKKy0tZWNobyAjCisKK2xldCAkc3Rh dGVtZW50PQorICBkcm9wIHRyaWdnZXIgdHJnMTsKK3NvdXJjZSBpbmNsdWRlL2ltcGxpY2l0X2Nv bW1pdF9oZWxwZXIuaW5jOworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1hBX1NUQVJUCist LWVjaG8gIworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1hBX0VORAorLS1lY2hvICMKKwor LS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9YQV9QUkVQQVJFCistLWVjaG8gIworCistLWVjaG8g IworLS1lY2hvICMgU1FMQ09NX1hBX0NPTU1JVAorLS1lY2hvICMKKworLS1lY2hvICMKKy0tZWNo byAjIFNRTENPTV9YQV9ST0xMQkFDSworLS1lY2hvICMKKworLS1lY2hvICMKKy0tZWNobyAjIFNR TENPTV9YQV9SRUNPVkVSCistLWVjaG8gIworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX0FM VEVSX1RBQkxFU1BBQ0UKKy0tZWNobyAjCisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fSU5T VEFMTF9QTFVHSU4KKy0tZWNobyAjCisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19Q TFVHSU5TCistLWVjaG8gIworCistLWVjaG8gIworLS1lY2hvICMgU1FMQ09NX1VOSU5TVEFMTF9Q TFVHSU4KKy0tZWNobyAjCisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19BVVRIT1JT CistLWVjaG8gIworCitsZXQgJHN0YXRlbWVudD0KKyAgc2hvdyBhdXRob3JzOworc291cmNlIGlu Y2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBT UUxDT01fQklOTE9HX0JBU0U2NF9FVkVOVAorLS1lY2hvICMKKworLS1lY2hvICMKKy0tZWNobyAj IFNRTENPTV9TSE9XX0NPTlRSSUJVVE9SUworLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9Cisg IHNob3cgY29udHJpYnV0b3JzOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBl ci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRFX1NFUlZFUgorLS1lY2hv ICMKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9BTFRFUl9TRVJWRVIKKy0tZWNobyAjCisK Ky0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fRFJPUF9TRVJWRVIKKy0tZWNobyAjCisKKy0tZWNo byAjCistLWVjaG8gIyBTUUxDT01fQ1JFQVRFX0VWRU5UCistLWVjaG8gIworCitsZXQgJHN0YXRl bWVudD0KKyAgY3JlYXRlIGV2ZW50IGV2MSBvbiBzY2hlZHVsZSBldmVyeSAxIHNlY29uZCBkbyBp bnNlcnQgaW50byB0MSB2YWx1ZXMgKDYpOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0 X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQUxURVJfRVZFTlQKKy0t ZWNobyAjCisKK2xldCAkc3RhdGVtZW50PQorICBhbHRlciBldmVudCBldjEgcmVuYW1lIHRvIGV2 MiBkaXNhYmxlOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisK Ky0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19DUkVBVEVfRVZFTlQKKy0tZWNobyAjCisK K2xldCAkc3RhdGVtZW50PQorICBzaG93IGNyZWF0ZSBldmVudCBldjI7Citzb3VyY2UgaW5jbHVk ZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMKKy0tZWNobyAjIFNRTENP TV9TSE9XX0VWRU5UUworLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgZXZlbnRz Oworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAj CistLWVjaG8gIyBTUUxDT01fRFJPUF9FVkVOVAorLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9 CisgIGRyb3AgZXZlbnQgZXYyOworc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBl ci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fQkFDS1VQCistLWVjaG8gIworCits ZXQgJHN0YXRlbWVudD0KKyAgYmFja3VwIGRhdGFiYXNlIGRiMSB0byAnYmFja3VwX2RiMS5iYSc7 Citzb3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1lY2hvICMK Ky0tZWNobyAjIFNRTENPTV9TSE9XX0FSQ0hJVkUKKy0tZWNobyAjCisKKyMKKyMgLS1lcnJvciBF Ul9OT1RfQUxMT1dFRF9DT01NQU5ECisjCisjbGV0ICRzdGF0ZW1lbnQ9CisjICBzaG93IGJhY2t1 cCAnYmFja3VwX2RiMS5iYSc7Cisjc291cmNlIGluY2x1ZGUvaW1wbGljaXRfY29tbWl0X2hlbHBl ci5pbmM7CisjCisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fUkVTVE9SRQorLS1lY2hvICMK KworbGV0ICRzdGF0ZW1lbnQ9CisgIHJlc3RvcmUgZnJvbSAnYmFja3VwX2RiMS5iYSc7Citzb3Vy Y2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworLS1yZW1vdmVfZmlsZSAk TVlTUUxURVNUX1ZBUkRJUi9tYXN0ZXItZGF0YS9iYWNrdXBfZGIxLmJhCisKKy0tZWNobyAjCist LWVjaG8gIyBTUUxDT01fQkFDS1VQX1RFU1QKKy0tZWNobyAjCisKKyMgQkFDS1VQX1RFU1QKKwor LS1lY2hvICMKKy0tZWNobyAjIFNRTENPTV9TSE9XX1BST0ZJTEUKKy0tZWNobyAjCisKK2xldCAk c3RhdGVtZW50PQorICBzaG93IHByb2ZpbGUgbWVtb3J5Oworc291cmNlIGluY2x1ZGUvaW1wbGlj aXRfY29tbWl0X2hlbHBlci5pbmM7CisKKy0tZWNobyAjCistLWVjaG8gIyBTUUxDT01fU0hPV19Q Uk9GSUxFUworLS1lY2hvICMKKworbGV0ICRzdGF0ZW1lbnQ9CisgIHNob3cgcHJvZmlsZXM7Citz b3VyY2UgaW5jbHVkZS9pbXBsaWNpdF9jb21taXRfaGVscGVyLmluYzsKKworRFJPUCBUQUJMRSB0 MTsKK0RST1AgVEFCTEUgdDI7CitEUk9QIFRBQkxFIHQzOworZXZhbCBVU0UgJE9MRF9EQjsKK0RS T1AgREFUQUJBU0UgZGIxOworCistLWVjaG8gRW5kIG9mIHRlc3RzCgo9PT0gbW9kaWZpZWQgZmls ZSAnbXlzeXMvY2hhcnNldC5jJwotLS0gYS9teXN5cy9jaGFyc2V0LmMJMjAwOC0wMi0xOSAyMTo1 MzozMyArMDAwMAorKysgYi9teXN5cy9jaGFyc2V0LmMJMjAwOC0wNy0yNCAxMTozMzozNSArMDAw MApAQCAtNDEwLDcgKzQxMCw3IEBAIGNoYXIgKmdldF9jaGFyc2V0c19kaXIoY2hhciAqYnVmKQog ICBEQlVHX1JFVFVSTihyZXMpOwogfQogCi1DSEFSU0VUX0lORk8gKmFsbF9jaGFyc2V0c1syNTZd OworQ0hBUlNFVF9JTkZPICphbGxfY2hhcnNldHNbTVlfQUxMX0NIQVJTRVRTX1NJWkVdOwogQ0hB UlNFVF9JTkZPICpkZWZhdWx0X2NoYXJzZXRfaW5mbyA9ICZteV9jaGFyc2V0X2xhdGluMTsKIAog dm9pZCBhZGRfY29tcGlsZWRfY29sbGF0aW9uKENIQVJTRVRfSU5GTyAqY3MpCgo9PT0gbW9kaWZp ZWQgZmlsZSAnc2NyaXB0cy9teXNxbF9zeXN0ZW1fdGFibGVzLnNxbCcKLS0tIGEvc2NyaXB0cy9t eXNxbF9zeXN0ZW1fdGFibGVzLnNxbAkyMDA4LTA3LTMxIDExOjM3OjA3ICswMDAwCisrKyBiL3Nj cmlwdHMvbXlzcWxfc3lzdGVtX3RhYmxlcy5zcWwJMjAwOC0wOC0wNyAwMzowNTozMyArMDAwMApA QCAtMTMsNyArMTMsNyBAQCBzZXQgQGhhZF9kYl90YWJsZT0gQEB3YXJuaW5nX2NvdW50ICE9IDA7 CiBDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBob3N0ICggIEhvc3QgY2hhcig2MCkgYmluYXJ5 IERFRkFVTFQgJycgTk9UIE5VTEwsIERiIGNoYXIoNjQpIGJpbmFyeSBERUZBVUxUICcnIE5PVCBO VUxMLCBTZWxlY3RfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERF RkFVTFQgJ04nIE5PVCBOVUxMLCBJbnNlcnRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRm OF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBVcGRhdGVfcHJpdiBlbnVtKCdOJywn WScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBEZWxldGVf cHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5P VCBOVUxMLCBDcmVhdGVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2Np IERFRkFVTFQgJ04nIE5PVCBOVUxMLCBEcm9wX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0 ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgR3JhbnRfcHJpdiBlbnVtKCdOJywn WScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBSZWZlcmVu Y2VzX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdO JyBOT1QgTlVMTCwgSW5kZXhfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFs X2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBBbHRlcl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFU RSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV90bXBfdGFibGVf cHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5P VCBOVUxMLCBMb2NrX3RhYmxlc19wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVy YWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV92aWV3X3ByaXYgZW51bSgnTicsJ1kn KSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgU2hvd192aWV3 X3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBO T1QgTlVMTCwgQ3JlYXRlX3JvdXRpbmVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9n ZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBBbHRlcl9yb3V0aW5lX3ByaXYgZW51bSgn TicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgRXhl Y3V0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAn TicgTk9UIE5VTEwsIFRyaWdnZXJfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5l cmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBQUklNQVJZIEtFWSBIb3N0IChIb3N0LERiKSAp IGVuZ2luZT1NeUlTQU0gQ0hBUkFDVEVSIFNFVCB1dGY4IENPTExBVEUgdXRmOF9iaW4gY29tbWVu dD0nSG9zdCBwcml2aWxlZ2VzOyAgTWVyZ2VkIHdpdGggZGF0YWJhc2UgcHJpdmlsZWdlcyc7CiAK IAotQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgdXNlciAoICAgSG9zdCBjaGFyKDYwKSBiaW5h cnkgREVGQVVMVCAnJyBOT1QgTlVMTCwgVXNlciBjaGFyKDE2KSBiaW5hcnkgREVGQVVMVCAnJyBO T1QgTlVMTCwgUGFzc3dvcmQgY2hhcig0MSkgY2hhcmFjdGVyIHNldCBsYXRpbjEgY29sbGF0ZSBs YXRpbjFfYmluIERFRkFVTFQgJycgTk9UIE5VTEwsIFNlbGVjdF9wcml2IGVudW0oJ04nLCdZJykg Q09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIEluc2VydF9wcml2 IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5V TEwsIFVwZGF0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVG QVVMVCAnTicgTk9UIE5VTEwsIERlbGV0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4 X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV9wcml2IGVudW0oJ04nLCdZ JykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIERyb3BfcHJp diBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBO VUxMLCBSZWxvYWRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERF RkFVTFQgJ04nIE5PVCBOVUxMLCBTaHV0ZG93bl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1 dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFByb2Nlc3NfcHJpdiBlbnVtKCdO JywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBGaWxl X3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBO T1QgTlVMTCwgR3JhbnRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2Np IERFRkFVTFQgJ04nIE5PVCBOVUxMLCBSZWZlcmVuY2VzX3ByaXYgZW51bSgnTicsJ1knKSBDT0xM QVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgSW5kZXhfcHJpdiBlbnVt KCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBB bHRlcl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAn TicgTk9UIE5VTEwsIFNob3dfZGJfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5l cmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBTdXBlcl9wcml2IGVudW0oJ04nLCdZJykgQ09M TEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV90bXBfdGFi bGVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04n IE5PVCBOVUxMLCBMb2NrX3RhYmxlc19wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dl bmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIEV4ZWN1dGVfcHJpdiBlbnVtKCdOJywnWScp IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBSZXBsX3NsYXZl X3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBO T1QgTlVMTCwgUmVwbF9jbGllbnRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5l cmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBDcmVhdGVfdmlld19wcml2IGVudW0oJ04nLCdZ JykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFNob3dfdmll d19wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicg Tk9UIE5VTEwsIENyZWF0ZV9yb3V0aW5lX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0Zjhf Z2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgQWx0ZXJfcm91dGluZV9wcml2IGVudW0o J04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENy ZWF0ZV91c2VyX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZB VUxUICdOJyBOT1QgTlVMTCwgRXZlbnRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9n ZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBUcmlnZ2VyX3ByaXYgZW51bSgnTicsJ1kn KSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgc3NsX3R5cGUg ZW51bSgnJywnQU5ZJywnWDUwOScsICdTUEVDSUZJRUQnKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9j aSBERUZBVUxUICcnIE5PVCBOVUxMLCBzc2xfY2lwaGVyIEJMT0IgTk9UIE5VTEwsIHg1MDlfaXNz dWVyIEJMT0IgTk9UIE5VTEwsIHg1MDlfc3ViamVjdCBCTE9CIE5PVCBOVUxMLCBtYXhfcXVlc3Rp b25zIGludCgxMSkgdW5zaWduZWQgREVGQVVMVCAwICBOT1QgTlVMTCwgbWF4X3VwZGF0ZXMgaW50 KDExKSB1bnNpZ25lZCBERUZBVUxUIDAgIE5PVCBOVUxMLCBtYXhfY29ubmVjdGlvbnMgaW50KDEx KSB1bnNpZ25lZCBERUZBVUxUIDAgIE5PVCBOVUxMLCBtYXhfdXNlcl9jb25uZWN0aW9ucyBpbnQo MTEpIHVuc2lnbmVkIERFRkFVTFQgMCAgTk9UIE5VTEwsIFBSSU1BUlkgS0VZIEhvc3QgKEhvc3Qs VXNlcikgKSBlbmdpbmU9TXlJU0FNIENIQVJBQ1RFUiBTRVQgdXRmOCBDT0xMQVRFIHV0ZjhfYmlu IGNvbW1lbnQ9J1VzZXJzIGFuZCBnbG9iYWwgcHJpdmlsZWdlcyc7CitDUkVBVEUgVEFCTEUgSUYg Tk9UIEVYSVNUUyB1c2VyICggICBIb3N0IGNoYXIoNjApIGJpbmFyeSBERUZBVUxUICcnIE5PVCBO VUxMLCBVc2VyIGNoYXIoMTYpIGJpbmFyeSBERUZBVUxUICcnIE5PVCBOVUxMLCBQYXNzd29yZCBj aGFyKDQxKSBjaGFyYWN0ZXIgc2V0IGxhdGluMSBjb2xsYXRlIGxhdGluMV9iaW4gREVGQVVMVCAn JyBOT1QgTlVMTCwgU2VsZWN0X3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJh bF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgSW5zZXJ0X3ByaXYgZW51bSgnTicsJ1knKSBDT0xM QVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgVXBkYXRlX3ByaXYgZW51 bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwg RGVsZXRlX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxU ICdOJyBOT1QgTlVMTCwgQ3JlYXRlX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2Vu ZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgRHJvcF9wcml2IGVudW0oJ04nLCdZJykgQ09M TEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFJlbG9hZF9wcml2IGVu dW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEws IFNodXRkb3duX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZB VUxUICdOJyBOT1QgTlVMTCwgUHJvY2Vzc19wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4 X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIEZpbGVfcHJpdiBlbnVtKCdOJywnWScp IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBHcmFudF9wcml2 IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5V TEwsIFJlZmVyZW5jZXNfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2Np IERFRkFVTFQgJ04nIE5PVCBOVUxMLCBJbmRleF9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1 dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIEFsdGVyX3ByaXYgZW51bSgnTics J1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgU2hvd19k Yl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicg Tk9UIE5VTEwsIFN1cGVyX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9j aSBERUZBVUxUICdOJyBOT1QgTlVMTCwgQ3JlYXRlX3RtcF90YWJsZV9wcml2IGVudW0oJ04nLCdZ JykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIExvY2tfdGFi bGVzX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdO JyBOT1QgTlVMTCwgRXhlY3V0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVy YWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFJlcGxfc2xhdmVfcHJpdiBlbnVtKCdOJywnWScp IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBSZXBsX2NsaWVu dF9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicg Tk9UIE5VTEwsIENyZWF0ZV92aWV3X3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2Vu ZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgU2hvd192aWV3X3ByaXYgZW51bSgnTicsJ1kn KSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgQ3JlYXRlX3Jv dXRpbmVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQg J04nIE5PVCBOVUxMLCBBbHRlcl9yb3V0aW5lX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0 ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgQ3JlYXRlX3VzZXJfcHJpdiBlbnVt KCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBF dmVudF9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAn TicgTk9UIE5VTEwsIFRyaWdnZXJfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5l cmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBDcmVhdGVfdGFibGVzcGFjZV9wcml2IGVudW0o J04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIHNz bF90eXBlIGVudW0oJycsJ0FOWScsJ1g1MDknLCAnU1BFQ0lGSUVEJykgQ09MTEFURSB1dGY4X2dl bmVyYWxfY2kgREVGQVVMVCAnJyBOT1QgTlVMTCwgc3NsX2NpcGhlciBCTE9CIE5PVCBOVUxMLCB4 NTA5X2lzc3VlciBCTE9CIE5PVCBOVUxMLCB4NTA5X3N1YmplY3QgQkxPQiBOT1QgTlVMTCwgbWF4 X3F1ZXN0aW9ucyBpbnQoMTEpIHVuc2lnbmVkIERFRkFVTFQgMCAgTk9UIE5VTEwsIG1heF91cGRh dGVzIGludCgxMSkgdW5zaWduZWQgREVGQVVMVCAwICBOT1QgTlVMTCwgbWF4X2Nvbm5lY3Rpb25z IGludCgxMSkgdW5zaWduZWQgREVGQVVMVCAwICBOT1QgTlVMTCwgbWF4X3VzZXJfY29ubmVjdGlv bnMgaW50KDExKSB1bnNpZ25lZCBERUZBVUxUIDAgIE5PVCBOVUxMLCBQUklNQVJZIEtFWSBIb3N0 IChIb3N0LFVzZXIpICkgZW5naW5lPU15SVNBTSBDSEFSQUNURVIgU0VUIHV0ZjggQ09MTEFURSB1 dGY4X2JpbiBjb21tZW50PSdVc2VycyBhbmQgZ2xvYmFsIHByaXZpbGVnZXMnOwogCiAtLSBSZW1l bWJlciBmb3IgbGF0ZXIgaWYgdXNlciB0YWJsZSBhbHJlYWR5IGV4aXN0ZWQKIHNldCBAaGFkX3Vz ZXJfdGFibGU9IEBAd2FybmluZ19jb3VudCAhPSAwOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3Njcmlw dHMvbXlzcWxfc3lzdGVtX3RhYmxlc19kYXRhLnNxbCcKLS0tIGEvc2NyaXB0cy9teXNxbF9zeXN0 ZW1fdGFibGVzX2RhdGEuc3FsCTIwMDctMTItMTAgMTE6MjE6NDEgKzAwMDAKKysrIGIvc2NyaXB0 cy9teXNxbF9zeXN0ZW1fdGFibGVzX2RhdGEuc3FsCTIwMDgtMDctMjQgMDc6NDQ6MjEgKzAwMDAK QEAgLTIxLDkgKzIxLDkgQEAgRFJPUCBUQUJMRSB0bXBfZGI7CiAtLSBmcm9tIGxvY2FsIG1hY2hp bmUgaWYgInVzZXJzIiB0YWJsZSBkaWRuJ3QgZXhpc3QgYmVmb3JlCiBDUkVBVEUgVEVNUE9SQVJZ IFRBQkxFIHRtcF91c2VyIExJS0UgdXNlcjsKIHNldCBAY3VycmVudF9ob3N0bmFtZT0gQEBob3N0 bmFtZTsKLUlOU0VSVCBJTlRPIHRtcF91c2VyIFZBTFVFUyAoJ2xvY2FsaG9zdCcsJ3Jvb3QnLCcn LCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScs J1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywn JywnJywnJywnJywwLDAsMCwwKTsKLVJFUExBQ0UgSU5UTyB0bXBfdXNlciBWQUxVRVMgKEBjdXJy ZW50X2hvc3RuYW1lLCdyb290JywnJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZ JywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1kn LCdZJywnWScsJ1knLCdZJywnWScsJycsJycsJycsJycsMCwwLDAsMCk7Ci1SRVBMQUNFIElOVE8g dG1wX3VzZXIgVkFMVUVTICgnMTI3LjAuMC4xJywncm9vdCcsJycsJ1knLCdZJywnWScsJ1knLCdZ JywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1kn LCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCcnLCcnLCcnLCcnLDAsMCwwLDAp OworSU5TRVJUIElOVE8gdG1wX3VzZXIgVkFMVUVTICgnbG9jYWxob3N0Jywncm9vdCcsJycsJ1kn LCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScs J1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywn JywnJywnJywnJywwLDAsMCwwKTsKK1JFUExBQ0UgSU5UTyB0bXBfdXNlciBWQUxVRVMgKEBjdXJy ZW50X2hvc3RuYW1lLCdyb290JywnJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZ JywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1kn LCdZJywnWScsJ1knLCdZJywnWScsJ1knLCcnLCcnLCcnLCcnLDAsMCwwLDApOworUkVQTEFDRSBJ TlRPIHRtcF91c2VyIFZBTFVFUyAoJzEyNy4wLjAuMScsJ3Jvb3QnLCcnLCdZJywnWScsJ1knLCdZ JywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1kn LCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJ1knLCdZJywnWScsJycsJycsJycsJycs MCwwLDAsMCk7CiBJTlNFUlQgSU5UTyB0bXBfdXNlciAoaG9zdCx1c2VyKSBWQUxVRVMgKCdsb2Nh bGhvc3QnLCcnKTsKIElOU0VSVCBJTlRPIHRtcF91c2VyIChob3N0LHVzZXIpIFZBTFVFUyAoQGN1 cnJlbnRfaG9zdG5hbWUsJycpOwogSU5TRVJUIElOVE8gdXNlciBTRUxFQ1QgKiBGUk9NIHRtcF91 c2VyIFdIRVJFIEBoYWRfdXNlcl90YWJsZT0wOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NjcmlwdHMv bXlzcWxfc3lzdGVtX3RhYmxlc19maXguc3FsJwotLS0gYS9zY3JpcHRzL215c3FsX3N5c3RlbV90 YWJsZXNfZml4LnNxbAkyMDA4LTA4LTA1IDIxOjM2OjE0ICswMDAwCisrKyBiL3NjcmlwdHMvbXlz cWxfc3lzdGVtX3RhYmxlc19maXguc3FsCTIwMDgtMDgtMDcgMDM6MDU6MzMgKzAwMDAKQEAgLTU4 Nyw2ICs1ODcsMTggQEAgQUxURVIgVEFCTEUgdGFibGVzX3ByaXYgTU9ESUZZIFRhYmxlX3ByaQog CiBVUERBVEUgdXNlciBTRVQgVHJpZ2dlcl9wcml2PVN1cGVyX3ByaXYgV0hFUkUgQGhhZFRyaWdn ZXJQcml2ID0gMDsKIAorIworIyB1c2VyLkNyZWF0ZV90YWJsZXNwYWNlX3ByaXYKKyMKKworU0VU IEBoYWRDcmVhdGVUYWJsZXNwYWNlUHJpdiA6PSAwOworU0VMRUNUIEBoYWRDcmVhdGVUYWJsZXNw YWNlUHJpdiA6PTEgRlJPTSB1c2VyIFdIRVJFIENyZWF0ZV90YWJsZXNwYWNlX3ByaXYgTElLRSAn JSc7CisKK0FMVEVSIFRBQkxFIHVzZXIgQUREIENyZWF0ZV90YWJsZXNwYWNlX3ByaXYgZW51bSgn TicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCBBRlRF UiBUcmlnZ2VyX3ByaXY7CitBTFRFUiBUQUJMRSB1c2VyIE1PRElGWSBDcmVhdGVfdGFibGVzcGFj ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicg Tk9UIE5VTEwgQUZURVIgVHJpZ2dlcl9wcml2OworCitVUERBVEUgdXNlciBTRVQgQ3JlYXRlX3Rh Ymxlc3BhY2VfcHJpdiA9IFN1cGVyX3ByaXYgV0hFUkUgQGhhZENyZWF0ZVRhYmxlc3BhY2VQcml2 ID0gMDsKKwogIyBBY3RpdmF0ZSB0aGUgbmV3LCBwb3NzaWJsZSBtb2RpZmllZCBwcml2aWxlZ2Ug dGFibGVzCiAjIFRoaXMgc2hvdWxkIG5vdCBiZSBuZWVkZWQsIGJ1dCBnaXZlcyB1cyBzb21lIGV4 dHJhIHRlc3RpbmcgdGhhdCB0aGUgYWJvdmUKICMgY2hhbmdlcyB3YXMgY29ycmVjdAoKPT09IG1v ZGlmaWVkIGZpbGUgJ3NxbC9ldmVudHMuY2MnCi0tLSBhL3NxbC9ldmVudHMuY2MJMjAwOC0wNy0x NyAxOTo1NToxOCArMDAwMAorKysgYi9zcWwvZXZlbnRzLmNjCTIwMDgtMDctMjYgMTY6Mzg6MjAg KzAwMDAKQEAgLTM2MywxNSArMzYzLDYgQEAgRXZlbnRzOjpjcmVhdGVfZXZlbnQoVEhEICp0aGQs IEV2ZW50X3BhcgogICBpbnQgcmV0OwogICBEQlVHX0VOVEVSKCJFdmVudHM6OmNyZWF0ZV9ldmVu dCIpOwogCi0gIC8qCi0gICAgTGV0J3MgY29tbWl0IHRoZSB0cmFuc2FjdGlvbiBmaXJzdCAtIE15 U1FMIG1hbnVhbCBzcGVjaWZpZXMKLSAgICB0aGF0IGEgRERMIGlzc3VlcyBhbiBpbXBsaWNpdCBj b21taXQsIGFuZCBpdCBkb2Vzbid0IHNheSAic3VjY2Vzc2Z1bAotICAgIERETCIsIHNvIHRoYXQg YW4gaW1wbGljaXQgY29tbWl0IGlzIGEgcHJvcGVydHkgb2YgYW55IHN1Y2Nlc3NmdWxseQotICAg IHBhcnNlZCBEREwgc3RhdGVtZW50LgotICAqLwotICBpZiAoZW5kX2FjdGl2ZV90cmFucyh0aGQp KQotICAgIERCVUdfUkVUVVJOKFRSVUUpOwotCiAgIGlmIChjaGVja19pZl9zeXN0ZW1fdGFibGVz X2Vycm9yKCkpCiAgICAgREJVR19SRVRVUk4oVFJVRSk7CiAKQEAgLTQ2NywxMyArNDU4LDYgQEAg RXZlbnRzOjp1cGRhdGVfZXZlbnQoVEhEICp0aGQsIEV2ZW50X3BhcgogCiAgIERCVUdfRU5URVIo IkV2ZW50czo6dXBkYXRlX2V2ZW50Iik7CiAKLSAgLyoKLSAgICBGb3IgY29uc2lzdGVuY3ksIGlt cGxpY2l0IENPTU1JVCBzaG91bGQgYmUgdGhlIGZpcnN0IHRoaW5nIGluIHRoZQotICAgIGV4ZWN1 dGlvbiBjaGFpbi4KLSAgKi8KLSAgaWYgKGVuZF9hY3RpdmVfdHJhbnModGhkKSkKLSAgICBEQlVH X1JFVFVSTihUUlVFKTsKLQogICBpZiAoY2hlY2tfaWZfc3lzdGVtX3RhYmxlc19lcnJvcigpKQog ICAgIERCVUdfUkVUVVJOKFRSVUUpOwogCkBAIC01OTAsMjAgKzU3NCw2IEBAIEV2ZW50czo6ZHJv cF9ldmVudChUSEQgKnRoZCwgTEVYX1NUUklORyAKICAgaW50IHJldDsKICAgREJVR19FTlRFUigi RXZlbnRzOjpkcm9wX2V2ZW50Iik7CiAKLSAgLyoKLSAgICBJbiBNeVNRTCwgRERMIG11c3QgYWx3 YXlzIGNvbW1pdDogc2luY2UgbXlzcWwuKiB0YWJsZXMgYXJlCi0gICAgbm9uLXRyYW5zYWN0aW9u YWwsIHdlIG11c3QgbW9kaWZ5IHRoZW0gb3V0c2lkZSBhIHRyYW5zYWN0aW9uCi0gICAgdG8gbm90 IGJyZWFrIGF0b21pY2l0eS4KLSAgICBCdXQgdGhlIHNlY29uZCBhbmQgbW9yZSBpbXBvcnRhbnQg cmVhc29uIHRvIGNvbW1pdCBoZXJlCi0gICAgcmVnYXJkbGVzcyB3aGV0aGVyIHdlJ3JlIGFjdHVh bGx5IGNoYW5naW5nIG15c3FsLmV2ZW50IHRhYmxlCi0gICAgb3Igbm90IGlzIHJlcGxpY2F0aW9u OiBlbmRfYWN0aXZlX3RyYW5zIHN5bmNzIHRoZSBiaW5hcnkgbG9nLAotICAgIGFuZCB1bmxlc3Mg d2UgcnVuIERETCBpbiBpdCdzIG93biB0cmFuc2FjdGlvbiBpdCBtYXkgc2ltcGx5Ci0gICAgbmV2 ZXIgYXBwZWFyIG9uIHRoZSBzbGF2ZSBpbiBjYXNlIHRoZSBvdXRzaWRlIHRyYW5zYWN0aW9uCi0g ICAgcm9sbHMgYmFjay4KLSAgKi8KLSAgaWYgKGVuZF9hY3RpdmVfdHJhbnModGhkKSkKLSAgICBE QlVHX1JFVFVSTihUUlVFKTsKLQogICBpZiAoY2hlY2tfaWZfc3lzdGVtX3RhYmxlc19lcnJvcigp KQogICAgIERCVUdfUkVUVVJOKFRSVUUpOwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2ZpZWxk LmNjJwotLS0gYS9zcWwvZmllbGQuY2MJMjAwOC0wNy0yNCAxNDozMzoxMCArMDAwMAorKysgYi9z cWwvZmllbGQuY2MJMjAwOC0wNy0yNSAxNzoyMTo1NSArMDAwMApAQCAtMjU5NSw3ICsyNTk1LDcg QEAgaW50IEZpZWxkX25ld19kZWNpbWFsOjpzdG9yZShjb25zdCBjaGFyIAogICAgIFN0cmluZyBm cm9tX2FzX3N0cjsKICAgICBmcm9tX2FzX3N0ci5jb3B5KGZyb20sIGxlbmd0aCwgJm15X2NoYXJz ZXRfYmluKTsKIAotICAgIHB1c2hfd2FybmluZ19wcmludGYodGFibGUtPmluX3VzZSwgTVlTUUxf RVJST1I6OldBUk5fTEVWRUxfRVJST1IsCisgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0YWJsZS0+ aW5fdXNlLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAogICAgICAgICAgICAgICAgICAg ICAgICAgRVJfVFJVTkNBVEVEX1dST05HX1ZBTFVFX0ZPUl9GSUVMRCwKICAgICAgICAgICAgICAg ICAgICAgICAgIEVSKEVSX1RSVU5DQVRFRF9XUk9OR19WQUxVRV9GT1JfRklFTEQpLAogICAgICAg ICAgICAgICAgICAgICAgICAgImRlY2ltYWwiLCBmcm9tX2FzX3N0ci5jX3B0cigpLCBmaWVsZF9u YW1lLApAQCAtNjE5OCwxMSArNjE5OCw5IEBAIGNoZWNrX3N0cmluZ19jb3B5X2Vycm9yKEZpZWxk X3N0ciAqZmllbGQKICAgICAqdCsrPSAnLic7CiAgIH0KICAgKnQ9ICdcMCc7Ci0gIHB1c2hfd2Fy bmluZ19wcmludGYoZmllbGQtPnRhYmxlLT5pbl91c2UsIAotICAgICAgICAgICAgICAgICAgICAg IGZpZWxkLT50YWJsZS0+aW5fdXNlLT5hYm9ydF9vbl93YXJuaW5nID8KLSAgICAgICAgICAgICAg ICAgICAgICBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiA6CisgIHB1c2hfd2FybmluZ19w cmludGYoZmllbGQtPnRhYmxlLT5pbl91c2UsCiAgICAgICAgICAgICAgICAgICAgICAgTVlTUUxf RVJST1I6OldBUk5fTEVWRUxfV0FSTiwKLSAgICAgICAgICAgICAgICAgICAgICBFUl9UUlVOQ0FU RURfV1JPTkdfVkFMVUVfRk9SX0ZJRUxELCAKKyAgICAgICAgICAgICAgICAgICAgICBFUl9UUlVO Q0FURURfV1JPTkdfVkFMVUVfRk9SX0ZJRUxELAogICAgICAgICAgICAgICAgICAgICAgIEVSKEVS X1RSVU5DQVRFRF9XUk9OR19WQUxVRV9GT1JfRklFTEQpLAogICAgICAgICAgICAgICAgICAgICAg ICJzdHJpbmciLCB0bXAsIGZpZWxkLT5maWVsZF9uYW1lLAogICAgICAgICAgICAgICAgICAgICAg ICh1bG9uZykgZmllbGQtPnRhYmxlLT5pbl91c2UtPnJvd19jb3VudCk7CkBAIC02MjM5LDcgKzYy MzcsNyBAQCBGaWVsZF9sb25nc3RyOjpyZXBvcnRfaWZfaW1wb3J0YW50X2RhdGEoCiAgICAgaWYg KHRlc3RfaWZfaW1wb3J0YW50X2RhdGEoZmllbGRfY2hhcnNldCwgcHRyLCBlbmQpKQogICAgIHsK ICAgICAgIGlmICh0YWJsZS0+aW5fdXNlLT5hYm9ydF9vbl93YXJuaW5nKQotICAgICAgICBzZXRf d2FybmluZyhNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwgRVJfREFUQV9UT09fTE9ORywg MSk7CisgICAgICAgIHNldF93YXJuaW5nKE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sIEVS X0RBVEFfVE9PX0xPTkcsIDEpOwogICAgICAgZWxzZQogICAgICAgICBzZXRfd2FybmluZyhNWVNR TF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLCBXQVJOX0RBVEFfVFJVTkNBVEVELCAxKTsKICAgICAg IHJldHVybiAyOwpAQCAtNjMwOSw3ICs2MzA3LDcgQEAgaW50IEZpZWxkX3N0cjo6c3RvcmUoZG91 YmxlIG5yKQogICBpZiAoZXJyb3IpCiAgIHsKICAgICBpZiAodGFibGUtPmluX3VzZS0+YWJvcnRf b25fd2FybmluZykKLSAgICAgIHNldF93YXJuaW5nKE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VS Uk9SLCBFUl9EQVRBX1RPT19MT05HLCAxKTsKKyAgICAgIHNldF93YXJuaW5nKE1ZU1FMX0VSUk9S OjpXQVJOX0xFVkVMX1dBUk4sIEVSX0RBVEFfVE9PX0xPTkcsIDEpOwogICAgIGVsc2UKICAgICAg IHNldF93YXJuaW5nKE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sIFdBUk5fREFUQV9UUlVO Q0FURUQsIDEpOwogICB9CkBAIC04Nzk0LDcgKzg3OTIsNyBAQCBpbnQgRmllbGRfYml0OjpzdG9y ZShjb25zdCBjaGFyICpmcm9tLCB1CiAgICAgc2V0X3JlY19iaXRzKCgxIDw8IGJpdF9sZW4pIC0g MSwgYml0X3B0ciwgYml0X29mcywgYml0X2xlbik7CiAgICAgbWVtc2V0KHB0ciwgMHhmZiwgYnl0 ZXNfaW5fcmVjKTsKICAgICBpZiAodGFibGUtPmluX3VzZS0+cmVhbGx5X2Fib3J0X29uX3dhcm5p bmcoKSkKLSAgICAgIHNldF93YXJuaW5nKE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLCBF Ul9EQVRBX1RPT19MT05HLCAxKTsKKyAgICAgIHNldF93YXJuaW5nKE1ZU1FMX0VSUk9SOjpXQVJO X0xFVkVMX1dBUk4sIEVSX0RBVEFfVE9PX0xPTkcsIDEpOwogICAgIGVsc2UKICAgICAgIHNldF93 YXJuaW5nKE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sIEVSX1dBUk5fREFUQV9PVVRfT0Zf UkFOR0UsIDEpOwogICAgIHJldHVybiAxOwpAQCAtOTIwNSw3ICs5MjAzLDcgQEAgaW50IEZpZWxk X2JpdF9hc19jaGFyOjpzdG9yZShjb25zdCBjaGFyIAogICAgIGlmIChiaXRzKQogICAgICAgKnB0 ciY9ICgoMSA8PCBiaXRzKSAtIDEpOyAvKiBzZXQgZmlyc3QgdWNoYXIgKi8KICAgICBpZiAodGFi bGUtPmluX3VzZS0+cmVhbGx5X2Fib3J0X29uX3dhcm5pbmcoKSkKLSAgICAgIHNldF93YXJuaW5n KE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLCBFUl9EQVRBX1RPT19MT05HLCAxKTsKKyAg ICAgIHNldF93YXJuaW5nKE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sIEVSX0RBVEFfVE9P X0xPTkcsIDEpOwogICAgIGVsc2UKICAgICAgIHNldF93YXJuaW5nKE1ZU1FMX0VSUk9SOjpXQVJO X0xFVkVMX1dBUk4sIEVSX1dBUk5fREFUQV9PVVRfT0ZfUkFOR0UsIDEpOwogICAgIHJldHVybiAx OwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9maWVsZC5oJwotLS0gYS9zcWwvZmllbGQuaAkyMDA4 LTA3LTI1IDE1OjEwOjE0ICswMDAwCisrKyBiL3NxbC9maWVsZC5oCTIwMDgtMDgtMDEgMTU6Mzg6 MDUgKzAwMDAKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgRmllbGQKICAgRmllbGQoY29uc3QgSXRl bSAmKTsJCQkJLyogUHJldmVudCB1c2Ugb2YgdGhlc2UgKi8KICAgdm9pZCBvcGVyYXRvcj0oRmll bGQgJik7CiBwdWJsaWM6Ci0gIHN0YXRpYyB2b2lkICpvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUp IHtyZXR1cm4gc3FsX2FsbG9jKHNpemUpOyB9CisgIHN0YXRpYyB2b2lkICpvcGVyYXRvciBuZXco c2l6ZV90IHNpemUpIHRocm93ICgpCisgIHsgcmV0dXJuIHNxbF9hbGxvYyhzaXplKTsgfQogICBz dGF0aWMgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCAqcHRyX2FyZywgc2l6ZV90IHNpemUpIHsg VFJBU0gocHRyX2FyZywgc2l6ZSk7IH0KIAogICB1Y2hhcgkJKnB0cjsJCQkvLyBQb3NpdGlvbiB0 byBmaWVsZCBpbiByZWNvcmQKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvaGFfbmRiY2x1c3Rlci5j YycKLS0tIGEvc3FsL2hhX25kYmNsdXN0ZXIuY2MJMjAwOC0wNi0yOCAxMTowMDo1OSArMDAwMAor KysgYi9zcWwvaGFfbmRiY2x1c3Rlci5jYwkyMDA4LTA3LTE0IDEyOjQ5OjE5ICswMDAwCkBAIC0y MzksMTEgKzIzOSwxMSBAQCBzdGF0aWMgaW50IG5kYl90b19teXNxbF9lcnJvcihjb25zdCBOZGJF CiAgICAgLSBVc2VkIGJ5IHJlcGxpY2F0aW9uIHRvIHNlZSBpZiB0aGUgZXJyb3Igd2FzIHRlbXBv cmFyeQogICAqLwogICBpZiAobmRiZXJyLT5zdGF0dXMgPT0gTmRiRXJyb3I6OlRlbXBvcmFyeUVy cm9yKQotICAgIHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsIE1ZU1FMX0VSUk9SOjpX QVJOX0xFVkVMX0VSUk9SLAorICAgIHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsIE1Z U1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAJCQlFUl9HRVRfVEVNUE9SQVJZX0VSUk1TRywg RVIoRVJfR0VUX1RFTVBPUkFSWV9FUlJNU0cpLAogCQkJbmRiZXJyLT5jb2RlLCBuZGJlcnItPm1l c3NhZ2UsICJOREIiKTsKICAgZWxzZQotICAgIHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90 aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLAorICAgIHB1c2hfd2FybmluZ19wcmlu dGYoY3VycmVudF90aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAJCQlFUl9HRVRf RVJSTVNHLCBFUihFUl9HRVRfRVJSTVNHKSwKIAkJCW5kYmVyci0+Y29kZSwgbmRiZXJyLT5tZXNz YWdlLCAiTkRCIik7CiAgIHJldHVybiBlcnJvcjsKQEAgLTQ4MCw3ICs0ODAsNyBAQCBzdGF0aWMg dm9pZCBzZXRfbmRiX2VycihUSEQgKnRoZCwgY29uc3QgCiAgIHsKICAgICBjaGFyIGJ1ZltGTl9S RUZMRU5dOwogICAgIG5kYl9lcnJvcl9zdHJpbmcodGhkX25kYi0+bV9lcnJvcl9jb2RlLCBidWYs IHNpemVvZihidWYpKTsKLSAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6 OldBUk5fTEVWRUxfRVJST1IsCisgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VS Uk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAJCQlFUl9HRVRfRVJSTVNHLCBFUihFUl9HRVRfRVJSTVNH KSwKIAkJCXRoZF9uZGItPm1fZXJyb3JfY29kZSwgYnVmLCAiTkRCIik7CiAgIH0KQEAgLTU4NjQs NyArNTg2NCw3IEBAIGludCBoYV9uZGJjbHVzdGVyOjpjcmVhdGUoY29uc3QgY2hhciAqbmEKICAg ZWxzZSBpZiAoY3JlYXRlX2luZm8tPnRhYmxlc3BhY2UgJiYgCiAgICAgICAgICAgIGNyZWF0ZV9p bmZvLT5kZWZhdWx0X3N0b3JhZ2VfbWVkaWEgPT0gSEFfU01fTUVNT1JZKQogICB7Ci0gICAgcHVz aF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLAorICAg IHB1c2hfd2FybmluZ19wcmludGYodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAog ICAgICAgICAgICAgICAgICAgICAgICAgRVJfSUxMRUdBTF9IQV9DUkVBVEVfT1BUSU9OLAogICAg ICAgICAgICAgICAgICAgICAgICAgRVIoRVJfSUxMRUdBTF9IQV9DUkVBVEVfT1BUSU9OKSwKICAg ICAgICAgICAgICAgICAgICAgICAgIG5kYmNsdXN0ZXJfaHRvbl9uYW1lLApAQCAtNTg4Nyw3ICs1 ODg3LDcgQEAgaW50IGhhX25kYmNsdXN0ZXI6OmNyZWF0ZShjb25zdCBjaGFyICpuYQogICAgIHsK ICAgICAgIGlmIChrZXlfcGFydC0+ZmllbGQtPmZpZWxkX3N0b3JhZ2VfdHlwZSgpID09IEhBX1NN X0RJU0spCiAgICAgICB7Ci0gICAgICAgIHB1c2hfd2FybmluZ19wcmludGYodGhkLCBNWVNRTF9F UlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwKKyAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQs IE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRVJfSUxMRUdBTF9IQV9DUkVBVEVfT1BUSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVSKEVSX0lMTEVHQUxfSEFfQ1JFQVRFX09QVElPTiksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbmRiY2x1c3Rlcl9odG9uX25hbWUsCkBAIC02MTQzLDcgKzYxNDMsNyBAQCBpbnQg aGFfbmRiY2x1c3Rlcjo6Y3JlYXRlX2luZGV4KFRIRCAqdGhkCiAgIGNhc2UgT1JERVJFRF9JTkRF WDoKICAgICBpZiAoa2V5X2luZm8tPmFsZ29yaXRobSA9PSBIQV9LRVlfQUxHX0hBU0gpCiAgICAg ewotICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVM X0VSUk9SLAorICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpXQVJO X0xFVkVMX1dBUk4sCiAJCQkgIEVSX0lMTEVHQUxfSEFfQ1JFQVRFX09QVElPTiwKIAkJCSAgRVIo RVJfSUxMRUdBTF9IQV9DUkVBVEVfT1BUSU9OKSwKIAkJCSAgbmRiY2x1c3Rlcl9odG9uX25hbWUs CkBAIC02MjE2LDcgKzYyMTYsNyBAQCBpbnQgaGFfbmRiY2x1c3Rlcjo6Y3JlYXRlX25kYl9pbmRl eChUSEQgCiAgICAgRmllbGQgKmZpZWxkPSBrZXlfcGFydC0+ZmllbGQ7CiAgICAgaWYgKGZpZWxk LT5maWVsZF9zdG9yYWdlX3R5cGUoKSA9PSBIQV9TTV9ESVNLKQogICAgIHsKLSAgICAgIHB1c2hf d2FybmluZ19wcmludGYodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwKKyAgICAg IHB1c2hfd2FybmluZ19wcmludGYodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAog ICAgICAgICAgICAgICAgICAgICAgICAgICBFUl9JTExFR0FMX0hBX0NSRUFURV9PUFRJT04sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVSKEVSX0lMTEVHQUxfSEFfQ1JFQVRFX09QVElPTiks CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kYmNsdXN0ZXJfaHRvbl9uYW1lLApAQCAtMTA2 MzIsNyArMTA2MzIsNyBAQCB1aW50IGhhX25kYmNsdXN0ZXI6OnNldF91cF9wYXJ0aXRpb25faW5m CiAgIHsKICAgICBpZiAoIWN1cnJlbnRfdGhkLT52YXJpYWJsZXMubmV3X21vZGUpCiAgICAgewot ICAgICAgcHVzaF93YXJuaW5nX3ByaW50ZihjdXJyZW50X3RoZCwgTVlTUUxfRVJST1I6OldBUk5f TEVWRUxfRVJST1IsCisgICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKGN1cnJlbnRfdGhkLCBNWVNR TF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAogICAgICAgICAgICAgICAgICAgICAgICAgICBFUl9J TExFR0FMX0hBX0NSRUFURV9PUFRJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVSKEVS X0lMTEVHQUxfSEFfQ1JFQVRFX09QVElPTiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5k YmNsdXN0ZXJfaHRvbl9uYW1lLAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9oYV9uZGJjbHVzdGVy X2JpbmxvZy5jYycKLS0tIGEvc3FsL2hhX25kYmNsdXN0ZXJfYmlubG9nLmNjCTIwMDgtMDYtMjAg MTM6MTE6MjAgKzAwMDAKKysrIGIvc3FsL2hhX25kYmNsdXN0ZXJfYmlubG9nLmNjCTIwMDgtMDct MTQgMTI6NDk6MTkgKzAwMDAKQEAgLTExOTYsNyArMTE5Niw3IEBAIG5kYmNsdXN0ZXJfdXBkYXRl X3Nsb2NrKFRIRCAqdGhkLAogICB9CiAKICAgaWYgKG5kYl9lcnJvcikKLSAgICBwdXNoX3dhcm5p bmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1IsCisgICAgcHVzaF93 YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAg ICAgICAgICAgICAgICAgICBFUl9HRVRfRVJSTVNHLCBFUihFUl9HRVRfRVJSTVNHKSwKICAgICAg ICAgICAgICAgICAgICAgICAgIG5kYl9lcnJvci0+Y29kZSwKICAgICAgICAgICAgICAgICAgICAg ICAgIG5kYl9lcnJvci0+bWVzc2FnZSwKQEAgLTE1NDIsNyArMTU0Miw3IEBAIGVycjoKICAgfQog ZW5kOgogICBpZiAobmRiX2Vycm9yKQotICAgIHB1c2hfd2FybmluZ19wcmludGYodGhkLCBNWVNR TF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwKKyAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwg TVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FSTiwKICAgICAgICAgICAgICAgICAgICAgICAgIEVS X0dFVF9FUlJNU0csIEVSKEVSX0dFVF9FUlJNU0cpLAogICAgICAgICAgICAgICAgICAgICAgICAg bmRiX2Vycm9yLT5jb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgbmRiX2Vycm9yLT5tZXNz YWdlLApAQCAtMjk3MCw3ICsyOTcwLDcgQEAgbmRiY2x1c3Rlcl9jcmVhdGVfZXZlbnQoVEhEICp0 aGQsIE5kYiAqbgogICAgICAgICAgICAgICAgICAgICAgICJ3aXRoIEJMT0IgYXR0cmlidXRlIGFu ZCBubyBQSyBpcyBub3Qgc3VwcG9ydGVkIiwKICAgICAgICAgICAgICAgICAgICAgICBzaGFyZS0+ a2V5KTsKICAgICAgIGlmIChwdXNoX3dhcm5pbmcpCi0gICAgICAgIHB1c2hfd2FybmluZ19wcmlu dGYodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwKKyAgICAgICAgcHVzaF93YXJu aW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRVJfSUxMRUdBTF9IQV9DUkVBVEVfT1BUSU9OLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVSKEVSX0lMTEVHQUxfSEFfQ1JFQVRFX09QVElPTiksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbmRiY2x1c3Rlcl9odG9uX25hbWUsCkBAIC0zMDIyLDcg KzMwMjIsNyBAQCBuZGJjbHVzdGVyX2NyZWF0ZV9ldmVudChUSEQgKnRoZCwgTmRiICpuCiAgICAg ICAgIGZhaWxlZCwgcHJpbnQgYSB3YXJuaW5nCiAgICAgICAqLwogICAgICAgaWYgKHB1c2hfd2Fy bmluZyA+IDEpCi0gICAgICAgIHB1c2hfd2FybmluZ19wcmludGYodGhkLCBNWVNRTF9FUlJPUjo6 V0FSTl9MRVZFTF9FUlJPUiwKKyAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FM X0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVJf R0VUX0VSUk1TRywgRVIoRVJfR0VUX0VSUk1TRyksCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGljdC0+Z2V0TmRiRXJyb3IoKS5jb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRpY3QtPmdldE5kYkVycm9yKCkubWVzc2FnZSwgIk5EQiIpOwpAQCAtMzA1MCw3ICszMDUwLDcg QEAgbmRiY2x1c3Rlcl9jcmVhdGVfZXZlbnQoVEhEICp0aGQsIE5kYiAqbgogICAgICAgICBkaWN0 LT5kcm9wRXZlbnQobXlfZXZlbnQuZ2V0TmFtZSgpLCAxKSkKICAgICB7CiAgICAgICBpZiAocHVz aF93YXJuaW5nID4gMSkKLSAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VS Uk9SOjpXQVJOX0xFVkVMX0VSUk9SLAorICAgICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwg TVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FSTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFUl9HRVRfRVJSTVNHLCBFUihFUl9HRVRfRVJSTVNHKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkaWN0LT5nZXROZGJFcnJvcigpLmNvZGUsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGljdC0+Z2V0TmRiRXJyb3IoKS5tZXNzYWdlLCAiTkRCIik7CkBAIC0zMDY5LDcgKzMw NjksNyBAQCBuZGJjbHVzdGVyX2NyZWF0ZV9ldmVudChUSEQgKnRoZCwgTmRiICpuCiAgICAgaWYg KGRpY3QtPmNyZWF0ZUV2ZW50KG15X2V2ZW50KSkKICAgICB7CiAgICAgICBpZiAocHVzaF93YXJu aW5nID4gMSkKLSAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpX QVJOX0xFVkVMX0VSUk9SLAorICAgICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxf RVJST1I6OldBUk5fTEVWRUxfV0FSTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFUl9H RVRfRVJSTVNHLCBFUihFUl9HRVRfRVJSTVNHKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkaWN0LT5nZXROZGJFcnJvcigpLmNvZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGljdC0+Z2V0TmRiRXJyb3IoKS5tZXNzYWdlLCAiTkRCIik7CkBAIC0zMDgyLDcgKzMwODIsNyBA QCBuZGJjbHVzdGVyX2NyZWF0ZV9ldmVudChUSEQgKnRoZCwgTmRiICpuCiAgICAgICBEQlVHX1JF VFVSTigtMSk7CiAgICAgfQogI2lmZGVmIE5EQl9CSU5MT0dfRVhUUkFfV0FSTklOR1MKLSAgICBw dXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1IsCisg ICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4s CiAgICAgICAgICAgICAgICAgICAgICAgICBFUl9HRVRfRVJSTVNHLCBFUihFUl9HRVRfRVJSTVNH KSwKICAgICAgICAgICAgICAgICAgICAgICAgIDAsICJOREIgQmlubG9nOiBSZW1vdmVkIHRyYWls aW5nIGV2ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICJOREIiKTsKQEAgLTMxOTYsNyAr MzE5Niw3IEBAIG5kYmNsdXN0ZXJfY3JlYXRlX2V2ZW50X29wcyhUSEQgKnRoZCwgTkQKICAgICB7 CiAgICAgICBzcWxfcHJpbnRfZXJyb3IoIk5EQiBCaW5sb2c6IENyZWF0aW5nIE5kYkV2ZW50T3Bl cmF0aW9uIGZhaWxlZCBmb3IiCiAgICAgICAgICAgICAgICAgICAgICAgIiAlcyIsZXZlbnRfbmFt ZSk7Ci0gICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVW RUxfRVJST1IsCisgICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6OldB Uk5fTEVWRUxfV0FSTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgRVJfR0VUX0VSUk1TRywg RVIoRVJfR0VUX0VSUk1TRyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kYi0+Z2V0TmRi RXJyb3IoKS5jb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBuZGItPmdldE5kYkVycm9y KCkubWVzc2FnZSwKQEAgLTMyNTgsNyArMzI1OCw3IEBAIG5kYmNsdXN0ZXJfY3JlYXRlX2V2ZW50 X29wcyhUSEQgKnRoZCwgTkQKICAgICAgICAgICAgIHNxbF9wcmludF9lcnJvcigiTkRCIEJpbmxv ZzogQ3JlYXRpbmcgTmRiRXZlbnRPcGVyYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiBibG9iIGZpZWxkICV1IGhhbmRsZXMgZmFpbGVkIChjb2RlPSVkKSBmb3IgJXMiLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGosIG9wLT5nZXROZGJFcnJvcigpLmNvZGUsIGV2ZW50 X25hbWUpOwotICAgICAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9S OjpXQVJOX0xFVkVMX0VSUk9SLAorICAgICAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQs IE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVSX0dFVF9FUlJNU0csIEVSKEVSX0dFVF9FUlJNU0cpLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvcC0+Z2V0TmRiRXJyb3IoKS5jb2RlLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvcC0+Z2V0TmRiRXJyb3IoKS5tZXNzYWdlLApAQCAtMzI5OSw3ICsz Mjk5LDcgQEAgbmRiY2x1c3Rlcl9jcmVhdGVfZXZlbnRfb3BzKFRIRCAqdGhkLCBORAogICAgICAg ICByZXRyaWVzPSAwOwogICAgICAgaWYgKHJldHJpZXMgPT0gMCkKICAgICAgIHsKLSAgICAgICAg cHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLAor ICAgICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxf V0FSTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFUl9HRVRfRVJSTVNHLCBFUihFUl9H RVRfRVJSTVNHKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPmdldE5kYkVycm9y KCkuY29kZSwgb3AtPmdldE5kYkVycm9yKCkubWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiTkRCIik7CkBAIC0zMzc2LDcgKzMzNzYsNyBAQCBuZGJjbHVzdGVyX2Ryb3BfZXZl bnQoVEhEICp0aGQsIE5kYiAqbmRiCiAgICAgaWYgKGRpY3QtPmdldE5kYkVycm9yKCkuY29kZSAh PSA0NzEwKQogICAgIHsKICAgICAgIC8qIGRyb3AgZXZlbnQgZmFpbGVkIGZvciBzb21lIHJlYXNv biwgaXNzdWUgYSB3YXJuaW5nICovCi0gICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlT UUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1IsCisgICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRo ZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FSTiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgRVJfR0VUX0VSUk1TRywgRVIoRVJfR0VUX0VSUk1TRyksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRpY3QtPmdldE5kYkVycm9yKCkuY29kZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGljdC0+Z2V0TmRiRXJyb3IoKS5tZXNzYWdlLCAiTkRCIik7Cgo9PT0gbW9kaWZpZWQgZmls ZSAnc3FsL2hhbmRsZXIuY2MnCi0tLSBhL3NxbC9oYW5kbGVyLmNjCTIwMDgtMDctMjMgMTE6Mjg6 MjAgKzAwMDAKKysrIGIvc3FsL2hhbmRsZXIuY2MJMjAwOC0wNy0yNSAxNzoyMTo1NSArMDAwMApA QCAtOTIxLDcgKzkyMSw3IEBAIGludCBoYV9wcmVwYXJlKFRIRCAqdGhkKQogICBUSERfVFJBTlMg KnRyYW5zPWFsbCA/ICZ0aGQtPnRyYW5zYWN0aW9uLmFsbCA6ICZ0aGQtPnRyYW5zYWN0aW9uLnN0 bXQ7CiAgIEhhX3RyeF9pbmZvICpoYV9pbmZvPSB0cmFucy0+aGFfbGlzdDsKICAgREJVR19FTlRF UigiaGFfcHJlcGFyZSIpOwotI2lmZGVmIFVTSU5HX1RSQU5TQUNUSU9OUworCiAgIGlmIChoYV9p bmZvKQogICB7CiAgICAgZm9yICg7IGhhX2luZm87IGhhX2luZm89IGhhX2luZm8tPm5leHQoKSkK QEAgLTk0Nyw3ICs5NDcsNyBAQCBpbnQgaGFfcHJlcGFyZShUSEQgKnRoZCkKICAgICAgIH0KICAg ICB9CiAgIH0KLSNlbmRpZiAvKiBVU0lOR19UUkFOU0FDVElPTlMgKi8KKwogICBEQlVHX1JFVFVS TihlcnJvcik7CiB9CiAKQEAgLTEwNjgsNyArMTA2OCw3IEBAIGludCBoYV9jb21taXRfdHJhbnMo VEhEICp0aGQsIGJvb2wgYWxsKQogICAgIG15X2Vycm9yKEVSX0NPTU1JVF9OT1RfQUxMT1dFRF9J Tl9TRl9PUl9UUkcsIE1ZRigwKSk7CiAgICAgREJVR19SRVRVUk4oMik7CiAgIH0KLSNpZmRlZiBV U0lOR19UUkFOU0FDVElPTlMKKwogICBpZiAoaGFfaW5mbykKICAgewogICAgIHVpbnQgcndfaGFf Y291bnQ7CkBAIC0xMTQ4LDcgKzExNDgsNyBAQCBlbmQ6CiAgICAgaWYgKHJ3X3RyYW5zKQogICAg ICAgc3RhcnRfd2FpdGluZ19nbG9iYWxfcmVhZF9sb2NrKHRoZCk7CiAgIH0KLSNlbmRpZiAvKiBV U0lOR19UUkFOU0FDVElPTlMgKi8KKwogICBEQlVHX1JFVFVSTihlcnJvcik7CiB9CiAKQEAgLTEx NjMsNyArMTE2Myw3IEBAIGludCBoYV9jb21taXRfb25lX3BoYXNlKFRIRCAqdGhkLCBib29sIGEK ICAgYm9vbCBpc19yZWFsX3RyYW5zPWFsbCB8fCB0aGQtPnRyYW5zYWN0aW9uLmFsbC5oYV9saXN0 ID09IDA7CiAgIEhhX3RyeF9pbmZvICpoYV9pbmZvPSB0cmFucy0+aGFfbGlzdCwgKmhhX2luZm9f bmV4dDsKICAgREJVR19FTlRFUigiaGFfY29tbWl0X29uZV9waGFzZSIpOwotI2lmZGVmIFVTSU5H X1RSQU5TQUNUSU9OUworCiAgIGlmIChoYV9pbmZvKQogICB7CiAgICAgZm9yICg7IGhhX2luZm87 IGhhX2luZm89IGhhX2luZm9fbmV4dCkKQEAgLTExOTMsNyArMTE5Myw3IEBAIGludCBoYV9jb21t aXRfb25lX3BoYXNlKFRIRCAqdGhkLCBib29sIGEKICAgICAgIHRoZC0+dHJhbnNhY3Rpb24uY2xl YW51cCgpOwogICAgIH0KICAgfQotI2VuZGlmIC8qIFVTSU5HX1RSQU5TQUNUSU9OUyAqLworCiAg IERCVUdfUkVUVVJOKGVycm9yKTsKIH0KIApAQCAtMTIyNiw3ICsxMjI2LDcgQEAgaW50IGhhX3Jv bGxiYWNrX3RyYW5zKFRIRCAqdGhkLCBib29sIGFsbAogICAgIG15X2Vycm9yKEVSX0NPTU1JVF9O T1RfQUxMT1dFRF9JTl9TRl9PUl9UUkcsIE1ZRigwKSk7CiAgICAgREJVR19SRVRVUk4oMSk7CiAg IH0KLSNpZmRlZiBVU0lOR19UUkFOU0FDVElPTlMKKwogICBpZiAoaGFfaW5mbykKICAgewogICAg IC8qIENsb3NlIGFsbCBjdXJzb3JzIHRoYXQgY2FuIG5vdCBzdXJ2aXZlIFJPTExCQUNLICovCkBA IC0xMjU2LDcgKzEyNTYsNyBAQCBpbnQgaGFfcm9sbGJhY2tfdHJhbnMoVEhEICp0aGQsIGJvb2wg YWxsCiAgICAgICB0aGQtPnRyYW5zYWN0aW9uLmNsZWFudXAoKTsKICAgICB9CiAgIH0KLSNlbmRp ZiAvKiBVU0lOR19UUkFOU0FDVElPTlMgKi8KKwogICBpZiAoYWxsKQogICAgIHRoZC0+dHJhbnNh Y3Rpb25fcm9sbGJhY2tfcmVxdWVzdD0gRkFMU0U7CiAKQEAgLTEyOTEsNyArMTI5MSw3IEBAIGlu dCBoYV9yb2xsYmFja190cmFucyhUSEQgKnRoZCwgYm9vbCBhbGwKIGludCBoYV9hdXRvY29tbWl0 X29yX3JvbGxiYWNrKFRIRCAqdGhkLCBpbnQgZXJyb3IpCiB7CiAgIERCVUdfRU5URVIoImhhX2F1 dG9jb21taXRfb3Jfcm9sbGJhY2siKTsKLSNpZmRlZiBVU0lOR19UUkFOU0FDVElPTlMKKwogICBp ZiAodGhkLT50cmFuc2FjdGlvbi5zdG10LmhhX2xpc3QpCiAgIHsKICAgICBpZiAoIWVycm9yKQpA QCAtMTMwOCw3ICsxMzA4LDcgQEAgaW50IGhhX2F1dG9jb21taXRfb3Jfcm9sbGJhY2soVEhEICp0 aGQsIAogCiAgICAgdGhkLT52YXJpYWJsZXMudHhfaXNvbGF0aW9uPXRoZC0+c2Vzc2lvbl90eF9p c29sYXRpb247CiAgIH0KLSNlbmRpZgorCiAgIERCVUdfUkVUVVJOKGVycm9yKTsKIH0KIApAQCAt MTcxNCw3ICsxNzE0LDcgQEAgaW50IGhhX3NhdmVwb2ludChUSEQgKnRoZCwgU0FWRVBPSU5UICpz dgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0aGQtPnRyYW5zYWN0 aW9uLmFsbCk7CiAgIEhhX3RyeF9pbmZvICpoYV9pbmZvPSB0cmFucy0+aGFfbGlzdDsKICAgREJV R19FTlRFUigiaGFfc2F2ZXBvaW50Iik7Ci0jaWZkZWYgVVNJTkdfVFJBTlNBQ1RJT05TCisKICAg Zm9yICg7IGhhX2luZm87IGhhX2luZm89IGhhX2luZm8tPm5leHQoKSkKICAgewogICAgIGludCBl cnI7CkBAIC0xNzM4LDcgKzE3MzgsNyBAQCBpbnQgaGFfc2F2ZXBvaW50KFRIRCAqdGhkLCBTQVZF UE9JTlQgKnN2CiAgICAgZW5naW5lcyBhcmUgcHJlcGVuZGVkIHRvIHRoZSBiZWdpbm5pbmcgb2Yg dGhlIGxpc3QuCiAgICovCiAgIHN2LT5oYV9saXN0PSB0cmFucy0+aGFfbGlzdDsKLSNlbmRpZiAv KiBVU0lOR19UUkFOU0FDVElPTlMgKi8KKwogICBEQlVHX1JFVFVSTihlcnJvcik7CiB9CiAKQEAg LTE5MjksNyArMTkyOSw3IEBAIGludCBoYV9kZWxldGVfdGFibGUoVEhEICp0aGQsIGhhbmRsZXJ0 b24KICAgICAgIFhYWDogc2hvdWxkIHdlIGNvbnZlcnQgKmFsbCogZXJyb3JzIHRvIHdhcm5pbmdz IGhlcmU/CiAgICAgICBXaGF0IGlmIHRoZSBlcnJvciBpcyBmYXRhbD8KICAgICAqLwotICAgIHB1 c2hfd2FybmluZyh0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLCBlcnJvciwKKyAg ICBwdXNoX3dhcm5pbmcodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLCBlcnJvciwK ICAgICAgICAgICAgICAgICBoYV9kZWxldGVfdGFibGVfZXJyb3JfaGFuZGxlci5idWZmKTsKICAg fQogICBkZWxldGUgZmlsZTsKQEAgLTQzNzcsNiArNDM3Nyw3IEBAIHZvaWQgRHNNcnJfaW1wbDo6 ZHNtcnJfY2xvc2UoKQogICBEQlVHX0VOVEVSKCJEc01ycl9pbXBsOjpkc21ycl9jbG9zZSIpOwog ICBpZiAoaDIpCiAgIHsKKyAgICBoMi0+aGFfaW5kZXhfb3Jfcm5kX2VuZCgpOwogICAgIGgyLT5o YV9leHRlcm5hbF9sb2NrKGN1cnJlbnRfdGhkLCBGX1VOTENLKTsKICAgICBoMi0+Y2xvc2UoKTsK ICAgICBkZWxldGUgaDI7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2hhbmRsZXIuaCcKLS0tIGEv c3FsL2hhbmRsZXIuaAkyMDA4LTA2LTMwIDIwOjIxOjQxICswMDAwCisrKyBiL3NxbC9oYW5kbGVy LmgJMjAwOC0wNy0xMSAxNjoyMjo0NCArMDAwMApAQCAtMzAsOCArMzAsNiBAQAogI2RlZmluZSBO T19IQVNICQkJCS8qIE5vdCB5ZXQgaW1wbGVtZW50ZWQgKi8KICNlbmRpZgogCi0jZGVmaW5lIFVT SU5HX1RSQU5TQUNUSU9OUwotCiAvLyB0aGUgZm9sbG93aW5nIGlzIGZvciBjaGVja2luZyB0YWJs ZXMKIAogI2RlZmluZSBIQV9BRE1JTl9BTFJFQURZX0RPTkUJICAxCkBAIC0xNDA4LDcgKzE0MDYs NyBAQCBwdWJsaWM6CiAgIHZpcnR1YWwgfmhhbmRsZXIodm9pZCkKICAgewogICAgIERCVUdfQVNT RVJUKGxvY2tlZCA9PSBGQUxTRSk7Ci0gICAgLyogVE9ETzogREJVR19BU1NFUlQoaW5pdGVkID09 IE5PTkUpOyAqLworICAgIERCVUdfQVNTRVJUKGluaXRlZCA9PSBOT05FKTsKICAgfQogICB2aXJ0 dWFsIGhhbmRsZXIgKmNsb25lKE1FTV9ST09UICptZW1fcm9vdCk7CiAgIC8qKiBUaGlzIGlzIGNh bGxlZCBhZnRlciBjcmVhdGUgdG8gYWxsb3cgdXMgdG8gc2V0IHVwIGNhY2hlZCB2YXJpYWJsZXMg Ki8KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvaXRlbS5jYycKLS0tIGEvc3FsL2l0ZW0uY2MJMjAw OC0wNy0zMSAxMTozNzowNyArMDAwMAorKysgYi9zcWwvaXRlbS5jYwkyMDA4LTA4LTA3IDAzOjA1 OjMzICswMDAwCkBAIC00NTEyLDcgKzQ1MTIsNiBAQCBTdHJpbmcgKkl0ZW06OmNoZWNrX3dlbGxf Zm9ybWVkX3Jlc3VsdChTCiAgIHsKICAgICBUSEQgKnRoZD0gY3VycmVudF90aGQ7CiAgICAgY2hh ciBoZXhidWZbN107Ci0gICAgZW51bSBNWVNRTF9FUlJPUjo6ZW51bV93YXJuaW5nX2xldmVsIGxl dmVsOwogICAgIHVpbnQgZGlmZj0gc3RyLT5sZW5ndGgoKSAtIHdsZW47CiAgICAgc2V0X2lmX3Nt YWxsZXIoZGlmZiwgMyk7CiAgICAgb2N0ZXQyaGV4KGhleGJ1Ziwgc3RyLT5wdHIoKSArIHdsZW4s IGRpZmYpOwpAQCAtNDUyNSwxNyArNDUyNCwxNiBAQCBTdHJpbmcgKkl0ZW06OmNoZWNrX3dlbGxf Zm9ybWVkX3Jlc3VsdChTCiAgICAgaWYgKCh0aGQtPnZhcmlhYmxlcy5zcWxfbW9kZSAmCiAgICAg ICAgICAoTU9ERV9TVFJJQ1RfVFJBTlNfVEFCTEVTIHwgTU9ERV9TVFJJQ1RfQUxMX1RBQkxFUykp KQogICAgIHsKLSAgICAgIGxldmVsPSBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUjsKICAg ICAgIG51bGxfdmFsdWU9IDE7CiAgICAgICBzdHI9IDA7CiAgICAgfQogICAgIGVsc2UKICAgICB7 Ci0gICAgICBsZXZlbD0gTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FSTjsKICAgICAgIHN0ci0+ bGVuZ3RoKHdsZW4pOwogICAgIH0KLSAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgbGV2ZWws IEVSX0lOVkFMSURfQ0hBUkFDVEVSX1NUUklORywKLSAgICAgICAgICAgICAgICAgICAgICAgIEVS KEVSX0lOVkFMSURfQ0hBUkFDVEVSX1NUUklORyksIGNzLT5jc25hbWUsIGhleGJ1Zik7CisgICAg cHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCisg ICAgICAgICAgICAgICAgICAgICAgICBFUl9JTlZBTElEX0NIQVJBQ1RFUl9TVFJJTkcsIEVSKEVS X0lOVkFMSURfQ0hBUkFDVEVSX1NUUklORyksCisgICAgICAgICAgICAgICAgICAgICAgICBjcy0+ Y3NuYW1lLCBoZXhidWYpOwogICB9CiAgIHJldHVybiBzdHI7CiB9Cgo9PT0gbW9kaWZpZWQgZmls ZSAnc3FsL2l0ZW0uaCcKLS0tIGEvc3FsL2l0ZW0uaAkyMDA4LTA2LTE3IDIwOjA0OjE5ICswMDAw CisrKyBiL3NxbC9pdGVtLmgJMjAwOC0wOC0wMSAxNTozODowNSArMDAwMApAQCAtNDcyLDkgKzQ3 Miw5IEBAIGNsYXNzIEl0ZW0KICAgdmlydHVhbCBib29sIGlzX2V4cGVuc2l2ZV9wcm9jZXNzb3Io dWNoYXIgKmFyZykgeyByZXR1cm4gMDsgfQogCiBwdWJsaWM6Ci0gIHN0YXRpYyB2b2lkICpvcGVy YXRvciBuZXcoc2l6ZV90IHNpemUpCisgIHN0YXRpYyB2b2lkICpvcGVyYXRvciBuZXcoc2l6ZV90 IHNpemUpIHRocm93ICgpCiAgIHsgcmV0dXJuIHNxbF9hbGxvYyhzaXplKTsgfQotICBzdGF0aWMg dm9pZCAqb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplLCBNRU1fUk9PVCAqbWVtX3Jvb3QpCisgIHN0 YXRpYyB2b2lkICpvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUsIE1FTV9ST09UICptZW1fcm9vdCkg dGhyb3cgKCkKICAgeyByZXR1cm4gYWxsb2Nfcm9vdChtZW1fcm9vdCwgc2l6ZSk7IH0KICAgc3Rh dGljIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQgKnB0cixzaXplX3Qgc2l6ZSkgeyBUUkFTSChw dHIsIHNpemUpOyB9CiAgIHN0YXRpYyB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkICpwdHIsIE1F TV9ST09UICptZW1fcm9vdCkge30KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvaXRlbV9mdW5jLmNj JwotLS0gYS9zcWwvaXRlbV9mdW5jLmNjCTIwMDgtMDctMzEgMTE6Mzc6MDcgKzAwMDAKKysrIGIv c3FsL2l0ZW1fZnVuYy5jYwkyMDA4LTA4LTA3IDAzOjA1OjMzICswMDAwCkBAIC02MTksNyArNjE5 LDcgQEAgdm9pZCBJdGVtX2Z1bmM6OnNpZ25hbF9kaXZpZGVfYnlfbnVsbCgpCiB7CiAgIFRIRCAq dGhkPSBjdXJyZW50X3RoZDsKICAgaWYgKHRoZC0+dmFyaWFibGVzLnNxbF9tb2RlICYgTU9ERV9F UlJPUl9GT1JfRElWSVNJT05fQllfWkVSTykKLSAgICBwdXNoX3dhcm5pbmcodGhkLCBNWVNRTF9F UlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwgRVJfRElWSVNJT05fQllfWkVSTywKKyAgICBwdXNoX3dh cm5pbmcodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLCBFUl9ESVZJU0lPTl9CWV9a RVJPLAogICAgICAgICAgICAgICAgICBFUihFUl9ESVZJU0lPTl9CWV9aRVJPKSk7CiAgIG51bGxf dmFsdWU9IDE7CiB9CkBAIC0xMDc0LDcgKzEwNzQsNyBAQCBteV9kZWNpbWFsICpJdGVtX2RlY2lt YWxfdHlwZWNhc3Q6OnZhbF9kCiAgIHJldHVybiBkZWM7CiAKIGVycjoKLSAgcHVzaF93YXJuaW5n X3ByaW50ZihjdXJyZW50X3RoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1IsCisgIHB1 c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dB Uk4sCiAgICAgICAgICAgICAgICAgICAgICAgRVJfV0FSTl9EQVRBX09VVF9PRl9SQU5HRSwKICAg ICAgICAgICAgICAgICAgICAgICBFUihFUl9XQVJOX0RBVEFfT1VUX09GX1JBTkdFKSwKICAgICAg ICAgICAgICAgICAgICAgICBuYW1lLCAxKTsKQEAgLTM3NDAsNyArMzc0MCw3IEBAIGxvbmdsb25n IEl0ZW1fZnVuY19iZW5jaG1hcms6OnZhbF9pbnQoKQogICAgIHsKICAgICAgIGNoYXIgYnVmZlsy Ml07CiAgICAgICBsbHN0cigoKGxvbmdsb25nKSBsb29wX2NvdW50KSwgYnVmZik7Ci0gICAgICBw dXNoX3dhcm5pbmdfcHJpbnRmKGN1cnJlbnRfdGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9F UlJPUiwKKyAgICAgIHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsIE1ZU1FMX0VSUk9S OjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVSX1dST05HX1ZB TFVFX0ZPUl9UWVBFLCBFUihFUl9XUk9OR19WQUxVRV9GT1JfVFlQRSksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICJjb3VudCIsIGJ1ZmYsICJiZW5jaG1hcmsiKTsKICAgICB9Cgo9PT0gbW9k aWZpZWQgZmlsZSAnc3FsL2l0ZW1fc3RyZnVuYy5jYycKLS0tIGEvc3FsL2l0ZW1fc3RyZnVuYy5j YwkyMDA4LTA3LTIzIDA5OjQzOjUwICswMDAwCisrKyBiL3NxbC9pdGVtX3N0cmZ1bmMuY2MJMjAw OC0wNy0yNSAxNzoyMTo1NSArMDAwMApAQCAtMjQ5LDcgKzI0OSw3IEBAIFN0cmluZyAqSXRlbV9m dW5jX3NoYTI6OnZhbF9zdHIoU3RyaW5nICoKICAgZGVmYXVsdDoKICAgICBpZiAoIWFyZ3NbMV0t PmNvbnN0X2l0ZW0oKSkKICAgICAgIHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsCi0g ICAgICAgIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLAorICAgICAgICBNWVNRTF9FUlJP Ujo6V0FSTl9MRVZFTF9XQVJOLAogICAgICAgICBFUl9XUk9OR19QQVJBTUVURVJTX1RPX05BVElW RV9GQ1QsCiAgICAgICAgIEVSKEVSX1dST05HX1BBUkFNRVRFUlNfVE9fTkFUSVZFX0ZDVCksICJz aGEyIik7CiAgICAgbnVsbF92YWx1ZT0gVFJVRTsKQEAgLTI3Niw3ICsyNzYsNyBAQCBTdHJpbmcg Kkl0ZW1fZnVuY19zaGEyOjp2YWxfc3RyKFN0cmluZyAqCiAKICNlbHNlCiAgIHB1c2hfd2Fybmlu Z19wcmludGYoY3VycmVudF90aGQsCi0gICAgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1Is CisgICAgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FSTiwKICAgICBFUl9GRUFUVVJFX0RJU0FC TEVELAogICAgIEVSKEVSX0ZFQVRVUkVfRElTQUJMRUQpLAogICAgICJzaGEyIiwgIi0td2l0aC1z c2wiKTsKQEAgLTMxNCw3ICszMTQsNyBAQCB2b2lkIEl0ZW1fZnVuY19zaGEyOjpmaXhfbGVuZ3Ro X2FuZF9kZWMoCiAjZW5kaWYKICAgZGVmYXVsdDoKICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKGN1 cnJlbnRfdGhkLAotICAgICAgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1IsCisgICAgICBN WVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAogICAgICAgRVJfV1JPTkdfUEFSQU1FVEVSU19U T19OQVRJVkVfRkNULAogICAgICAgRVIoRVJfV1JPTkdfUEFSQU1FVEVSU19UT19OQVRJVkVfRkNU KSwgInNoYTIiKTsKICAgfQpAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgSXRlbV9mdW5jX3NoYTI6 OmZpeF9sZW5ndGhfYW5kX2RlYygKICAgICAgIERFUklWQVRJT05fQ09FUkNJQkxFKTsKICNlbHNl CiAgIHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsCi0gICAgTVlTUUxfRVJST1I6OldB Uk5fTEVWRUxfRVJST1IsCisgICAgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FSTiwKICAgICBF Ul9GRUFUVVJFX0RJU0FCTEVELAogICAgIEVSKEVSX0ZFQVRVUkVfRElTQUJMRUQpLAogICAgICJz aGEyIiwgIi0td2l0aC1zc2wiKTsKQEAgLTY3MSwxMSArNjcxLDExIEBAIFN0cmluZyAqSXRlbV9m dW5jX2Rlc19lbmNyeXB0Ojp2YWxfc3RyKFMKICAgcmV0dXJuICZ0bXBfdmFsdWU7CiAKIGVycm9y OgotICBwdXNoX3dhcm5pbmdfcHJpbnRmKGN1cnJlbnRfdGhkLE1ZU1FMX0VSUk9SOjpXQVJOX0xF VkVMX0VSUk9SLAorICBwdXNoX3dhcm5pbmdfcHJpbnRmKGN1cnJlbnRfdGhkLE1ZU1FMX0VSUk9S OjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUsIEVSKGNv ZGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzX2VuY3J5cHQiKTsKICNlbHNlCi0g IHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsTVlTUUxfRVJST1I6OldBUk5fTEVWRUxf RVJST1IsCisgIHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsTVlTUUxfRVJST1I6OldB Uk5fTEVWRUxfV0FSTiwKICAgICAgICAgICAgICAgICAgICAgICBFUl9GRUFUVVJFX0RJU0FCTEVE LCBFUihFUl9GRUFUVVJFX0RJU0FCTEVEKSwKICAgICAgICAgICAgICAgICAgICAgICAiZGVzX2Vu Y3J5cHQiLCAiLS13aXRoLXNzbCIpOwogI2VuZGlmCS8qIEhBVkVfT1BFTlNTTCAqLwpAQCAtNzQ4 LDEyICs3NDgsMTIgQEAgU3RyaW5nICpJdGVtX2Z1bmNfZGVzX2RlY3J5cHQ6OnZhbF9zdHIoUwog ICByZXR1cm4gJnRtcF92YWx1ZTsKIAogZXJyb3I6Ci0gIHB1c2hfd2FybmluZ19wcmludGYoY3Vy cmVudF90aGQsTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1IsCisgIHB1c2hfd2FybmluZ19w cmludGYoY3VycmVudF90aGQsTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FSTiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29kZSwgRVIoY29kZSksCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICJkZXNfZGVjcnlwdCIpOwogd3Jvbmdfa2V5OgogI2Vsc2UKLSAgcHVzaF93YXJuaW5nX3By aW50ZihjdXJyZW50X3RoZCxNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwKKyAgcHVzaF93 YXJuaW5nX3ByaW50ZihjdXJyZW50X3RoZCxNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAog ICAgICAgICAgICAgICAgICAgICAgIEVSX0ZFQVRVUkVfRElTQUJMRUQsIEVSKEVSX0ZFQVRVUkVf RElTQUJMRUQpLAogICAgICAgICAgICAgICAgICAgICAgICJkZXNfZGVjcnlwdCIsICItLXdpdGgt c3NsIik7CiAjZW5kaWYJLyogSEFWRV9PUEVOU1NMICovCkBAIC0zNDg4LDcgKzM0ODgsNyBAQCBT dHJpbmcgKkl0ZW1fZnVuY19jb21wcmVzczo6dmFsX3N0cihTdHJpCiAJCSAgICAgKGNvbnN0IEJ5 dGVmKilyZXMtPnB0cigpLCByZXMtPmxlbmd0aCgpKSkgIT0gWl9PSykKICAgewogICAgIGNvZGU9 IGVycj09Wl9NRU1fRVJST1IgPyBFUl9aTElCX1pfTUVNX0VSUk9SIDogRVJfWkxJQl9aX0JVRl9F UlJPUjsKLSAgICBwdXNoX3dhcm5pbmcoY3VycmVudF90aGQsTVlTUUxfRVJST1I6OldBUk5fTEVW RUxfRVJST1IsY29kZSxFUihjb2RlKSk7CisgICAgcHVzaF93YXJuaW5nKGN1cnJlbnRfdGhkLE1Z U1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sY29kZSxFUihjb2RlKSk7CiAgICAgbnVsbF92YWx1 ZT0gMTsKICAgICByZXR1cm4gMDsKICAgfQpAQCAtMzUyNiw3ICszNTI2LDcgQEAgU3RyaW5nICpJ dGVtX2Z1bmNfdW5jb21wcmVzczo6dmFsX3N0cihTdAogICAvKiBJZiBsZW5ndGggaXMgbGVzcyB0 aGFuIDQgYnl0ZXMsIGRhdGEgaXMgY29ycnVwdCAqLwogICBpZiAocmVzLT5sZW5ndGgoKSA8PSA0 KQogICB7Ci0gICAgcHVzaF93YXJuaW5nX3ByaW50ZihjdXJyZW50X3RoZCxNWVNRTF9FUlJPUjo6 V0FSTl9MRVZFTF9FUlJPUiwKKyAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKGN1cnJlbnRfdGhkLE1Z U1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAJCQlFUl9aTElCX1pfREFUQV9FUlJPUiwKIAkJ CUVSKEVSX1pMSUJfWl9EQVRBX0VSUk9SKSk7CiAgICAgZ290byBlcnI7CkBAIC0zNTM2LDcgKzM1 MzYsNyBAQCBTdHJpbmcgKkl0ZW1fZnVuY191bmNvbXByZXNzOjp2YWxfc3RyKFN0CiAgIG5ld19z aXplPSB1aW50NGtvcnIocmVzLT5wdHIoKSkgJiAweDNGRkZGRkZGOwogICBpZiAobmV3X3NpemUg PiBjdXJyZW50X3RoZC0+dmFyaWFibGVzLm1heF9hbGxvd2VkX3BhY2tldCkKICAgewotICAgIHB1 c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJS T1IsCisgICAgcHVzaF93YXJuaW5nX3ByaW50ZihjdXJyZW50X3RoZCxNWVNRTF9FUlJPUjo6V0FS Tl9MRVZFTF9XQVJOLAogCQkJRVJfVE9PX0JJR19GT1JfVU5DT01QUkVTUywKIAkJCUVSKEVSX1RP T19CSUdfRk9SX1VOQ09NUFJFU1MpLAogICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF90 aGQtPnZhcmlhYmxlcy5tYXhfYWxsb3dlZF9wYWNrZXQpOwpAQCAtMzU1NCw3ICszNTU0LDcgQEAg U3RyaW5nICpJdGVtX2Z1bmNfdW5jb21wcmVzczo6dmFsX3N0cihTdAogCiAgIGNvZGU9ICgoZXJy ID09IFpfQlVGX0VSUk9SKSA/IEVSX1pMSUJfWl9CVUZfRVJST1IgOgogCSAoKGVyciA9PSBaX01F TV9FUlJPUikgPyBFUl9aTElCX1pfTUVNX0VSUk9SIDogRVJfWkxJQl9aX0RBVEFfRVJST1IpKTsK LSAgcHVzaF93YXJuaW5nKGN1cnJlbnRfdGhkLE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9S LGNvZGUsRVIoY29kZSkpOworICBwdXNoX3dhcm5pbmcoY3VycmVudF90aGQsTVlTUUxfRVJST1I6 OldBUk5fTEVWRUxfV0FSTixjb2RlLEVSKGNvZGUpKTsKIAogZXJyOgogICBudWxsX3ZhbHVlPSAx OwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9pdGVtX3N1YnNlbGVjdC5jYycKLS0tIGEvc3FsL2l0 ZW1fc3Vic2VsZWN0LmNjCTIwMDgtMDctMTAgMjM6Mjk6MjcgKzAwMDAKKysrIGIvc3FsL2l0ZW1f c3Vic2VsZWN0LmNjCTIwMDgtMDctMjQgMTA6MDA6NTYgKzAwMDAKQEAgLTIyMDIsNyArMjIwMiw4 IEBAIHZvaWQgc3Vic2VsZWN0X3VuaXF1ZXN1YnF1ZXJ5X2VuZ2luZTo6ZmkKICAgREJVR19BU1NF UlQoMCk7CiB9CiAKLWludCAgaW5pdF9yZWFkX3JlY29yZF9zZXEoSk9JTl9UQUIgKnRhYik7Citp bnQgIHJlYWRfZmlyc3RfcmVjb3JkX3NlcShKT0lOX1RBQiAqdGFiKTsKK2ludCBycl9zZXF1ZW50 aWFsKFJFQURfUkVDT1JEICppbmZvKTsKIGludCBqb2luX3JlYWRfYWx3YXlzX2tleV9vcl9udWxs KEpPSU5fVEFCICp0YWIpOwogaW50IGpvaW5fcmVhZF9uZXh0X3NhbWVfb3JfbnVsbChSRUFEX1JF Q09SRCAqaW5mbyk7CiAKQEAgLTIyODgsNyArMjI4OSw4IEBAIGludCBzdWJzZWxlY3Rfc2luZ2xl X3NlbGVjdF9lbmdpbmU6OmV4ZWMKICAgICAgICAgICAgICAgLyogQ2hhbmdlIHRoZSBhY2Nlc3Mg bWV0aG9kIHRvIGZ1bGwgdGFibGUgc2NhbiAqLwogICAgICAgICAgICAgICB0YWItPnNhdmVfcmVh ZF9maXJzdF9yZWNvcmQ9IHRhYi0+cmVhZF9maXJzdF9yZWNvcmQ7CiAgICAgICAgICAgICAgIHRh Yi0+c2F2ZV9yZWFkX3JlY29yZD0gdGFiLT5yZWFkX3JlY29yZC5yZWFkX3JlY29yZDsKLSAgICAg ICAgICAgICAgdGFiLT5yZWFkX2ZpcnN0X3JlY29yZD0gaW5pdF9yZWFkX3JlY29yZF9zZXE7Cisg ICAgICAgICAgICAgIHRhYi0+cmVhZF9yZWNvcmQucmVhZF9yZWNvcmQ9IHJyX3NlcXVlbnRpYWw7 CisgICAgICAgICAgICAgIHRhYi0+cmVhZF9maXJzdF9yZWNvcmQ9IHJlYWRfZmlyc3RfcmVjb3Jk X3NlcTsKICAgICAgICAgICAgICAgdGFiLT5yZWFkX3JlY29yZC5yZWNvcmQ9IHRhYi0+dGFibGUt PnJlY29yZFswXTsKICAgICAgICAgICAgICAgdGFiLT5yZWFkX3JlY29yZC50aGQ9IGpvaW4tPnRo ZDsKICAgICAgICAgICAgICAgdGFiLT5yZWFkX3JlY29yZC5yZWZfbGVuZ3RoPSB0YWItPnRhYmxl LT5maWxlLT5yZWZfbGVuZ3RoOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9pdGVtX3RpbWVmdW5j LmNjJwotLS0gYS9zcWwvaXRlbV90aW1lZnVuYy5jYwkyMDA4LTAzLTA1IDEwOjMyOjQ5ICswMDAw CisrKyBiL3NxbC9pdGVtX3RpbWVmdW5jLmNjCTIwMDgtMDctMTQgMTI6NDk6MTkgKzAwMDAKQEAg LTYwMiw3ICs2MDIsNyBAQCBlcnI6CiAgIHsKICAgICBjaGFyIGJ1ZmZbMTI4XTsKICAgICBzdHJt YWtlKGJ1ZmYsIHZhbF9iZWdpbiwgbWluKGxlbmd0aCwgc2l6ZW9mKGJ1ZmYpLTEpKTsKLSAgICBw dXNoX3dhcm5pbmdfcHJpbnRmKGN1cnJlbnRfdGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9F UlJPUiwKKyAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKGN1cnJlbnRfdGhkLCBNWVNRTF9FUlJPUjo6 V0FSTl9MRVZFTF9XQVJOLAogICAgICAgICAgICAgICAgICAgICAgICAgRVJfV1JPTkdfVkFMVUVf Rk9SX1RZUEUsIEVSKEVSX1dST05HX1ZBTFVFX0ZPUl9UWVBFKSwKICAgICAgICAgICAgICAgICAg ICAgICAgIGRhdGVfdGltZV90eXBlLCBidWZmLCAic3RyX3RvX2RhdGUiKTsKICAgfQoKPT09IG1v ZGlmaWVkIGZpbGUgJ3NxbC9sb2cuY2MnCi0tLSBhL3NxbC9sb2cuY2MJMjAwOC0wNy0yMiAxMDo1 MToxMyArMDAwMAorKysgYi9zcWwvbG9nLmNjCTIwMDgtMDctMjUgMTc6MjE6NTUgKzAwMDAKQEAg LTI4NzUsNyArMjg3NSw3IEBAIGJvb2wgTVlTUUxfQklOX0xPRzo6cmVzZXRfbG9ncyhUSEQqIHRo ZCkKICAgICAgIH0KICAgICAgIGVsc2UKICAgICAgIHsKLSAgICAgICAgcHVzaF93YXJuaW5nX3By aW50ZihjdXJyZW50X3RoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1IsCisgICAgICAg IHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVM X1dBUk4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVJfQklOTE9HX1BVUkdFX0ZBVEFM X0VSUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYSBwcm9ibGVtIHdpdGggZGVsZXRp bmcgJXM7ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uc2lkZXIgZXhhbWluaW5n IGNvcnJlc3BvbmRlbmNlICIKQEAgLTI5MDYsNyArMjkwNiw3IEBAIGJvb2wgTVlTUUxfQklOX0xP Rzo6cmVzZXRfbG9ncyhUSEQqIHRoZCkKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgIHB1 c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VS Uk9SLAorICAgICAgcHVzaF93YXJuaW5nX3ByaW50ZihjdXJyZW50X3RoZCwgTVlTUUxfRVJST1I6 OldBUk5fTEVWRUxfV0FSTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgRVJfQklOTE9HX1BV UkdFX0ZBVEFMX0VSUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImEgcHJvYmxlbSB3aXRo IGRlbGV0aW5nICVzOyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25zaWRlciBleGFt aW5pbmcgY29ycmVzcG9uZGVuY2UgIgpAQCAtMzEzNSw3ICszMTM1LDcgQEAgaW50IE1ZU1FMX0JJ Tl9MT0c6OnB1cmdlX2xvZ3MoY29uc3QgY2hhcgogICAgICAgICAqLwogICAgICAgICBpZiAodGhk KQogICAgICAgICB7Ci0gICAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VS Uk9SOjpXQVJOX0xFVkVMX0VSUk9SLAorICAgICAgICAgIHB1c2hfd2FybmluZ19wcmludGYodGhk LCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRVJfQklOTE9HX1BVUkdFX0ZBVEFMX0VSUiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJhIHByb2JsZW0gd2l0aCBnZXR0aW5nIGluZm8gb24gYmVpbmcgcHVyZ2VkICVzOyAi CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uc2lkZXIgZXhhbWluaW5nIGNvcnJl c3BvbmRlbmNlICIKQEAgLTMxODEsNyArMzE4MSw3IEBAIGludCBNWVNRTF9CSU5fTE9HOjpwdXJn ZV9sb2dzKGNvbnN0IGNoYXIKICAgICAgICAgewogICAgICAgICAgIGlmICh0aGQpCiAgICAgICAg ICAgewotICAgICAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1ZU1FMX0VSUk9SOjpX QVJOX0xFVkVMX0VSUk9SLAorICAgICAgICAgICAgcHVzaF93YXJuaW5nX3ByaW50Zih0aGQsIE1Z U1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVSX0JJTkxPR19QVVJHRV9GQVRBTF9FUlIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJhIHByb2JsZW0gd2l0aCBkZWxldGluZyAlczsgIgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiY29uc2lkZXIgZXhhbWluaW5nIGNvcnJlc3BvbmRlbmNlICIKQEAgLTMy OTYsNyArMzI5Niw3IEBAIGludCBNWVNRTF9CSU5fTE9HOjpwdXJnZV9sb2dzX2JlZm9yZV9kYXQK ICAgICAgICAgKi8KICAgICAgICAgaWYgKHRoZCkKICAgICAgICAgewotICAgICAgICAgIHB1c2hf d2FybmluZ19wcmludGYodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwKKyAgICAg ICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FS TiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVSX0JJTkxPR19QVVJHRV9GQVRBTF9F UlIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYSBwcm9ibGVtIHdpdGggZ2V0dGlu ZyBpbmZvIG9uIGJlaW5nIHB1cmdlZCAlczsgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImNvbnNpZGVyIGV4YW1pbmluZyBjb3JyZXNwb25kZW5jZSAiCkBAIC0zMzM2LDcgKzMzMzYs NyBAQCBpbnQgTVlTUUxfQklOX0xPRzo6cHVyZ2VfbG9nc19iZWZvcmVfZGF0CiAgICAgICAgIHsK ICAgICAgICAgICBpZiAodGhkKQogICAgICAgICAgIHsKLSAgICAgICAgICAgIHB1c2hfd2Fybmlu Z19wcmludGYodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwKKyAgICAgICAgICAg IHB1c2hfd2FybmluZ19wcmludGYodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFUl9CSU5MT0dfUFVSR0VfRkFUQUxfRVJS LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYSBwcm9ibGVtIHdpdGggZGVsZXRp bmcgJXM7ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbnNpZGVyIGV4YW1p bmluZyBjb3JyZXNwb25kZW5jZSAiCkBAIC0zOTM4LDcgKzM5MzgsNiBAQCBib29sIE1ZU1FMX0JJ Tl9MT0c6OndyaXRlKExvZ19ldmVudCAqZXZlCiAgICAgfQogI2VuZGlmIC8qIEhBVkVfUkVQTElD QVRJT04gKi8KIAotI2lmIGRlZmluZWQoVVNJTkdfVFJBTlNBQ1RJT05TKSAKICAgICAvKgogICAg ICAgU2hvdWxkIHdlIHdyaXRlIHRvIHRoZSBiaW5sb2cgY2FjaGUgb3IgdG8gdGhlIGJpbmxvZyBv biBkaXNrPwogICAgICAgV3JpdGUgdG8gdGhlIGJpbmxvZyBjYWNoZSBpZjoKQEAgLTM5NzMsNyAr Mzk3Miw3IEBAIGJvb2wgTVlTUUxfQklOX0xPRzo6d3JpdGUoTG9nX2V2ZW50ICpldmUKICAgICAg ICAgTE9DS19sb2cuCiAgICAgICAqLwogICAgIH0KLSNlbmRpZiAvKiBVU0lOR19UUkFOU0FDVElP TlMgKi8KKwogICAgIERCVUdfUFJJTlQoImluZm8iLCgiZXZlbnQgdHlwZTogJWQiLGV2ZW50X2lu Zm8tPmdldF90eXBlX2NvZGUoKSkpOwogCiAgICAgLyoKCj09PSBtb2RpZmllZCBmaWxlICdzcWwv bG9nX2V2ZW50LmNjJwotLS0gYS9zcWwvbG9nX2V2ZW50LmNjCTIwMDgtMDctMTAgMjM6Mjk6Mjcg KzAwMDAKKysrIGIvc3FsL2xvZ19ldmVudC5jYwkyMDA4LTA3LTI0IDEwOjAwOjU2ICswMDAwCkBA IC0zMDk0LDcgKzMwOTQsNiBAQCBpbnQgRm9ybWF0X2Rlc2NyaXB0aW9uX2xvZ19ldmVudDo6ZG9f YXBwCiB7CiAgIERCVUdfRU5URVIoIkZvcm1hdF9kZXNjcmlwdGlvbl9sb2dfZXZlbnQ6OmRvX2Fw cGx5X2V2ZW50Iik7CiAKLSNpZmRlZiBVU0lOR19UUkFOU0FDVElPTlMKICAgLyoKICAgICBBcyBh IHRyYW5zYWN0aW9uIE5FVkVSIHNwYW5zIG9uIDIgb3IgbW9yZSBiaW5sb2dzOgogICAgIGlmIHdl IGhhdmUgYW4gYWN0aXZlIHRyYW5zYWN0aW9uIGF0IHRoaXMgcG9pbnQsIHRoZSBtYXN0ZXIgZGll ZApAQCAtMzExNiw3ICszMTE1LDcgQEAgaW50IEZvcm1hdF9kZXNjcmlwdGlvbl9sb2dfZXZlbnQ6 OmRvX2FwcAogICAgICAgICAgICAgICAgICJpdHMgYmluYXJ5IGxvZywgdGh1cyByb2xsZWQgYmFj ayB0b28uIik7IAogICAgIGNvbnN0X2Nhc3Q8UmVsYXlfbG9nX2luZm8qPihybGkpLT5jbGVhbnVw X2NvbnRleHQodGhkLCAxKTsKICAgfQotI2VuZGlmCisKICAgLyoKICAgICBJZiB0aGlzIGV2ZW50 IGNvbWVzIGZyb20gb3Vyc2VsdmVzLCB0aGVyZSBpcyBubyBjbGVhbmluZyB0YXNrIHRvCiAgICAg cGVyZm9ybSwgd2UgZG9uJ3QgY2FsbCBTdGFydF9sb2dfZXZlbnRfdjM6OmRvX2FwcGx5X2V2ZW50 KCkKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvbWRsLmNjJwotLS0gYS9zcWwvbWRsLmNjCTIwMDgt MDYtMjAgMTM6MTE6MjAgKzAwMDAKKysrIGIvc3FsL21kbC5jYwkyMDA4LTA3LTA3IDE1OjUxOjIw ICswMDAwCkBAIC0yNDUsOCArMjQ1LDkgQEAgdm9pZCBtZGxfY29udGV4dF9tZXJnZShNRExfQ09O VEVYVCAqZHN0LAogCiAgICBAcGFyYW0gIGxvY2tfZGF0YSAgUG9pbnRlciB0byBhbiBNRExfTE9D S19EQVRBIG9iamVjdCB0byBpbml0aWFsaXplCiAgICBAcGFyYW0gIGtleV9idWZmICAgUG9pbnRl ciB0byB0aGUgYnVmZmVyIGZvciBrZXkgZm9yIHRoZSBsb2NrIHJlcXVlc3QKLSAgICAgICAgICAg ICAgICAgICAgICAoc2hvdWxkIGJlIGF0IGxlYXN0IHN0cmxlbihkYikgKyBzdHJsZW4obmFtZSkK LSAgICAgICAgICAgICAgICAgICAgICArIDIgYnl0ZXMsIG9yLCBpZiB0aGUgbGVuZ3RocyBhcmUg bm90IGtub3duLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BWF9EQk5BTUVfTEVOR1RI KQorICAgICAgICAgICAgICAgICAgICAgIChzaG91bGQgYmUgYXQgbGVhc3QgNCsgc3RybGVuKGRi KSArIDEgKyBzdHJsZW4obmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICArIDEgYnl0ZXMsIG9y LCBpZiB0aGUgbGVuZ3RocyBhcmUgbm90IGtub3duLAorICAgICAgICAgICAgICAgICAgICAgIE1B WF9NRExLRVlfTEVOR1RIKQogICAgQHBhcmFtICB0eXBlICAgICAgIElkIG9mIHR5cGUgb2Ygb2Jq ZWN0IHRvIGJlIGxvY2tlZAogICAgQHBhcmFtICBkYiAgICAgICAgIE5hbWUgb2YgZGF0YWJhc2Ug dG8gd2hpY2ggdGhlIG9iamVjdCBiZWxvbmdzCiAgICBAcGFyYW0gIG5hbWUgICAgICAgTmFtZSBv ZiBvZiB0aGUgb2JqZWN0Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL215X2RlY2ltYWwuY2MnCi0t LSBhL3NxbC9teV9kZWNpbWFsLmNjCTIwMDgtMDUtMTMgMjM6NDI6NDMgKzAwMDAKKysrIGIvc3Fs L215X2RlY2ltYWwuY2MJMjAwOC0wNy0xNCAxMjo0OToxOSArMDAwMApAQCAtNDcsMTEgKzQ3LDEx IEBAIGludCBkZWNpbWFsX29wZXJhdGlvbl9yZXN1bHRzKGludCByZXN1bHQKIAkJCSJERUNJTUFM IiwgIiIpOwogICAgIGJyZWFrOwogICBjYXNlIEVfREVDX0RJVl9aRVJPOgotICAgIHB1c2hfd2Fy bmluZ19wcmludGYoY3VycmVudF90aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLAor ICAgIHB1c2hfd2FybmluZ19wcmludGYoY3VycmVudF90aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xF VkVMX1dBUk4sCiAJCQlFUl9ESVZJU0lPTl9CWV9aRVJPLCBFUihFUl9ESVZJU0lPTl9CWV9aRVJP KSk7CiAgICAgYnJlYWs7CiAgIGNhc2UgRV9ERUNfQkFEX05VTToKLSAgICBwdXNoX3dhcm5pbmdf cHJpbnRmKGN1cnJlbnRfdGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9FUlJPUiwKKyAgICBw dXNoX3dhcm5pbmdfcHJpbnRmKGN1cnJlbnRfdGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9X QVJOLAogCQkJRVJfVFJVTkNBVEVEX1dST05HX1ZBTFVFX0ZPUl9GSUVMRCwKIAkJCUVSKEVSX1RS VU5DQVRFRF9XUk9OR19WQUxVRV9GT1JfRklFTEQpLAogCQkJImRlY2ltYWwiLCAiIiwgIiIsIChs b25nKS0xKTsKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvbXlzcWxfcHJpdi5oJwotLS0gYS9zcWwv bXlzcWxfcHJpdi5oCTIwMDgtMDctMjUgMTU6MTA6MTQgKzAwMDAKKysrIGIvc3FsL215c3FsX3By aXYuaAkyMDA4LTA4LTA3IDAzOjA1OjMzICswMDAwCkBAIC0yMTEyLDggKzIxMTIsOCBAQCBleHRl cm4gc3RydWN0IG15X29wdGlvbiBteV9sb25nX29wdGlvbnNbCiBleHRlcm4gY29uc3QgTEVYX1NU UklORyB2aWV3X3R5cGU7CiBleHRlcm4gc2NoZWR1bGVyX2Z1bmN0aW9ucyB0aHJlYWRfc2NoZWR1 bGVyOwogZXh0ZXJuIFRZUEVMSUIgdGhyZWFkX2hhbmRsaW5nX3R5cGVsaWI7Ci1leHRlcm4gdWlu dDggdWNfdXBkYXRlX3F1ZXJpZXNbU1FMQ09NX0VORCsxXTsKIGV4dGVybiB1aW50IHNxbF9jb21t YW5kX2ZsYWdzW107CitleHRlcm4gdWludCBzZXJ2ZXJfY29tbWFuZF9mbGFnc1tdOwogZXh0ZXJu IFRZUEVMSUIgbG9nX291dHB1dF90eXBlbGliOwogCiAvKiBvcHRpb25hbCB0aGluZ3MsIGhhdmVf KiB2YXJpYWJsZXMgKi8KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc2V0X3Zhci5jYycKLS0tIGEv c3FsL3NldF92YXIuY2MJMjAwOC0wNy0yMiAxMDo1Nzo0OCArMDAwMAorKysgYi9zcWwvc2V0X3Zh ci5jYwkyMDA4LTA3LTI1IDE3OjIxOjU1ICswMDAwCkBAIC0xMjc5LDEyICsxMjc5LDEwIEBAIHN0 YXRpYyB2b2lkIGZpeF90aGRfbWVtX3Jvb3QoVEhEICp0aGQsIGUKIAogc3RhdGljIHZvaWQgZml4 X3RyYW5zX21lbV9yb290KFRIRCAqdGhkLCBlbnVtX3Zhcl90eXBlIHR5cGUpCiB7Ci0jaWZkZWYg VVNJTkdfVFJBTlNBQ1RJT05TCiAgIGlmICh0eXBlICE9IE9QVF9HTE9CQUwpCiAgICAgcmVzZXRf cm9vdF9kZWZhdWx0cygmdGhkLT50cmFuc2FjdGlvbi5tZW1fcm9vdCwKICAgICAgICAgICAgICAg ICAgICAgICAgIHRoZC0+dmFyaWFibGVzLnRyYW5zX2FsbG9jX2Jsb2NrX3NpemUsCiAgICAgICAg ICAgICAgICAgICAgICAgICB0aGQtPnZhcmlhYmxlcy50cmFuc19wcmVhbGxvY19zaXplKTsKLSNl bmRpZgogfQogCiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3BfaGVhZC5jYycKLS0tIGEvc3Fs L3NwX2hlYWQuY2MJMjAwOC0wNy0xNSAxNjoyOTo1MSArMDAwMAorKysgYi9zcWwvc3BfaGVhZC5j YwkyMDA4LTA4LTA3IDE4OjM3OjU1ICswMDAwCkBAIC00NjgsNyArNDY4LDcgQEAgc3BfaGVhZDo6 b3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSB0aHJvdwogICBpbml0X3NxbF9hbGxvYygmb3duX3Jv b3QsIE1FTV9ST09UX0JMT0NLX1NJWkUsIE1FTV9ST09UX1BSRUFMTE9DKTsKICAgc3A9IChzcF9o ZWFkICopIGFsbG9jX3Jvb3QoJm93bl9yb290LCBzaXplKTsKICAgaWYgKHNwID09IE5VTEwpCi0g ICAgcmV0dXJuIE5VTEw7CisgICAgREJVR19SRVRVUk4oTlVMTCk7CiAgIHNwLT5tYWluX21lbV9y b290PSBvd25fcm9vdDsKICAgREJVR19QUklOVCgiaW5mbyIsICgibWVtX3Jvb3QgJXAiLCAmc3At Pm1lbV9yb290KSk7CiAgIERCVUdfUkVUVVJOKHNwKTsKQEAgLTE5MzMsNyArMTkzMywxNSBAQCBz cF9oZWFkOjpleGVjdXRlX3Byb2NlZHVyZShUSEQgKnRoZCwgTGlzCiAgICAgICB3ZSdsbCBsZWF2 ZSBpdCBoZXJlLgogICAgICovCiAgICAgaWYgKCF0aGQtPmluX3N1Yl9zdG10KQorICAgIHsKKyAg ICAgIHRoZC0+bGV4LT51bml0LmNsZWFudXAoKTsKKworICAgICAgdGhkX3Byb2NfaW5mbyh0aGQs ICJjbG9zaW5nIHRhYmxlcyIpOwogICAgICAgY2xvc2VfdGhyZWFkX3RhYmxlcyh0aGQpOworICAg ICAgdGhkX3Byb2NfaW5mbyh0aGQsIDApOworCisgICAgICB0aGQtPnJvbGxiYWNrX2l0ZW1fdHJl ZV9jaGFuZ2VzKCk7CisgICAgfQogCiAgICAgREJVR19QUklOVCgiaW5mbyIsKCIgJS4qczogZXZh bCBhcmdzIGRvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAoaW50KSBtX25hbWUubGVuZ3Ro LCBtX25hbWUuc3RyKSk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9hY2wuY2MnCi0tLSBh L3NxbC9zcWxfYWNsLmNjCTIwMDgtMDgtMDYgMTQ6Mzk6MDMgKzAwMDAKKysrIGIvc3FsL3NxbF9h Y2wuY2MJMjAwOC0wOC0wNyAwMzowNTozMyArMDAwMApAQCAtNDU2NSwxMyArNDU2NSwxMyBAQCBz dGF0aWMgY29uc3QgY2hhciAqY29tbWFuZF9hcnJheVtdPQogICAiQUxURVIiLCAiU0hPVyBEQVRB QkFTRVMiLCAiU1VQRVIiLCAiQ1JFQVRFIFRFTVBPUkFSWSBUQUJMRVMiLAogICAiTE9DSyBUQUJM RVMiLCAiRVhFQ1VURSIsICJSRVBMSUNBVElPTiBTTEFWRSIsICJSRVBMSUNBVElPTiBDTElFTlQi LAogICAiQ1JFQVRFIFZJRVciLCAiU0hPVyBWSUVXIiwgIkNSRUFURSBST1VUSU5FIiwgIkFMVEVS IFJPVVRJTkUiLAotICAiQ1JFQVRFIFVTRVIiLCAiRVZFTlQiLCAiVFJJR0dFUiIKKyAgIkNSRUFU RSBVU0VSIiwgIkVWRU5UIiwgIlRSSUdHRVIiLCAiQ1JFQVRFIFRBQkxFU1BBQ0UiCiB9OwogCiBz dGF0aWMgdWludCBjb21tYW5kX2xlbmd0aHNbXT0KIHsKICAgNiwgNiwgNiwgNiwgNiwgNCwgNiwg OCwgNywgNCwgNSwgMTAsIDUsIDUsIDE0LCA1LCAyMywgMTEsIDcsIDE3LCAxOCwgMTEsIDksCi0g IDE0LCAxMywgMTEsIDUsIDcKKyAgMTQsIDEzLCAxMSwgNSwgNywgMTcKIH07CiAKIAoKPT09IG1v ZGlmaWVkIGZpbGUgJ3NxbC9zcWxfYWNsLmgnCi0tLSBhL3NxbC9zcWxfYWNsLmgJMjAwOC0wMy0y OCAxMzozMzozMSArMDAwMAorKysgYi9zcWwvc3FsX2FjbC5oCTIwMDgtMDctMjQgMDc6NDQ6MjEg KzAwMDAKQEAgLTQzLDYgKzQzLDcgQEAKICNkZWZpbmUgQ1JFQVRFX1VTRVJfQUNMICgxTCA8PCAy NSkKICNkZWZpbmUgRVZFTlRfQUNMICAgICAgICgxTCA8PCAyNikKICNkZWZpbmUgVFJJR0dFUl9B Q0wgICAgICgxTCA8PCAyNykKKyNkZWZpbmUgQ1JFQVRFX1RBQkxFU1BBQ0VfQUNMICgxTCA8PCAy OCkKIC8qCiAgIGRvbid0IGZvcmdldCB0byB1cGRhdGUKICAgMS4gc3RhdGljIHN0cnVjdCBzaG93 X3ByaXZpbGVnZXNfc3Qgc3lzX3ByaXZpbGVnZXNbXQpAQCAtNzksNyArODAsOCBAQAogIFJFRkVS RU5DRVNfQUNMIHwgSU5ERVhfQUNMIHwgQUxURVJfQUNMIHwgU0hPV19EQl9BQ0wgfCBTVVBFUl9B Q0wgfCBcCiAgQ1JFQVRFX1RNUF9BQ0wgfCBMT0NLX1RBQkxFU19BQ0wgfCBSRVBMX1NMQVZFX0FD TCB8IFJFUExfQ0xJRU5UX0FDTCB8IFwKICBFWEVDVVRFX0FDTCB8IENSRUFURV9WSUVXX0FDTCB8 IFNIT1dfVklFV19BQ0wgfCBDUkVBVEVfUFJPQ19BQ0wgfCBcCi0gQUxURVJfUFJPQ19BQ0wgfCBD UkVBVEVfVVNFUl9BQ0wgfCBFVkVOVF9BQ0wgfCBUUklHR0VSX0FDTCkKKyBBTFRFUl9QUk9DX0FD TCB8IENSRUFURV9VU0VSX0FDTCB8IEVWRU5UX0FDTCB8IFRSSUdHRVJfQUNMIHwgXAorIENSRUFU RV9UQUJMRVNQQUNFX0FDTCkKIAogI2RlZmluZSBERUZBVUxUX0NSRUFURV9QUk9DX0FDTFMgXAog KEFMVEVSX1BST0NfQUNMIHwgRVhFQ1VURV9BQ0wpCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3Nx bF9jYWNoZS5jYycKLS0tIGEvc3FsL3NxbF9jYWNoZS5jYwkyMDA4LTA3LTI1IDE1OjEwOjE0ICsw MDAwCisrKyBiL3NxbC9zcWxfY2FjaGUuY2MJMjAwOC0wOC0wNyAwMzowNTozMyArMDAwMApAQCAt MTE3Nyw4ICsxMTc3LDggQEAgZW5kOgogICB0byB0aGUgdXNlci4KIAogICBSRVNVTFRTCi0gICAg ICAgIDEJUXVlcnkgd2FzIG5vdCBjYWNoZWQuCi0JMAlUaGUgcXVlcnkgd2FzIGNhY2hlZCBhbmQg dXNlciB3YXMgc2VudCB0aGUgcmVzdWx0LgorICAgICAgICAxCVRoZSBxdWVyeSB3YXMgY2FjaGVk IGFuZCB1c2VyIHdhcyBzZW50IHRoZSByZXN1bHQuCisJMAlRdWVyeSB3YXMgbm90IGNhY2hlZC4K IAktMQlUaGUgcXVlcnkgd2FzIGNhY2hlZCBidXQgd2UgZGlkbid0IGhhdmUgcmlnaHRzIHRvIHVz ZSBpdC4KIAkJTm8gZXJyb3IgaXMgc2VudCB0byB0aGUgY2xpZW50IHlldC4KIAoKPT09IG1vZGlm aWVkIGZpbGUgJ3NxbC9zcWxfY2xhc3MuY2MnCi0tLSBhL3NxbC9zcWxfY2xhc3MuY2MJMjAwOC0w Ny0yNCAwODoyNjoyNCArMDAwMAorKysgYi9zcWwvc3FsX2NsYXNzLmNjCTIwMDgtMDctMjUgMTc6 MjE6NTUgKzAwMDAKQEAgLTc5MywxMSArNzkzLDkgQEAgdm9pZCBUSEQ6OmluaXRfZm9yX3F1ZXJp ZXMoKQogCiAgIHJlc2V0X3Jvb3RfZGVmYXVsdHMobWVtX3Jvb3QsIHZhcmlhYmxlcy5xdWVyeV9h bGxvY19ibG9ja19zaXplLAogICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcy5xdWVyeV9w cmVhbGxvY19zaXplKTsKLSNpZmRlZiBVU0lOR19UUkFOU0FDVElPTlMKICAgcmVzZXRfcm9vdF9k ZWZhdWx0cygmdHJhbnNhY3Rpb24ubWVtX3Jvb3QsCiAgICAgICAgICAgICAgICAgICAgICAgdmFy aWFibGVzLnRyYW5zX2FsbG9jX2Jsb2NrX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgdmFy aWFibGVzLnRyYW5zX3ByZWFsbG9jX3NpemUpOwotI2VuZGlmCiAgIHRyYW5zYWN0aW9uLnhpZF9z dGF0ZS54aWQubnVsbCgpOwogICB0cmFuc2FjdGlvbi54aWRfc3RhdGUuaW5fdGhkPTE7CiB9CkBA IC05MzksOSArOTM3LDcgQEAgVEhEOjp+VEhEKCkKICAgbWFpbl9zZWN1cml0eV9jdHguZGVzdHJv eSgpOwogICBzYWZlRnJlZShkYik7CiAgIGZyZWVfcm9vdCgmd2Fybl9yb290LE1ZRigwKSk7Ci0j aWZkZWYgVVNJTkdfVFJBTlNBQ1RJT05TCiAgIGZyZWVfcm9vdCgmdHJhbnNhY3Rpb24ubWVtX3Jv b3QsTVlGKDApKTsKLSNlbmRpZgogICBteXN5c192YXI9MDsJCQkJCS8vIFNhZmV0eSAoc2hvdWxk bid0IGJlIG5lZWRlZCkKICAgcHRocmVhZF9tdXRleF9kZXN0cm95KCZMT0NLX2RlbGV0ZSk7CiAj aWZuZGVmIERCVUdfT0ZGCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9jbGFzcy5oJwotLS0g YS9zcWwvc3FsX2NsYXNzLmgJMjAwOC0wNy0xOCAxMzozMDo1MyArMDAwMAorKysgYi9zcWwvc3Fs X2NsYXNzLmgJMjAwOC0wNy0yNiAxNjozODoyMCArMDAwMApAQCAtMTU0OSwxOSArMTU0OSwxMyBA QCBwdWJsaWM6CiAgICAgewogICAgICAgY2hhbmdlZF90YWJsZXM9IDA7CiAgICAgICBzYXZlcG9p bnRzPSAwOwotI2lmZGVmIFVTSU5HX1RSQU5TQUNUSU9OUwogICAgICAgZnJlZV9yb290KCZtZW1f cm9vdCxNWUYoTVlfS0VFUF9QUkVBTExPQykpOwotI2VuZGlmCiAgICAgfQogICAgIHN0X3RyYW5z YWN0aW9ucygpCiAgICAgewotI2lmZGVmIFVTSU5HX1RSQU5TQUNUSU9OUwogICAgICAgYnplcm8o KGNoYXIqKXRoaXMsIHNpemVvZigqdGhpcykpOwogICAgICAgeGlkX3N0YXRlLnhpZC5udWxsKCk7 CiAgICAgICBpbml0X3NxbF9hbGxvYygmbWVtX3Jvb3QsIEFMTE9DX1JPT1RfTUlOX0JMT0NLX1NJ WkUsIDApOwotI2Vsc2UKLSAgICAgIHhpZF9zdGF0ZS54YV9zdGF0ZT0gWEFfTk9UUjsKLSNlbmRp ZgogICAgIH0KICAgfSB0cmFuc2FjdGlvbjsKICAgRmllbGQgICAgICAqZHVwX2ZpZWxkOwpAQCAt MjA4MCwxMSArMjA3NCw3IEBAIHB1YmxpYzoKICAgfQogICBpbmxpbmUgYm9vbCBhY3RpdmVfdHJh bnNhY3Rpb24oKQogICB7Ci0jaWZkZWYgVVNJTkdfVFJBTlNBQ1RJT05TCiAgICAgcmV0dXJuIHNl cnZlcl9zdGF0dXMgJiBTRVJWRVJfU1RBVFVTX0lOX1RSQU5TOwotI2Vsc2UKLSAgICByZXR1cm4g MDsKLSNlbmRpZgogICB9CiAgIGlubGluZSBib29sIGZpbGxfZGVyaXZlZF90YWJsZXMoKQogICB7 CkBAIC0zMDQxLDExICszMDMxLDExIEBAIHB1YmxpYzoKIAogLyogQml0cyBpbiBzcWxfY29tbWFu ZF9mbGFncyAqLwogCi0jZGVmaW5lIENGX0NIQU5HRVNfREFUQQkJMQotI2RlZmluZSBDRl9IQVNf Uk9XX0NPVU5UCTIKLSNkZWZpbmUgQ0ZfU1RBVFVTX0NPTU1BTkQJNAotI2RlZmluZSBDRl9TSE9X X1RBQkxFX0NPTU1BTkQJOAotI2RlZmluZSBDRl9XUklURV9MT0dTX0NPTU1BTkQgIDE2CisjZGVm aW5lIENGX0NIQU5HRVNfREFUQSAgICAgICAgICAgKDFVIDw8IDApCisjZGVmaW5lIENGX0hBU19S T1dfQ09VTlQgICAgICAgICAgKDFVIDw8IDEpCisjZGVmaW5lIENGX1NUQVRVU19DT01NQU5EICAg ICAgICAgKDFVIDw8IDIpCisjZGVmaW5lIENGX1NIT1dfVEFCTEVfQ09NTUFORCAgICAgKDFVIDw8 IDMpCisjZGVmaW5lIENGX1dSSVRFX0xPR1NfQ09NTUFORCAgICAgKDFVIDw8IDQpCiAvKioKICAg TXVzdCBiZSBzZXQgZm9yIFNRTCBzdGF0ZW1lbnRzIHRoYXQgbWF5IGNvbnRhaW4KICAgSXRlbSBl eHByZXNzaW9ucyBhbmQvb3IgdXNlIGpvaW5zIGFuZCB0YWJsZXMuCkBAIC0zMDU5LDcgKzMwNDks NTQgQEAgcHVibGljOgogICByZXByZXBhcmUuIENvbnNlcXVlbnRseSwgY29tcGxleCBpdGVtIGV4 cHJlc3Npb25zIGFuZAogICBqb2lucyBhcmUgY3VycmVudGx5IHByb2hpYml0ZWQgaW4gdGhlc2Ug c3RhdGVtZW50cy4KICovCi0jZGVmaW5lIENGX1JFRVhFQ1VUSU9OX0ZSQUdJTEUgMzIKKyNkZWZp bmUgQ0ZfUkVFWEVDVVRJT05fRlJBR0lMRSAgICAoMVUgPDwgNSkKKy8qKgorICBJbXBsaWNpdGx5 IGNvbW1pdCBiZWZvcmUgdGhlIFNRTCBzdGF0ZW1lbnQgaXMgZXhlY3V0ZWQuCisKKyAgU3RhdGVt ZW50cyBtYXJrZWQgd2l0aCB0aGlzIGZsYWcgd2lsbCBjYXVzZSBhbnkgYWN0aXZlCisgIHRyYW5z YWN0aW9uIHRvIGVuZCAoY29tbWl0KSBiZWZvcmUgcHJvY2VlZGluZyB3aXRoIHRoZQorICBjb21t YW5kIGV4ZWN1dGlvbi4KKworICBUaGlzIGZsYWcgc2hvdWxkIGJlIHNldCBmb3Igc3RhdGVtZW50 cyB0aGF0IHByb2JhYmx5IGNhbid0CisgIGJlIHJvbGxlZCBiYWNrIG9yIHRoYXQgZG8gbm90IGV4 cGVjdCBhbnkgcHJldmlvdXNseSBtZXRhZGF0YQorICBsb2NrZWQgdGFibGVzLgorKi8KKyNkZWZp bmUgQ0ZfSU1QTElDVF9DT01NSVRfQkVHSU4gICAoMVUgPDwgNikKKy8qKgorICBJbXBsaWNpdGx5 IGNvbW1pdCBhZnRlciB0aGUgU1FMIHN0YXRlbWVudC4KKworICBTdGF0ZW1lbnRzIG1hcmtlZCB3 aXRoIHRoaXMgZmxhZyBhcmUgYXV0b21hdGljYWxseSBjb21taXR0ZWQKKyAgYXQgdGhlIGVuZCBv ZiB0aGUgc3RhdGVtZW50LgorCisgIFRoaXMgZmxhZyBzaG91bGQgYmUgc2V0IGZvciBzdGF0ZW1l bnRzIHRoYXQgd2lsbCBpbXBsaWNpdGx5CisgIG9wZW4gYW5kIHRha2UgbWV0YWRhdGEgbG9ja3Mg b24gc3lzdGVtIHRhYmxlcyB0aGF0IHNob3VsZCBub3QKKyAgYmUgY2FycmllZCBmb3IgdGhlIHdo b2xlIGR1cmF0aW9uIG9mIGEgYWN0aXZlIHRyYW5zYWN0aW9uLgorKi8KKyNkZWZpbmUgQ0ZfSU1Q TElDSVRfQ09NTUlUX0VORCAgICAoMVUgPDwgNykKKy8qKgorICBDRl9JTVBMSUNUX0NPTU1JVF9C RUdJTiBhbmQgQ0ZfSU1QTElDSVRfQ09NTUlUX0VORCBhcmUgdXNlZAorICB0byBlbnN1cmUgdGhh dCB0aGUgYWN0aXZlIHRyYW5zYWN0aW9uIGlzIGltcGxpY2l0bHkgY29tbWl0dGVkCisgIGJlZm9y ZSBhbmQgYWZ0ZXIgZXZlcnkgRERMIHN0YXRlbWVudCBhbmQgYW55IHN0YXRlbWVudCB0aGF0Cisg IG1vZGlmaWVzIG91ciBjdXJyZW50bHkgbm9uLXRyYW5zYWN0aW9uYWwgc3lzdGVtIHRhYmxlcy4K KyovCisjZGVmaW5lIENGX0FVVE9fQ09NTUlUX1RSQU5TICAoQ0ZfSU1QTElDVF9DT01NSVRfQkVH SU4gfCBDRl9JTVBMSUNJVF9DT01NSVRfRU5EKQorCisvKiBCaXRzIGluIHNlcnZlcl9jb21tYW5k X2ZsYWdzICovCisKKy8qKgorICBTa2lwIHRoZSBpbmNyZWFzZSBvZiB0aGUgZ2xvYmFsIHF1ZXJ5 IGlkIGNvdW50ZXIuIENvbW1vbmx5IHNldCBmb3IKKyAgY29tbWFuZHMgdGhhdCBhcmUgc3RhdGVs ZXNzICh3b24ndCBjYXVzZSBhbnkgY2hhbmdlIG9uIHRoZSBzZXJ2ZXIKKyAgaW50ZXJuYWwgc3Rh dGVzKS4KKyovCisjZGVmaW5lIENGX1NLSVBfUVVFUllfSUQgICAgICAgICgxVSA8PCAwKQorCisv KioKKyAgU2tpcCB0aGUgaW5jcmVhc2Ugb2YgdGhlIG51bWJlciBvZiBzdGF0ZW1lbnRzIHRoYXQg Y2xpZW50cyBoYXZlCisgIHNlbnQgdG8gdGhlIHNlcnZlci4gQ29tbW9ubHkgdXNlZCBmb3IgY29t bWFuZHMgdGhhdCB3aWxsIGNhdXNlCisgIGEgc3RhdGVtZW50IHRvIGJlIGV4ZWN1dGVkIGJ1dCB0 aGUgc3RhdGVtZW50IG1pZ2h0IGhhdmUgbm90IGJlZW4KKyAgc2VudCBieSB0aGUgdXNlciAoaWU6 IHN0b3JlZCBwcm9jZWR1cmUpLgorKi8KKyNkZWZpbmUgQ0ZfU0tJUF9RVUVTVElPTlMgICAgICAg KDFVIDw8IDEpCiAKIC8qIEZ1bmN0aW9ucyBpbiBzcWxfY2xhc3MuY2MgKi8KIAoKPT09IG1vZGlm aWVkIGZpbGUgJ3NxbC9zcWxfZGVsZXRlLmNjJwotLS0gYS9zcWwvc3FsX2RlbGV0ZS5jYwkyMDA4 LTA3LTE4IDEzOjMwOjUzICswMDAwCisrKyBiL3NxbC9zcWxfZGVsZXRlLmNjCTIwMDgtMDctMjYg MTY6Mzg6MjAgKzAwMDAKQEAgLTExMDUsMTIgKzExMDUsNiBAQCB0cnVuY19ieV9kZWw6CiAgIGVy cm9yPSBteXNxbF9kZWxldGUodGhkLCB0YWJsZV9saXN0LCAoQ09ORCopIDAsIChTUUxfTElTVCop IDAsCiAgICAgICAgICAgICAgICAgICAgICAgSEFfUE9TX0VSUk9SLCBMTCgwKSwgVFJVRSk7CiAg IGhhX2VuYWJsZV90cmFuc2FjdGlvbih0aGQsIFRSVUUpOwotICAvKgotICAgIFNhZmV0eSwgaW4g Y2FzZSB0aGUgZW5naW5lIGlnbm9yZWQgaGFfZW5hYmxlX3RyYW5zYWN0aW9uKEZBTFNFKQotICAg IGFib3ZlLiBBbHNvIGNsZWFycyB0aGQtPnRyYW5zYWN0aW9uLiouCi0gICovCi0gIGVycm9yPSBo YV9hdXRvY29tbWl0X29yX3JvbGxiYWNrKHRoZCwgZXJyb3IpOwotICBoYV9jb21taXQodGhkKTsK ICAgdGhkLT5vcHRpb25zPSBzYXZlX29wdGlvbnM7CiAgIHRoZC0+Y3VycmVudF9zdG10X2Jpbmxv Z19yb3dfYmFzZWQ9IHNhdmVfYmlubG9nX3Jvd19iYXNlZDsKICAgREJVR19SRVRVUk4oZXJyb3Ip OwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfbGV4LmgnCi0tLSBhL3NxbC9zcWxfbGV4LmgJ MjAwOC0wNy0xOCAxMzozMDo1MyArMDAwMAorKysgYi9zcWwvc3FsX2xleC5oCTIwMDgtMDgtMDEg MTU6Mzg6MDUgKzAwMDAKQEAgLTQyMiwxMSArNDIyLDExIEBAIHB1YmxpYzoKICAgYm9vbCBub190 YWJsZV9uYW1lc19hbGxvd2VkOyAvKiB1c2VkIGZvciBnbG9iYWwgb3JkZXIgYnkgKi8KICAgYm9v bCBub19lcnJvcjsgLyogc3VwcHJlc3MgZXJyb3IgbWVzc2FnZSAoY29udmVydCBpdCB0byB3YXJu aW5ncykgKi8KIAotICBzdGF0aWMgdm9pZCAqb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKQorICBz dGF0aWMgdm9pZCAqb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSB0aHJvdyAoKQogICB7CiAgICAg cmV0dXJuIHNxbF9hbGxvYyhzaXplKTsKICAgfQotICBzdGF0aWMgdm9pZCAqb3BlcmF0b3IgbmV3 KHNpemVfdCBzaXplLCBNRU1fUk9PVCAqbWVtX3Jvb3QpCisgIHN0YXRpYyB2b2lkICpvcGVyYXRv ciBuZXcoc2l6ZV90IHNpemUsIE1FTV9ST09UICptZW1fcm9vdCkgdGhyb3cgKCkKICAgeyByZXR1 cm4gKHZvaWQqKSBhbGxvY19yb290KG1lbV9yb290LCAodWludCkgc2l6ZSk7IH0KICAgc3RhdGlj IHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQgKnB0cixzaXplX3Qgc2l6ZSkgeyBUUkFTSChwdHIs IHNpemUpOyB9CiAgIHN0YXRpYyB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkICpwdHIsIE1FTV9S T09UICptZW1fcm9vdCkge30KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX2xpc3QuaCcKLS0t IGEvc3FsL3NxbF9saXN0LmgJMjAwOC0wMy0yOCAxNzo0Nzo1MyArMDAwMAorKysgYi9zcWwvc3Fs X2xpc3QuaAkyMDA4LTA4LTAxIDE1OjM4OjA1ICswMDAwCkBAIC0yOSw3ICsyOSw3IEBAIHB1Ymxp YzoKICAgewogICAgIHJldHVybiBzcWxfYWxsb2Moc2l6ZSk7CiAgIH0KLSAgc3RhdGljIHZvaWQg Km9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKQorICBzdGF0aWMgdm9pZCAqb3BlcmF0b3IgbmV3 W10oc2l6ZV90IHNpemUpIHRocm93ICgpCiAgIHsKICAgICByZXR1cm4gc3FsX2FsbG9jKHNpemUp OwogICB9CkBAIC00NTAsNyArNDUwLDcgQEAgcHVibGljOgogc3RydWN0IGlsaW5rCiB7CiAgIHN0 cnVjdCBpbGluayAqKnByZXYsKm5leHQ7Ci0gIHN0YXRpYyB2b2lkICpvcGVyYXRvciBuZXcoc2l6 ZV90IHNpemUpCisgIHN0YXRpYyB2b2lkICpvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIHRocm93 ICgpCiAgIHsKICAgICByZXR1cm4gKHZvaWQqKW15X21hbGxvYygodWludClzaXplLCBNWUYoTVlf V01FIHwgTVlfRkFFIHwgTUVfRkFUQUxFUlJPUikpOwogICB9Cgo9PT0gbW9kaWZpZWQgZmlsZSAn c3FsL3NxbF9wYXJzZS5jYycKLS0tIGEvc3FsL3NxbF9wYXJzZS5jYwkyMDA4LTA4LTA2IDE0OjM5 OjAzICswMDAwCisrKyBiL3NxbC9zcWxfcGFyc2UuY2MJMjAwOC0wOC0wNyAwMzowNTozMyArMDAw MApAQCAtMTgxLDYgKzE4MSw1MCBAQCBzdGF0aWMgYm9vbCBzb21lX25vbl90ZW1wX3RhYmxlX3Rv X2JlX3VwCiB9CiAKIAorLyoKKyAgSW1wbGljaXRseSBjb21taXQgYSBhY3RpdmUgdHJhbnNhY3Rp b24gaWYgc3RhdGVtZW50IHJlcXVpcmVzIHNvLgorCisgIEBwYXJhbSB0aGQgICAgVGhyZWFkIGhh bmRsZS4KKyAgQHBhcmFtIG1hc2sgICBCaXRtYXNrIHVzZWQgZm9yIHRoZSBTUUwgY29tbWFuZCBt YXRjaC4KKworKi8KK3N0YXRpYyBib29sIG9wdF9pbXBsaWNpdF9jb21taXQoVEhEICp0aGQsIHVp bnQgbWFzaykKK3sKKyAgTEVYICpsZXg9IHRoZC0+bGV4OworICBib29sIHJlcz0gRkFMU0UsIHNr aXA9IEZBTFNFOworICBEQlVHX0VOVEVSKCJvcHRfaW1wbGljaXRfY29tbWl0Iik7CisKKyAgaWYg KCEoc3FsX2NvbW1hbmRfZmxhZ3NbbGV4LT5zcWxfY29tbWFuZF0gJiBtYXNrKSkKKyAgICBEQlVH X1JFVFVSTihGQUxTRSk7CisKKyAgc3dpdGNoIChsZXgtPnNxbF9jb21tYW5kKSB7CisgIGNhc2Ug U1FMQ09NX0RST1BfVEFCTEU6CisgICAgc2tpcD0gbGV4LT5kcm9wX3RlbXBvcmFyeTsKKyAgICBi cmVhazsKKyAgY2FzZSBTUUxDT01fQUxURVJfVEFCTEU6CisgIGNhc2UgU1FMQ09NX0NSRUFURV9U QUJMRToKKyAgICAvKiBJZiBDUkVBVEUgVEFCTEUgb2Ygbm9uLXRlbXBvcmFyeSB0YWJsZSwgZG8g aW1wbGljaXQgY29tbWl0ICovCisgICAgc2tpcD0gKGxleC0+Y3JlYXRlX2luZm8ub3B0aW9ucyAm IEhBX0xFWF9DUkVBVEVfVE1QX1RBQkxFKTsKKyAgICBicmVhazsKKyAgY2FzZSBTUUxDT01fU0VU X09QVElPTjoKKyAgICBza2lwPSBsZXgtPmF1dG9jb21taXQgPyBGQUxTRSA6IFRSVUU7CisgICAg YnJlYWs7CisgIGRlZmF1bHQ6CisgICAgYnJlYWs7CisgIH0KKworICBpZiAoIXNraXApCisgIHsK KyAgICAvKiBDb21taXQgb3Igcm9sbGJhY2sgdGhlIHN0YXRlbWVudCB0cmFuc2FjdGlvbi4gKi8K KyAgICBoYV9hdXRvY29tbWl0X29yX3JvbGxiYWNrKHRoZCwgdGhkLT5pc19lcnJvcigpKTsKKyAg ICAvKiBDb21taXQgdGhlIG5vcm1hbCB0cmFuc2FjdGlvbiBpZiBvbmUgaXMgYWN0aXZlLiAqLwor ICAgIHJlcz0gZW5kX2FjdGl2ZV90cmFucyh0aGQpOworICB9CisKKyAgREJVR19SRVRVUk4ocmVz KTsKK30KKworCiAvKioKICAgTWFyayBhbGwgY29tbWFuZHMgdGhhdCBzb21laG93IGNoYW5nZXMg YSB0YWJsZS4KIApAQCAtMTk1LDI3ICsyMzksNDUgQEAgc3RhdGljIGJvb2wgc29tZV9ub25fdGVt cF90YWJsZV90b19iZV91cAogKi8KIAogdWludCBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fRU5E KzFdOwordWludCBzZXJ2ZXJfY29tbWFuZF9mbGFnc1tDT01fRU5EKzFdOwogCiB2b2lkIGluaXRf dXBkYXRlX3F1ZXJpZXModm9pZCkKIHsKLSAgYnplcm8oKHVjaGFyKikgJnNxbF9jb21tYW5kX2Zs YWdzLCBzaXplb2Yoc3FsX2NvbW1hbmRfZmxhZ3MpKTsKKyAgLyogSW5pdGlhbGl6ZSB0aGUgc2Vy dmVyIGNvbW1hbmQgZmxhZ3MgYXJyYXkuICovCisgIG1lbXNldChzZXJ2ZXJfY29tbWFuZF9mbGFn cywgMCwgc2l6ZW9mKHNlcnZlcl9jb21tYW5kX2ZsYWdzKSk7CiAKLSAgc3FsX2NvbW1hbmRfZmxh Z3NbU1FMQ09NX0NSRUFURV9UQUJMRV09ICAgQ0ZfQ0hBTkdFU19EQVRBIHwgQ0ZfUkVFWEVDVVRJ T05fRlJBR0lMRTsKLSAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0NSRUFURV9JTkRFWF09ICAg Q0ZfQ0hBTkdFU19EQVRBOwotICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fQUxURVJfVEFCTEVd PSAgICBDRl9DSEFOR0VTX0RBVEEgfCBDRl9XUklURV9MT0dTX0NPTU1BTkQ7Ci0gIHNxbF9jb21t YW5kX2ZsYWdzW1NRTENPTV9UUlVOQ0FURV09ICAgICAgIENGX0NIQU5HRVNfREFUQSB8IENGX1dS SVRFX0xPR1NfQ09NTUFORDsKLSAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0RST1BfVEFCTEVd PSAgICAgQ0ZfQ0hBTkdFU19EQVRBOworICBzZXJ2ZXJfY29tbWFuZF9mbGFnc1tDT01fU1RBVElT VElDU109IENGX1NLSVBfUVVFUllfSUQgfCBDRl9TS0lQX1FVRVNUSU9OUzsKKyAgc2VydmVyX2Nv bW1hbmRfZmxhZ3NbQ09NX1BJTkddPSAgICAgICBDRl9TS0lQX1FVRVJZX0lEIHwgQ0ZfU0tJUF9R VUVTVElPTlM7CisgIHNlcnZlcl9jb21tYW5kX2ZsYWdzW0NPTV9TVE1UX1BSRVBBUkVdPSBDRl9T S0lQX1FVRVNUSU9OUzsKKyAgc2VydmVyX2NvbW1hbmRfZmxhZ3NbQ09NX1NUTVRfQ0xPU0VdPSAg IENGX1NLSVBfUVVFU1RJT05TOworICBzZXJ2ZXJfY29tbWFuZF9mbGFnc1tDT01fU1RNVF9SRVNF VF09ICAgQ0ZfU0tJUF9RVUVTVElPTlM7CisKKyAgLyogSW5pdGlhbGl6ZSB0aGUgc3FsIGNvbW1h bmQgZmxhZ3MgYXJyYXkuICovCisgIG1lbXNldChzcWxfY29tbWFuZF9mbGFncywgMCwgc2l6ZW9m KHNxbF9jb21tYW5kX2ZsYWdzKSk7CisKKyAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0NSRUFU RV9UQUJMRV09ICAgQ0ZfQ0hBTkdFU19EQVRBIHwgQ0ZfUkVFWEVDVVRJT05fRlJBR0lMRSB8Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENGX0FVVE9fQ09NTUlU X1RSQU5TOworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fQ1JFQVRFX0lOREVYXT0gICBDRl9D SEFOR0VTX0RBVEEgfCBDRl9BVVRPX0NPTU1JVF9UUkFOUzsKKyAgc3FsX2NvbW1hbmRfZmxhZ3Nb U1FMQ09NX0FMVEVSX1RBQkxFXT0gICAgQ0ZfQ0hBTkdFU19EQVRBIHwgQ0ZfV1JJVEVfTE9HU19D T01NQU5EIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0Zf QVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9UUlVOQ0FURV09 ICAgICAgIENGX0NIQU5HRVNfREFUQSB8IENGX1dSSVRFX0xPR1NfQ09NTUFORCB8CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENGX0FVVE9fQ09NTUlUX1RSQU5T OworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fRFJPUF9UQUJMRV09ICAgICBDRl9DSEFOR0VT X0RBVEEgfCBDRl9BVVRPX0NPTU1JVF9UUkFOUzsKICAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09N X0xPQURdPSAgICAgICAgICAgQ0ZfQ0hBTkdFU19EQVRBIHwgQ0ZfUkVFWEVDVVRJT05fRlJBR0lM RTsKLSAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0NSRUFURV9EQl09ICAgICAgQ0ZfQ0hBTkdF U19EQVRBOwotICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fRFJPUF9EQl09ICAgICAgICBDRl9D SEFOR0VTX0RBVEE7Ci0gIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9SRU5BTUVfVEFCTEVdPSAg IENGX0NIQU5HRVNfREFUQTsKKyAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0NSRUFURV9EQl09 ICAgICAgQ0ZfQ0hBTkdFU19EQVRBIHwgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21t YW5kX2ZsYWdzW1NRTENPTV9EUk9QX0RCXT0gICAgICAgIENGX0NIQU5HRVNfREFUQSB8IENGX0FV VE9fQ09NTUlUX1RSQU5TOworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fQUxURVJfREJfVVBH UkFERV09IENGX0FVVE9fQ09NTUlUX1RSQU5TOworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01f UkVOQU1FX1RBQkxFXT0gICBDRl9DSEFOR0VTX0RBVEEgfCBDRl9BVVRPX0NPTU1JVF9UUkFOUzsK ICAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX1JFU1RPUkVdPSAgICAgICAgQ0ZfQ0hBTkdFU19E QVRBOwotICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fRFJPUF9JTkRFWF09ICAgICBDRl9DSEFO R0VTX0RBVEE7Ci0gIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9DUkVBVEVfVklFV109ICAgIENG X0NIQU5HRVNfREFUQSB8IENGX1JFRVhFQ1VUSU9OX0ZSQUdJTEU7Ci0gIHNxbF9jb21tYW5kX2Zs YWdzW1NRTENPTV9EUk9QX1ZJRVddPSAgICAgIENGX0NIQU5HRVNfREFUQTsKLSAgc3FsX2NvbW1h bmRfZmxhZ3NbU1FMQ09NX0NSRUFURV9FVkVOVF09ICAgQ0ZfQ0hBTkdFU19EQVRBOwotICBzcWxf Y29tbWFuZF9mbGFnc1tTUUxDT01fQUxURVJfRVZFTlRdPSAgICBDRl9DSEFOR0VTX0RBVEE7Ci0g IHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9EUk9QX0VWRU5UXT0gICAgIENGX0NIQU5HRVNfREFU QTsKKyAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0RST1BfSU5ERVhdPSAgICAgQ0ZfQ0hBTkdF U19EQVRBIHwgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENP TV9DUkVBVEVfVklFV109ICAgIENGX0NIQU5HRVNfREFUQSB8IENGX1JFRVhFQ1VUSU9OX0ZSQUdJ TEUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRl9BVVRP X0NPTU1JVF9UUkFOUzsKKyAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0RST1BfVklFV109ICAg ICAgQ0ZfQ0hBTkdFU19EQVRBIHwgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5k X2ZsYWdzW1NRTENPTV9DUkVBVEVfVFJJR0dFUl09IENGX0FVVE9fQ09NTUlUX1RSQU5TOworICBz cWxfY29tbWFuZF9mbGFnc1tTUUxDT01fRFJPUF9UUklHR0VSXT0gICBDRl9BVVRPX0NPTU1JVF9U UkFOUzsKKyAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0NSRUFURV9FVkVOVF09ICAgQ0ZfQ0hB TkdFU19EQVRBIHwgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NR TENPTV9BTFRFUl9FVkVOVF09ICAgIENGX0NIQU5HRVNfREFUQSB8IENGX0FVVE9fQ09NTUlUX1RS QU5TOworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fRFJPUF9FVkVOVF09ICAgICBDRl9DSEFO R0VTX0RBVEEgfCBDRl9BVVRPX0NPTU1JVF9UUkFOUzsKIAogICBzcWxfY29tbWFuZF9mbGFnc1tT UUxDT01fVVBEQVRFXT0JICAgIENGX0NIQU5HRVNfREFUQSB8IENGX0hBU19ST1dfQ09VTlQgfAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRl9SRUVYRUNVVElP Tl9GUkFHSUxFOwpAQCAtMjM0LDcgKzI5Niw4IEBAIHZvaWQgaW5pdF91cGRhdGVfcXVlcmllcyh2 b2lkKQogICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fUkVQTEFDRV9TRUxFQ1RdPSBDRl9DSEFO R0VTX0RBVEEgfCBDRl9IQVNfUk9XX0NPVU5UIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ0ZfUkVFWEVDVVRJT05fRlJBR0lMRTsKICAgc3FsX2NvbW1hbmRf ZmxhZ3NbU1FMQ09NX1NFTEVDVF09ICAgICAgICAgQ0ZfUkVFWEVDVVRJT05fRlJBR0lMRTsKLSAg c3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX1NFVF9PUFRJT05dPSAgICAgQ0ZfUkVFWEVDVVRJT05f RlJBR0lMRTsKKyAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX1NFVF9PUFRJT05dPSAgICAgQ0Zf UkVFWEVDVVRJT05fRlJBR0lMRSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIENGX0FVVE9fQ09NTUlUX1RSQU5TOwogICBzcWxfY29tbWFuZF9mbGFnc1tTUUxD T01fRE9dPSAgICAgICAgICAgICBDRl9SRUVYRUNVVElPTl9GUkFHSUxFOwogCiAgIHNxbF9jb21t YW5kX2ZsYWdzW1NRTENPTV9TSE9XX1NUQVRVU19QUk9DXT0gQ0ZfU1RBVFVTX0NPTU1BTkQgfCBD Rl9SRUVYRUNVVElPTl9GUkFHSUxFOwpAQCAtMjk4LDkgKzM2MSwzMiBAQCB2b2lkIGluaXRfdXBk YXRlX3F1ZXJpZXModm9pZCkKICAgICBUaGUgZm9sbG93aW5nIGFkbWluIHRhYmxlIG9wZXJhdGlv bnMgYXJlIGFsbG93ZWQKICAgICBvbiBsb2cgdGFibGVzLgogICAqLwotICBzcWxfY29tbWFuZF9m bGFnc1tTUUxDT01fUkVQQUlSXT0gICAgICAgICAgIENGX1dSSVRFX0xPR1NfQ09NTUFORDsKLSAg c3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX09QVElNSVpFXT0gICAgICAgICBDRl9XUklURV9MT0dT X0NPTU1BTkQ7Ci0gIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9BTkFMWVpFXT0gICAgICAgICAg Q0ZfV1JJVEVfTE9HU19DT01NQU5EOworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fUkVQQUlS XT0gICAgICAgICAgIENGX1dSSVRFX0xPR1NfQ09NTUFORCB8CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9j b21tYW5kX2ZsYWdzW1NRTENPTV9PUFRJTUlaRV09ICAgICAgICAgQ0ZfV1JJVEVfTE9HU19DT01N QU5EIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRl9B VVRPX0NPTU1JVF9UUkFOUzsKKyAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0FOQUxZWkVdPSAg ICAgICAgICBDRl9XUklURV9MT0dTX0NPTU1BTkQgfAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENGX0FVVE9fQ09NTUlUX1RSQU5TOworCisgIHNxbF9jb21t YW5kX2ZsYWdzW1NRTENPTV9DUkVBVEVfVVNFUl09ICAgICAgQ0ZfQVVUT19DT01NSVRfVFJBTlM7 CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9EUk9QX1VTRVJdPSAgICAgICAgQ0ZfQVVUT19D T01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9SRU5BTUVfVVNFUl09ICAg ICAgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9SRVZP S0VfQUxMXT0gICAgICAgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdz W1NRTENPTV9SRVZPS0VdPSAgICAgICAgICAgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9j b21tYW5kX2ZsYWdzW1NRTENPTV9HUkFOVF09ICAgICAgICAgICAgQ0ZfQVVUT19DT01NSVRfVFJB TlM7CisKKyAgc3FsX2NvbW1hbmRfZmxhZ3NbU1FMQ09NX0NSRUFURV9QUk9DRURVUkVdPSAgIENG X0FVVE9fQ09NTUlUX1RSQU5TOworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fQ1JFQVRFX1NQ RlVOQ1RJT05dPSAgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NR TENPTV9BTFRFUl9QUk9DRURVUkVdPSAgICBDRl9BVVRPX0NPTU1JVF9UUkFOUzsKKyAgc3FsX2Nv bW1hbmRfZmxhZ3NbU1FMQ09NX0FMVEVSX0ZVTkNUSU9OXT0gICAgIENGX0FVVE9fQ09NTUlUX1RS QU5TOworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fQVNTSUdOX1RPX0tFWUNBQ0hFXT0gQ0Zf QVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9QUkVMT0FEX0tF WVNdPSAgICAgICBDRl9BVVRPX0NPTU1JVF9UUkFOUzsKKworICBzcWxfY29tbWFuZF9mbGFnc1tT UUxDT01fRkxVU0hdPSAgICAgICAgICAgICAgQ0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9j b21tYW5kX2ZsYWdzW1NRTENPTV9DSEVDS109ICAgICAgICAgICAgICBDRl9BVVRPX0NPTU1JVF9U UkFOUzsKKworICBzcWxfY29tbWFuZF9mbGFnc1tTUUxDT01fQkFDS1VQXT0gICAgICAgICAgICAg Q0ZfQVVUT19DT01NSVRfVFJBTlM7CisgIHNxbF9jb21tYW5kX2ZsYWdzW1NRTENPTV9SRVNUT1JF XT0gICAgICAgICAgICBDRl9BVVRPX0NPTU1JVF9UUkFOUzsKIH0KIAogCkBAIC00NTksOSArNTQ1 LDcgQEAgcHRocmVhZF9oYW5kbGVyX3QgaGFuZGxlX2Jvb3RzdHJhcCh2b2lkIAogICAgICAgYnJl YWs7CiAKICAgICBmcmVlX3Jvb3QodGhkLT5tZW1fcm9vdCxNWUYoTVlfS0VFUF9QUkVBTExPQykp OwotI2lmZGVmIFVTSU5HX1RSQU5TQUNUSU9OUwogICAgIGZyZWVfcm9vdCgmdGhkLT50cmFuc2Fj dGlvbi5tZW1fcm9vdCxNWUYoTVlfS0VFUF9QUkVBTExPQykpOwotI2VuZGlmCiAgIH0KIAogZW5k OgpAQCAtODM5LDI4ICs5MjMsMTQgQEAgYm9vbCBkaXNwYXRjaF9jb21tYW5kKGVudW0gZW51bV9z ZXJ2ZXJfYwogICB0aGQtPnNldF90aW1lKCk7CiAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmTE9DS190 aHJlYWRfY291bnQpOwogICB0aGQtPnF1ZXJ5X2lkPSBnbG9iYWxfcXVlcnlfaWQ7Ci0KLSAgc3dp dGNoKCBjb21tYW5kICkgewotICAvKiBJZ25vcmUgdGhlc2Ugc3RhdGVtZW50cy4gKi8KLSAgY2Fz ZSBDT01fU1RBVElTVElDUzoKLSAgY2FzZSBDT01fUElORzoKLSAgICBicmVhazsKLSAgLyogT25s eSBpbmNyZWFzZSBpZCBvbiB0aGVzZSBzdGF0ZW1lbnRzIGJ1dCBkb24ndCBjb3VudCB0aGVtLiAq LwotICBjYXNlIENPTV9TVE1UX1BSRVBBUkU6IAotICBjYXNlIENPTV9TVE1UX0NMT1NFOgotICBj YXNlIENPTV9TVE1UX1JFU0VUOgotICAgIG5leHRfcXVlcnlfaWQoKTsKLSAgICBicmVhazsKLSAg LyogSW5jcmVhc2UgaWQgYW5kIGNvdW50IGFsbCBvdGhlciBzdGF0ZW1lbnRzLiAqLwotICBkZWZh dWx0OgotICAgIHN0YXRpc3RpY19pbmNyZW1lbnQodGhkLT5zdGF0dXNfdmFyLnF1ZXN0aW9ucywg JkxPQ0tfc3RhdHVzKTsKKyAgaWYgKCEoc2VydmVyX2NvbW1hbmRfZmxhZ3NbY29tbWFuZF0gJiBD Rl9TS0lQX1FVRVJZX0lEKSkKICAgICBuZXh0X3F1ZXJ5X2lkKCk7Ci0gIH0KLQogICB0aHJlYWRf cnVubmluZysrOwotICAvKiBUT0RPOiBzZXQgdGhkLT5sZXgtPnNxbF9jb21tYW5kIHRvIFNRTENP TV9FTkQgaGVyZSAqLwogICBwdGhyZWFkX211dGV4X3VubG9jaygmTE9DS190aHJlYWRfY291bnQp OwogCisgIGlmICghKHNlcnZlcl9jb21tYW5kX2ZsYWdzW2NvbW1hbmRdICYgQ0ZfU0tJUF9RVUVT VElPTlMpKQorICAgIHN0YXRpc3RpY19pbmNyZW1lbnQodGhkLT5zdGF0dXNfdmFyLnF1ZXN0aW9u cywgJkxPQ0tfc3RhdHVzKTsKKwogICAvKioKICAgICBDbGVhciB0aGUgc2V0IG9mIGZsYWdzIHRo YXQgYXJlIGV4cGVjdGVkIHRvIGJlIGNsZWFyZWQgYXQgdGhlCiAgICAgYmVnaW5uaW5nIG9mIGVh Y2ggY29tbWFuZC4KQEAgLTEyNTYsMTEgKzEzMjYsMTYgQEAgYm9vbCBkaXNwYXRjaF9jb21tYW5k KGVudW0gZW51bV9zZXJ2ZXJfYwogICAgIGJvb2wgbm90X3VzZWQ7CiAgICAgc3RhdHVzX3Zhcl9p bmNyZW1lbnQodGhkLT5zdGF0dXNfdmFyLmNvbV9zdGF0W1NRTENPTV9GTFVTSF0pOwogICAgIHVs b25nIG9wdGlvbnM9ICh1bG9uZykgKHVjaGFyKSBwYWNrZXRbMF07CisgICAgaWYgKGVuZF9hY3Rp dmVfdHJhbnModGhkKSkKKyAgICAgIGJyZWFrOwogICAgIGlmIChjaGVja19nbG9iYWxfYWNjZXNz KHRoZCxSRUxPQURfQUNMKSkKICAgICAgIGJyZWFrOwogICAgIGdlbmVyYWxfbG9nX3ByaW50KHRo ZCwgY29tbWFuZCwgTnVsbFMpOwotICAgIGlmICghcmVsb2FkX2FjbF9hbmRfY2FjaGUodGhkLCBv cHRpb25zLCAoVEFCTEVfTElTVCopIDAsICZub3RfdXNlZCkpCi0gICAgICBteV9vayh0aGQpOwor ICAgIGlmIChyZWxvYWRfYWNsX2FuZF9jYWNoZSh0aGQsIG9wdGlvbnMsIChUQUJMRV9MSVNUKikg MCwgJm5vdF91c2VkKSkKKyAgICAgIGJyZWFrOworICAgIGlmIChlbmRfYWN0aXZlX3RyYW5zKHRo ZCkpCisgICAgICBicmVhazsKKyAgICBteV9vayh0aGQpOwogICAgIGJyZWFrOwogICB9CiAjaWZu ZGVmIEVNQkVEREVEX0xJQlJBUlkKQEAgLTE5NTMsMTAgKzIwMjgsMjAgQEAgbXlzcWxfZXhlY3V0 ZV9jb21tYW5kKFRIRCAqdGhkKQogI2lmZGVmIEhBVkVfUkVQTElDQVRJT04KICAgfSAvKiBlbmRp ZiB1bmxpa2VseSBzbGF2ZSAqLwogI2VuZGlmCisKICAgc3RhdHVzX3Zhcl9pbmNyZW1lbnQodGhk LT5zdGF0dXNfdmFyLmNvbV9zdGF0W2xleC0+c3FsX2NvbW1hbmRdKTsKIAogICBEQlVHX0FTU0VS VCh0aGQtPnRyYW5zYWN0aW9uLnN0bXQubW9kaWZpZWRfbm9uX3RyYW5zX3RhYmxlID09IEZBTFNF KTsKLSAgCisKKyAgLyoKKyAgICBFbmQgYSBhY3RpdmUgdHJhbnNhY3Rpb24gc28gdGhhdCB0aGlz IGNvbW1hbmQgd2lsbCBoYXZlIGl0J3MKKyAgICBvd24gdHJhbnNhY3Rpb24gYW5kIHdpbGwgYWxz byBzeW5jIHRoZSBiaW5hcnkgbG9nLiBJZiBhIERETCBpcworICAgIG5vdCBydW4gaW4gaXQncyBv d24gdHJhbnNhY3Rpb24gaXQgbWF5IHNpbXBseSBuZXZlciBhcHBlYXIgb24KKyAgICB0aGUgc2xh dmUgaW4gY2FzZSB0aGUgb3V0c2lkZSB0cmFuc2FjdGlvbiByb2xscyBiYWNrLgorICAqLworICBp ZiAob3B0X2ltcGxpY2l0X2NvbW1pdCh0aGQsIENGX0lNUExJQ1RfQ09NTUlUX0JFR0lOKSkKKyAg ICBnb3RvIGVycm9yOworCiAgIHN3aXRjaCAobGV4LT5zcWxfY29tbWFuZCkgewogCiAgIGNhc2Ug U1FMQ09NX1NIT1dfRVZFTlRTOgpAQCAtMjI1OSwxNSArMjM0NCw2IEBAIG15c3FsX2V4ZWN1dGVf Y29tbWFuZChUSEQgKnRoZCkKICAgICB9CiAgIGNhc2UgU1FMQ09NX0NSRUFURV9UQUJMRToKICAg ewotICAgIC8qIElmIENSRUFURSBUQUJMRSBvZiBub24tdGVtcG9yYXJ5IHRhYmxlLCBkbyBpbXBs aWNpdCBjb21taXQgKi8KLSAgICBpZiAoIShsZXgtPmNyZWF0ZV9pbmZvLm9wdGlvbnMgJiBIQV9M RVhfQ1JFQVRFX1RNUF9UQUJMRSkpCi0gICAgewotICAgICAgaWYgKGVuZF9hY3RpdmVfdHJhbnMo dGhkKSkKLSAgICAgIHsKLQlyZXM9IC0xOwotCWJyZWFrOwotICAgICAgfQotICAgIH0KICAgICBE QlVHX0FTU0VSVChmaXJzdF90YWJsZSA9PSBhbGxfdGFibGVzICYmIGZpcnN0X3RhYmxlICE9IDAp OwogICAgIGJvb2wgbGlua190b19sb2NhbDsKICAgICAvLyBTa2lwIGZpcnN0IHRhYmxlLCB3aGlj aCBpcyB0aGUgdGFibGUgd2UgYXJlIGNyZWF0aW5nCkBAIC0yNDg3LDggKzI1NjMsNiBAQCBlbmRf d2l0aF9yZXN0b3JlX2xpc3Q6CiAgICAgREJVR19BU1NFUlQoZmlyc3RfdGFibGUgPT0gYWxsX3Rh YmxlcyAmJiBmaXJzdF90YWJsZSAhPSAwKTsKICAgICBpZiAoY2hlY2tfb25lX3RhYmxlX2FjY2Vz cyh0aGQsIElOREVYX0FDTCwgYWxsX3RhYmxlcykpCiAgICAgICBnb3RvIGVycm9yOyAvKiBwdXJl Y292OiBpbnNwZWN0ZWQgKi8KLSAgICBpZiAoZW5kX2FjdGl2ZV90cmFucyh0aGQpKQotICAgICAg Z290byBlcnJvcjsKICAgICAvKgogICAgICAgQ3VycmVudGx5IENSRUFURSBJTkRFWCBvciBEUk9Q IElOREVYIGNhdXNlIGEgZnVsbCB0YWJsZSByZWJ1aWxkCiAgICAgICBhbmQgdGh1cyBjbGFzc2lm eSBhcyBzbG93IGFkbWluaXN0cmF0aXZlIHN0YXRlbWVudHMganVzdCBsaWtlCkBAIC0yNjEyLDkg KzI2ODYsNiBAQCBlbmRfd2l0aF9yZXN0b3JlX2xpc3Q6CiAgICAgICAgIHB1c2hfd2FybmluZyh0 aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX1dBUk4sIDAsCiAgICAgICAgICAgICAgICAgICAg ICAiSU5ERVggRElSRUNUT1JZIG9wdGlvbiBpZ25vcmVkIik7CiAgICAgICBjcmVhdGVfaW5mby5k YXRhX2ZpbGVfbmFtZT0gY3JlYXRlX2luZm8uaW5kZXhfZmlsZV9uYW1lPSBOVUxMOwotICAgICAg LyogQUxURVIgVEFCTEUgZW5kcyBwcmV2aW91cyB0cmFuc2FjdGlvbiAqLwotICAgICAgaWYgKGVu ZF9hY3RpdmVfdHJhbnModGhkKSkKLQlnb3RvIGVycm9yOwogCiAgICAgICBpZiAoIXRoZC0+bG9j a2VkX3RhYmxlc19tb2RlICYmCiAgICAgICAgICAgIShuZWVkX3N0YXJ0X3dhaXRpbmc9ICF3YWl0 X2lmX2dsb2JhbF9yZWFkX2xvY2sodGhkLCAwLCAxKSkpCkBAIC0yNjYxLDEzICsyNzMyLDEzIEBA IGVuZF93aXRoX3Jlc3RvcmVfbGlzdDoKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKLSAg ICAgIERETF9ibG9ja2VyLT5jaGVja19ERExfYmxvY2tlcih0aGQpOwotICAgIGlmIChlbmRfYWN0 aXZlX3RyYW5zKHRoZCkgfHwgbXlzcWxfcmVuYW1lX3RhYmxlcyh0aGQsIGZpcnN0X3RhYmxlLCAw KSkKLSAgICAgIHsKLSAgICAgICAgRERMX2Jsb2NrZXItPmVuZF9EREwoKTsKLSAgICAgICAgZ290 byBlcnJvcjsKLSAgICAgIH0KKyAgICBERExfYmxvY2tlci0+Y2hlY2tfRERMX2Jsb2NrZXIodGhk KTsKKyAgICBpZiAobXlzcWxfcmVuYW1lX3RhYmxlcyh0aGQsIGZpcnN0X3RhYmxlLCAwKSkKKyAg ICB7CiAgICAgICBERExfYmxvY2tlci0+ZW5kX0RETCgpOworICAgICAgZ290byBlcnJvcjsKKyAg ICB9CisgICAgRERMX2Jsb2NrZXItPmVuZF9EREwoKTsKICAgICBicmVhazsKICAgfQogI2lmbmRl ZiBFTUJFRERFRF9MSUJSQVJZCkBAIC0zMDQwLDExICszMTExLDYgQEAgZW5kX3dpdGhfcmVzdG9y ZV9saXN0OgogICAgIGJyZWFrOwogICB9CiAgIGNhc2UgU1FMQ09NX1RSVU5DQVRFOgotICAgIGlm IChlbmRfYWN0aXZlX3RyYW5zKHRoZCkpCi0gICAgewotICAgICAgcmVzPSAtMTsKLSAgICAgIGJy ZWFrOwotICAgIH0KICAgICBEQlVHX0FTU0VSVChmaXJzdF90YWJsZSA9PSBhbGxfdGFibGVzICYm IGZpcnN0X3RhYmxlICE9IDApOwogICAgIGlmIChjaGVja19vbmVfdGFibGVfYWNjZXNzKHRoZCwg RFJPUF9BQ0wsIGFsbF90YWJsZXMpKQogICAgICAgZ290byBlcnJvcjsKQEAgLTMxNDUsOCArMzIx MSw2IEBAIGVuZF93aXRoX3Jlc3RvcmVfbGlzdDoKICAgICB7CiAgICAgICBpZiAoY2hlY2tfdGFi bGVfYWNjZXNzKHRoZCwgRFJPUF9BQ0wsIGFsbF90YWJsZXMsIEZBTFNFLCBGQUxTRSwgVUlOVF9N QVgpKQogCWdvdG8gZXJyb3I7CQkJCS8qIHB1cmVjb3Y6IGluc3BlY3RlZCAqLwotICAgICAgaWYg KGVuZF9hY3RpdmVfdHJhbnModGhkKSkKLSAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAgICAg ZWxzZQogICAgIHsKQEAgLTMyNDMsOSArMzMwNyw2IEBAIGVuZF93aXRoX3Jlc3RvcmVfbGlzdDoK ICAgewogICAgIExpc3Q8c2V0X3Zhcl9iYXNlPiAqbGV4X3Zhcl9saXN0PSAmbGV4LT52YXJfbGlz dDsKIAotICAgIGlmIChsZXgtPmF1dG9jb21taXQgJiYgZW5kX2FjdGl2ZV90cmFucyh0aGQpKQot ICAgICAgZ290byBlcnJvcjsKLQogICAgIGlmICgoY2hlY2tfdGFibGVfYWNjZXNzKHRoZCwgU0VM RUNUX0FDTCwgYWxsX3RhYmxlcywgRkFMU0UsIEZBTFNFLCBVSU5UX01BWCkgfHwKIAkgb3Blbl9h bmRfbG9ja190YWJsZXModGhkLCBhbGxfdGFibGVzKSkpCiAgICAgICBnb3RvIGVycm9yOwpAQCAt MzM4NywxMSArMzQ0OCw2IEBAIGVuZF93aXRoX3Jlc3RvcmVfbGlzdDoKICAgICAgIHByZXBhcmVk IHN0YXRlbWVudC0gc2FmZS4KICAgICAqLwogICAgIEhBX0NSRUFURV9JTkZPIGNyZWF0ZV9pbmZv KGxleC0+Y3JlYXRlX2luZm8pOwotICAgIGlmIChlbmRfYWN0aXZlX3RyYW5zKHRoZCkpCi0gICAg ewotICAgICAgcmVzPSAtMTsKLSAgICAgIGJyZWFrOwotICAgIH0KICAgICBjaGFyICphbGlhczsK ICAgICBpZiAoIShhbGlhcz10aGQtPnN0cm1ha2UobGV4LT5uYW1lLnN0ciwgbGV4LT5uYW1lLmxl bmd0aCkpIHx8CiAgICAgICAgIGNoZWNrX2RiX25hbWUoJmxleC0+bmFtZSkpCkBAIC0zNDI2LDEx ICszNDgyLDYgQEAgZW5kX3dpdGhfcmVzdG9yZV9saXN0OgogICB9CiAgIGNhc2UgU1FMQ09NX0RS T1BfREI6CiAgIHsKLSAgICBpZiAoZW5kX2FjdGl2ZV90cmFucyh0aGQpKQotICAgIHsKLSAgICAg IHJlcz0gLTE7Ci0gICAgICBicmVhazsKLSAgICB9CiAgICAgaWYgKGNoZWNrX2RiX25hbWUoJmxl eC0+bmFtZSkpCiAgICAgewogICAgICAgbXlfZXJyb3IoRVJfV1JPTkdfREJfTkFNRSwgTVlGKDAp LCBsZXgtPm5hbWUuc3RyKTsKQEAgLTM0NjksMTEgKzM1MjAsNiBAQCBlbmRfd2l0aF9yZXN0b3Jl X2xpc3Q6CiAgIGNhc2UgU1FMQ09NX0FMVEVSX0RCX1VQR1JBREU6CiAgIHsKICAgICBMRVhfU1RS SU5HICpkYj0gJiBsZXgtPm5hbWU7Ci0gICAgaWYgKGVuZF9hY3RpdmVfdHJhbnModGhkKSkKLSAg ICB7Ci0gICAgICByZXM9IDE7Ci0gICAgICBicmVhazsKLSAgICB9CiAjaWZkZWYgSEFWRV9SRVBM SUNBVElPTgogICAgIGlmICh0aGQtPnNsYXZlX3RocmVhZCAmJiAKICAgICAgICAoIXJwbF9maWx0 ZXItPmRiX29rKGRiLT5zdHIpIHx8CkBAIC0zNjQwLDggKzM2ODYsNiBAQCBlbmRfd2l0aF9yZXN0 b3JlX2xpc3Q6CiAgICAgaWYgKGNoZWNrX2FjY2Vzcyh0aGQsIElOU0VSVF9BQ0wsICJteXNxbCIs IDAsIDEsIDEsIDApICYmCiAgICAgICAgIGNoZWNrX2dsb2JhbF9hY2Nlc3ModGhkLENSRUFURV9V U0VSX0FDTCkpCiAgICAgICBicmVhazsKLSAgICBpZiAoZW5kX2FjdGl2ZV90cmFucyh0aGQpKQot ICAgICAgZ290byBlcnJvcjsKICAgICAvKiBDb25kaXRpb25hbGx5IHdyaXRlcyB0byBiaW5sb2cg Ki8KICAgICBpZiAoIShyZXM9IG15c3FsX2NyZWF0ZV91c2VyKHRoZCwgbGV4LT51c2Vyc19saXN0 KSkpCiAgICAgICBteV9vayh0aGQpOwpAQCAtMzY1Miw4ICszNjk2LDYgQEAgZW5kX3dpdGhfcmVz dG9yZV9saXN0OgogICAgIGlmIChjaGVja19hY2Nlc3ModGhkLCBERUxFVEVfQUNMLCAibXlzcWwi LCAwLCAxLCAxLCAwKSAmJgogICAgICAgICBjaGVja19nbG9iYWxfYWNjZXNzKHRoZCxDUkVBVEVf VVNFUl9BQ0wpKQogICAgICAgYnJlYWs7Ci0gICAgaWYgKGVuZF9hY3RpdmVfdHJhbnModGhkKSkK LSAgICAgIGdvdG8gZXJyb3I7CiAgICAgLyogQ29uZGl0aW9uYWxseSB3cml0ZXMgdG8gYmlubG9n ICovCiAgICAgaWYgKCEocmVzPSBteXNxbF9kcm9wX3VzZXIodGhkLCBsZXgtPnVzZXJzX2xpc3Qp KSkKICAgICAgIG15X29rKHRoZCk7CkBAIC0zNjY0LDggKzM3MDYsNiBAQCBlbmRfd2l0aF9yZXN0 b3JlX2xpc3Q6CiAgICAgaWYgKGNoZWNrX2FjY2Vzcyh0aGQsIFVQREFURV9BQ0wsICJteXNxbCIs IDAsIDEsIDEsIDApICYmCiAgICAgICAgIGNoZWNrX2dsb2JhbF9hY2Nlc3ModGhkLENSRUFURV9V U0VSX0FDTCkpCiAgICAgICBicmVhazsKLSAgICBpZiAoZW5kX2FjdGl2ZV90cmFucyh0aGQpKQot ICAgICAgZ290byBlcnJvcjsKICAgICAvKiBDb25kaXRpb25hbGx5IHdyaXRlcyB0byBiaW5sb2cg Ki8KICAgICBpZiAoIShyZXM9IG15c3FsX3JlbmFtZV91c2VyKHRoZCwgbGV4LT51c2Vyc19saXN0 KSkpCiAgICAgICBteV9vayh0aGQpOwpAQCAtMzY3Myw4ICszNzEzLDYgQEAgZW5kX3dpdGhfcmVz dG9yZV9saXN0OgogICB9CiAgIGNhc2UgU1FMQ09NX1JFVk9LRV9BTEw6CiAgIHsKLSAgICBpZiAo ZW5kX2FjdGl2ZV90cmFucyh0aGQpKQotICAgICAgZ290byBlcnJvcjsKICAgICBpZiAoY2hlY2tf YWNjZXNzKHRoZCwgVVBEQVRFX0FDTCwgIm15c3FsIiwgMCwgMSwgMSwgMCkgJiYKICAgICAgICAg Y2hlY2tfZ2xvYmFsX2FjY2Vzcyh0aGQsQ1JFQVRFX1VTRVJfQUNMKSkKICAgICAgIGJyZWFrOwpA QCAtMzY4Niw5ICszNzI0LDYgQEAgZW5kX3dpdGhfcmVzdG9yZV9saXN0OgogICBjYXNlIFNRTENP TV9SRVZPS0U6CiAgIGNhc2UgU1FMQ09NX0dSQU5UOgogICB7Ci0gICAgaWYgKGVuZF9hY3RpdmVf dHJhbnModGhkKSkKLSAgICAgIGdvdG8gZXJyb3I7Ci0KICAgICBpZiAoY2hlY2tfYWNjZXNzKHRo ZCwgbGV4LT5ncmFudCB8IGxleC0+Z3JhbnRfdG90X2NvbCB8IEdSQU5UX0FDTCwKIAkJICAgICBm aXJzdF90YWJsZSA/ICBmaXJzdF90YWJsZS0+ZGIgOiBzZWxlY3RfbGV4LT5kYiwKIAkJICAgICBm aXJzdF90YWJsZSA/ICZmaXJzdF90YWJsZS0+Z3JhbnQucHJpdmlsZWdlIDogMCwKQEAgLTQwMzks OSArNDA3NCw2IEBAIGVuZF93aXRoX3Jlc3RvcmVfbGlzdDoKICAgICAgICAgICAgICAgICAgICAg IGlzX3NjaGVtYV9kYihsZXgtPnNwaGVhZC0+bV9kYi5zdHIpKSkKICAgICAgIGdvdG8gY3JlYXRl X3NwX2Vycm9yOwogCi0gICAgaWYgKGVuZF9hY3RpdmVfdHJhbnModGhkKSkKLSAgICAgIGdvdG8g Y3JlYXRlX3NwX2Vycm9yOwotCiAgICAgbmFtZT0gbGV4LT5zcGhlYWQtPm5hbWUoJm5hbWVsZW4p OwogI2lmZGVmIEhBVkVfRExPUEVOCiAgICAgaWYgKGxleC0+c3BoZWFkLT5tX3R5cGUgPT0gVFlQ RV9FTlVNX0ZVTkNUSU9OKQpAQCAtNDIzNiw4ICs0MjY4LDYgQEAgY3JlYXRlX3NwX2Vycm9yOgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV4LT5zcWxfY29tbWFuZCA9PSBTUUxD T01fQUxURVJfUFJPQ0VEVVJFLCAwKSkKIAkgIGdvdG8gZXJyb3I7CiAKLSAgICAgICAgaWYgKGVu ZF9hY3RpdmVfdHJhbnModGhkKSkgCi0gICAgICAgICAgZ290byBlcnJvcjsKIAltZW1jcHkoJmxl eC0+c3BfY2hpc3RpY3MsICZjaGlzdGljcywgc2l6ZW9mKGxleC0+c3BfY2hpc3RpY3MpKTsKICAg ICAgICAgaWYgKChzcC0+bV90eXBlID09IFRZUEVfRU5VTV9GVU5DVElPTikgJiYKICAgICAgICAg ICAgICF0cnVzdF9mdW5jdGlvbl9jcmVhdG9ycyAmJiAgbXlzcWxfYmluX2xvZy5pc19vcGVuKCkg JiYKQEAgLTQ0NTUsMTYgKzQ0ODUsMTIgQEAgY3JlYXRlX3NwX2Vycm9yOgogICAgICAgICBOb3Rl OiBTUUxDT01fQ1JFQVRFX1ZJRVcgYWxzbyBoYW5kbGVzICdBTFRFUiBWSUVXJyBjb21tYW5kcwog ICAgICAgICBhcyBzcGVjaWZpZWQgdGhyb3VnaCB0aGUgdGhkLT5sZXgtPmNyZWF0ZV92aWV3X21v ZGUgZmxhZy4KICAgICAgICovCi0gICAgICBpZiAoZW5kX2FjdGl2ZV90cmFucyh0aGQpKQotICAg ICAgICBnb3RvIGVycm9yOwotCiAgICAgICByZXM9IG15c3FsX2NyZWF0ZV92aWV3KHRoZCwgZmly c3RfdGFibGUsIHRoZC0+bGV4LT5jcmVhdGVfdmlld19tb2RlKTsKICAgICAgIGJyZWFrOwogICAg IH0KICAgY2FzZSBTUUxDT01fRFJPUF9WSUVXOgogICAgIHsKLSAgICAgIGlmIChjaGVja190YWJs ZV9hY2Nlc3ModGhkLCBEUk9QX0FDTCwgYWxsX3RhYmxlcywgRkFMU0UsIEZBTFNFLCBVSU5UX01B WCkgfHwKLSAgICAgICAgICBlbmRfYWN0aXZlX3RyYW5zKHRoZCkpCisgICAgICBpZiAoY2hlY2tf dGFibGVfYWNjZXNzKHRoZCwgRFJPUF9BQ0wsIGFsbF90YWJsZXMsIEZBTFNFLCBGQUxTRSwgVUlO VF9NQVgpKQogICAgICAgICBnb3RvIGVycm9yOwogICAgICAgLyogQ29uZGl0aW9uYWxseSB3cml0 ZXMgdG8gYmlubG9nLiAqLwogICAgICAgcmVzPSBteXNxbF9kcm9wX3ZpZXcodGhkLCBmaXJzdF90 YWJsZSwgdGhkLT5sZXgtPmRyb3BfbW9kZSk7CkBAIC00NDcyLDkgKzQ0OTgsNiBAQCBjcmVhdGVf c3BfZXJyb3I6CiAgICAgfQogICBjYXNlIFNRTENPTV9DUkVBVEVfVFJJR0dFUjoKICAgewotICAg IGlmIChlbmRfYWN0aXZlX3RyYW5zKHRoZCkpCi0gICAgICBnb3RvIGVycm9yOwotCiAgICAgLyog Q29uZGl0aW9uYWxseSB3cml0ZXMgdG8gYmlubG9nLiAqLwogICAgIHJlcz0gbXlzcWxfY3JlYXRl X29yX2Ryb3BfdHJpZ2dlcih0aGQsIGFsbF90YWJsZXMsIDEpOwogCkBAIC00NDgyLDkgKzQ1MDUs NiBAQCBjcmVhdGVfc3BfZXJyb3I6CiAgIH0KICAgY2FzZSBTUUxDT01fRFJPUF9UUklHR0VSOgog ICB7Ci0gICAgaWYgKGVuZF9hY3RpdmVfdHJhbnModGhkKSkKLSAgICAgIGdvdG8gZXJyb3I7Ci0K ICAgICAvKiBDb25kaXRpb25hbGx5IHdyaXRlcyB0byBiaW5sb2cuICovCiAgICAgcmVzPSBteXNx bF9jcmVhdGVfb3JfZHJvcF90cmlnZ2VyKHRoZCwgYWxsX3RhYmxlcywgMCk7CiAgICAgYnJlYWs7 CkBAIC00NjYyLDcgKzQ2ODIsNyBAQCBjcmVhdGVfc3BfZXJyb3I6CiAgICAgcmVzPSBteXNxbF94 YV9yZWNvdmVyKHRoZCk7CiAgICAgYnJlYWs7CiAgIGNhc2UgU1FMQ09NX0FMVEVSX1RBQkxFU1BB Q0U6Ci0gICAgaWYgKGNoZWNrX2FjY2Vzcyh0aGQsIEFMVEVSX0FDTCwgdGhkLT5kYiwgMCwgMSwg MCwgdGhkLT5kYiA/IGlzX3NjaGVtYV9kYih0aGQtPmRiKSA6IDApKQorICAgIGlmIChjaGVja19n bG9iYWxfYWNjZXNzKHRoZCwgQ1JFQVRFX1RBQkxFU1BBQ0VfQUNMKSkKICAgICAgIGJyZWFrOwog ICAgIGlmICghKHJlcz0gbXlzcWxfYWx0ZXJfdGFibGVzcGFjZSh0aGQsIGxleC0+YWx0ZXJfdGFi bGVzcGFjZV9pbmZvKSkpCiAgICAgICBteV9vayh0aGQpOwpAQCAtNDc4OSw2ICs0ODA5LDEyIEBA IGZpbmlzaDoKICAgICAqLwogICAgIHN0YXJ0X3dhaXRpbmdfZ2xvYmFsX3JlYWRfbG9jayh0aGQp OwogICB9CisKKyAgLyogSWYgY29tbWl0IGZhaWxzLCB3ZSBzaG91bGQgYmUgYWJsZSB0byByZXNl dCB0aGUgT0sgc3RhdHVzLiAqLworICB0aGQtPm1haW5fZGEuY2FuX292ZXJ3cml0ZV9zdGF0dXM9 IFRSVUU7CisgIG9wdF9pbXBsaWNpdF9jb21taXQodGhkLCBDRl9JTVBMSUNJVF9DT01NSVRfRU5E KTsKKyAgdGhkLT5tYWluX2RhLmNhbl9vdmVyd3JpdGVfc3RhdHVzPSBGQUxTRTsKKwogICBEQlVH X1JFVFVSTihyZXMgfHwgdGhkLT5pc19lcnJvcigpKTsKIAogZXJyb3I6Cgo9PT0gbW9kaWZpZWQg ZmlsZSAnc3FsL3NxbF9zZWxlY3QuY2MnCi0tLSBhL3NxbC9zcWxfc2VsZWN0LmNjCTIwMDgtMDct MzEgMTE6Mzc6MDcgKzAwMDAKKysrIGIvc3FsL3NxbF9zZWxlY3QuY2MJMjAwOC0wOC0wNyAwMzow NTozMyArMDAwMApAQCAtMTU4MiwxMyArMTU4MiwxMyBAQCBKT0lOOjpvcHRpbWl6ZSgpCiAgIH0K ICAgaWYgKGNvbnN0X3RhYmxlcyAmJiAhdGhkLT5sb2NrZWRfdGFibGVzX21vZGUgJiYKICAgICAg ICEoc2VsZWN0X29wdGlvbnMgJiBTRUxFQ1RfTk9fVU5MT0NLKSkKLSAgICBteXNxbF91bmxvY2tf c29tZV90YWJsZXModGhkLCB0YWJsZSwgY29uc3RfdGFibGVzKTsKKyAgICBteXNxbF91bmxvY2tf c29tZV90YWJsZXModGhkLCBhbGxfdGFibGVzLCBjb25zdF90YWJsZXMpOwogICBpZiAoIWNvbmRz ICYmIG91dGVyX2pvaW4pCiAgIHsKICAgICAvKiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgaGF2 ZSBhbiBPVVRFUiBKT0lOIHdpdGhvdXQgYSBXSEVSRSAqLwogICAgIGNvbmRzPW5ldyBJdGVtX2lu dCgobG9uZ2xvbmcpIDEsMSk7CS8vIEFsd2F5cyB0cnVlCiAgIH0KLSAgc2VsZWN0PSBtYWtlX3Nl bGVjdCgqdGFibGUsIGNvbnN0X3RhYmxlX21hcCwKKyAgc2VsZWN0PSBtYWtlX3NlbGVjdCgqYWxs X3RhYmxlcywgY29uc3RfdGFibGVfbWFwLAogICAgICAgICAgICAgICAgICAgICAgIGNvbnN0X3Rh YmxlX21hcCwgY29uZHMsIDEsICZlcnJvcik7CiAgIGlmIChlcnJvcikKICAgewkJCQkJCS8qIHB1 cmVjb3Y6IGluc3BlY3RlZCAqLwpAQCAtNDIxNiw3ICs0MjE2LDcgQEAgbWFrZV9qb2luX3N0YXRp c3RpY3MoSk9JTiAqam9pbiwgVEFCTEVfTAogCiAgIGpvaW4tPmpvaW5fdGFiPXN0YXQ7CiAgIGpv aW4tPm1hcDJ0YWJsZT1zdGF0X3JlZjsKLSAgam9pbi0+dGFibGU9IGpvaW4tPmFsbF90YWJsZXM9 dGFibGVfdmVjdG9yOworICBqb2luLT5hbGxfdGFibGVzPSB0YWJsZV92ZWN0b3I7CiAgIGpvaW4t PmNvbnN0X3RhYmxlcz1jb25zdF9jb3VudDsKICAgam9pbi0+Zm91bmRfY29uc3RfdGFibGVfbWFw PWZvdW5kX2NvbnN0X3RhYmxlX21hcDsKIApAQCAtNjk0NCw3ICs2OTQ0LDcgQEAgZ2V0X2Jlc3Rf Y29tYmluYXRpb24oSk9JTiAqam9pbikKICAgewogICAgIFRBQkxFICpmb3JtOwogICAgICpqPSAq am9pbi0+YmVzdF9wb3NpdGlvbnNbdGFibGVucl0udGFibGU7Ci0gICAgZm9ybT1qb2luLT50YWJs ZVt0YWJsZW5yXT1qLT50YWJsZTsKKyAgICBmb3JtPWpvaW4tPmFsbF90YWJsZXNbdGFibGVucl09 ai0+dGFibGU7CiAgICAgdXNlZF90YWJsZXN8PSBmb3JtLT5tYXA7CiAgICAgZm9ybS0+cmVnaW5m by5qb2luX3RhYj1qOwogICAgIGlmICghKmotPm9uX2V4cHJfcmVmKQpAQCAtNzIyMyw3ICs3MjIz LDcgQEAgbWFrZV9zaW1wbGVfam9pbihKT0lOICpqb2luLFRBQkxFICp0bXBfdAogICBqb2luX3Rh Yj0gam9pbi0+am9pbl90YWJfcmVleGVjOwogCiAgIGpvaW4tPmpvaW5fdGFiPWpvaW5fdGFiOwot ICBqb2luLT50YWJsZT10YWJsZXB0cjsgdGFibGVwdHJbMF09dG1wX3RhYmxlOworICBqb2luLT5h bGxfdGFibGVzPXRhYmxlcHRyOyB0YWJsZXB0clswXT10bXBfdGFibGU7CiAgIGpvaW4tPnRhYmxl cz0xOwogICBqb2luLT5jb25zdF90YWJsZXM9MDsKICAgam9pbi0+Y29uc3RfdGFibGVfbWFwPTA7 CkBAIC04NjUwLDI0ICs4NjUwLDIzIEBAIHZvaWQgSk9JTjo6Y2xlYW51cChib29sIGZ1bGwpCiB7 CiAgIERCVUdfRU5URVIoIkpPSU46OmNsZWFudXAiKTsKIAotICBpZiAodGFibGUpCisgIGlmIChh bGxfdGFibGVzKQogICB7CiAgICAgSk9JTl9UQUIgKnRhYiwqZW5kOwogICAgIC8qCiAgICAgICBP bmx5IGEgc29ydGVkIHRhYmxlIG1heSBiZSBjYWNoZWQuICBUaGlzIHNvcnRlZCB0YWJsZSBpcyBh bHdheXMgdGhlCi0gICAgICBmaXJzdCBub24gY29uc3QgdGFibGUgaW4gam9pbi0+dGFibGUKKyAg ICAgIGZpcnN0IG5vbiBjb25zdCB0YWJsZSBpbiBqb2luLT5hbGxfdGFibGVzCiAgICAgKi8KICAg ICBpZiAodGFibGVzID4gY29uc3RfdGFibGVzKSAvLyBUZXN0IGZvciBub3QtY29uc3QgdGFibGVz CiAgICAgewotICAgICAgZnJlZV9pb19jYWNoZSh0YWJsZVtjb25zdF90YWJsZXNdKTsKLSAgICAg IGZpbGVzb3J0X2ZyZWVfYnVmZmVycyh0YWJsZVtjb25zdF90YWJsZXNdLGZ1bGwpOworICAgICAg ZnJlZV9pb19jYWNoZShhbGxfdGFibGVzW2NvbnN0X3RhYmxlc10pOworICAgICAgZmlsZXNvcnRf ZnJlZV9idWZmZXJzKGFsbF90YWJsZXNbY29uc3RfdGFibGVzXSxmdWxsKTsKICAgICB9CiAKICAg ICBpZiAoZnVsbCkKICAgICB7CiAgICAgICBmb3IgKHRhYj0gam9pbl90YWIsIGVuZD0gdGFiK3Rh YmxlczsgdGFiICE9IGVuZDsgdGFiKyspCiAJdGFiLT5jbGVhbnVwKCk7Ci0gICAgICB0YWJsZT0g MDsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTg5OTQsNyArODk5Myw3IEBAIHN0YXRpYyB2 b2lkIGNsZWFyX3RhYmxlcyhKT0lOICpqb2luKQogICAgIGFyZSBub3QgcmUtY2FsY3VsYXRlZC4K ICAgKi8KICAgZm9yICh1aW50IGk9am9pbi0+Y29uc3RfdGFibGVzIDsgaSA8IGpvaW4tPnRhYmxl cyA7IGkrKykKLSAgICBtYXJrX2FzX251bGxfcm93KGpvaW4tPnRhYmxlW2ldKTsJCS8vIEFsbCBm aWVsZHMgYXJlIE5VTEwKKyAgICBtYXJrX2FzX251bGxfcm93KGpvaW4tPmFsbF90YWJsZXNbaV0p OwkJLy8gQWxsIGZpZWxkcyBhcmUgTlVMTAogfQogCiAvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAg LTEzMzk5LDI2ICsxMzM5OCw3IEBAIGRvX3NlbGVjdChKT0lOICpqb2luLExpc3Q8SXRlbT4gKmZp ZWxkcywKICAgaWYgKGVycm9yID09IE5FU1RFRF9MT09QX05PX01PUkVfUk9XUykKICAgICBlcnJv cj0gTkVTVEVEX0xPT1BfT0s7CiAKLSAgaWYgKGVycm9yID09IE5FU1RFRF9MT09QX09LKQotICB7 Ci0gICAgLyoKLSAgICAgIFNpYzogdGhpcyBicmFuY2ggd29ya3MgZXZlbiBpZiByYyAhPSAwLCBl LmcuIHdoZW4KLSAgICAgIHNlbmRfZGF0YSBhYm92ZSByZXR1cm5zIGFuIGVycm9yLgotICAgICov Ci0gICAgaWYgKCF0YWJsZSkJCQkJCS8vIElmIHNlbmRpbmcgZGF0YSB0byBjbGllbnQKLSAgICB7 Ci0gICAgICAvKgotCVRoZSBmb2xsb3dpbmcgd2lsbCB1bmxvY2sgYWxsIGN1cnNvcnMgaWYgdGhl IGNvbW1hbmQgd2Fzbid0IGFuCi0JdXBkYXRlIGNvbW1hbmQKLSAgICAgICovCi0gICAgICBqb2lu LT5qb2luX2ZyZWUoKTsJCQkvLyBVbmxvY2sgYWxsIGN1cnNvcnMKLSAgICAgIGlmIChqb2luLT5y ZXN1bHQtPnNlbmRfZW9mKCkpCi0JcmM9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIERvbid0IHNlbmQgZXJyb3IKLSAgICB9Ci0gICAgREJVR19QUklOVCgiaW5mbyIsKCIl bGQgcmVjb3JkcyBvdXRwdXQiLCAobG9uZykgam9pbi0+c2VuZF9yZWNvcmRzKSk7Ci0gIH0KLSAg ZWxzZQotICAgIHJjPSAtMTsKKwogICBpZiAodGFibGUpCiAgIHsKICAgICBpbnQgdG1wLCBuZXdf ZXJybm89IDA7CkBAIC0xMzQzNSw2ICsxMzQxNSwyOSBAQCBkb19zZWxlY3QoSk9JTiAqam9pbixM aXN0PEl0ZW0+ICpmaWVsZHMsCiAgICAgaWYgKG5ld19lcnJubykKICAgICAgIHRhYmxlLT5maWxl LT5wcmludF9lcnJvcihuZXdfZXJybm8sTVlGKDApKTsKICAgfQorICBlbHNlCisgIHsKKyAgICAv KgorICAgICAgVGhlIGZvbGxvd2luZyB3aWxsIHVubG9jayBhbGwgY3Vyc29ycyBpZiB0aGUgY29t bWFuZCB3YXNuJ3QgYW4KKyAgICAgIHVwZGF0ZSBjb21tYW5kCisgICAgKi8KKyAgICBqb2luLT5q b2luX2ZyZWUoKTsJCQkvLyBVbmxvY2sgYWxsIGN1cnNvcnMKKyAgfQorICBpZiAoZXJyb3IgPT0g TkVTVEVEX0xPT1BfT0spCisgIHsKKyAgICAvKgorICAgICAgU2ljOiB0aGlzIGJyYW5jaCB3b3Jr cyBldmVuIGlmIHJjICE9IDAsIGUuZy4gd2hlbgorICAgICAgc2VuZF9kYXRhIGFib3ZlIHJldHVy bnMgYW4gZXJyb3IuCisgICAgKi8KKyAgICBpZiAoIXRhYmxlKQkJCQkJLy8gSWYgc2VuZGluZyBk YXRhIHRvIGNsaWVudAorICAgIHsKKyAgICAgIGlmIChqb2luLT5yZXN1bHQtPnNlbmRfZW9mKCkp CisJcmM9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IHNlbmQg ZXJyb3IKKyAgICB9CisgICAgREJVR19QUklOVCgiaW5mbyIsKCIlbGQgcmVjb3JkcyBvdXRwdXQi LCAobG9uZykgam9pbi0+c2VuZF9yZWNvcmRzKSk7CisgIH0KKyAgZWxzZQorICAgIHJjPSAtMTsK ICNpZm5kZWYgREJVR19PRkYKICAgaWYgKHJjKQogICB7CkBAIC0xNDQ1NywxMCArMTQ0NjAsOCBA QCBqb2luX2luaXRfcXVpY2tfcmVhZF9yZWNvcmQoSk9JTl9UQUIgKnRhCiB9CiAKIAotaW50IHJy X3NlcXVlbnRpYWwoUkVBRF9SRUNPUkQgKmluZm8pOwotaW50IGluaXRfcmVhZF9yZWNvcmRfc2Vx KEpPSU5fVEFCICp0YWIpCitpbnQgcmVhZF9maXJzdF9yZWNvcmRfc2VxKEpPSU5fVEFCICp0YWIp CiB7Ci0gIHRhYi0+cmVhZF9yZWNvcmQucmVhZF9yZWNvcmQ9IHJyX3NlcXVlbnRpYWw7CiAgIGlm ICh0YWItPnJlYWRfcmVjb3JkLmZpbGUtPmhhX3JuZF9pbml0KDEpKQogICAgIHJldHVybiAxOwog ICByZXR1cm4gKCp0YWItPnJlYWRfcmVjb3JkLnJlYWRfcmVjb3JkKSgmdGFiLT5yZWFkX3JlY29y ZCk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9zZWxlY3QuaCcKLS0tIGEvc3FsL3NxbF9z ZWxlY3QuaAkyMDA4LTA2LTA1IDE2OjExOjIyICswMDAwCisrKyBiL3NxbC9zcWxfc2VsZWN0LmgJ MjAwOC0wNy0xMSAxNjoyMjo0NCArMDAwMApAQCAtNDEzLDcgKzQxMyw3IEBAIHB1YmxpYzoKICAg Sk9JTl9UQUIgKmpvaW5fdGFiLCoqYmVzdF9yZWY7CiAgIEpPSU5fVEFCICoqbWFwMnRhYmxlOyAg ICAvLy88IG1hcHBpbmcgYmV0d2VlbiB0YWJsZSBpbmRleGVzIGFuZCBKT0lOX1RBQnMKICAgSk9J Tl9UQUIgKmpvaW5fdGFiX3NhdmU7IC8vLzwgc2F2ZWQgam9pbl90YWIgZm9yIHN1YnF1ZXJ5IHJl ZXhlY3V0aW9uCi0gIFRBQkxFICAgICoqdGFibGUsKiphbGxfdGFibGVzOworICBUQUJMRSAgICAq KmFsbF90YWJsZXM7CiAgIC8qKgogICAgIFRoZSB0YWJsZSB3aGljaCBoYXMgYW4gaW5kZXggdGhh dCBhbGxvd3MgdG8gcHJvZHVjZSB0aGUgcmVxdXJpZWQgb3JkZXJpbmcuCiAgICAgQSBzcGVjaWFs IHZhbHVlIG9mIDB4MSBtZWFucyB0aGF0IHRoZSBvcmRlcmluZyB3aWxsIGJlIHByb2R1Y2VkIGJ5 CkBAIC01NjgsNyArNTY4LDcgQEAgcHVibGljOgogICAgICAgIHNlbGVjdF9yZXN1bHQgKnJlc3Vs dF9hcmcpCiAgIHsKICAgICBqb2luX3RhYj0gam9pbl90YWJfc2F2ZT0gMDsKLSAgICB0YWJsZT0g MDsKKyAgICBhbGxfdGFibGVzPSAwOwogICAgIHRhYmxlcz0gMDsKICAgICBjb25zdF90YWJsZXM9 IDA7CiAgICAgam9pbl9saXN0PSAwOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfc2hvdy5j YycKLS0tIGEvc3FsL3NxbF9zaG93LmNjCTIwMDgtMDYtMzAgMDk6NTk6NTkgKzAwMDAKKysrIGIv c3FsL3NxbF9zaG93LmNjCTIwMDgtMDctMjkgMTI6MDg6MDEgKzAwMDAKQEAgLTMxMCw2ICszMTAs NyBAQCBzdGF0aWMgc3RydWN0IHNob3dfcHJpdmlsZWdlc19zdCBzeXNfcHJpCiAgIHsiU2h1dGRv d24iLCJTZXJ2ZXIgQWRtaW4iLCAiVG8gc2h1dCBkb3duIHRoZSBzZXJ2ZXIifSwKICAgeyJTdXBl ciIsIlNlcnZlciBBZG1pbiIsIlRvIHVzZSBLSUxMIHRocmVhZCwgU0VUIEdMT0JBTCwgQ0hBTkdF IE1BU1RFUiwgZXRjLiJ9LAogICB7IlRyaWdnZXIiLCJUYWJsZXMiLCAiVG8gdXNlIHRyaWdnZXJz In0sCisgIHsiQ3JlYXRlIHRhYmxlc3BhY2UiLCAiU2VydmVyIEFkbWluIiwgIlRvIGNyZWF0ZS9h bHRlci9kcm9wIHRhYmxlc3BhY2VzIn0sCiAgIHsiVXBkYXRlIiwgIlRhYmxlcyIsICAiVG8gdXBk YXRlIGV4aXN0aW5nIHJvd3MifSwKICAgeyJVc2FnZSIsIlNlcnZlciBBZG1pbiIsIk5vIHByaXZp bGVnZXMgLSBhbGxvdyBjb25uZWN0IG9ubHkifSwKICAge051bGxTLCBOdWxsUywgTnVsbFN9CkBA IC0zOTk5LDcgKzQwMDAsOSBAQCBpbnQgZmlsbF9zY2hlbWFfY2hhcnNldHMoVEhEICp0aGQsIFRB QkxFCiAgIFRBQkxFICp0YWJsZT0gdGFibGVzLT50YWJsZTsKICAgQ0hBUlNFVF9JTkZPICpzY3M9 IHN5c3RlbV9jaGFyc2V0X2luZm87CiAKLSAgZm9yIChjcz0gYWxsX2NoYXJzZXRzIDsgY3MgPCBh bGxfY2hhcnNldHMrMjU1IDsgY3MrKykKKyAgZm9yIChjcz0gYWxsX2NoYXJzZXRzIDsKKyAgICAg ICBjcyA8IGFsbF9jaGFyc2V0cyArIGFycmF5X2VsZW1lbnRzKGFsbF9jaGFyc2V0cykgOworICAg ICAgIGNzKyspCiAgIHsKICAgICBDSEFSU0VUX0lORk8gKnRtcF9jcz0gY3NbMF07CiAgICAgaWYg KHRtcF9jcyAmJiAodG1wX2NzLT5zdGF0ZSAmIE1ZX0NTX1BSSU1BUlkpICYmCkBAIC00MDc4LDcg KzQwODEsOSBAQCBpbnQgZmlsbF9zY2hlbWFfY29sbGF0aW9uKFRIRCAqdGhkLCBUQUJMCiAgIGNv bnN0IGNoYXIgKndpbGQ9IHRoZC0+bGV4LT53aWxkID8gdGhkLT5sZXgtPndpbGQtPnB0cigpIDog TnVsbFM7CiAgIFRBQkxFICp0YWJsZT0gdGFibGVzLT50YWJsZTsKICAgQ0hBUlNFVF9JTkZPICpz Y3M9IHN5c3RlbV9jaGFyc2V0X2luZm87Ci0gIGZvciAoY3M9IGFsbF9jaGFyc2V0cyA7IGNzIDwg YWxsX2NoYXJzZXRzKzI1NSA7IGNzKysgKQorICBmb3IgKGNzPSBhbGxfY2hhcnNldHMgOworICAg ICAgIGNzIDwgYWxsX2NoYXJzZXRzICsgYXJyYXlfZWxlbWVudHMoYWxsX2NoYXJzZXRzKSAgOwor ICAgICAgIGNzKysgKQogICB7CiAgICAgQ0hBUlNFVF9JTkZPICoqY2w7CiAgICAgQ0hBUlNFVF9J TkZPICp0bXBfY3M9IGNzWzBdOwpAQCAtNDA4Niw3ICs0MDkxLDkgQEAgaW50IGZpbGxfc2NoZW1h X2NvbGxhdGlvbihUSEQgKnRoZCwgVEFCTAogICAgICAgICAgKHRtcF9jcy0+c3RhdGUgJiBNWV9D U19ISURERU4pIHx8CiAgICAgICAgICEodG1wX2NzLT5zdGF0ZSAmIE1ZX0NTX1BSSU1BUlkpKQog ICAgICAgY29udGludWU7Ci0gICAgZm9yIChjbD0gYWxsX2NoYXJzZXRzOyBjbCA8IGFsbF9jaGFy c2V0cysyNTUgO2NsICsrKQorICAgIGZvciAoY2w9IGFsbF9jaGFyc2V0czsKKyAgICAgICAgIGNs IDwgYWxsX2NoYXJzZXRzICsgYXJyYXlfZWxlbWVudHMoYWxsX2NoYXJzZXRzKSAgOworICAgICAg ICAgY2wgKyspCiAgICAgewogICAgICAgQ0hBUlNFVF9JTkZPICp0bXBfY2w9IGNsWzBdOwogICAg ICAgaWYgKCF0bXBfY2wgfHwgISh0bXBfY2wtPnN0YXRlICYgTVlfQ1NfQVZBSUxBQkxFKSB8fApA QCAtNDExOSwxNCArNDEyNiwxOCBAQCBpbnQgZmlsbF9zY2hlbWFfY29sbF9jaGFyc2V0X2FwcChU SEQgKnRoCiAgIENIQVJTRVRfSU5GTyAqKmNzOwogICBUQUJMRSAqdGFibGU9IHRhYmxlcy0+dGFi bGU7CiAgIENIQVJTRVRfSU5GTyAqc2NzPSBzeXN0ZW1fY2hhcnNldF9pbmZvOwotICBmb3IgKGNz PSBhbGxfY2hhcnNldHMgOyBjcyA8IGFsbF9jaGFyc2V0cysyNTUgOyBjcysrICkKKyAgZm9yIChj cz0gYWxsX2NoYXJzZXRzIDsKKyAgICAgICBjcyA8IGFsbF9jaGFyc2V0cyArIGFycmF5X2VsZW1l bnRzKGFsbF9jaGFyc2V0cykgOworICAgICAgIGNzKysgKQogICB7CiAgICAgQ0hBUlNFVF9JTkZP ICoqY2w7CiAgICAgQ0hBUlNFVF9JTkZPICp0bXBfY3M9IGNzWzBdOwogICAgIGlmICghdG1wX2Nz IHx8ICEodG1wX2NzLT5zdGF0ZSAmIE1ZX0NTX0FWQUlMQUJMRSkgfHwKICAgICAgICAgISh0bXBf Y3MtPnN0YXRlICYgTVlfQ1NfUFJJTUFSWSkpCiAgICAgICBjb250aW51ZTsKLSAgICBmb3IgKGNs PSBhbGxfY2hhcnNldHM7IGNsIDwgYWxsX2NoYXJzZXRzKzI1NSA7Y2wgKyspCisgICAgZm9yIChj bD0gYWxsX2NoYXJzZXRzOworICAgICAgICAgY2wgPCBhbGxfY2hhcnNldHMgKyBhcnJheV9lbGVt ZW50cyhhbGxfY2hhcnNldHMpIDsKKyAgICAgICAgIGNsICsrKQogICAgIHsKICAgICAgIENIQVJT RVRfSU5GTyAqdG1wX2NsPSBjbFswXTsKICAgICAgIGlmICghdG1wX2NsIHx8ICEodG1wX2NsLT5z dGF0ZSAmIE1ZX0NTX0FWQUlMQUJMRSkgfHwKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3N0 cmluZy5oJwotLS0gYS9zcWwvc3FsX3N0cmluZy5oCTIwMDgtMDQtMjEgMDc6MzA6MzkgKzAwMDAK KysrIGIvc3FsL3NxbF9zdHJpbmcuaAkyMDA4LTA4LTAxIDE1OjM4OjA1ICswMDAwCkBAIC03NSw3 ICs3NSw3IEBAIHB1YmxpYzoKICAgICBBbGxvY2VkX2xlbmd0aD1zdHIuQWxsb2NlZF9sZW5ndGg7 IGFsbG9jZWQ9MDsgCiAgICAgc3RyX2NoYXJzZXQ9c3RyLnN0cl9jaGFyc2V0OwogICB9Ci0gIHN0 YXRpYyB2b2lkICpvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUsIE1FTV9ST09UICptZW1fcm9vdCkK KyAgc3RhdGljIHZvaWQgKm9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSwgTUVNX1JPT1QgKm1lbV9y b290KSB0aHJvdyAoKQogICB7IHJldHVybiAodm9pZCopIGFsbG9jX3Jvb3QobWVtX3Jvb3QsICh1 aW50KSBzaXplKTsgfQogICBzdGF0aWMgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCAqcHRyX2Fy ZyxzaXplX3Qgc2l6ZSkKICAgeyBUUkFTSChwdHJfYXJnLCBzaXplKTsgfQoKPT09IG1vZGlmaWVk IGZpbGUgJ3NxbC9zcWxfdGFibGUuY2MnCi0tLSBhL3NxbC9zcWxfdGFibGUuY2MJMjAwOC0wNy0x OCAxMzozMDo1MyArMDAwMAorKysgYi9zcWwvc3FsX3RhYmxlLmNjCTIwMDgtMDctMjYgMTY6Mzg6 MjAgKzAwMDAKQEAgLTQxNTUsOCArNDE1NSw2IEBAIHN0YXRpYyBib29sIG15c3FsX2FkbWluX3Rh YmxlKFRIRCogdGhkLCAKICAgQ0hBUlNFVF9JTkZPICpjcz0gc3lzdGVtX2NoYXJzZXRfaW5mbzsK ICAgREJVR19FTlRFUigibXlzcWxfYWRtaW5fdGFibGUiKTsKIAotICBpZiAoZW5kX2FjdGl2ZV90 cmFucyh0aGQpKQotICAgIERCVUdfUkVUVVJOKDEpOwogICBmaWVsZF9saXN0LnB1c2hfYmFjayhp dGVtID0gbmV3IEl0ZW1fZW1wdHlfc3RyaW5nKCJUYWJsZSIsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRV9DSEFSX0xFTiAqIDIsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3MpKTsKQEAg LTQyNDcsMTIgKzQyNDUsMTIgQEAgc3RhdGljIGJvb2wgbXlzcWxfYWRtaW5fdGFibGUoVEhEKiB0 aGQsIAogICAgIHsKICAgICAgIERCVUdfUFJJTlQoImFkbWluIiwgKCJvcGVuIHRhYmxlIGZhaWxl ZCIpKTsKICAgICAgIGlmICghdGhkLT53YXJuX2xpc3QuZWxlbWVudHMpCi0gICAgICAgIHB1c2hf d2FybmluZyh0aGQsIE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLAorICAgICAgICBwdXNo X3dhcm5pbmcodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAogICAgICAgICAgICAg ICAgICAgICAgRVJfQ0hFQ0tfTk9fU1VDSF9UQUJMRSwgRVIoRVJfQ0hFQ0tfTk9fU1VDSF9UQUJM RSkpOwogICAgICAgLyogaWYgaXQgd2FzIGEgdmlldyB3aWxsIGNoZWNrIG1kNSBzdW0gKi8KICAg ICAgIGlmICh0YWJsZS0+dmlldyAmJgogICAgICAgICAgIHZpZXdfY2hlY2tzdW0odGhkLCB0YWJs ZSkgPT0gSEFfQURNSU5fV1JPTkdfQ0hFQ0tTVU0pCi0gICAgICAgIHB1c2hfd2FybmluZyh0aGQs IE1ZU1FMX0VSUk9SOjpXQVJOX0xFVkVMX0VSUk9SLAorICAgICAgICBwdXNoX3dhcm5pbmcodGhk LCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9XQVJOLAogICAgICAgICAgICAgICAgICAgICAgRVJf VklFV19DSEVDS1NVTSwgRVIoRVJfVklFV19DSEVDS1NVTSkpOwogICAgICAgcmVzdWx0X2NvZGU9 IEhBX0FETUlOX0NPUlJVUFQ7CiAgICAgICBnb3RvIHNlbmRfcmVzdWx0OwpAQCAtNzE2MSw3ICs3 MTU5LDcgQEAgZXJyOgogICAgIH0KICAgICBib29sIHNhdmVfYWJvcnRfb25fd2FybmluZz0gdGhk LT5hYm9ydF9vbl93YXJuaW5nOwogICAgIHRoZC0+YWJvcnRfb25fd2FybmluZz0gVFJVRTsKLSAg ICBtYWtlX3RydW5jYXRlZF92YWx1ZV93YXJuaW5nKHRoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVW RUxfRVJST1IsCisgICAgbWFrZV90cnVuY2F0ZWRfdmFsdWVfd2FybmluZyh0aGQsIE1ZU1FMX0VS Uk9SOjpXQVJOX0xFVkVMX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm X3ZhbCwgc3RybGVuZ3RoKGZfdmFsKSwgdF90eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYWx0ZXJfaW5mby0+ZGF0ZXRpbWVfZmllbGQtPmZpZWxkX25hbWUpOwogICAgIHRo ZC0+YWJvcnRfb25fd2FybmluZz0gc2F2ZV9hYm9ydF9vbl93YXJuaW5nOwoKPT09IG1vZGlmaWVk IGZpbGUgJ3NxbC9zcWxfdGFibGVzcGFjZS5jYycKLS0tIGEvc3FsL3NxbF90YWJsZXNwYWNlLmNj CTIwMDgtMDYtMzAgMjA6MjE6NDEgKzAwMDAKKysrIGIvc3FsL3NxbF90YWJsZXNwYWNlLmNjCTIw MDgtMDctMTQgMTI6NDk6MTkgKzAwMDAKQEAgLTMxLDcgKzMxLDcgQEAgaW50IG15c3FsX2FsdGVy X3RhYmxlc3BhY2UoVEhEICp0aGQsIHN0XwogICB7CiAgICAgaHRvbj0gaGFfZGVmYXVsdF9oYW5k bGVydG9uKHRoZCk7CiAgICAgaWYgKHRzX2luZm8tPnN0b3JhZ2VfZW5naW5lICE9IDApCi0gICAg ICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1Is CisgICAgICBwdXNoX3dhcm5pbmdfcHJpbnRmKHRoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxf V0FSTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgRVJfV0FSTl9VU0lOR19PVEhFUl9IQU5E TEVSLAogICAgICAgICAgICAgICAgICAgICAgICAgICBFUihFUl9XQVJOX1VTSU5HX09USEVSX0hB TkRMRVIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBodG9uX25hbWUoaHRvbiktPnN0ciwK Cj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3lhY2MueXknCi0tLSBhL3NxbC9zcWxfeWFjYy55 eQkyMDA4LTA3LTI0IDE2OjUwOjE4ICswMDAwCisrKyBiL3NxbC9zcWxfeWFjYy55eQkyMDA4LTA4 LTA3IDE4OjM3OjU1ICswMDAwCkBAIC0yMDI0LDcgKzIwMjQsMTAgQEAgb3B0X2V2X3N0YXR1czoK IGV2X3N0YXJ0czoKICAgICAgICAgICAvKiBlbXB0eSAqLwogICAgICAgICAgIHsKLSAgICAgICAg ICAgIExleC0+ZXZlbnRfcGFyc2VfZGF0YS0+aXRlbV9zdGFydHM9IG5ldyBJdGVtX2Z1bmNfbm93 X2xvY2FsKCk7CisgICAgICAgICAgICBJdGVtICppdGVtPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkg SXRlbV9mdW5jX25vd19sb2NhbCgpOworICAgICAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkKKyAg ICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgIExleC0+ZXZlbnRfcGFyc2Vf ZGF0YS0+aXRlbV9zdGFydHM9IGl0ZW07CiAgICAgICAgICAgfQogICAgICAgICB8IFNUQVJUU19T WU0gZXhwcgogICAgICAgICAgIHsKQEAgLTIxNzEsNiArMjE3NCw4IEBAIHNwX25hbWU6CiAgICAg ICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAkJD0g bmV3IHNwX25hbWUoJDEsICQzLCB0cnVlKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQor ICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgJCQtPmluaXRfcW5hbWUo WVlUSEQpOwogICAgICAgICAgIH0KICAgICAgICAgfCBpZGVudApAQCAtMjE4NSw4ICsyMTkwLDkg QEAgc3BfbmFtZToKICAgICAgICAgICAgIGlmIChsZXgtPmNvcHlfZGJfdG8oJmRiLnN0ciwgJmRi Lmxlbmd0aCkpCiAgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICAkJD0g bmV3IHNwX25hbWUoZGIsICQxLCBmYWxzZSk7Ci0gICAgICAgICAgICBpZiAoJCQpCi0gICAgICAg ICAgICAgICQkLT5pbml0X3FuYW1lKHRoZCk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgICQkLT5pbml0X3FuYW1l KHRoZCk7CiAgICAgICAgICAgfQogICAgICAgICA7CiAKQEAgLTI0MjMsNiArMjQyOSw3IEBAIHNw X2RlY2w6CiAgICAgICAgICAgdHlwZQogICAgICAgICAgIHNwX29wdF9kZWZhdWx0CiAgICAgICAg ICAgeworICAgICAgICAgICAgVEhEICp0aGQ9IFlZVEhEOwogICAgICAgICAgICAgTEVYICpsZXg9 IExleDsKICAgICAgICAgICAgIHNwX3Bjb250ZXh0ICpwY3R4PSBsZXgtPnNwY29udDsKICAgICAg ICAgICAgIHVpbnQgbnVtX3ZhcnM9IHBjdHgtPmNvbnRleHRfdmFyX2NvdW50KCk7CkBAIC0yNDMx LDcgKzI0MzgsOSBAQCBzcF9kZWNsOgogICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAoIWRm bHRfdmFsdWVfaXRlbSkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgZGZsdF92YWx1ZV9p dGVtPSBuZXcgSXRlbV9udWxsKCk7CisgICAgICAgICAgICAgIGRmbHRfdmFsdWVfaXRlbT0gbmV3 ICh0aGQtPm1lbV9yb290KSBJdGVtX251bGwoKTsKKyAgICAgICAgICAgICAgaWYgKGRmbHRfdmFs dWVfaXRlbSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAg ICAgICAgIC8qIFFRIFNldCB0byB0aGUgdmFyX3R5cGUgd2l0aCBudWxsX3ZhbHVlPyAqLwogICAg ICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0yNDU3LDEwICsyNDY2LDE3IEBAIHNwX2RlY2w6 CiAgICAgICAgICAgICAKICAgICAgICAgICAgICAgLyogVGhlIGxhc3QgaW5zdHJ1Y3Rpb24gaXMg cmVzcG9uc2libGUgZm9yIGZyZWVpbmcgTEVYLiAqLwogCi0gICAgICAgICAgICAgIGxleC0+c3Bo ZWFkLT5hZGRfaW5zdHIoCi0gICAgICAgICAgICAgICAgbmV3IHNwX2luc3RyX3NldChsZXgtPnNw aGVhZC0+aW5zdHJ1Y3Rpb25zKCksIHBjdHgsIHZhcl9pZHgsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkZmx0X3ZhbHVlX2l0ZW0sIHZhcl90eXBlLCBsZXgsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoaSA9PSBudW1fdmFycyAtIDEpKSk7CisgICAgICAgICAg ICAgIHNwX2luc3RyX3NldCAqaXM9IG5ldyBzcF9pbnN0cl9zZXQobGV4LT5zcGhlYWQtPmluc3Ry dWN0aW9ucygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdmFyX2lkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkZmx0X3ZhbHVlX2l0ZW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdmFyX3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChpID09IG51bV92YXJzIC0gMSkpOworICAgICAgICAgICAgICBpZiAo aXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworCisgICAgICAgICAg ICAgIGxleC0+c3BoZWFkLT5hZGRfaW5zdHIoaXMpOwogICAgICAgICAgICAgfQogCiAgICAgICAg ICAgICBwY3R4LT5kZWNsYXJlX3Zhcl9ib3VuZGFyeSgwKTsKQEAgLTI2MTIsNiArMjYyOCw4IEBA IHNwX2NvbmQ6CiAgICAgICAgICAgdWxvbmdfbnVtCiAgICAgICAgICAgeyAvKiBteXNxbCBlcnJu byAqLwogICAgICAgICAgICAgJCQ9IChzcF9jb25kX3R5cGVfdCAqKVlZVEhELT5hbGxvYyhzaXpl b2Yoc3BfY29uZF90eXBlX3QpKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAg ICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgJCQtPnR5cGU9IHNwX2NvbmRfdHlw ZV90OjpudW1iZXI7CiAgICAgICAgICAgICAkJC0+bXlzcWxlcnI9ICQxOwogICAgICAgICAgIH0K QEAgLTI2MjMsNiArMjY0MSw4IEBAIHNwX2NvbmQ6CiAgICAgICAgICAgICAgIE1ZU1FMX1lZQUJP UlQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAkJD0gKHNwX2NvbmRfdHlwZV90ICopWVlU SEQtPmFsbG9jKHNpemVvZihzcF9jb25kX3R5cGVfdCkpOworICAgICAgICAgICAgaWYgKCQkID09 IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICAkJC0+dHlw ZT0gc3BfY29uZF90eXBlX3Q6OnN0YXRlOwogICAgICAgICAgICAgbWVtY3B5KCQkLT5zcWxzdGF0 ZSwgJDMuc3RyLCA1KTsKICAgICAgICAgICAgICQkLT5zcWxzdGF0ZVs1XT0gJ1wwJzsKQEAgLTI2 NTEsMTYgKzI2NzEsMjIgQEAgc3BfaGNvbmQ6CiAgICAgICAgIHwgU1FMV0FSTklOR19TWU0gLyog U1FMU1RBVEVzIDAxPz8/ICovCiAgICAgICAgICAgewogICAgICAgICAgICAgJCQ9IChzcF9jb25k X3R5cGVfdCAqKVlZVEhELT5hbGxvYyhzaXplb2Yoc3BfY29uZF90eXBlX3QpKTsKKyAgICAgICAg ICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAg ICAgICAgJCQtPnR5cGU9IHNwX2NvbmRfdHlwZV90Ojp3YXJuaW5nOwogICAgICAgICAgIH0KICAg ICAgICAgfCBub3QgRk9VTkRfU1lNIC8qIFNRTFNUQVRFcyAwMj8/PyAqLwogICAgICAgICAgIHsK ICAgICAgICAgICAgICQkPSAoc3BfY29uZF90eXBlX3QgKilZWVRIRC0+YWxsb2Moc2l6ZW9mKHNw X2NvbmRfdHlwZV90KSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAg ICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgICQkLT50eXBlPSBzcF9jb25kX3R5cGVfdDo6 bm90Zm91bmQ7CiAgICAgICAgICAgfQogICAgICAgICB8IFNRTEVYQ0VQVElPTl9TWU0gLyogQWxs IG90aGVyIFNRTFNUQVRFcyAqLwogICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSAoc3BfY29u ZF90eXBlX3QgKilZWVRIRC0+YWxsb2Moc2l6ZW9mKHNwX2NvbmRfdHlwZV90KSk7CisgICAgICAg ICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAg ICAgICAgICQkLT50eXBlPSBzcF9jb25kX3R5cGVfdDo6ZXhjZXB0aW9uOwogICAgICAgICAgIH0K ICAgICAgICAgOwpAQCAtNTEzMyw3ICs1MTU5LDEyIEBAIGF0dHJpYnV0ZToKICAgICAgICAgICAg IExleC0+YWx0ZXJfaW5mby5mbGFnc3w9IEFMVEVSX0NPTFVNTl9ERUZBVUxUOwogICAgICAgICAg IH0KICAgICAgICAgfCBPTiBVUERBVEVfU1lNIE5PV19TWU0gb3B0aW9uYWxfYnJhY2VzIAotICAg ICAgICAgIHsgTGV4LT5vbl91cGRhdGVfdmFsdWU9IG5ldyBJdGVtX2Z1bmNfbm93X2xvY2FsKCk7 IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICBJdGVtICppdGVtPSBuZXcgKFlZVEhELT5tZW1f cm9vdCkgSXRlbV9mdW5jX25vd19sb2NhbCgpOworICAgICAgICAgICAgaWYgKGl0ZW0gPT0gTlVM TCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgIExleC0+b25fdXBk YXRlX3ZhbHVlPSBpdGVtOworICAgICAgICAgIH0KICAgICAgICAgfCBBVVRPX0lOQyB7IExleC0+ dHlwZXw9IEFVVE9fSU5DUkVNRU5UX0ZMQUcgfCBOT1RfTlVMTF9GTEFHOyB9CiAgICAgICAgIHwg U0VSSUFMX1NZTSBERUZBVUxUIFZBTFVFX1NZTQogICAgICAgICAgIHsgCkBAIC01MTc3LDcgKzUy MDgsMTEgQEAgYXR0cmlidXRlOgogCiBub3dfb3Jfc2lnbmVkX2xpdGVyYWw6CiAgICAgICAgICAg Tk9XX1NZTSBvcHRpb25hbF9icmFjZXMKLSAgICAgICAgICB7ICQkPSBuZXcgSXRlbV9mdW5jX25v d19sb2NhbCgpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1l bV9yb290KSBJdGVtX2Z1bmNfbm93X2xvY2FsKCk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVM TCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwg c2lnbmVkX2xpdGVyYWwKICAgICAgICAgICB7ICQkPSQxOyB9CiAgICAgICAgIDsKQEAgLTU1NTks NyArNTU5NCwxMiBAQCBrZXlfbGlzdDoKICAgICAgICAgOwogCiBrZXlfcGFydDoKLSAgICAgICAg ICBpZGVudCB7ICQkPW5ldyBLZXlfcGFydF9zcGVjKCQxLCAwKTsgfQorICAgICAgICAgIGlkZW50 CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyBLZXlfcGFydF9zcGVjKCQxLCAwKTsK KyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JU OworICAgICAgICAgIH0KICAgICAgICAgfCBpZGVudCAnKCcgTlVNICcpJwogICAgICAgICAgIHsK ICAgICAgICAgICAgIGludCBrZXlfcGFydF9sZW49IGF0b2koJDMuc3RyKTsKQEAgLTU1NjcsNyAr NTYwNyw5IEBAIGtleV9wYXJ0OgogICAgICAgICAgICAgewogICAgICAgICAgICAgICBteV9lcnJv cihFUl9LRVlfUEFSVF8wLCBNWUYoMCksICQxLnN0cik7CiAgICAgICAgICAgICB9Ci0gICAgICAg ICAgICAkJD1uZXcgS2V5X3BhcnRfc3BlYygkMSwgKHVpbnQpIGtleV9wYXJ0X2xlbik7CisgICAg ICAgICAgICAkJD0gbmV3IEtleV9wYXJ0X3NwZWMoJDEsICh1aW50KSBrZXlfcGFydF9sZW4pOwor ICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7 CiAgICAgICAgICAgfQogICAgICAgICA7CiAKQEAgLTU5NDYsNyArNTk4OCw3IEBAIHJlb3JnX3Bh cnRpdGlvbl9ydWxlOgogICAgICAgICAgICAgbGV4LT5wYXJ0X2luZm89IG5ldyBwYXJ0aXRpb25f aW5mbygpOwogICAgICAgICAgICAgaWYgKCFsZXgtPnBhcnRfaW5mbykKICAgICAgICAgICAgIHsK LSAgICAgICAgICAgIG1lbV9hbGxvY19lcnJvcihzaXplb2YocGFydGl0aW9uX2luZm8pKTsKKyAg ICAgICAgICAgICAgbWVtX2FsbG9jX2Vycm9yKHNpemVvZihwYXJ0aXRpb25faW5mbykpOwogICAg ICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgbGV4 LT5ub193cml0ZV90b19iaW5sb2c9ICQzOwpAQCAtNjA0OSw4ICs2MDkxLDEwIEBAIGFsdGVyX2xp c3RfaXRlbToKICAgICAgICAgfCBEUk9QIG9wdF9jb2x1bW4gZmllbGRfaWRlbnQgb3B0X3Jlc3Ry aWN0CiAgICAgICAgICAgewogICAgICAgICAgICAgTEVYICpsZXg9TGV4OwotICAgICAgICAgICAg bGV4LT5hbHRlcl9pbmZvLmRyb3BfbGlzdC5wdXNoX2JhY2sobmV3IEFsdGVyX2Ryb3AoQWx0ZXJf ZHJvcDo6Q09MVU1OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJDMuc3RyKSk7CisgICAgICAgICAgICBBbHRlcl9kcm9wICph ZD0gbmV3IEFsdGVyX2Ryb3AoQWx0ZXJfZHJvcDo6Q09MVU1OLCAkMy5zdHIpOworICAgICAgICAg ICAgaWYgKGFkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAg ICAgICBsZXgtPmFsdGVyX2luZm8uZHJvcF9saXN0LnB1c2hfYmFjayhhZCk7CiAgICAgICAgICAg ICBsZXgtPmFsdGVyX2luZm8uZmxhZ3N8PSBBTFRFUl9EUk9QX0NPTFVNTjsKICAgICAgICAgICB9 CiAgICAgICAgIHwgRFJPUCBGT1JFSUdOIEtFWV9TWU0gb3B0X2lkZW50CkBAIC02MDYwLDE1ICs2 MTA0LDE5IEBAIGFsdGVyX2xpc3RfaXRlbToKICAgICAgICAgfCBEUk9QIFBSSU1BUllfU1lNIEtF WV9TWU0KICAgICAgICAgICB7CiAgICAgICAgICAgICBMRVggKmxleD1MZXg7Ci0gICAgICAgICAg ICBsZXgtPmFsdGVyX2luZm8uZHJvcF9saXN0LnB1c2hfYmFjayhuZXcgQWx0ZXJfZHJvcChBbHRl cl9kcm9wOjpLRVksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleV9uYW1lKSk7CisgICAgICAgICAgICBBbHRl cl9kcm9wICphZD0gbmV3IEFsdGVyX2Ryb3AoQWx0ZXJfZHJvcDo6S0VZLCBwcmltYXJ5X2tleV9u YW1lKTsKKyAgICAgICAgICAgIGlmIChhZCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9Z WUFCT1JUOworICAgICAgICAgICAgbGV4LT5hbHRlcl9pbmZvLmRyb3BfbGlzdC5wdXNoX2JhY2so YWQpOwogICAgICAgICAgICAgbGV4LT5hbHRlcl9pbmZvLmZsYWdzfD0gQUxURVJfRFJPUF9JTkRF WDsKICAgICAgICAgICB9CiAgICAgICAgIHwgRFJPUCBrZXlfb3JfaW5kZXggZmllbGRfaWRlbnQK ICAgICAgICAgICB7CiAgICAgICAgICAgICBMRVggKmxleD1MZXg7Ci0gICAgICAgICAgICBsZXgt PmFsdGVyX2luZm8uZHJvcF9saXN0LnB1c2hfYmFjayhuZXcgQWx0ZXJfZHJvcChBbHRlcl9kcm9w OjpLRVksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAkMy5zdHIpKTsKKyAgICAgICAgICAgIEFsdGVyX2Ryb3AgKmFkPSBuZXcg QWx0ZXJfZHJvcChBbHRlcl9kcm9wOjpLRVksICQzLnN0cik7CisgICAgICAgICAgICBpZiAoYWQg PT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgIGxleC0+ YWx0ZXJfaW5mby5kcm9wX2xpc3QucHVzaF9iYWNrKGFkKTsKICAgICAgICAgICAgIGxleC0+YWx0 ZXJfaW5mby5mbGFnc3w9IEFMVEVSX0RST1BfSU5ERVg7CiAgICAgICAgICAgfQogICAgICAgICB8 IERJU0FCTEVfU1lNIEtFWVMKQEAgLTYwODYsMTQgKzYxMzQsMTkgQEAgYWx0ZXJfbGlzdF9pdGVt OgogICAgICAgICB8IEFMVEVSIG9wdF9jb2x1bW4gZmllbGRfaWRlbnQgU0VUIERFRkFVTFQgc2ln bmVkX2xpdGVyYWwKICAgICAgICAgICB7CiAgICAgICAgICAgICBMRVggKmxleD1MZXg7Ci0gICAg ICAgICAgICBsZXgtPmFsdGVyX2luZm8uYWx0ZXJfbGlzdC5wdXNoX2JhY2sobmV3IEFsdGVyX2Nv bHVtbigkMy5zdHIsJDYpKTsKKyAgICAgICAgICAgIEFsdGVyX2NvbHVtbiAqYWM9IG5ldyBBbHRl cl9jb2x1bW4oJDMuc3RyLCQ2KTsKKyAgICAgICAgICAgIGlmIChhYyA9PSBOVUxMKQorICAgICAg ICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgICAgbGV4LT5hbHRlcl9pbmZvLmFsdGVy X2xpc3QucHVzaF9iYWNrKGFjKTsKICAgICAgICAgICAgIGxleC0+YWx0ZXJfaW5mby5mbGFnc3w9 IEFMVEVSX0NPTFVNTl9ERUZBVUxUOwogICAgICAgICAgIH0KICAgICAgICAgfCBBTFRFUiBvcHRf Y29sdW1uIGZpZWxkX2lkZW50IERST1AgREVGQVVMVAogICAgICAgICAgIHsKICAgICAgICAgICAg IExFWCAqbGV4PUxleDsKLSAgICAgICAgICAgIGxleC0+YWx0ZXJfaW5mby5hbHRlcl9saXN0LnB1 c2hfYmFjayhuZXcgQWx0ZXJfY29sdW1uKCQzLnN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJdGVtKikgMCkpOwor ICAgICAgICAgICAgQWx0ZXJfY29sdW1uICphYz0gbmV3IEFsdGVyX2NvbHVtbigkMy5zdHIsIChJ dGVtKikgMCk7CisgICAgICAgICAgICBpZiAoYWMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlT UUxfWVlBQk9SVDsKKyAgICAgICAgICAgIGxleC0+YWx0ZXJfaW5mby5hbHRlcl9saXN0LnB1c2hf YmFjayhhYyk7CiAgICAgICAgICAgICBsZXgtPmFsdGVyX2luZm8uZmxhZ3N8PSBBTFRFUl9DT0xV TU5fREVGQVVMVDsKICAgICAgICAgICB9CiAgICAgICAgIHwgUkVOQU1FIG9wdF90byB0YWJsZV9p ZGVudApAQCAtNjM2MSwxNSArNjQxNCwxOSBAQCBkYXRhYmFzZV9pZGVudF9saXN0OgogICAgICAg ICAgIGlkZW50CiAgICAgICAgICAgewogICAgICAgICAgICAgTEVYICpsZXg9IExleDsKKyAgICAg ICAgICAgIExFWF9TVFJJTkcqIGxzPSAoTEVYX1NUUklORyopIHNxbF9tZW1kdXAoJiQxLCBzaXpl b2YoTEVYX1NUUklORykpOworICAgICAgICAgICAgaWYgKGxzID09IE5VTEwpCisgICAgICAgICAg ICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICBsZXgtPmRiX2xpc3QuZW1wdHkoKTsKLSAg ICAgICAgICAgIGlmIChsZXgtPmRiX2xpc3QucHVzaF9iYWNrKChMRVhfU1RSSU5HKikKLSAgICAg ICAgICAgICAgICBzcWxfbWVtZHVwKCYkMSwgc2l6ZW9mKExFWF9TVFJJTkcpKSkpCisgICAgICAg ICAgICBpZiAobGV4LT5kYl9saXN0LnB1c2hfYmFjayhscykpCiAgICAgICAgICAgICAgIFlZQUJP UlQ7CiAgICAgICAgICAgfQogICAgICAgICB8IGRhdGFiYXNlX2lkZW50X2xpc3QgJywnIGlkZW50 CiAgICAgICAgICAgewotICAgICAgICAgICAgaWYgKExleC0+ZGJfbGlzdC5wdXNoX2JhY2soKExF WF9TVFJJTkcqKQotICAgICAgICAgICAgICAgIHNxbF9tZW1kdXAoJiQzLCBzaXplb2YoTEVYX1NU UklORykpKSkKKyAgICAgICAgICAgIExFWF9TVFJJTkcgKmxzPSAoTEVYX1NUUklORyopIHNxbF9t ZW1kdXAoJiQzLCBzaXplb2YoTEVYX1NUUklORykpOworICAgICAgICAgICAgaWYgKGxzID09IE5V TEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgICBpZiAoTGV4LT5k Yl9saXN0LnB1c2hfYmFjayhscykpCiAgICAgICAgICAgICAgIFlZQUJPUlQ7CiAgICAgICAgICAg fQogICAgICAgICA7CkBAIC02ODA2LDEwICs2ODYzLDEyIEBAIHNlbGVjdF9pdGVtX2xpc3Q6CiAg ICAgICAgIHwgJyonCiAgICAgICAgICAgewogICAgICAgICAgICAgVEhEICp0aGQ9IFlZVEhEOwot ICAgICAgICAgICAgaWYgKGFkZF9pdGVtX3RvX2xpc3QodGhkLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbmV3IEl0ZW1fZmllbGQoJnRoZC0+bGV4LT5jdXJyZW50X3NlbGVjdC0+ Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwg TlVMTCwgIioiKSkpCisgICAgICAgICAgICBJdGVtICppdGVtPSBuZXcgKHRoZC0+bWVtX3Jvb3Qp CisgICAgICAgICAgICAgICAgICAgICAgICAgIEl0ZW1fZmllbGQoJnRoZC0+bGV4LT5jdXJyZW50 X3NlbGVjdC0+Y29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMLCBOVUxMLCAiKiIpOworICAgICAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkKKyAgICAgICAg ICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgIGlmIChhZGRfaXRlbV90b19saXN0KHRo ZCwgaXRlbSkpCiAgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICAodGhk LT5sZXgtPmN1cnJlbnRfc2VsZWN0LT53aXRoX3dpbGQpKys7CiAgICAgICAgICAgfQpAQCAtNjky Miw2ICs2OTgxLDggQEAgZXhwcjoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgLyogWCBP UiBZICovCiAgICAgICAgICAgICAgICQkID0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fY29u ZF9vcigkMSwgJDMpOworICAgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAg ICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAg fCBleHByIFhPUiBleHByICVwcmVjIFhPUgpAQCAtNjk2OCwzNiArNzAyOSw4NiBAQCBleHByOgog ICAgICAgICAgICAgewogICAgICAgICAgICAgICAvKiBYIEFORCBZICovCiAgICAgICAgICAgICAg ICQkID0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fY29uZF9hbmQoJDEsICQzKTsKKyAgICAg ICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsK ICAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIHwgTk9UX1NZTSBleHByICVwcmVj IE5PVF9TWU0KLSAgICAgICAgICB7ICQkPSBuZWdhdGVfZXhwcmVzc2lvbihZWVRIRCwgJDIpOyB9 CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5lZ2F0ZV9leHByZXNzaW9uKFlZVEhELCAk Mik7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlB Qk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYm9vbF9wcmkgSVMgVFJVRV9TWU0gJXByZWMg SVMKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2lzdHJ1 ZSgkMSk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jv b3QpIEl0ZW1fZnVuY19pc3RydWUoJDEpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisg ICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IGJvb2xf cHJpIElTIG5vdCBUUlVFX1NZTSAlcHJlYyBJUwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQt Pm1lbV9yb290KSBJdGVtX2Z1bmNfaXNub3R0cnVlKCQxKTsgfQorICAgICAgICAgIHsKKyAgICAg ICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2lzbm90dHJ1ZSgkMSk7 CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9S VDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYm9vbF9wcmkgSVMgRkFMU0VfU1lNICVwcmVjIElT Ci0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19pc2ZhbHNl KCQxKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9v dCkgSXRlbV9mdW5jX2lzZmFsc2UoJDEpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisg ICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IGJvb2xf cHJpIElTIG5vdCBGQUxTRV9TWU0gJXByZWMgSVMKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhE LT5tZW1fcm9vdCkgSXRlbV9mdW5jX2lzbm90ZmFsc2UoJDEpOyB9CisgICAgICAgICAgeworICAg ICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfaXNub3RmYWxzZSgk MSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlB Qk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYm9vbF9wcmkgSVMgVU5LTk9XTl9TWU0gJXBy ZWMgSVMKLSAgICAgICAgICB7ICQkPSBuZXcgSXRlbV9mdW5jX2lzbnVsbCgkMSk7IH0KKyAgICAg ICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19p c251bGwoJDEpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1Z U1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IGJvb2xfcHJpIElTIG5vdCBVTktO T1dOX1NZTSAlcHJlYyBJUwotICAgICAgICAgIHsgJCQ9IG5ldyBJdGVtX2Z1bmNfaXNub3RudWxs KCQxKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9v dCkgSXRlbV9mdW5jX2lzbm90bnVsbCgkMSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYm9v bF9wcmkKICAgICAgICAgOwogCiBib29sX3ByaToKICAgICAgICAgICBib29sX3ByaSBJUyBOVUxM X1NZTSAlcHJlYyBJUwotICAgICAgICAgIHsgJCQ9IG5ldyBJdGVtX2Z1bmNfaXNudWxsKCQxKTsg fQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRl bV9mdW5jX2lzbnVsbCgkMSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAg ICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYm9vbF9wcmkgSVMg bm90IE5VTExfU1lNICVwcmVjIElTCi0gICAgICAgICAgeyAkJD0gbmV3IEl0ZW1fZnVuY19pc25v dG51bGwoJDEpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1l bV9yb290KSBJdGVtX2Z1bmNfaXNub3RudWxsKCQxKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBO VUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAg fCBib29sX3ByaSBFUVVBTF9TWU0gcHJlZGljYXRlICVwcmVjIEVRVUFMX1NZTQotICAgICAgICAg IHsgJCQ9IG5ldyBJdGVtX2Z1bmNfZXF1YWwoJDEsJDMpOyB9CisgICAgICAgICAgeworICAgICAg ICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfZXF1YWwoJDEsJDMpOwor ICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7 CisgICAgICAgICAgfQogICAgICAgICB8IGJvb2xfcHJpIGNvbXBfb3AgcHJlZGljYXRlICVwcmVj IEVRCi0gICAgICAgICAgeyAkJD0gKCokMikoMCktPmNyZWF0ZSgkMSwkMyk7IH0KKyAgICAgICAg ICB7CisgICAgICAgICAgICAkJD0gKCokMikoMCktPmNyZWF0ZSgkMSwkMyk7CisgICAgICAgICAg ICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAg ICB9CiAgICAgICAgIHwgYm9vbF9wcmkgY29tcF9vcCBhbGxfb3JfYW55ICcoJyBzdWJzZWxlY3Qg JyknICVwcmVjIEVRCi0gICAgICAgICAgeyAkJD0gYWxsX2FueV9zdWJxdWVyeV9jcmVhdG9yKCQx LCAkMiwgJDMsICQ1KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBhbGxfYW55X3N1 YnF1ZXJ5X2NyZWF0b3IoJDEsICQyLCAkMywgJDUpOworICAgICAgICAgICAgaWYgKCQkID09IE5V TEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8 IHByZWRpY2F0ZQogICAgICAgICA7CiAKQEAgLTcwMDUsODcgKzcxMTYsMTkzIEBAIHByZWRpY2F0 ZToKICAgICAgICAgICBiaXRfZXhwciBJTl9TWU0gJygnIHN1YnNlbGVjdCAnKScKICAgICAgICAg ICB7CiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1faW5fc3Vic2Vs ZWN0KCQxLCAkNCk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAg TVlTUUxfWVlBQk9SVDsKICAgICAgICAgICB9CiAgICAgICAgIHwgYml0X2V4cHIgbm90IElOX1NZ TSAnKCcgc3Vic2VsZWN0ICcpJwogICAgICAgICAgIHsKICAgICAgICAgICAgIFRIRCAqdGhkPSBZ WVRIRDsKICAgICAgICAgICAgIEl0ZW0gKml0ZW09IG5ldyAodGhkLT5tZW1fcm9vdCkgSXRlbV9p bl9zdWJzZWxlY3QoJDEsICQ1KTsKKyAgICAgICAgICAgIGlmIChpdGVtID09IE5VTEwpCisgICAg ICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICAkJD0gbmVnYXRlX2V4cHJlc3Np b24odGhkLCBpdGVtKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAg ICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgIH0KICAgICAgICAgfCBiaXRfZXhwciBJTl9TWU0g JygnIGV4cHIgJyknCiAgICAgICAgICAgewogICAgICAgICAgICAgJCQ9IGhhbmRsZV9zcWwyMDAz X25vdGUxODRfZXhjZXB0aW9uKFlZVEhELCAkMSwgdHJ1ZSwgJDQpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgfQog ICAgICAgICB8IGJpdF9leHByIElOX1NZTSAnKCcgZXhwciAnLCcgZXhwcl9saXN0ICcpJwogICAg ICAgICAgIHsgCiAgICAgICAgICAgICAkNi0+cHVzaF9mcm9udCgkNCk7CiAgICAgICAgICAgICAk Ni0+cHVzaF9mcm9udCgkMSk7CiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3Qp IEl0ZW1fZnVuY19pbigqJDYpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAg ICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgfQogICAgICAgICB8IGJpdF9leHByIG5v dCBJTl9TWU0gJygnIGV4cHIgJyknCiAgICAgICAgICAgewogICAgICAgICAgICAgJCQ9IGhhbmRs ZV9zcWwyMDAzX25vdGUxODRfZXhjZXB0aW9uKFlZVEhELCAkMSwgZmFsc2UsICQ1KTsKKyAgICAg ICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAg ICAgICAgIH0KICAgICAgICAgfCBiaXRfZXhwciBub3QgSU5fU1lNICcoJyBleHByICcsJyBleHBy X2xpc3QgJyknCiAgICAgICAgICAgewogICAgICAgICAgICAgJDctPnB1c2hfZnJvbnQoJDUpOwog ICAgICAgICAgICAgJDctPnB1c2hfZnJvbnQoJDEpOwogICAgICAgICAgICAgSXRlbV9mdW5jX2lu ICppdGVtID0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19pbigqJDcpOworICAgICAg ICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAg ICAgICAgICAgIGl0ZW0tPm5lZ2F0ZSgpOwogICAgICAgICAgICAgJCQ9IGl0ZW07CiAgICAgICAg ICAgfQogICAgICAgICB8IGJpdF9leHByIEJFVFdFRU5fU1lNIGJpdF9leHByIEFORF9TWU0gcHJl ZGljYXRlCi0gICAgICAgICAgeyAkJD0gbmV3IEl0ZW1fZnVuY19iZXR3ZWVuKCQxLCQzLCQ1KTsg fQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRl bV9mdW5jX2JldHdlZW4oJDEsJDMsJDUpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisg ICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IGJpdF9l eHByIG5vdCBCRVRXRUVOX1NZTSBiaXRfZXhwciBBTkRfU1lNIHByZWRpY2F0ZQogICAgICAgICAg IHsKLSAgICAgICAgICAgIEl0ZW1fZnVuY19iZXR3ZWVuICppdGVtPSBuZXcgSXRlbV9mdW5jX2Jl dHdlZW4oJDEsJDQsJDYpOworICAgICAgICAgICAgSXRlbV9mdW5jX2JldHdlZW4gKml0ZW07Cisg ICAgICAgICAgICBpdGVtPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2JldHdlZW4o JDEsJDQsJDYpOworICAgICAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkKKyAgICAgICAgICAgICAg TVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIGl0ZW0tPm5lZ2F0ZSgpOwogICAgICAgICAgICAg JCQ9IGl0ZW07CiAgICAgICAgICAgfQogICAgICAgICB8IGJpdF9leHByIFNPVU5EU19TWU0gTElL RSBiaXRfZXhwcgogICAgICAgICAgIHsKLSAgICAgICAgICAgICQkPSBuZXcgSXRlbV9mdW5jX2Vx KG5ldyBJdGVtX2Z1bmNfc291bmRleCgkMSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBuZXcgSXRlbV9mdW5jX3NvdW5kZXgoJDQpKTsKKyAgICAgICAgICAgIEl0ZW0gKml0ZW0x PSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX3NvdW5kZXgoJDEpOworICAgICAgICAg ICAgSXRlbSAqaXRlbTQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfc291bmRleCgk NCk7CisgICAgICAgICAgICBpZiAoKGl0ZW0xID09IE5VTEwpIHx8IChpdGVtNCA9PSBOVUxMKSkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhE LT5tZW1fcm9vdCkgSXRlbV9mdW5jX2VxKGl0ZW0xLCBpdGVtNCk7CisgICAgICAgICAgICBpZiAo JCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICB9CiAg ICAgICAgIHwgYml0X2V4cHIgTElLRSBzaW1wbGVfZXhwciBvcHRfZXNjYXBlCi0gICAgICAgICAg eyAkJD0gbmV3IEl0ZW1fZnVuY19saWtlKCQxLCQzLCQ0LExleC0+ZXNjYXBlX3VzZWQpOyB9Cisg ICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1 bmNfbGlrZSgkMSwkMywkNCxMZXgtPmVzY2FwZV91c2VkKTsKKyAgICAgICAgICAgIGlmICgkJCA9 PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAg ICAgfCBiaXRfZXhwciBub3QgTElLRSBzaW1wbGVfZXhwciBvcHRfZXNjYXBlCi0gICAgICAgICAg eyAkJD0gbmV3IEl0ZW1fZnVuY19ub3QobmV3IEl0ZW1fZnVuY19saWtlKCQxLCQ0LCQ1LCBMZXgt PmVzY2FwZV91c2VkKSk7IH0KLSAgICAgICAgfCBiaXRfZXhwciBSRUdFWFAgYml0X2V4cHIgeyAk JD0gbmV3IEl0ZW1fZnVuY19yZWdleCgkMSwkMyk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAg ICBJdGVtICppdGVtPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2xpa2UoJDEsJDQs JDUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGV4LT5lc2NhcGVfdXNlZCk7CisgICAgICAgICAgICBpZiAoaXRlbSA9PSBOVUxM KQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgICAgJCQ9IG5ldyAoWVlU SEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbm90KGl0ZW0pOworICAgICAgICAgICAgaWYgKCQkID09 IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQorICAgICAg ICB8IGJpdF9leHByIFJFR0VYUCBiaXRfZXhwcgorICAgICAgICAgIHsKKyAgICAgICAgICAgICQk PSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX3JlZ2V4KCQxLCQzKTsKKyAgICAgICAg ICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAg ICAgIH0KICAgICAgICAgfCBiaXRfZXhwciBub3QgUkVHRVhQIGJpdF9leHByCi0gICAgICAgICAg eyAkJD0gbmVnYXRlX2V4cHJlc3Npb24oWVlUSEQsIG5ldyBJdGVtX2Z1bmNfcmVnZXgoJDEsJDQp KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgIEl0ZW0gKml0ZW09IG5ldyAoWVlUSEQtPm1l bV9yb290KSBJdGVtX2Z1bmNfcmVnZXgoJDEsJDQpOworICAgICAgICAgICAgaWYgKGl0ZW0gPT0g TlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgICQkPSBuZWdh dGVfZXhwcmVzc2lvbihZWVRIRCwgaXRlbSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYml0 X2V4cHIKICAgICAgICAgOwogCiBiaXRfZXhwcjoKICAgICAgICAgICBiaXRfZXhwciAnfCcgYml0 X2V4cHIgJXByZWMgJ3wnCi0gICAgICAgICAgeyAkJD0gbmV3IEl0ZW1fZnVuY19iaXRfb3IoJDEs JDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290 KSBJdGVtX2Z1bmNfYml0X29yKCQxLCQzKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQor ICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBiaXRf ZXhwciAnJicgYml0X2V4cHIgJXByZWMgJyYnCi0gICAgICAgICAgeyAkJD0gbmV3IEl0ZW1fZnVu Y19iaXRfYW5kKCQxLCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZ VEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2JpdF9hbmQoJDEsJDMpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQog ICAgICAgICB8IGJpdF9leHByIFNISUZUX0xFRlQgYml0X2V4cHIgJXByZWMgU0hJRlRfTEVGVAot ICAgICAgICAgIHsgJCQ9IG5ldyBJdGVtX2Z1bmNfc2hpZnRfbGVmdCgkMSwkMyk7IH0KKyAgICAg ICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19z aGlmdF9sZWZ0KCQxLCQzKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAg ICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBiaXRfZXhwciBTSElG VF9SSUdIVCBiaXRfZXhwciAlcHJlYyBTSElGVF9SSUdIVAotICAgICAgICAgIHsgJCQ9IG5ldyBJ dGVtX2Z1bmNfc2hpZnRfcmlnaHQoJDEsJDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfc2hpZnRfcmlnaHQoJDEsJDMpOwor ICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7 CisgICAgICAgICAgfQogICAgICAgICB8IGJpdF9leHByICcrJyBiaXRfZXhwciAlcHJlYyAnKycK LSAgICAgICAgICB7ICQkPSBuZXcgSXRlbV9mdW5jX3BsdXMoJDEsJDMpOyB9CisgICAgICAgICAg eworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfcGx1cygk MSwkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxf WVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYml0X2V4cHIgJy0nIGJpdF9leHByICVw cmVjICctJwotICAgICAgICAgIHsgJCQ9IG5ldyBJdGVtX2Z1bmNfbWludXMoJDEsJDMpOyB9Cisg ICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1 bmNfbWludXMoJDEsJDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAg ICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IGJpdF9leHByICcrJyBJ TlRFUlZBTF9TWU0gZXhwciBpbnRlcnZhbCAlcHJlYyAnKycKLSAgICAgICAgICB7ICQkPSBuZXcg SXRlbV9kYXRlX2FkZF9pbnRlcnZhbCgkMSwkNCwkNSwwKTsgfQorICAgICAgICAgIHsKKyAgICAg ICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9kYXRlX2FkZF9pbnRlcnZhbCgk MSwkNCwkNSwwKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBN WVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBiaXRfZXhwciAnLScgSU5URVJW QUxfU1lNIGV4cHIgaW50ZXJ2YWwgJXByZWMgJy0nCi0gICAgICAgICAgeyAkJD0gbmV3IEl0ZW1f ZGF0ZV9hZGRfaW50ZXJ2YWwoJDEsJDQsJDUsMSk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAg ICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZGF0ZV9hZGRfaW50ZXJ2YWwoJDEsJDQs JDUsMSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxf WVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYml0X2V4cHIgJyonIGJpdF9leHByICVw cmVjICcqJwotICAgICAgICAgIHsgJCQ9IG5ldyBJdGVtX2Z1bmNfbXVsKCQxLCQzKTsgfQorICAg ICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5j X211bCgkMSwkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAg TVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYml0X2V4cHIgJy8nIGJpdF9l eHByICVwcmVjICcvJwotICAgICAgICAgIHsgJCQ9IG5ldyBJdGVtX2Z1bmNfZGl2KCQxLCQzKTsg fQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRl bV9mdW5jX2RpdigkMSwkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAg ICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYml0X2V4cHIgJyUn IGJpdF9leHByICVwcmVjICclJwotICAgICAgICAgIHsgJCQ9IG5ldyBJdGVtX2Z1bmNfbW9kKCQx LCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9v dCkgSXRlbV9mdW5jX21vZCgkMSwkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAg ICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYml0X2V4 cHIgRElWX1NZTSBiaXRfZXhwciAlcHJlYyBESVZfU1lNCi0gICAgICAgICAgeyAkJD0gbmV3IEl0 ZW1fZnVuY19pbnRfZGl2KCQxLCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBu ZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2ludF9kaXYoJDEsJDMpOworICAgICAgICAg ICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAg ICAgfQogICAgICAgICB8IGJpdF9leHByIE1PRF9TWU0gYml0X2V4cHIgJXByZWMgTU9EX1NZTQot ICAgICAgICAgIHsgJCQ9IG5ldyBJdGVtX2Z1bmNfbW9kKCQxLCQzKTsgfQorICAgICAgICAgIHsK KyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX21vZCgkMSwk Myk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlB Qk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgYml0X2V4cHIgJ14nIGJpdF9leHByCi0gICAg ICAgICAgeyAkJD0gbmV3IEl0ZW1fZnVuY19iaXRfeG9yKCQxLCQzKTsgfQorICAgICAgICAgIHsK KyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2JpdF94b3Io JDEsJDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FM X1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IHNpbXBsZV9leHByCiAgICAgICAgIDsK IApAQCAtNzEzNSw0NSArNzM1Miw4MCBAQCBzaW1wbGVfZXhwcjoKICAgICAgICAgICAgIEl0ZW0g KmkxPSBuZXcgKHRoZC0+bWVtX3Jvb3QpIEl0ZW1fc3RyaW5nKCQzLnN0ciwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQzLmxlbmd0aCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZC0+ Y2hhcnNldCgpKTsKKyAgICAgICAgICAgIGlmIChpMSA9PSBOVUxMKQorICAgICAgICAgICAgICBN WVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgJCQ9IG5ldyAodGhkLT5tZW1fcm9vdCkgSXRlbV9m dW5jX3NldF9jb2xsYXRpb24oJDEsIGkxKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQor ICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgIH0KICAgICAgICAgfCBsaXRl cmFsCiAgICAgICAgIHwgcGFyYW1fbWFya2VyCiAgICAgICAgIHwgdmFyaWFibGUKICAgICAgICAg fCBzdW1fZXhwcgogICAgICAgICB8IHNpbXBsZV9leHByIE9SX09SX1NZTSBzaW1wbGVfZXhwcgot ICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfY29uY2F0KCQx LCAkMyk7IH0KLSAgICAgICAgfCAnKycgc2ltcGxlX2V4cHIgJXByZWMgTkVHIHsgJCQ9ICQyOyB9 CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVt X2Z1bmNfY29uY2F0KCQxLCAkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAg ICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CisgICAgICAgIHwgJysnIHNpbXBs ZV9leHByICVwcmVjIE5FRworICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSAkMjsKKyAgICAg ICAgICB9CiAgICAgICAgIHwgJy0nIHNpbXBsZV9leHByICVwcmVjIE5FRwotICAgICAgICAgIHsg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbmVnKCQyKTsgfQorICAgICAgICAg IHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX25lZygk Mik7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlB Qk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgJ34nIHNpbXBsZV9leHByICVwcmVjIE5FRwot ICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfYml0X25lZygk Mik7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3Qp IEl0ZW1fZnVuY19iaXRfbmVnKCQyKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAg ICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBub3QyIHNp bXBsZV9leHByICVwcmVjIE5FRwotICAgICAgICAgIHsgJCQ9IG5lZ2F0ZV9leHByZXNzaW9uKFlZ VEhELCAkMik7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmVnYXRlX2V4cHJlc3Np b24oWVlUSEQsICQyKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAg ICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCAnKCcgc3Vic2VsZWN0ICcp JwogICAgICAgICAgIHsgCiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0 ZW1fc2luZ2xlcm93X3N1YnNlbGVjdCgkMik7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICB9Ci0gICAgICAgIHwgJygn IGV4cHIgJyknIHsgJCQ9ICQyOyB9CisgICAgICAgIHwgJygnIGV4cHIgJyknCisgICAgICAgICAg eyAkJD0gJDI7IH0KICAgICAgICAgfCAnKCcgZXhwciAnLCcgZXhwcl9saXN0ICcpJwogICAgICAg ICAgIHsKICAgICAgICAgICAgICQ0LT5wdXNoX2Zyb250KCQyKTsKICAgICAgICAgICAgICQkPSBu ZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9yb3coKiQ0KTsKKyAgICAgICAgICAgIGlmICgkJCA9 PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgIH0KICAgICAg ICAgfCBST1dfU1lNICcoJyBleHByICcsJyBleHByX2xpc3QgJyknCiAgICAgICAgICAgewogICAg ICAgICAgICAgJDUtPnB1c2hfZnJvbnQoJDMpOwogICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQt Pm1lbV9yb290KSBJdGVtX3JvdygqJDUpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisg ICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgfQogICAgICAgICB8IEVYSVNU UyAnKCcgc3Vic2VsZWN0ICcpJwogICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBuZXcgKFlZ VEhELT5tZW1fcm9vdCkgSXRlbV9leGlzdHNfc3Vic2VsZWN0KCQzKTsKKyAgICAgICAgICAgIGlm ICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgIH0K LSAgICAgICAgfCAneycgaWRlbnQgZXhwciAnfScgeyAkJD0gJDM7IH0KKyAgICAgICAgfCAneycg aWRlbnQgZXhwciAnfScKKyAgICAgICAgICB7ICQkPSAkMzsgfQogICAgICAgICB8IE1BVENIIGlk ZW50X2xpc3RfYXJnIEFHQUlOU1QgJygnIGJpdF9leHByIGZ1bGx0ZXh0X29wdGlvbnMgJyknCiAg ICAgICAgICAgewogICAgICAgICAgICAgJDItPnB1c2hfZnJvbnQoJDUpOwogICAgICAgICAgICAg SXRlbV9mdW5jX21hdGNoICppMT0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19tYXRj aCgqJDIsICQ2KTsKKyAgICAgICAgICAgIGlmIChpMSA9PSBOVUxMKQorICAgICAgICAgICAgICBN WVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgU2VsZWN0LT5hZGRfZnRmdW5jX3RvX2xpc3QoaTEp OwogICAgICAgICAgICAgJCQ9IGkxOwogICAgICAgICAgIH0KQEAgLTcxODEsMjYgKzc0MzMsMzYg QEAgc2ltcGxlX2V4cHI6CiAgICAgICAgICAgewogICAgICAgICAgICAgJCQ9IGNyZWF0ZV9mdW5j X2Nhc3QoWVlUSEQsICQyLCBJVEVNX0NBU1RfQ0hBUiwgTlVMTCwgTlVMTCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZteV9jaGFyc2V0X2Jpbik7CisgICAgICAgICAgICBpZiAo JCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICB9CiAg ICAgICAgIHwgQ0FTVF9TWU0gJygnIGV4cHIgQVMgY2FzdF90eXBlICcpJwogICAgICAgICAgIHsK ICAgICAgICAgICAgIExFWCAqbGV4PSBMZXg7CiAgICAgICAgICAgICAkJD0gY3JlYXRlX2Z1bmNf Y2FzdChZWVRIRCwgJDMsICQ1LCBsZXgtPmxlbmd0aCwgbGV4LT5kZWMsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsZXgtPmNoYXJzZXQpOwotICAgICAgICAgICAgaWYgKCEkJCkK KyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQogICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JU OwogICAgICAgICAgIH0KICAgICAgICAgfCBDQVNFX1NZTSBvcHRfZXhwciB3aGVuX2xpc3Qgb3B0 X2Vsc2UgRU5ECi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVu Y19jYXNlKCogJDMsICQyLCAkNCApOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5l dyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfY2FzZSgqICQzLCAkMiwgJDQgKTsKKyAgICAg ICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAg ICAgICAgIH0KICAgICAgICAgfCBDT05WRVJUX1NZTSAnKCcgZXhwciAnLCcgY2FzdF90eXBlICcp JwogICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBjcmVhdGVfZnVuY19jYXN0KFlZVEhELCAk MywgJDUsIExleC0+bGVuZ3RoLCBMZXgtPmRlYywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExleC0+Y2hhcnNldCk7Ci0gICAgICAgICAgICBpZiAoISQkKQorICAgICAgICAgICAg aWYgKCQkID09IE5VTEwpCiAgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAg fQogICAgICAgICB8IENPTlZFUlRfU1lNICcoJyBleHByIFVTSU5HIGNoYXJzZXRfbmFtZSAnKScK LSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2NvbnZfY2hh cnNldCgkMywkNSk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+ bWVtX3Jvb3QpIEl0ZW1fZnVuY19jb252X2NoYXJzZXQoJDMsJDUpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQog ICAgICAgICB8IERFRkFVTFQgJygnIHNpbXBsZV9pZGVudCAnKScKICAgICAgICAgICB7CiAgICAg ICAgICAgICBpZiAoJDMtPmlzX3NwbG9jYWwoKSkKQEAgLTcyMTIsMTUgKzc0NzQsMjMgQEAgc2lt cGxlX2V4cHI6CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVt X3Jvb3QpIEl0ZW1fZGVmYXVsdF92YWx1ZShMZXgtPmN1cnJlbnRfY29udGV4dCgpLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDMpOwor ICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7 CiAgICAgICAgICAgfQogICAgICAgICB8IFZBTFVFUyAnKCcgc2ltcGxlX2lkZW50X25vc3B2YXIg JyknCiAgICAgICAgICAgewogICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJ dGVtX2luc2VydF92YWx1ZShMZXgtPmN1cnJlbnRfY29udGV4dCgpLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMyk7CisgICAgICAgICAg ICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAg ICB9CiAgICAgICAgIHwgSU5URVJWQUxfU1lNIGV4cHIgaW50ZXJ2YWwgJysnIGV4cHIgJXByZWMg SU5URVJWQUxfU1lNCiAgICAgICAgICAgLyogd2UgY2Fubm90IHB1dCBpbnRlcnZhbCBiZWZvcmUg LSAqLwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2RhdGVfYWRk X2ludGVydmFsKCQ1LCQyLCQzLDApOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5l dyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2RhdGVfYWRkX2ludGVydmFsKCQ1LCQyLCQzLDApOwor ICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7 CisgICAgICAgICAgfQogICAgICAgICA7CiAKIC8qCkBAIC03MjMxLDMxICs3NTAxLDYzIEBAIHNp bXBsZV9leHByOgogKi8KIGZ1bmN0aW9uX2NhbGxfa2V5d29yZDoKICAgICAgICAgICBDSEFSX1NZ TSAnKCcgZXhwcl9saXN0ICcpJwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290 KSBJdGVtX2Z1bmNfY2hhcigqJDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5l dyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfY2hhcigqJDMpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQog ICAgICAgICB8IENIQVJfU1lNICcoJyBleHByX2xpc3QgVVNJTkcgY2hhcnNldF9uYW1lICcpJwot ICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfY2hhcigqJDMs ICQ1KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9v dCkgSXRlbV9mdW5jX2NoYXIoKiQzLCAkNSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgQ1VS UkVOVF9VU0VSIG9wdGlvbmFsX2JyYWNlcwogICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBu ZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2N1cnJlbnRfdXNlcihMZXgtPmN1cnJlbnRf Y29udGV4dCgpKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBN WVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgTGV4LT5zZXRfc3RtdF91bnNhZmUoKTsKICAgICAg ICAgICAgIExleC0+c2FmZV90b19jYWNoZV9xdWVyeT0gMDsKICAgICAgICAgICB9CiAgICAgICAg IHwgREFURV9TWU0gJygnIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVt X3Jvb3QpIEl0ZW1fZGF0ZV90eXBlY2FzdCgkMyk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAg ICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZGF0ZV90eXBlY2FzdCgkMyk7CisgICAg ICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAg ICAgICAgICB9CiAgICAgICAgIHwgREFZX1NZTSAnKCcgZXhwciAnKScKLSAgICAgICAgICB7ICQk PSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2RheW9mbW9udGgoJDMpOyB9Ci0gICAg ICAgIHwgSE9VUl9TWU0gJygnIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+ bWVtX3Jvb3QpIEl0ZW1fZnVuY19ob3VyKCQzKTsgfQotICAgICAgICB8IElOU0VSVCAnKCcgZXhw ciAnLCcgZXhwciAnLCcgZXhwciAnLCcgZXhwciAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZ VEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2luc2VydCgkMywkNSwkNywkOSk7IH0KLSAgICAgICAg fCBJTlRFUlZBTF9TWU0gJygnIGV4cHIgJywnIGV4cHIgJyknICVwcmVjIElOVEVSVkFMX1NZTQog ICAgICAgICAgIHsKLSAgICAgICAgICAgIFRIRCAqdGhkPSBZWVRIRDsKKyAgICAgICAgICAgICQk PSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2RheW9mbW9udGgoJDMpOworICAgICAg ICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAg ICAgICAgfQorICAgICAgICB8IEhPVVJfU1lNICcoJyBleHByICcpJworICAgICAgICAgIHsKKyAg ICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2hvdXIoJDMpOwor ICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7 CisgICAgICAgICAgfQorICAgICAgICB8IElOU0VSVCAnKCcgZXhwciAnLCcgZXhwciAnLCcgZXhw ciAnLCcgZXhwciAnKScKKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+ bWVtX3Jvb3QpIEl0ZW1fZnVuY19pbnNlcnQoJDMsJDUsJDcsJDkpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQor ICAgICAgICB8IElOVEVSVkFMX1NZTSAnKCcgZXhwciAnLCcgZXhwciAnKScgJXByZWMgSU5URVJW QUxfU1lNCisgICAgICAgICAgeworICAgICAgICAgICAgVEhEICp0aGQ9IFlZVEhEOwogICAgICAg ICAgICAgTGlzdDxJdGVtPiAqbGlzdD0gbmV3ICh0aGQtPm1lbV9yb290KSBMaXN0PEl0ZW0+Owor ICAgICAgICAgICAgaWYgKGxpc3QgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9S VDsKICAgICAgICAgICAgIGxpc3QtPnB1c2hfZnJvbnQoJDUpOwogICAgICAgICAgICAgbGlzdC0+ cHVzaF9mcm9udCgkMyk7CiAgICAgICAgICAgICBJdGVtX3JvdyAqaXRlbT0gbmV3ICh0aGQtPm1l bV9yb290KSBJdGVtX3JvdygqbGlzdCk7CisgICAgICAgICAgICBpZiAoaXRlbSA9PSBOVUxMKQor ICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgJCQ9IG5ldyAodGhkLT5t ZW1fcm9vdCkgSXRlbV9mdW5jX2ludGVydmFsKGl0ZW0pOworICAgICAgICAgICAgaWYgKCQkID09 IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgfQogICAgICAg ICB8IElOVEVSVkFMX1NZTSAnKCcgZXhwciAnLCcgZXhwciAnLCcgZXhwcl9saXN0ICcpJyAlcHJl YyBJTlRFUlZBTF9TWU0KICAgICAgICAgICB7CkBAIC03MjYzLDQ4ICs3NTY1LDEyMCBAQCBmdW5j dGlvbl9jYWxsX2tleXdvcmQ6CiAgICAgICAgICAgICAkNy0+cHVzaF9mcm9udCgkNSk7CiAgICAg ICAgICAgICAkNy0+cHVzaF9mcm9udCgkMyk7CiAgICAgICAgICAgICBJdGVtX3JvdyAqaXRlbT0g bmV3ICh0aGQtPm1lbV9yb290KSBJdGVtX3JvdygqJDcpOworICAgICAgICAgICAgaWYgKGl0ZW0g PT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgICQkPSBu ZXcgKHRoZC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19pbnRlcnZhbChpdGVtKTsKKyAgICAgICAgICAg IGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAg IH0KICAgICAgICAgfCBMRUZUICcoJyBleHByICcsJyBleHByICcpJwotICAgICAgICAgIHsgJCQ9 IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbGVmdCgkMywkNSk7IH0KKyAgICAgICAg ICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19sZWZ0 KCQzLCQ1KTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNR TF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBNSU5VVEVfU1lNICcoJyBleHByICcp JwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbWludXRl KCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9v dCkgSXRlbV9mdW5jX21pbnV0ZSgkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAg ICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgTU9OVEhf U1lNICcoJyBleHByICcpJwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJ dGVtX2Z1bmNfbW9udGgoJDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAo WVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbW9udGgoJDMpOworICAgICAgICAgICAgaWYgKCQk ID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAg ICAgICB8IFJJR0hUICcoJyBleHByICcsJyBleHByICcpJwotICAgICAgICAgIHsgJCQ9IG5ldyAo WVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfcmlnaHQoJDMsJDUpOyB9CisgICAgICAgICAgewor ICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfcmlnaHQoJDMs JDUpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZ QUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IFNFQ09ORF9TWU0gJygnIGV4cHIgJyknCi0g ICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19zZWNvbmQoJDMp OyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJ dGVtX2Z1bmNfc2Vjb25kKCQzKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAg ICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBUSU1FX1NZTSAn KCcgZXhwciAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV90 aW1lX3R5cGVjYXN0KCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZ VEhELT5tZW1fcm9vdCkgSXRlbV90aW1lX3R5cGVjYXN0KCQzKTsKKyAgICAgICAgICAgIGlmICgk JCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAg ICAgICAgfCBUSU1FU1RBTVAgJygnIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRI RC0+bWVtX3Jvb3QpIEl0ZW1fZGF0ZXRpbWVfdHlwZWNhc3QoJDMpOyB9CisgICAgICAgICAgewor ICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2RhdGV0aW1lX3R5cGVj YXN0KCQzKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNR TF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBUSU1FU1RBTVAgJygnIGV4cHIgJywn IGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVu Y19hZGRfdGltZSgkMywgJDUsIDEsIDApOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9 IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfYWRkX3RpbWUoJDMsICQ1LCAxLCAwKTsK KyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JU OworICAgICAgICAgIH0KICAgICAgICAgfCBUUklNICcoJyBleHByICcpJwotICAgICAgICAgIHsg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfdHJpbSgkMyk7IH0KKyAgICAgICAg ICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY190cmlt KCQzKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9Z WUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBUUklNICcoJyBMRUFESU5HIGV4cHIgRlJP TSBleHByICcpJwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1 bmNfbHRyaW0oJDYsJDQpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlU SEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbHRyaW0oJDYsJDQpOworICAgICAgICAgICAgaWYgKCQk ID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAg ICAgICB8IFRSSU0gJygnIFRSQUlMSU5HIGV4cHIgRlJPTSBleHByICcpJwotICAgICAgICAgIHsg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfcnRyaW0oJDYsJDQpOyB9CisgICAg ICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNf cnRyaW0oJDYsJDQpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAg IE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IFRSSU0gJygnIEJPVEggZXhw ciBGUk9NIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0 ZW1fZnVuY190cmltKCQ2LCQ0KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcg KFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX3RyaW0oJDYsJDQpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQog ICAgICAgICB8IFRSSU0gJygnIExFQURJTkcgRlJPTSBleHByICcpJwotICAgICAgICAgIHsgJCQ9 IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbHRyaW0oJDUpOyB9CisgICAgICAgICAg eworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbHRyaW0o JDUpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZ QUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IFRSSU0gJygnIFRSQUlMSU5HIEZST00gZXhw ciAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX3J0 cmltKCQ1KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1f cm9vdCkgSXRlbV9mdW5jX3J0cmltKCQ1KTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQor ICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBUUklN ICcoJyBCT1RIIEZST00gZXhwciAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5tZW1f cm9vdCkgSXRlbV9mdW5jX3RyaW0oJDUpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9 IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfdHJpbSgkNSk7CisgICAgICAgICAgICBp ZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9 CiAgICAgICAgIHwgVFJJTSAnKCcgZXhwciBGUk9NIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0g bmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY190cmltKCQ1LCQzKTsgfQorICAgICAgICAg IHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX3RyaW0o JDUsJDMpOworICAgICAgICAgIH0KICAgICAgICAgfCBVU0VSICcoJyAnKScKICAgICAgICAgICB7 CiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY191c2VyKCk7 CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9S VDsKICAgICAgICAgICAgIExleC0+c2V0X3N0bXRfdW5zYWZlKCk7CiAgICAgICAgICAgICBMZXgt PnNhZmVfdG9fY2FjaGVfcXVlcnk9MDsKICAgICAgICAgICB9CiAgICAgICAgIHwgWUVBUl9TWU0g JygnIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1f ZnVuY195ZWFyKCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhE LT5tZW1fcm9vdCkgSXRlbV9mdW5jX3llYXIoJDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5V TEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICA7 CiAKIC8qCkBAIC03MzI0LDY1ICs3Njk4LDEyNyBAQCBmdW5jdGlvbl9jYWxsX25vbmtleXdvcmQ6 CiAgICAgICAgICAgewogICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVt X2RhdGVfYWRkX2ludGVydmFsKCQzLCAkNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRFUlZBTF9EQVksIDApOworICAgICAg ICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAg ICAgICAgfQogICAgICAgICB8IEFERERBVEVfU1lNICcoJyBleHByICcsJyBJTlRFUlZBTF9TWU0g ZXhwciBpbnRlcnZhbCAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkg SXRlbV9kYXRlX2FkZF9pbnRlcnZhbCgkMywgJDYsICQ3LCAwKTsgfQorICAgICAgICAgIHsKKyAg ICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9kYXRlX2FkZF9pbnRlcnZh bCgkMywgJDYsICQ3LCAwKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAg ICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBDVVJEQVRFIG9wdGlv bmFsX2JyYWNlcwogICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1f cm9vdCkgSXRlbV9mdW5jX2N1cmRhdGVfbG9jYWwoKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBO VUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgTGV4LT5zYWZl X3RvX2NhY2hlX3F1ZXJ5PTA7CiAgICAgICAgICAgfQogICAgICAgICB8IENVUlRJTUUgb3B0aW9u YWxfYnJhY2VzCiAgICAgICAgICAgewogICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9y b290KSBJdGVtX2Z1bmNfY3VydGltZV9sb2NhbCgpOworICAgICAgICAgICAgaWYgKCQkID09IE5V TEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICBMZXgtPnNhZmVf dG9fY2FjaGVfcXVlcnk9MDsKICAgICAgICAgICB9CiAgICAgICAgIHwgQ1VSVElNRSAnKCcgZXhw ciAnKScKICAgICAgICAgICB7CiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3Qp IEl0ZW1fZnVuY19jdXJ0aW1lX2xvY2FsKCQzKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxM KQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgTGV4LT5zYWZlX3Rv X2NhY2hlX3F1ZXJ5PTA7CiAgICAgICAgICAgfQotICAgICAgICB8IERBVEVfQUREX0lOVEVSVkFM ICcoJyBleHByICcsJyBJTlRFUlZBTF9TWU0gZXhwciBpbnRlcnZhbCAnKScgJXByZWMgSU5URVJW QUxfU1lNCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZGF0ZV9h ZGRfaW50ZXJ2YWwoJDMsJDYsJDcsMCk7IH0KLSAgICAgICAgfCBEQVRFX1NVQl9JTlRFUlZBTCAn KCcgZXhwciAnLCcgSU5URVJWQUxfU1lNIGV4cHIgaW50ZXJ2YWwgJyknICVwcmVjIElOVEVSVkFM X1NZTQotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2RhdGVfYWRk X2ludGVydmFsKCQzLCQ2LCQ3LDEpOyB9CisgICAgICAgIHwgREFURV9BRERfSU5URVJWQUwgJygn IGV4cHIgJywnIElOVEVSVkFMX1NZTSBleHByIGludGVydmFsICcpJworICAgICAgICAgICVwcmVj IElOVEVSVkFMX1NZTQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5t ZW1fcm9vdCkgSXRlbV9kYXRlX2FkZF9pbnRlcnZhbCgkMywkNiwkNywwKTsKKyAgICAgICAgICAg IGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAg IH0KKyAgICAgICAgfCBEQVRFX1NVQl9JTlRFUlZBTCAnKCcgZXhwciAnLCcgSU5URVJWQUxfU1lN IGV4cHIgaW50ZXJ2YWwgJyknCisgICAgICAgICAgJXByZWMgSU5URVJWQUxfU1lNCisgICAgICAg ICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2RhdGVfYWRk X2ludGVydmFsKCQzLCQ2LCQ3LDEpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAg ICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IEVYVFJBQ1Rf U1lNICcoJyBpbnRlcnZhbCBGUk9NIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD1uZXcgKFlZVEhE LT5tZW1fcm9vdCkgSXRlbV9leHRyYWN0KCAkMywgJDUpOyB9CisgICAgICAgICAgeworICAgICAg ICAgICAgJCQ9bmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZXh0cmFjdCggJDMsICQ1KTsKKyAg ICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwor ICAgICAgICAgIH0KICAgICAgICAgfCBHRVRfRk9STUFUICcoJyBkYXRlX3RpbWVfdHlwZSAgJywn IGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVu Y19nZXRfZm9ybWF0KCQzLCAkNSk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3 IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19nZXRfZm9ybWF0KCQzLCAkNSk7CisgICAgICAg ICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAg ICAgICB9CiAgICAgICAgIHwgTk9XX1NZTSBvcHRpb25hbF9icmFjZXMKICAgICAgICAgICB7CiAg ICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19ub3dfbG9jYWwo KTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFC T1JUOwogICAgICAgICAgICAgTGV4LT5zYWZlX3RvX2NhY2hlX3F1ZXJ5PTA7CiAgICAgICAgICAg fQogICAgICAgICB8IE5PV19TWU0gJygnIGV4cHIgJyknCiAgICAgICAgICAgewogICAgICAgICAg ICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbm93X2xvY2FsKCQzKTsKKyAg ICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwog ICAgICAgICAgICAgTGV4LT5zYWZlX3RvX2NhY2hlX3F1ZXJ5PTA7CiAgICAgICAgICAgfQogICAg ICAgICB8IFBPU0lUSU9OX1NZTSAnKCcgYml0X2V4cHIgSU5fU1lNIGV4cHIgJyknCi0gICAgICAg ICAgeyAkJCA9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbG9jYXRlKCQ1LCQzKTsg fQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkID0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0 ZW1fZnVuY19sb2NhdGUoJDUsJDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAg ICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IFNVQkRBVEVf U1lNICcoJyBleHByICcsJyBleHByICcpJwogICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBu ZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9kYXRlX2FkZF9pbnRlcnZhbCgkMywgJDUsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SU5URVJWQUxfREFZLCAxKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAg ICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgIH0KICAgICAgICAgfCBTVUJEQVRFX1NZTSAn KCcgZXhwciAnLCcgSU5URVJWQUxfU1lNIGV4cHIgaW50ZXJ2YWwgJyknCi0gICAgICAgICAgeyAk JD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZGF0ZV9hZGRfaW50ZXJ2YWwoJDMsICQ2LCAk NywgMSk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jv b3QpIEl0ZW1fZGF0ZV9hZGRfaW50ZXJ2YWwoJDMsICQ2LCAkNywgMSk7CisgICAgICAgICAgICBp ZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9 CiAgICAgICAgIHwgU1VCU1RSSU5HICcoJyBleHByICcsJyBleHByICcsJyBleHByICcpJwotICAg ICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfc3Vic3RyKCQzLCQ1 LCQ3KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9v dCkgSXRlbV9mdW5jX3N1YnN0cigkMywkNSwkNyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVM TCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwg U1VCU1RSSU5HICcoJyBleHByICcsJyBleHByICcpJwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlU SEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfc3Vic3RyKCQzLCQ1KTsgfQorICAgICAgICAgIHsKKyAg ICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX3N1YnN0cigkMywk NSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlB Qk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgU1VCU1RSSU5HICcoJyBleHByIEZST00gZXhw ciBGT1JfU1lNIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3Qp IEl0ZW1fZnVuY19zdWJzdHIoJDMsJDUsJDcpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfc3Vic3RyKCQzLCQ1LCQ3KTsKKyAg ICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwor ICAgICAgICAgIH0KICAgICAgICAgfCBTVUJTVFJJTkcgJygnIGV4cHIgRlJPTSBleHByICcpJwot ICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfc3Vic3RyKCQz LCQ1KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9v dCkgSXRlbV9mdW5jX3N1YnN0cigkMywkNSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgU1lT REFURSBvcHRpb25hbF9icmFjZXMKICAgICAgICAgICB7CiAgICAgICAgICAgICBpZiAoZ2xvYmFs X3N5c3RlbV92YXJpYWJsZXMuc3lzZGF0ZV9pc19ub3cgPT0gMCkKICAgICAgICAgICAgICAgJCQ9 IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfc3lzZGF0ZV9sb2NhbCgpOwogICAgICAg ICAgICAgZWxzZQogICAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1f ZnVuY19ub3dfbG9jYWwoKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAg ICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgTGV4LT5zYWZlX3RvX2NhY2hlX3F1ZXJ5 PTA7CiAgICAgICAgICAgfQogICAgICAgICB8IFNZU0RBVEUgJygnIGV4cHIgJyknCkBAIC03Mzkx LDI1ICs3ODI3LDQxIEBAIGZ1bmN0aW9uX2NhbGxfbm9ua2V5d29yZDoKICAgICAgICAgICAgICAg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfc3lzZGF0ZV9sb2NhbCgkMyk7CiAg ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkg SXRlbV9mdW5jX25vd19sb2NhbCgkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAg ICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIExleC0+c2FmZV90b19jYWNo ZV9xdWVyeT0wOwogICAgICAgICAgIH0KICAgICAgICAgfCBUSU1FU1RBTVBfQUREICcoJyBpbnRl cnZhbF90aW1lX3N0YW1wICcsJyBleHByICcsJyBleHByICcpJwotICAgICAgICAgIHsgJCQ9IG5l dyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2RhdGVfYWRkX2ludGVydmFsKCQ3LCQ1LCQzLDApOyB9 CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVt X2RhdGVfYWRkX2ludGVydmFsKCQ3LCQ1LCQzLDApOworICAgICAgICAgICAgaWYgKCQkID09IE5V TEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8 IFRJTUVTVEFNUF9ESUZGICcoJyBpbnRlcnZhbF90aW1lX3N0YW1wICcsJyBleHByICcsJyBleHBy ICcpJwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfdGlt ZXN0YW1wX2RpZmYoJDUsJDcsJDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5l dyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfdGltZXN0YW1wX2RpZmYoJDUsJDcsJDMpOwor ICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7 CisgICAgICAgICAgfQogICAgICAgICB8IFVUQ19EQVRFX1NZTSBvcHRpb25hbF9icmFjZXMKICAg ICAgICAgICB7CiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVu Y19jdXJkYXRlX3V0YygpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAg ICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICBMZXgtPnNhZmVfdG9fY2FjaGVfcXVlcnk9 MDsKICAgICAgICAgICB9CiAgICAgICAgIHwgVVRDX1RJTUVfU1lNIG9wdGlvbmFsX2JyYWNlcwog ICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9m dW5jX2N1cnRpbWVfdXRjKCk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAg ICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIExleC0+c2FmZV90b19jYWNoZV9xdWVy eT0wOwogICAgICAgICAgIH0KICAgICAgICAgfCBVVENfVElNRVNUQU1QX1NZTSBvcHRpb25hbF9i cmFjZXMKICAgICAgICAgICB7CiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3Qp IEl0ZW1fZnVuY19ub3dfdXRjKCk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAg ICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIExleC0+c2FmZV90b19jYWNoZV9x dWVyeT0wOwogICAgICAgICAgIH0KICAgICAgICAgOwpAQCAtNzQyMSwyNiArNzg3Myw2MCBAQCBm dW5jdGlvbl9jYWxsX25vbmtleXdvcmQ6CiAqLwogZnVuY3Rpb25fY2FsbF9jb25mbGljdDoKICAg ICAgICAgICBBU0NJSV9TWU0gJygnIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRI RC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19hc2NpaSgkMyk7IH0KKyAgICAgICAgICB7CisgICAgICAg ICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19hc2NpaSgkMyk7CisgICAg ICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAg ICAgICAgICB9CiAgICAgICAgIHwgQ0hBUlNFVCAnKCcgZXhwciAnKScKLSAgICAgICAgICB7ICQk PSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2NoYXJzZXQoJDMpOyB9CisgICAgICAg ICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfY2hh cnNldCgkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlT UUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgQ09BTEVTQ0UgJygnIGV4cHJfbGlz dCAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2Nv YWxlc2NlKCogJDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQt Pm1lbV9yb290KSBJdGVtX2Z1bmNfY29hbGVzY2UoKiAkMyk7CisgICAgICAgICAgICBpZiAoJCQg PT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAg ICAgIHwgQ09MTEFUSU9OX1NZTSAnKCcgZXhwciAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZ VEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2NvbGxhdGlvbigkMyk7IH0KKyAgICAgICAgICB7Cisg ICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19jb2xsYXRpb24o JDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZ QUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IERBVEFCQVNFICcoJyAnKScKICAgICAgICAg ICB7CiAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19kYXRh YmFzZSgpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FM X1lZQUJPUlQ7CiAgICAgICAgICAgICBMZXgtPnNhZmVfdG9fY2FjaGVfcXVlcnk9MDsKICAgICAg ICAgICB9CiAgICAgICAgIHwgSUYgJygnIGV4cHIgJywnIGV4cHIgJywnIGV4cHIgJyknCi0gICAg ICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19pZigkMywkNSwkNyk7 IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0 ZW1fZnVuY19pZigkMywkNSwkNyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAg ICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgTUlDUk9TRUNP TkRfU1lNICcoJyBleHByICcpJwotICAgICAgICAgIHsgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290 KSBJdGVtX2Z1bmNfbWljcm9zZWNvbmQoJDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbWljcm9zZWNvbmQoJDMpOworICAg ICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7Cisg ICAgICAgICAgfQogICAgICAgICB8IE1PRF9TWU0gJygnIGV4cHIgJywnIGV4cHIgJyknCi0gICAg ICAgICAgeyAkJCA9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfbW9kKCAkMywgJDUp OyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQgPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkg SXRlbV9mdW5jX21vZCgkMywgJDUpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAg ICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IE9MRF9QQVNT V09SRCAnKCcgZXhwciAnKScKLSAgICAgICAgICB7ICQkPSAgbmV3IChZWVRIRC0+bWVtX3Jvb3Qp IEl0ZW1fZnVuY19vbGRfcGFzc3dvcmQoJDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAg JCQ9ICBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX29sZF9wYXNzd29yZCgkMyk7Cisg ICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsK KyAgICAgICAgICB9CiAgICAgICAgIHwgUEFTU1dPUkQgJygnIGV4cHIgJyknCiAgICAgICAgICAg ewogICAgICAgICAgICAgVEhEICp0aGQ9IFlZVEhEOwpAQCAtNzQ0OSw1MSArNzkzNSw5NSBAQCBm dW5jdGlvbl9jYWxsX2NvbmZsaWN0OgogICAgICAgICAgICAgICBpMT0gbmV3ICh0aGQtPm1lbV9y b290KSBJdGVtX2Z1bmNfb2xkX3Bhc3N3b3JkKCQzKTsKICAgICAgICAgICAgIGVsc2UKICAgICAg ICAgICAgICAgaTE9IG5ldyAodGhkLT5tZW1fcm9vdCkgSXRlbV9mdW5jX3Bhc3N3b3JkKCQzKTsK KyAgICAgICAgICAgIGlmIChpMSA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JU OwogICAgICAgICAgICAgJCQ9IGkxOwogICAgICAgICAgIH0KICAgICAgICAgfCBRVUFSVEVSX1NZ TSAnKCcgZXhwciAnKScKLSAgICAgICAgICB7ICQkID0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0 ZW1fZnVuY19xdWFydGVyKCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkID0gbmV3 IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19xdWFydGVyKCQzKTsKKyAgICAgICAgICAgIGlm ICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0K ICAgICAgICAgfCBSRVBFQVRfU1lNICcoJyBleHByICcsJyBleHByICcpJwotICAgICAgICAgIHsg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfcmVwZWF0KCQzLCQ1KTsgfQorICAg ICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5j X3JlcGVhdCgkMywkNSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAg ICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgUkVQTEFDRSAnKCcgZXhw ciAnLCcgZXhwciAnLCcgZXhwciAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5tZW1f cm9vdCkgSXRlbV9mdW5jX3JlcGxhY2UoJDMsJDUsJDcpOyB9CisgICAgICAgICAgeworICAgICAg ICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfcmVwbGFjZSgkMywkNSwk Nyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlB Qk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgUkVWRVJTRV9TWU0gJygnIGV4cHIgJyknCi0g ICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY19yZXZlcnNlKCQz KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkg SXRlbV9mdW5jX3JldmVyc2UoJDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAg ICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IFRSVU5DQVRF X1NZTSAnKCcgZXhwciAnLCcgZXhwciAnKScKLSAgICAgICAgICB7ICQkPSBuZXcgKFlZVEhELT5t ZW1fcm9vdCkgSXRlbV9mdW5jX3JvdW5kKCQzLCQ1LDEpOyB9CisgICAgICAgICAgeworICAgICAg ICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2Z1bmNfcm91bmQoJDMsJDUsMSk7 CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9S VDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgV0VFS19TWU0gJygnIGV4cHIgJyknCiAgICAgICAg ICAgewogICAgICAgICAgICAgVEhEICp0aGQ9IFlZVEhEOwogICAgICAgICAgICAgSXRlbSAqaTE9 IG5ldyAodGhkLT5tZW1fcm9vdCkgSXRlbV9pbnQoKGNoYXIqKSAiMCIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhkLT52YXJpYWJsZXMuZGVmYXVsdF93ZWVr X2Zvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDEpOwotCisgICAgICAgICAgICBpZiAoaTEgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlT UUxfWVlBQk9SVDsKICAgICAgICAgICAgICQkPSBuZXcgKHRoZC0+bWVtX3Jvb3QpIEl0ZW1fZnVu Y193ZWVrKCQzLCBpMSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAg ICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICB9CiAgICAgICAgIHwgV0VFS19TWU0gJygnIGV4 cHIgJywnIGV4cHIgJyknCi0gICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0 ZW1fZnVuY193ZWVrKCQzLCQ1KTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcg KFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX3dlZWsoJDMsJDUpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQog ICAgICAgICB8IFdFSUdIVF9TVFJJTkdfU1lNICcoJyBleHByIG9wdF93c19sZXZlbHMgJyknCi0g ICAgICAgICAgeyAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY193ZWlnaHRfc3Ry aW5nKCQzLCAwLCAwLCAkNCk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZ WVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY193ZWlnaHRfc3RyaW5nKCQzLCAwLCAwLCAkNCk7Cisg ICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsK KyAgICAgICAgICB9CiAgICAgICAgIHwgV0VJR0hUX1NUUklOR19TWU0gJygnIGV4cHIgQVMgQ0hB Ul9TWU0gd3NfbndlaWdodHMgb3B0X3dzX2xldmVscyAnKScKICAgICAgICAgICB7CiAgICAgICAg ICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpCiAgICAgICAgICAgICAgICAgSXRlbV9mdW5j X3dlaWdodF9zdHJpbmcoJDMsIDAsICQ2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICQ3IHwgTVlfU1RSWEZSTV9QQURfV0lUSF9TUEFDRSk7CisgICAgICAgICAgICBp ZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICB9 CiAgICAgICAgIHwgV0VJR0hUX1NUUklOR19TWU0gJygnIGV4cHIgQVMgQklOQVJZIHdzX253ZWln aHRzICcpJwogICAgICAgICAgIHsKLSAgICAgICAgICAgICQzPSBjcmVhdGVfZnVuY19jaGFyX2Nh c3QoWVlUSEQsICQzLCAkNiwgJm15X2NoYXJzZXRfYmluKTsKKyAgICAgICAgICAgIEl0ZW0gKml0 ZW09IGNyZWF0ZV9mdW5jX2NoYXJfY2FzdChZWVRIRCwgJDMsICQ2LCAmbXlfY2hhcnNldF9iaW4p OworICAgICAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlB Qk9SVDsKICAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkKLSAgICAgICAgICAg ICAgICBJdGVtX2Z1bmNfd2VpZ2h0X3N0cmluZygkMywgMCwgJDYsIE1ZX1NUUlhGUk1fUEFEX1dJ VEhfU1BBQ0UpOworICAgICAgICAgICAgICAgIEl0ZW1fZnVuY193ZWlnaHRfc3RyaW5nKGl0ZW0s IDAsICQ2LCBNWV9TVFJYRlJNX1BBRF9XSVRIX1NQQUNFKTsKKyAgICAgICAgICAgIGlmICgkJCA9 PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgIH0KICAgICAg ICAgfCBXRUlHSFRfU1RSSU5HX1NZTSAnKCcgZXhwciAnLCcgdWxvbmdfbnVtICcsJyB1bG9uZ19u dW0gJywnIHVsb25nX251bSAnKScKICAgICAgICAgICB7CiAgICAgICAgICAgICAkJD0gbmV3IChZ WVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZnVuY193ZWlnaHRfc3RyaW5nKCQzLCAkNSwgJDcsICQ5KTsK KyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JU OwogICAgICAgICAgIH0KICAgICAgICAgfCBnZW9tZXRyeV9mdW5jdGlvbgogICAgICAgICAgIHsK ICNpZmRlZiBIQVZFX1NQQVRJQUwKICAgICAgICAgICAgICQkPSAkMTsKKyAgICAgICAgICAgIC8q ICQxIG1heSBiZSBOVUxMLCBHRU9NX05FVyBub3QgdGVzdGVkIGZvciBvdXQgb2YgbWVtb3J5ICov CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9S VDsKICNlbHNlCiAgICAgICAgICAgICBteV9lcnJvcihFUl9GRUFUVVJFX0RJU0FCTEVELCBNWUYo MCksCiAgICAgICAgICAgICAgICAgICAgICBzeW1fZ3JvdXBfZ2VvbS5uYW1lLCBzeW1fZ3JvdXBf Z2VvbS5uZWVkZWRfZGVmaW5lKTsKQEAgLTc1MDIsNiArODAzMiw3IEBAIGZ1bmN0aW9uX2NhbGxf Y29uZmxpY3Q6CiAgICAgICAgICAgfQogICAgICAgICA7CiAKKy8qIG1heSByZXR1cm4gTlVMTCAq LwogZ2VvbWV0cnlfZnVuY3Rpb246CiAgICAgICAgICAgQ09OVEFJTlNfU1lNICcoJyBleHByICcs JyBleHByICcpJwogICAgICAgICAgIHsKQEAgLTc1NDUsNyArODA3Niw5IEBAIGdlb21ldHJ5X2Z1 bmN0aW9uOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VvbWV0cnk6OndrYl9wb2x5Z29u KSk7CiAgICAgICAgICAgfQogICAgICAgICB8IFBPSU5UX1NZTSAnKCcgZXhwciAnLCcgZXhwciAn KScKLSAgICAgICAgICB7ICQkPSBHRU9NX05FVyhZWVRIRCwgSXRlbV9mdW5jX3BvaW50KCQzLCQ1 KSk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gR0VPTV9ORVcoWVlUSEQsIEl0ZW1f ZnVuY19wb2ludCgkMywkNSkpOworICAgICAgICAgIH0KICAgICAgICAgfCBQT0xZR09OICcoJyBl eHByX2xpc3QgJyknCiAgICAgICAgICAgewogICAgICAgICAgICAgJCQ9IEdFT01fTkVXKFlZVEhE LApAQCAtNzY5MCw2ICs4MjIzLDggQEAgdWRmX2V4cHJfbGlzdDoKICAgICAgICAgICB1ZGZfZXhw cgogICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgTGlz dDxJdGVtPjsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNR TF9ZWUFCT1JUOwogICAgICAgICAgICAgJCQtPnB1c2hfYmFjaygkMSk7CiAgICAgICAgICAgfQog ICAgICAgICB8IHVkZl9leHByX2xpc3QgJywnIHVkZl9leHByCkBAIC03NzIxLDUwICs4MjU2LDEy NSBAQCB1ZGZfZXhwcjoKIAogc3VtX2V4cHI6CiAgICAgICAgICAgQVZHX1NZTSAnKCcgaW5fc3Vt X2V4cHIgJyknCi0gICAgICAgICAgeyAkJD1uZXcgSXRlbV9zdW1fYXZnKCQzKTsgfQorICAgICAg ICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9zdW1fYXZn KCQzKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9Z WUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBBVkdfU1lNICcoJyBESVNUSU5DVCBpbl9z dW1fZXhwciAnKScKLSAgICAgICAgICB7ICQkPW5ldyBJdGVtX3N1bV9hdmdfZGlzdGluY3QoJDQp OyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJ dGVtX3N1bV9hdmdfZGlzdGluY3QoJDQpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisg ICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IEJJVF9B TkQgICcoJyBpbl9zdW1fZXhwciAnKScKLSAgICAgICAgICB7ICQkPW5ldyBJdGVtX3N1bV9hbmQo JDMpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290 KSBJdGVtX3N1bV9hbmQoJDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAg ICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IEJJVF9PUiAgJygn IGluX3N1bV9leHByICcpJwotICAgICAgICAgIHsgJCQ9bmV3IEl0ZW1fc3VtX29yKCQzKTsgfQor ICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9z dW1fb3IoJDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1Z U1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IEJJVF9YT1IgICcoJyBpbl9zdW1f ZXhwciAnKScKLSAgICAgICAgICB7ICQkPW5ldyBJdGVtX3N1bV94b3IoJDMpOyB9CisgICAgICAg ICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX3N1bV94b3Io JDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZ QUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IENPVU5UX1NZTSAnKCcgb3B0X2FsbCAnKicg JyknCi0gICAgICAgICAgeyAkJD1uZXcgSXRlbV9zdW1fY291bnQobmV3IEl0ZW1faW50KChpbnQz MikgMEwsMSkpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgSXRlbSAqaXRlbT0gbmV3IChZ WVRIRC0+bWVtX3Jvb3QpIEl0ZW1faW50KChpbnQzMikgMEwsMSk7CisgICAgICAgICAgICBpZiAo aXRlbSA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgICAg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX3N1bV9jb3VudChpdGVtKTsKKyAgICAgICAg ICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAg ICAgIH0KICAgICAgICAgfCBDT1VOVF9TWU0gJygnIGluX3N1bV9leHByICcpJwotICAgICAgICAg IHsgJCQ9bmV3IEl0ZW1fc3VtX2NvdW50KCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAg ICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9zdW1fY291bnQoJDMpOworICAgICAgICAg ICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAg ICAgfQogICAgICAgICB8IENPVU5UX1NZTSAnKCcgRElTVElOQ1QKICAgICAgICAgICB7IFNlbGVj dC0+aW5fc3VtX2V4cHIrKzsgfQogICAgICAgICAgIGV4cHJfbGlzdAogICAgICAgICAgIHsgU2Vs ZWN0LT5pbl9zdW1fZXhwci0tOyB9CiAgICAgICAgICAgJyknCi0gICAgICAgICAgeyAkJD1uZXcg SXRlbV9zdW1fY291bnRfZGlzdGluY3QoKiAkNSk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAg ICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fc3VtX2NvdW50X2Rpc3RpbmN0KCogJDUp OworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJP UlQ7CisgICAgICAgICAgfQogICAgICAgICB8IE1JTl9TWU0gJygnIGluX3N1bV9leHByICcpJwot ICAgICAgICAgIHsgJCQ9bmV3IEl0ZW1fc3VtX21pbigkMyk7IH0KKyAgICAgICAgICB7CisgICAg ICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fc3VtX21pbigkMyk7CisgICAg ICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAg ICAgICAgICB9CiAgICAgICAgIC8qCiAgICAgICAgICAgQWNjb3JkaW5nIHRvIEFOU0kgU1FMLCBE SVNUSU5DVCBpcyBhbGxvd2VkIGFuZCBoYXMKICAgICAgICAgICBubyBzZW5zZSBpbnNpZGUgTUlO IGFuZCBNQVggZ3JvdXBpbmcgZnVuY3Rpb25zOyBzbyBNSU58TUFYKERJU1RJTkNUIC4uLikKICAg ICAgICAgICBpcyBwcm9jZXNzZWQgbGlrZSBhbiBvcmRpbmFyeSBNSU4gfCBNQVgoKQogICAgICAg ICAqLwogICAgICAgICB8IE1JTl9TWU0gJygnIERJU1RJTkNUIGluX3N1bV9leHByICcpJwotICAg ICAgICAgIHsgJCQ9bmV3IEl0ZW1fc3VtX21pbigkNCk7IH0KKyAgICAgICAgICB7CisgICAgICAg ICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fc3VtX21pbigkNCk7CisgICAgICAg ICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAg ICAgICB9CiAgICAgICAgIHwgTUFYX1NZTSAnKCcgaW5fc3VtX2V4cHIgJyknCi0gICAgICAgICAg eyAkJD1uZXcgSXRlbV9zdW1fbWF4KCQzKTsgfQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQk PSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9zdW1fbWF4KCQzKTsKKyAgICAgICAgICAgIGlm ICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0K ICAgICAgICAgfCBNQVhfU1lNICcoJyBESVNUSU5DVCBpbl9zdW1fZXhwciAnKScKLSAgICAgICAg ICB7ICQkPW5ldyBJdGVtX3N1bV9tYXgoJDQpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAg JCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX3N1bV9tYXgoJDQpOworICAgICAgICAgICAg aWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAg fQogICAgICAgICB8IFNURF9TWU0gJygnIGluX3N1bV9leHByICcpJwotICAgICAgICAgIHsgJCQ9 bmV3IEl0ZW1fc3VtX3N0ZCgkMywgMCk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0g bmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fc3VtX3N0ZCgkMywgMCk7CisgICAgICAgICAgICBp ZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9 CiAgICAgICAgIHwgVkFSSUFOQ0VfU1lNICcoJyBpbl9zdW1fZXhwciAnKScKLSAgICAgICAgICB7 ICQkPW5ldyBJdGVtX3N1bV92YXJpYW5jZSgkMywgMCk7IH0KKyAgICAgICAgICB7CisgICAgICAg ICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fc3VtX3ZhcmlhbmNlKCQzLCAwKTsK KyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JU OworICAgICAgICAgIH0KICAgICAgICAgfCBTVERERVZfU0FNUF9TWU0gJygnIGluX3N1bV9leHBy ICcpJwotICAgICAgICAgIHsgJCQ9bmV3IEl0ZW1fc3VtX3N0ZCgkMywgMSk7IH0KKyAgICAgICAg ICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fc3VtX3N0ZCgk MywgMSk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxf WVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIHwgVkFSX1NBTVBfU1lNICcoJyBpbl9zdW1f ZXhwciAnKScKLSAgICAgICAgICB7ICQkPW5ldyBJdGVtX3N1bV92YXJpYW5jZSgkMywgMSk7IH0K KyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1f c3VtX3ZhcmlhbmNlKCQzLCAxKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAg ICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBTVU1fU1lNICco JyBpbl9zdW1fZXhwciAnKScKLSAgICAgICAgICB7ICQkPW5ldyBJdGVtX3N1bV9zdW0oJDMpOyB9 CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVt X3N1bV9zdW0oJDMpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAg IE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IFNVTV9TWU0gJygnIERJU1RJ TkNUIGluX3N1bV9leHByICcpJwotICAgICAgICAgIHsgJCQ9bmV3IEl0ZW1fc3VtX3N1bV9kaXN0 aW5jdCgkNCk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVt X3Jvb3QpIEl0ZW1fc3VtX3N1bV9kaXN0aW5jdCgkNCk7CisgICAgICAgICAgICBpZiAoJCQgPT0g TlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAg IHwgR1JPVVBfQ09OQ0FUX1NZTSAnKCcgb3B0X2Rpc3RpbmN0CiAgICAgICAgICAgeyBTZWxlY3Qt PmluX3N1bV9leHByKys7IH0KICAgICAgICAgICBleHByX2xpc3Qgb3B0X2dvcmRlcl9jbGF1c2UK QEAgLTc3NzMsOCArODM4MywxMSBAQCBzdW1fZXhwcjoKICAgICAgICAgICB7CiAgICAgICAgICAg ICBTRUxFQ1RfTEVYICpzZWw9IFNlbGVjdDsKICAgICAgICAgICAgIHNlbC0+aW5fc3VtX2V4cHIt LTsKLSAgICAgICAgICAgICQkPW5ldyBJdGVtX2Z1bmNfZ3JvdXBfY29uY2F0KExleC0+Y3VycmVu dF9jb250ZXh0KCksICQzLCAkNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbC0+Z29yZGVyX2xpc3QsICQ3KTsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhE LT5tZW1fcm9vdCkKKyAgICAgICAgICAgICAgICAgIEl0ZW1fZnVuY19ncm91cF9jb25jYXQoTGV4 LT5jdXJyZW50X2NvbnRleHQoKSwgJDMsICQ1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWwtPmdvcmRlcl9saXN0LCAkNyk7CisgICAgICAgICAgICBpZiAoJCQg PT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgICQ1LT5l bXB0eSgpOwogICAgICAgICAgIH0KICAgICAgICAgOwpAQCAtNzc5NywxMyArODQxMCwxNyBAQCB2 YXJpYWJsZToKIHZhcmlhYmxlX2F1eDoKICAgICAgICAgICBpZGVudF9vcl90ZXh0IFNFVF9WQVIg ZXhwcgogICAgICAgICAgIHsKLSAgICAgICAgICAgICQkPSBuZXcgSXRlbV9mdW5jX3NldF91c2Vy X3ZhcigkMSwgJDMpOworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVt X2Z1bmNfc2V0X3VzZXJfdmFyKCQxLCAkMyk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIExFWCAqbGV4PSBMZXg7 CiAgICAgICAgICAgICBsZXgtPnVuY2FjaGVhYmxlKFVOQ0FDSEVBQkxFX1JBTkQpOwogICAgICAg ICAgIH0KICAgICAgICAgfCBpZGVudF9vcl90ZXh0CiAgICAgICAgICAgewotICAgICAgICAgICAg JCQ9IG5ldyBJdGVtX2Z1bmNfZ2V0X3VzZXJfdmFyKCQxKTsKKyAgICAgICAgICAgICQkPSBuZXcg KFlZVEhELT5tZW1fcm9vdCkgSXRlbV9mdW5jX2dldF91c2VyX3ZhcigkMSk7CisgICAgICAgICAg ICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAg ICAgIExFWCAqbGV4PSBMZXg7CiAgICAgICAgICAgICBsZXgtPnVuY2FjaGVhYmxlKFVOQ0FDSEVB QkxFX1JBTkQpOwogICAgICAgICAgIH0KQEAgLTc4MjksOSArODQ0NiwxMSBAQCBvcHRfZGlzdGlu Y3Q6CiAKIG9wdF9nY29uY2F0X3NlcGFyYXRvcjoKICAgICAgICAgICAvKiBlbXB0eSAqLwotICAg ICAgICAgICAgewotICAgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIFN0cmlu ZygiLCIsIDEsICZteV9jaGFyc2V0X2xhdGluMSk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAg eworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBTdHJpbmcoIiwiLCAxLCAm bXlfY2hhcnNldF9sYXRpbjEpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAg ICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQogICAgICAgICB8IFNFUEFSQVRPUl9T WU0gdGV4dF9zdHJpbmcgeyAkJCA9ICQyOyB9CiAgICAgICAgIDsKIApAQCAtNzg0Niw2ICs4NDY1 LDggQEAgb3B0X2dvcmRlcl9jbGF1c2U6CiAgICAgICAgICAgICBzZWxlY3QtPmdvcmRlcl9saXN0 PQogICAgICAgICAgICAgICAoU1FMX0xJU1QqKSBzcWxfbWVtZHVwKChjaGFyKikgJnNlbGVjdC0+ b3JkZXJfbGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yo c3Rfc3FsX2xpc3QpKTsKKyAgICAgICAgICAgIGlmIChzZWxlY3QtPmdvcmRlcl9saXN0ID09IE5V TEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICBzZWxlY3QtPm9y ZGVyX2xpc3QuZW1wdHkoKTsKICAgICAgICAgICB9CiAgICAgICAgIDsKQEAgLTc5MDEsNiArODUy Miw4IEBAIGV4cHJfbGlzdDoKICAgICAgICAgICBleHByCiAgICAgICAgICAgewogICAgICAgICAg ICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBMaXN0PEl0ZW0+OworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICAk JC0+cHVzaF9iYWNrKCQxKTsKICAgICAgICAgICB9CiAgICAgICAgIHwgZXhwcl9saXN0ICcsJyBl eHByCkBAIC03OTE5LDYgKzg1NDIsOCBAQCBpZGVudF9saXN0OgogICAgICAgICAgIHNpbXBsZV9p ZGVudAogICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkg TGlzdDxJdGVtPjsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBN WVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgJCQtPnB1c2hfYmFjaygkMSk7CiAgICAgICAgICAg fQogICAgICAgICB8IGlkZW50X2xpc3QgJywnIHNpbXBsZV9pZGVudApAQCAtNzk0Miw2ICs4NTY3 LDggQEAgd2hlbl9saXN0OgogICAgICAgICAgIFdIRU5fU1lNIGV4cHIgVEhFTl9TWU0gZXhwcgog ICAgICAgICAgIHsKICAgICAgICAgICAgICQkPSBuZXcgTGlzdDxJdGVtPjsKKyAgICAgICAgICAg IGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAg ICAgJCQtPnB1c2hfYmFjaygkMik7CiAgICAgICAgICAgICAkJC0+cHVzaF9iYWNrKCQ0KTsKICAg ICAgICAgICB9CkBAIC04NDQ0LDE1ICs5MDcxLDIxIEBAIHVzaW5nX2xpc3Q6CiAgICAgICAgICAg ewogICAgICAgICAgICAgaWYgKCEoJCQ9IG5ldyBMaXN0PFN0cmluZz4pKQogICAgICAgICAgICAg ICBNWVNRTF9ZWUFCT1JUOwotICAgICAgICAgICAgJCQtPnB1c2hfYmFjayhuZXcgKFlZVEhELT5t ZW1fcm9vdCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZygoY29uc3QgY2hh ciAqKSAkMS5zdHIsICQxLmxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3lzdGVtX2NoYXJzZXRfaW5mbykpOworICAgICAgICAgICAgU3RyaW5nICpzPSBuZXcg KFlZVEhELT5tZW1fcm9vdCkgU3RyaW5nKChjb25zdCBjaGFyICopICQxLnN0ciwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5sZW5ndGgsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVt X2NoYXJzZXRfaW5mbyk7CisgICAgICAgICAgICBpZiAocyA9PSBOVUxMKQorICAgICAgICAgICAg ICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgICAgJCQtPnB1c2hfYmFjayhzKTsKICAgICAgICAg ICB9CiAgICAgICAgIHwgdXNpbmdfbGlzdCAnLCcgaWRlbnQKICAgICAgICAgICB7Ci0gICAgICAg ICAgICAkMS0+cHVzaF9iYWNrKG5ldyAoWVlUSEQtPm1lbV9yb290KQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RyaW5nKChjb25zdCBjaGFyICopICQzLnN0ciwgJDMubGVuZ3RoLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1fY2hhcnNldF9pbmZv KSk7CisgICAgICAgICAgICBTdHJpbmcgKnM9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBTdHJpbmco KGNvbnN0IGNoYXIgKikgJDMuc3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICQzLmxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1fY2hhcnNldF9pbmZvKTsKKyAgICAgICAg ICAgIGlmIChzID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAg ICAgICAkMS0+cHVzaF9iYWNrKHMpOwogICAgICAgICAgICAgJCQ9ICQxOwogICAgICAgICAgIH0K ICAgICAgICAgOwpAQCAtODUyMCw3ICs5MTUzLDExIEBAIHRhYmxlX2FsaWFzOgogb3B0X3RhYmxl X2FsaWFzOgogICAgICAgICAgIC8qIGVtcHR5ICovIHsgJCQ9MDsgfQogICAgICAgICB8IHRhYmxl X2FsaWFzIGlkZW50Ci0gICAgICAgICAgeyAkJD0gKExFWF9TVFJJTkcqKSBzcWxfbWVtZHVwKCYk MixzaXplb2YoTEVYX1NUUklORykpOyB9CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IChM RVhfU1RSSU5HKikgc3FsX21lbWR1cCgmJDIsc2l6ZW9mKExFWF9TVFJJTkcpKTsKKyAgICAgICAg ICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAg ICAgIH0KICAgICAgICAgOwogCiBvcHRfYWxsOgpAQCAtODU2OCwxMCArOTIwNSwxMyBAQCBvcHRf ZXNjYXBlOgogICAgICAgICAgIH0KICAgICAgICAgfCAvKiBlbXB0eSAqLwogICAgICAgICAgIHsK KyAgICAgICAgICAgIFRIRCAqdGhkPSBZWVRIRDsKICAgICAgICAgICAgIExleC0+ZXNjYXBlX3Vz ZWQ9IEZBTFNFOwotICAgICAgICAgICAgJCQ9ICgoWVlUSEQtPnZhcmlhYmxlcy5zcWxfbW9kZSAm IE1PREVfTk9fQkFDS1NMQVNIX0VTQ0FQRVMpID8KLSAgICAgICAgICAgICAgICAgbmV3IEl0ZW1f c3RyaW5nKCIiLCAwLCAmbXlfY2hhcnNldF9sYXRpbjEpIDoKLSAgICAgICAgICAgICAgICAgbmV3 IEl0ZW1fc3RyaW5nKCJcXCIsIDEsICZteV9jaGFyc2V0X2xhdGluMSkpOworICAgICAgICAgICAg JCQ9ICgodGhkLT52YXJpYWJsZXMuc3FsX21vZGUgJiBNT0RFX05PX0JBQ0tTTEFTSF9FU0NBUEVT KSA/CisgICAgICAgICAgICAgICAgIG5ldyAodGhkLT5tZW1fcm9vdCkgSXRlbV9zdHJpbmcoIiIs IDAsICZteV9jaGFyc2V0X2xhdGluMSkgOgorICAgICAgICAgICAgICAgICBuZXcgKHRoZC0+bWVt X3Jvb3QpIEl0ZW1fc3RyaW5nKCJcXCIsIDEsICZteV9jaGFyc2V0X2xhdGluMSkpOworICAgICAg ICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAg ICAgICAgfQogICAgICAgICA7CiAKQEAgLTg3NTgsMTMgKzkzOTgsMjggQEAgbGltaXRfb3B0aW9u czoKICAgICAgICAgOwogCiBsaW1pdF9vcHRpb246Ci0gICAgICAgIHBhcmFtX21hcmtlcgotICAg ICAgICB7Ci0gICAgICAgICAgKChJdGVtX3BhcmFtICopICQxKS0+bGltaXRfY2xhdXNlX3BhcmFt PSBUUlVFOwotICAgICAgICB9Ci0gICAgICAgIHwgVUxPTkdMT05HX05VTSB7ICQkPSBuZXcgSXRl bV91aW50KCQxLnN0ciwgJDEubGVuZ3RoKTsgfQotICAgICAgICB8IExPTkdfTlVNICAgICAgeyAk JD0gbmV3IEl0ZW1fdWludCgkMS5zdHIsICQxLmxlbmd0aCk7IH0KLSAgICAgICAgfCBOVU0gICAg ICAgICAgIHsgJCQ9IG5ldyBJdGVtX3VpbnQoJDEuc3RyLCAkMS5sZW5ndGgpOyB9CisgICAgICAg ICAgcGFyYW1fbWFya2VyCisgICAgICAgICAgeworICAgICAgICAgICAgKChJdGVtX3BhcmFtICop ICQxKS0+bGltaXRfY2xhdXNlX3BhcmFtPSBUUlVFOworICAgICAgICAgIH0KKyAgICAgICAgfCBV TE9OR0xPTkdfTlVNCisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1l bV9yb290KSBJdGVtX3VpbnQoJDEuc3RyLCAkMS5sZW5ndGgpOworICAgICAgICAgICAgaWYgKCQk ID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQorICAg ICAgICB8IExPTkdfTlVNCisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQt Pm1lbV9yb290KSBJdGVtX3VpbnQoJDEuc3RyLCAkMS5sZW5ndGgpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CisgICAgICAgICAgfQor ICAgICAgICB8IE5VTQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5t ZW1fcm9vdCkgSXRlbV91aW50KCQxLnN0ciwgJDEubGVuZ3RoKTsKKyAgICAgICAgICAgIGlmICgk JCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAg ICAgICAgOwogCiBkZWxldGVfbGltaXRfY2xhdXNlOgpAQCAtODg0OCwxMCArOTUwMywxMiBAQCBw cm9jZWR1cmVfY2xhdXNlOgogICAgICAgICAgICAgbGV4LT5wcm9jX2xpc3QuZWxlbWVudHM9MDsK ICAgICAgICAgICAgIGxleC0+cHJvY19saXN0LmZpcnN0PTA7CiAgICAgICAgICAgICBsZXgtPnBy b2NfbGlzdC5uZXh0PSAodWNoYXIqKikgJmxleC0+cHJvY19saXN0LmZpcnN0OwotICAgICAgICAg ICAgaWYgKGFkZF9wcm9jX3RvX2xpc3QobGV4LT50aGQsIG5ldyBJdGVtX2ZpZWxkKCZsZXgtPgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN1cnJlbnRfc2VsZWN0LT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsTlVMTCwkMi5zdHIpKSkKKyAgICAg ICAgICAgIEl0ZW1fZmllbGQgKml0ZW09IG5ldyAoWVlUSEQtPm1lbV9yb290KQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJdGVtX2ZpZWxkKCZsZXgtPmN1cnJlbnRfc2VsZWN0LT5j b250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEws IE5VTEwsICQyLnN0cik7CisgICAgICAgICAgICBpZiAoaXRlbSA9PSBOVUxMKQorICAgICAgICAg ICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgICAgaWYgKGFkZF9wcm9jX3RvX2xpc3QobGV4 LT50aGQsIGl0ZW0pKQogICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAg TGV4LT51bmNhY2hlYWJsZShVTkNBQ0hFQUJMRV9TSURFRUZGRUNUKTsKICAgICAgICAgICB9CkBA IC04OTAwLDEzICs5NTU3LDIwIEBAIHNlbGVjdF92YXJfaWRlbnQ6ICAKICAgICAgICAgICB7CiAg ICAgICAgICAgICBMRVggKmxleD1MZXg7CiAgICAgICAgICAgICBpZiAobGV4LT5yZXN1bHQpIAot ICAgICAgICAgICAgICAoKHNlbGVjdF9kdW1wdmFyICopbGV4LT5yZXN1bHQpLT52YXJfbGlzdC5w dXNoX2JhY2soIG5ldyBteV92YXIoJDIsMCwwLChlbnVtX2ZpZWxkX3R5cGVzKTApKTsKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgbXlfdmFyICp2YXI9IG5ldyBteV92YXIoJDIsMCwwLChl bnVtX2ZpZWxkX3R5cGVzKTApOworICAgICAgICAgICAgICBpZiAodmFyID09IE5VTEwpCisgICAg ICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgICAgKChzZWxlY3RfZHVtcHZh ciAqKWxleC0+cmVzdWx0KS0+dmFyX2xpc3QucHVzaF9iYWNrKHZhcik7CisgICAgICAgICAgICB9 CiAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIC8qCiAgICAg ICAgICAgICAgICAgVGhlIHBhcnNlciB3b24ndCBjcmVhdGUgc2VsZWN0X3Jlc3VsdCBpbnN0YW5j ZSBvbmx5CiAgICAgICAgICAgICAgICAgaWYgaXQncyBhbiBFWFBMQUlOLgogICAgICAgICAgICAg ICAqLwogICAgICAgICAgICAgICBEQlVHX0FTU0VSVChsZXgtPmRlc2NyaWJlKTsKKyAgICAgICAg ICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIHwgaWRlbnRfb3JfdGV4dAogICAgICAgICAgIHsK QEAgLTg5MjAsMTIgKzk1ODQsMTIgQEAgc2VsZWN0X3Zhcl9pZGVudDogIAogICAgICAgICAgICAg fQogICAgICAgICAgICAgaWYgKGxleC0+cmVzdWx0KQogICAgICAgICAgICAgewotICAgICAgICAg ICAgICBteV92YXIgKnZhcjsKLSAgICAgICAgICAgICAgKChzZWxlY3RfZHVtcHZhciAqKWxleC0+ cmVzdWx0KS0+Ci0gICAgICAgICAgICAgICAgdmFyX2xpc3QucHVzaF9iYWNrKHZhcj0gbmV3IG15 X3ZhcigkMSwxLHQtPm9mZnNldCx0LT50eXBlKSk7CisgICAgICAgICAgICAgIG15X3ZhciAqdmFy PSBuZXcgbXlfdmFyKCQxLDEsdC0+b2Zmc2V0LHQtPnR5cGUpOworICAgICAgICAgICAgICBpZiAo dmFyID09IE5VTEwpCisgICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAg ICAgKChzZWxlY3RfZHVtcHZhciAqKWxleC0+cmVzdWx0KS0+dmFyX2xpc3QucHVzaF9iYWNrKHZh cik7CiAjaWZuZGVmIERCVUdfT0ZGCi0gICAgICAgICAgICAgIGlmICh2YXIpCi0gICAgICAgICAg ICAgICAgdmFyLT5zcD0gbGV4LT5zcGhlYWQ7CisgICAgICAgICAgICAgIHZhci0+c3A9IGxleC0+ c3BoZWFkOwogI2VuZGlmCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCkBAIC05MDEx LDEyICs5Njc1LDE0IEBAIGRyb3A6CiAgICAgICAgIHwgRFJPUCBidWlsZF9tZXRob2QgSU5ERVhf U1lNIGlkZW50IE9OIHRhYmxlX2lkZW50IHt9CiAgICAgICAgICAgewogICAgICAgICAgICAgTEVY ICpsZXg9TGV4OworICAgICAgICAgICAgQWx0ZXJfZHJvcCAqYWQ9IG5ldyBBbHRlcl9kcm9wKEFs dGVyX2Ryb3A6OktFWSwgJDQuc3RyKTsKKyAgICAgICAgICAgIGlmIChhZCA9PSBOVUxMKQorICAg ICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgbGV4LT5zcWxfY29tbWFuZD0g U1FMQ09NX0RST1BfSU5ERVg7CiAgICAgICAgICAgICBsZXgtPmFsdGVyX2luZm8ucmVzZXQoKTsK ICAgICAgICAgICAgIGxleC0+YWx0ZXJfaW5mby5mbGFncz0gQUxURVJfRFJPUF9JTkRFWDsKICAg ICAgICAgICAgIGxleC0+YWx0ZXJfaW5mby5idWlsZF9tZXRob2Q9ICQyOwotICAgICAgICAgICAg bGV4LT5hbHRlcl9pbmZvLmRyb3BfbGlzdC5wdXNoX2JhY2sobmV3IEFsdGVyX2Ryb3AoQWx0ZXJf ZHJvcDo6S0VZLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJDQuc3RyKSk7CisgICAgICAgICAgICBsZXgtPmFsdGVyX2luZm8u ZHJvcF9saXN0LnB1c2hfYmFjayhhZCk7CiAgICAgICAgICAgICBpZiAoIWxleC0+Y3VycmVudF9z ZWxlY3QtPmFkZF90YWJsZV90b19saXN0KGxleC0+dGhkLCAkNiwgTlVMTCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVExfT1BUSU9OX1VQ REFUSU5HKSkKICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKQEAgLTkwNDEsNiArOTcwNyw4 IEBAIGRyb3A6CiAgICAgICAgICAgICBsZXgtPnNxbF9jb21tYW5kID0gU1FMQ09NX0RST1BfRlVO Q1RJT047CiAgICAgICAgICAgICBsZXgtPmRyb3BfaWZfZXhpc3RzPSAkMzsKICAgICAgICAgICAg IHNwbmFtZT0gbmV3IHNwX25hbWUoJDQsICQ2LCB0cnVlKTsKKyAgICAgICAgICAgIGlmIChzcG5h bWUgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIHNw bmFtZS0+aW5pdF9xbmFtZSh0aGQpOwogICAgICAgICAgICAgbGV4LT5zcG5hbWU9IHNwbmFtZTsK ICAgICAgICAgICB9CkBAIC05MDYwLDYgKzk3MjgsOCBAQCBkcm9wOgogICAgICAgICAgICAgbGV4 LT5zcWxfY29tbWFuZCA9IFNRTENPTV9EUk9QX0ZVTkNUSU9OOwogICAgICAgICAgICAgbGV4LT5k cm9wX2lmX2V4aXN0cz0gJDM7CiAgICAgICAgICAgICBzcG5hbWU9IG5ldyBzcF9uYW1lKGRiLCAk NCwgZmFsc2UpOworICAgICAgICAgICAgaWYgKHNwbmFtZSA9PSBOVUxMKQorICAgICAgICAgICAg ICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgc3BuYW1lLT5pbml0X3FuYW1lKHRoZCk7CiAg ICAgICAgICAgICBsZXgtPnNwbmFtZT0gc3BuYW1lOwogICAgICAgICAgIH0KQEAgLTkzMjcsNyAr OTk5NywxMiBAQCB2YWx1ZXM6CiAKIGV4cHJfb3JfZGVmYXVsdDoKICAgICAgICAgICBleHByIHsg JCQ9ICQxO30KLSAgICAgICAgfCBERUZBVUxUIHskJD0gbmV3IEl0ZW1fZGVmYXVsdF92YWx1ZShM ZXgtPmN1cnJlbnRfY29udGV4dCgpKTsgfQorICAgICAgICB8IERFRkFVTFQKKyAgICAgICAgICB7 CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZGVmYXVsdF92YWx1 ZShMZXgtPmN1cnJlbnRfY29udGV4dCgpKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQor ICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgOwogCiBv cHRfaW5zZXJ0X3VwZGF0ZToKQEAgLTk0NTEsNyArMTAxMjYsMTEgQEAgdGFibGVfd2lsZF9saXN0 OgogdGFibGVfd2lsZF9vbmU6CiAgICAgICAgICAgaWRlbnQgb3B0X3dpbGQKICAgICAgICAgICB7 Ci0gICAgICAgICAgICBpZiAoIVNlbGVjdC0+YWRkX3RhYmxlX3RvX2xpc3QoWVlUSEQsIG5ldyBU YWJsZV9pZGVudCgkMSksCisgICAgICAgICAgICBUYWJsZV9pZGVudCAqdGk9IG5ldyBUYWJsZV9p ZGVudCgkMSk7CisgICAgICAgICAgICBpZiAodGkgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlT UUxfWVlBQk9SVDsKKyAgICAgICAgICAgIGlmICghU2VsZWN0LT5hZGRfdGFibGVfdG9fbGlzdChZ WVRIRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRMX09QVElPTl9VUERBVElORyB8IFRM X09QVElPTl9BTElBUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMZXgtPmxvY2tfb3B0aW9uKSkKQEAgLTk0NTksOCArMTAxMzgsMTEgQEAgdGFibGVfd2lsZF9v bmU6CiAgICAgICAgICAgfQogICAgICAgICB8IGlkZW50ICcuJyBpZGVudCBvcHRfd2lsZAogICAg ICAgICAgIHsKKyAgICAgICAgICAgIFRhYmxlX2lkZW50ICp0aT0gbmV3IFRhYmxlX2lkZW50KFlZ VEhELCAkMSwgJDMsIDApOworICAgICAgICAgICAgaWYgKHRpID09IE5VTEwpCisgICAgICAgICAg ICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICBpZiAoIVNlbGVjdC0+YWRkX3RhYmxlX3Rv X2xpc3QoWVlUSEQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bmV3IFRhYmxlX2lkZW50KFlZVEhELCAkMSwgJDMsIDApLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE5VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVExfT1BUSU9OX1VQREFUSU5HIHwgVExfT1BUSU9OX0FMSUFTLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExleC0+bG9ja19vcHRpb24pKQpAQCAtOTg5 Nyw2ICsxMDU3OSw4IEBAIHdpbGRfYW5kX3doZXJlOgogICAgICAgICAgIHsKICAgICAgICAgICAg IExleC0+d2lsZD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIFN0cmluZygkMi5zdHIsICQyLmxlbmd0 aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz eXN0ZW1fY2hhcnNldF9pbmZvKTsKKyAgICAgICAgICAgIGlmIChMZXgtPndpbGQgPT0gTlVMTCkK KyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICB9CiAgICAgICAgIHwgV0hF UkUgZXhwcgogICAgICAgICAgIHsKQEAgLTk5NDksNiArMTA2MzMsOCBAQCBvcHRfZGVzY3JpYmVf Y29sdW1uOgogICAgICAgICAgICAgTGV4LT53aWxkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgU3Ry aW5nKChjb25zdCBjaGFyKikgJDEuc3RyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICQxLmxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1fY2hhcnNldF9pbmZvKTsKKyAgICAg ICAgICAgIGlmIChMZXgtPndpbGQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9S VDsKICAgICAgICAgICB9CiAgICAgICAgIDsKIApAQCAtMTAyNTgsNyArMTA5NDQsMTEgQEAgZmll bGRzX29yX3ZhcnM6CiBmaWVsZF9vcl92YXI6CiAgICAgICAgICAgc2ltcGxlX2lkZW50X25vc3B2 YXIgeyQkPSAkMTt9CiAgICAgICAgIHwgJ0AnIGlkZW50X29yX3RleHQKLSAgICAgICAgICB7ICQk PSBuZXcgSXRlbV91c2VyX3Zhcl9hc19vdXRfcGFyYW0oJDIpOyB9CisgICAgICAgICAgeworICAg ICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX3VzZXJfdmFyX2FzX291dF9w YXJhbSgkMik7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlT UUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAgIDsKIAogb3B0X2xvYWRfZGF0YV9zZXRf c3BlYzoKQEAgLTEwMjg0LDIwICsxMDk3NCwzMCBAQCB0ZXh0X2xpdGVyYWw6CiAgICAgICAgICAg ICAgIHRtcD0gJDE7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgIHRoZC0+Y29udmVy dF9zdHJpbmcoJnRtcCwgY3NfY29uLCAkMS5zdHIsICQxLmxlbmd0aCwgY3NfY2xpKTsKLSAgICAg ICAgICAgICQkPSBuZXcgSXRlbV9zdHJpbmcodG1wLnN0ciwgdG1wLmxlbmd0aCwgY3NfY29uLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVJJVkFUSU9OX0NPRVJDSUJMRSwgcmVw ZXJ0b2lyZSk7CisgICAgICAgICAgICAkJD0gbmV3ICh0aGQtPm1lbV9yb290KSBJdGVtX3N0cmlu Zyh0bXAuc3RyLCB0bXAubGVuZ3RoLCBjc19jb24sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBERVJJVkFUSU9OX0NPRVJDSUJMRSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVydG9pcmUpOworICAgICAg ICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAg ICAgICAgfQogICAgICAgICB8IE5DSEFSX1NUUklORwogICAgICAgICAgIHsKICAgICAgICAgICAg IHVpbnQgcmVwZXJ0b2lyZT0gTGV4LT50ZXh0X3N0cmluZ19pc183Yml0ID8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTVlfUkVQRVJUT0lSRV9BU0NJSSA6IE1ZX1JFUEVSVE9JUkVfVU5J Q09ERTMwOwogICAgICAgICAgICAgREJVR19BU1NFUlQobXlfY2hhcnNldF9pc19hc2NpaV9iYXNl ZChuYXRpb25hbF9jaGFyc2V0X2luZm8pKTsKLSAgICAgICAgICAgICQkPSBuZXcgSXRlbV9zdHJp bmcoJDEuc3RyLCAkMS5sZW5ndGgsIG5hdGlvbmFsX2NoYXJzZXRfaW5mbywKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgREVSSVZBVElPTl9DT0VSQ0lCTEUsIHJlcGVydG9pcmUpOwor ICAgICAgICAgICAgJCQ9IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX3N0cmluZygkMS5zdHIs ICQxLmxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmF0aW9uYWxfY2hhcnNldF9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBERVJJVkFUSU9OX0NPRVJDSUJMRSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZXJ0b2lyZSk7CisgICAg ICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAg ICAgICAgICB9CiAgICAgICAgIHwgVU5ERVJTQ09SRV9DSEFSU0VUIFRFWFRfU1RSSU5HCiAgICAg ICAgICAgewotICAgICAgICAgICAgSXRlbV9zdHJpbmcgKnN0cj0gbmV3IEl0ZW1fc3RyaW5nKCQy LnN0ciwgJDIubGVuZ3RoLCAkMSk7CisgICAgICAgICAgICBJdGVtX3N0cmluZyAqc3RyPSBuZXcg KFlZVEhELT5tZW1fcm9vdCkgSXRlbV9zdHJpbmcoJDIuc3RyLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQyLmxlbmd0aCwg JDEpOworICAgICAgICAgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9Z WUFCT1JUOwogICAgICAgICAgICAgc3RyLT5zZXRfcmVwZXJ0b2lyZV9mcm9tX3ZhbHVlKCk7CiAg ICAgICAgICAgICBzdHItPnNldF9jc19zcGVjaWZpZWQoVFJVRSk7CiAKQEAgLTEwMzI3LDI3ICsx MTAyNywzMCBAQCB0ZXh0X3N0cmluZzoKICAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1f cm9vdCkgU3RyaW5nKCQxLnN0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICQxLmxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFlZVEhELT52YXJpYWJsZXMuY29sbGF0aW9uX2Nvbm5lY3Rpb24pOworICAgICAg ICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAg ICAgICAgfQogICAgICAgICB8IEhFWF9OVU0KICAgICAgICAgICB7Ci0gICAgICAgICAgICBJdGVt ICp0bXA9IG5ldyBJdGVtX2hleF9zdHJpbmcoJDEuc3RyLCAkMS5sZW5ndGgpOworICAgICAgICAg ICAgSXRlbSAqdG1wPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9oZXhfc3RyaW5nKCQxLnN0 ciwgJDEubGVuZ3RoKTsKKyAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgICAg ICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgIGl0IGlzIE9L IG9ubHkgZW11bGF0ZSBmaXhfZmllbGRzLCBiZWNhdXNlIHdlIG5lZWQgb25seQogICAgICAgICAg ICAgICB2YWx1ZSBvZiBjb25zdGFudAogICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICQkPSB0 bXAgPwotICAgICAgICAgICAgICB0bXAtPnF1aWNrX2ZpeF9maWVsZCgpLCB0bXAtPnZhbF9zdHIo KFN0cmluZyopIDApIDoKLSAgICAgICAgICAgICAgKFN0cmluZyopIDA7CisgICAgICAgICAgICB0 bXAtPnF1aWNrX2ZpeF9maWVsZCgpOworICAgICAgICAgICAgJCQ9IHRtcC0+dmFsX3N0cigoU3Ry aW5nKikgMCk7CiAgICAgICAgICAgfQogICAgICAgICB8IEJJTl9OVU0KICAgICAgICAgICB7Ci0g ICAgICAgICAgICBJdGVtICp0bXA9IG5ldyBJdGVtX2Jpbl9zdHJpbmcoJDEuc3RyLCAkMS5sZW5n dGgpOworICAgICAgICAgICAgSXRlbSAqdG1wPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9i aW5fc3RyaW5nKCQxLnN0ciwgJDEubGVuZ3RoKTsKICAgICAgICAgICAgIC8qCiAgICAgICAgICAg ICAgIGl0IGlzIE9LIG9ubHkgZW11bGF0ZSBmaXhfZmllbGRzLCBiZWNhdXNlIHdlIG5lZWQgb25s eQogICAgICAgICAgICAgICB2YWx1ZSBvZiBjb25zdGFudAogICAgICAgICAgICAgKi8KLSAgICAg ICAgICAgICQkPSB0bXAgPyB0bXAtPnF1aWNrX2ZpeF9maWVsZCgpLCB0bXAtPnZhbF9zdHIoKFN0 cmluZyopIDApIDoKLSAgICAgICAgICAgICAgKFN0cmluZyopIDA7CisgICAgICAgICAgICB0bXAt PnF1aWNrX2ZpeF9maWVsZCgpOworICAgICAgICAgICAgJCQ9IHRtcC0+dmFsX3N0cigoU3RyaW5n KikgMCk7CiAgICAgICAgICAgfQogICAgICAgICA7CiAKQEAgLTEwMzYzLDcgKzExMDY2LDcgQEAg cGFyYW1fbWFya2VyOgogICAgICAgICAgICAgICBteV9lcnJvcihFUl9WSUVXX1NFTEVDVF9WQVJJ QUJMRSwgTVlGKDApKTsKICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAg IH0KLSAgICAgICAgICAgIGl0ZW09IG5ldyBJdGVtX3BhcmFtKCh1aW50KSAobGlwLT5nZXRfdG9r X3N0YXJ0KCkgLSB0aGQtPnF1ZXJ5KSk7CisgICAgICAgICAgICBpdGVtPSBuZXcgKHRoZC0+bWVt X3Jvb3QpIEl0ZW1fcGFyYW0oKHVpbnQpIChsaXAtPmdldF90b2tfc3RhcnQoKSAtIHRoZC0+cXVl cnkpKTsKICAgICAgICAgICAgIGlmICghKCQkPSBpdGVtKSB8fCBsZXgtPnBhcmFtX2xpc3QucHVz aF9iYWNrKGl0ZW0pKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICBteV9tZXNzYWdlKEVS X09VVF9PRl9SRVNPVVJDRVMsIEVSKEVSX09VVF9PRl9SRVNPVVJDRVMpLCBNWUYoMCkpOwpAQCAt MTAzODcsMjkgKzExMDkwLDUzIEBAIGxpdGVyYWw6CiAgICAgICAgIHwgTlVNX2xpdGVyYWwgeyAk JCA9ICQxOyB9CiAgICAgICAgIHwgTlVMTF9TWU0KICAgICAgICAgICB7Ci0gICAgICAgICAgICAk JCA9IG5ldyBJdGVtX251bGwoKTsKKyAgICAgICAgICAgICQkID0gbmV3IChZWVRIRC0+bWVtX3Jv b3QpIEl0ZW1fbnVsbCgpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAg ICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICBZWUxJUC0+bmV4dF9zdGF0ZT0gTVlfTEVY X09QRVJBVE9SX09SX0lERU5UOwogICAgICAgICAgIH0KLSAgICAgICAgfCBGQUxTRV9TWU0geyAk JD0gbmV3IEl0ZW1faW50KChjaGFyKikgIkZBTFNFIiwwLDEpOyB9Ci0gICAgICAgIHwgVFJVRV9T WU0geyAkJD0gbmV3IEl0ZW1faW50KChjaGFyKikgIlRSVUUiLDEsMSk7IH0KLSAgICAgICAgfCBI RVhfTlVNIHsgJCQgPSBuZXcgSXRlbV9oZXhfc3RyaW5nKCQxLnN0ciwgJDEubGVuZ3RoKTt9Ci0g ICAgICAgIHwgQklOX05VTSB7ICQkPSBuZXcgSXRlbV9iaW5fc3RyaW5nKCQxLnN0ciwgJDEubGVu Z3RoKTsgfQorICAgICAgICB8IEZBTFNFX1NZTQorICAgICAgICAgIHsKKyAgICAgICAgICAgICQk PSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9pbnQoKGNoYXIqKSAiRkFMU0UiLDAsMSk7Cisg ICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsK KyAgICAgICAgICB9CisgICAgICAgIHwgVFJVRV9TWU0KKyAgICAgICAgICB7CisgICAgICAgICAg ICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1faW50KChjaGFyKikgIlRSVUUiLDEsMSk7 CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9S VDsKKyAgICAgICAgICB9CisgICAgICAgIHwgSEVYX05VTQorICAgICAgICAgIHsKKyAgICAgICAg ICAgICQkID0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1faGV4X3N0cmluZygkMS5zdHIsICQx Lmxlbmd0aCk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlT UUxfWVlBQk9SVDsKKyAgICAgICAgICB9CisgICAgICAgIHwgQklOX05VTQorICAgICAgICAgIHsK KyAgICAgICAgICAgICQkPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9iaW5fc3RyaW5nKCQx LnN0ciwgJDEubGVuZ3RoKTsKKyAgICAgICAgICAgIGlmICgkJCA9PSBOVUxMKQorICAgICAgICAg ICAgICBNWVNRTF9ZWUFCT1JUOworICAgICAgICAgIH0KICAgICAgICAgfCBVTkRFUlNDT1JFX0NI QVJTRVQgSEVYX05VTQogICAgICAgICAgIHsKLSAgICAgICAgICAgIEl0ZW0gKnRtcD0gbmV3IEl0 ZW1faGV4X3N0cmluZygkMi5zdHIsICQyLmxlbmd0aCk7CisgICAgICAgICAgICBJdGVtICp0bXA9 IG5ldyAoWVlUSEQtPm1lbV9yb290KSBJdGVtX2hleF9zdHJpbmcoJDIuc3RyLCAkMi5sZW5ndGgp OworICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgICBNWVNRTF9ZWUFC T1JUOwogICAgICAgICAgICAgLyoKICAgICAgICAgICAgICAgaXQgaXMgT0sgb25seSBlbXVsYXRl IGZpeF9maWVkcywgYmVjYXVzZSB3ZSBuZWVkIG9ubHkKICAgICAgICAgICAgICAgdmFsdWUgb2Yg Y29uc3RhbnQKICAgICAgICAgICAgICovCi0gICAgICAgICAgICBTdHJpbmcgKnN0cj0gdG1wID8K LSAgICAgICAgICAgICAgdG1wLT5xdWlja19maXhfZmllbGQoKSwgdG1wLT52YWxfc3RyKChTdHJp bmcqKSAwKSA6Ci0gICAgICAgICAgICAgIChTdHJpbmcqKSAwOwotCi0gICAgICAgICAgICBJdGVt X3N0cmluZyAqaXRlbV9zdHI9Ci0gICAgICAgICAgICAgIG5ldyBJdGVtX3N0cmluZyhOVUxMLCAv KiBuYW1lIHdpbGwgYmUgc2V0IGluIHNlbGVjdF9pdGVtICovCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHIgPyBzdHItPnB0cigpIDogIiIsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIgPyBzdHItPmxlbmd0aCgpIDogMCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICQxKTsKKyAgICAgICAgICAgIHRtcC0+cXVpY2tfZml4X2ZpZWxkKCk7CisgICAgICAg ICAgICBTdHJpbmcgKnN0cj0gdG1wLT52YWxfc3RyKChTdHJpbmcqKSAwKTsKKworICAgICAgICAg ICAgSXRlbV9zdHJpbmcgKml0ZW1fc3RyOworICAgICAgICAgICAgaXRlbV9zdHI9IG5ldyAoWVlU SEQtPm1lbV9yb290KQorICAgICAgICAgICAgICAgICAgICAgICAgSXRlbV9zdHJpbmcoTlVMTCwg LyogbmFtZSB3aWxsIGJlIHNldCBpbiBzZWxlY3RfaXRlbSAqLworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyID8gc3RyLT5wdHIoKSA6ICIiLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyID8gc3RyLT5sZW5ndGgoKSA6IDAsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAkMSk7CiAgICAgICAgICAgICBpZiAoIWl0ZW1fc3Ry IHx8CiAgICAgICAgICAgICAgICAgIWl0ZW1fc3RyLT5jaGVja193ZWxsX2Zvcm1lZF9yZXN1bHQo Jml0ZW1fc3RyLT5zdHJfdmFsdWUsIFRSVUUpKQogICAgICAgICAgICAgewpAQCAtMTA0MjMsMjAg KzExMTUwLDIyIEBAIGxpdGVyYWw6CiAgICAgICAgICAgfQogICAgICAgICB8IFVOREVSU0NPUkVf Q0hBUlNFVCBCSU5fTlVNCiAgICAgICAgICAgewotICAgICAgICAgICAgSXRlbSAqdG1wPSBuZXcg SXRlbV9iaW5fc3RyaW5nKCQyLnN0ciwgJDIubGVuZ3RoKTsKKyAgICAgICAgICAgIEl0ZW0gKnRt cD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fYmluX3N0cmluZygkMi5zdHIsICQyLmxlbmd0 aCk7CisgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZ QUJPUlQ7CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICBpdCBpcyBPSyBvbmx5IGVtdWxh dGUgZml4X2ZpZWRzLCBiZWNhdXNlIHdlIG5lZWQgb25seQogICAgICAgICAgICAgICB2YWx1ZSBv ZiBjb25zdGFudAogICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIFN0cmluZyAqc3RyPSB0bXAg PwotICAgICAgICAgICAgICB0bXAtPnF1aWNrX2ZpeF9maWVsZCgpLCB0bXAtPnZhbF9zdHIoKFN0 cmluZyopIDApIDoKLSAgICAgICAgICAgICAgKFN0cmluZyopIDA7Ci0KLSAgICAgICAgICAgIEl0 ZW1fc3RyaW5nICppdGVtX3N0cj0KLSAgICAgICAgICAgICAgbmV3IEl0ZW1fc3RyaW5nKE5VTEws IC8qIG5hbWUgd2lsbCBiZSBzZXQgaW4gc2VsZWN0X2l0ZW0gKi8KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0ciA/IHN0ci0+cHRyKCkgOiAiIiwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0ciA/IHN0ci0+bGVuZ3RoKCkgOiAwLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJDEpOworICAgICAgICAgICAgdG1wLT5xdWlja19maXhfZmllbGQoKTsKKyAgICAg ICAgICAgIFN0cmluZyAqc3RyPSB0bXAtPnZhbF9zdHIoKFN0cmluZyopIDApOworCisgICAgICAg ICAgICBJdGVtX3N0cmluZyAqaXRlbV9zdHI7CisgICAgICAgICAgICBpdGVtX3N0cj0gbmV3IChZ WVRIRC0+bWVtX3Jvb3QpCisgICAgICAgICAgICAgICAgICAgICAgICBJdGVtX3N0cmluZyhOVUxM LCAvKiBuYW1lIHdpbGwgYmUgc2V0IGluIHNlbGVjdF9pdGVtICovCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIgPyBzdHItPnB0cigpIDogIiIsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHIgPyBzdHItPmxlbmd0aCgpIDogMCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICQxKTsKICAgICAgICAgICAgIGlmICghaXRlbV9z dHIgfHwKICAgICAgICAgICAgICAgICAhaXRlbV9zdHItPmNoZWNrX3dlbGxfZm9ybWVkX3Jlc3Vs dCgmaXRlbV9zdHItPnN0cl92YWx1ZSwgVFJVRSkpCiAgICAgICAgICAgICB7CkBAIC0xMDQ1Niwy NyArMTExODUsNDIgQEAgTlVNX2xpdGVyYWw6CiAgICAgICAgICAgTlVNCiAgICAgICAgICAgewog ICAgICAgICAgICAgaW50IGVycm9yOwotICAgICAgICAgICAgJCQgPSBuZXcgSXRlbV9pbnQoJDEu c3RyLCAobG9uZ2xvbmcpIG15X3N0cnRvbGwxMCgkMS5zdHIsIE5VTEwsICZlcnJvciksICQxLmxl bmd0aCk7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVtX3Jvb3QpCisgICAgICAgICAg ICAgICAgICBJdGVtX2ludCgkMS5zdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9u Z2xvbmcpIG15X3N0cnRvbGwxMCgkMS5zdHIsIE5VTEwsICZlcnJvciksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAkMS5sZW5ndGgpOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwpCisg ICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgfQogICAgICAgICB8IExPTkdf TlVNCiAgICAgICAgICAgewogICAgICAgICAgICAgaW50IGVycm9yOwotICAgICAgICAgICAgJCQg PSBuZXcgSXRlbV9pbnQoJDEuc3RyLCAobG9uZ2xvbmcpIG15X3N0cnRvbGwxMCgkMS5zdHIsIE5V TEwsICZlcnJvciksICQxLmxlbmd0aCk7CisgICAgICAgICAgICAkJD0gbmV3IChZWVRIRC0+bWVt X3Jvb3QpCisgICAgICAgICAgICAgICAgICBJdGVtX2ludCgkMS5zdHIsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAobG9uZ2xvbmcpIG15X3N0cnRvbGwxMCgkMS5zdHIsIE5VTEwsICZlcnJv ciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5sZW5ndGgpOworICAgICAgICAgICAg aWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAg fQogICAgICAgICB8IFVMT05HTE9OR19OVU0KLSAgICAgICAgICB7ICQkID0gbmV3IEl0ZW1fdWlu dCgkMS5zdHIsICQxLmxlbmd0aCk7IH0KKyAgICAgICAgICB7CisgICAgICAgICAgICAkJD0gbmV3 IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fdWludCgkMS5zdHIsICQxLmxlbmd0aCk7CisgICAgICAg ICAgICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAg ICAgICB9CiAgICAgICAgIHwgREVDSU1BTF9OVU0KICAgICAgICAgICB7Ci0gICAgICAgICAgICAk JD0gbmV3IEl0ZW1fZGVjaW1hbCgkMS5zdHIsICQxLmxlbmd0aCwgWVlUSEQtPmNoYXJzZXQoKSk7 Ci0gICAgICAgICAgICBpZiAoWVlUSEQtPmlzX2Vycm9yKCkpCisgICAgICAgICAgICAkJD0gbmV3 IChZWVRIRC0+bWVtX3Jvb3QpIEl0ZW1fZGVjaW1hbCgkMS5zdHIsICQxLmxlbmd0aCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlZVEhELT5jaGFy c2V0KCkpOworICAgICAgICAgICAgaWYgKCgkJCA9PSBOVUxMKSB8fCAoWVlUSEQtPmlzX2Vycm9y KCkpKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAg ICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgfCBGTE9BVF9OVU0KICAgICAgICAgICB7Ci0g ICAgICAgICAgICAkJCA9IG5ldyBJdGVtX2Zsb2F0KCQxLnN0ciwgJDEubGVuZ3RoKTsKLSAgICAg ICAgICAgIGlmIChZWVRIRC0+aXNfZXJyb3IoKSkKKyAgICAgICAgICAgICQkID0gbmV3IChZWVRI RC0+bWVtX3Jvb3QpIEl0ZW1fZmxvYXQoJDEuc3RyLCAkMS5sZW5ndGgpOworICAgICAgICAgICAg aWYgKCgkJCA9PSBOVUxMKSB8fCAoWVlUSEQtPmlzX2Vycm9yKCkpKQogICAgICAgICAgICAgewog ICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAgfQpAQCAtMTA0OTYsMTUg KzExMjQwLDIzIEBAIHRhYmxlX3dpbGQ6CiAgICAgICAgICAgaWRlbnQgJy4nICcqJwogICAgICAg ICAgIHsKICAgICAgICAgICAgIFNFTEVDVF9MRVggKnNlbD0gU2VsZWN0OwotICAgICAgICAgICAg JCQgPSBuZXcgSXRlbV9maWVsZChMZXgtPmN1cnJlbnRfY29udGV4dCgpLCBOdWxsUywgJDEuc3Ry LCAiKiIpOworICAgICAgICAgICAgJCQgPSBuZXcgKFlZVEhELT5tZW1fcm9vdCkgSXRlbV9maWVs ZChMZXgtPmN1cnJlbnRfY29udGV4dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOdWxsUywgJDEuc3RyLCAiKiIpOworICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgICBz ZWwtPndpdGhfd2lsZCsrOwogICAgICAgICAgIH0KICAgICAgICAgfCBpZGVudCAnLicgaWRlbnQg Jy4nICcqJwogICAgICAgICAgIHsKKyAgICAgICAgICAgIFRIRCAqdGhkPSBZWVRIRDsKICAgICAg ICAgICAgIFNFTEVDVF9MRVggKnNlbD0gU2VsZWN0OwotICAgICAgICAgICAgJCQgPSBuZXcgSXRl bV9maWVsZChMZXgtPmN1cnJlbnRfY29udGV4dCgpLCAoWVlUSEQtPmNsaWVudF9jYXBhYmlsaXRp ZXMgJgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTElFTlRfTk9fU0NIRU1BID8g TnVsbFMgOiAkMS5zdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMy5zdHIs IioiKTsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIHNjaGVtYT0gdGhkLT5jbGllbnRfY2FwYWJp bGl0aWVzICYgQ0xJRU5UX05PX1NDSEVNQSA/CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTnVsbFMgOiAkMS5zdHI7CisgICAgICAgICAgICAkJCA9IG5ldyAodGhkLT5tZW1fcm9v dCkgSXRlbV9maWVsZChMZXgtPmN1cnJlbnRfY29udGV4dCgpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDMuc3RyLCIqIik7CisgICAgICAgICAgICBp ZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAg IHNlbC0+d2l0aF93aWxkKys7CiAgICAgICAgICAgfQogICAgICAgICA7CkBAIC0xMDUzMSwyNCAr MTEyODMsMzUgQEAgc2ltcGxlX2lkZW50OgogICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg ICAgSXRlbV9zcGxvY2FsICpzcGxvY2FsOwotICAgICAgICAgICAgICBzcGxvY2FsPSBuZXcgSXRl bV9zcGxvY2FsKCQxLCBzcHYtPm9mZnNldCwgc3B2LT50eXBlLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpcC0+Z2V0X3Rva19zdGFydF9wcmV2KCkgLQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxleC0+c3BoZWFkLT5tX3RtcF9xdWVy eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXAtPmdldF90b2tf ZW5kKCkgLSBsaXAtPmdldF90b2tfc3RhcnRfcHJldigpKTsKKyAgICAgICAgICAgICAgc3Bsb2Nh bD0gbmV3ICh0aGQtPm1lbV9yb290KQorICAgICAgICAgICAgICAgICAgICAgICAgIEl0ZW1fc3Bs b2NhbCgkMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3B2LT5vZmZz ZXQsIHNwdi0+dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlw LT5nZXRfdG9rX3N0YXJ0X3ByZXYoKSAtIGxleC0+c3BoZWFkLT5tX3RtcF9xdWVyeSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlwLT5nZXRfdG9rX2VuZCgpIC0gbGlw LT5nZXRfdG9rX3N0YXJ0X3ByZXYoKSk7CisgICAgICAgICAgICAgIGlmIChzcGxvY2FsID09IE5V TEwpCisgICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICNpZm5kZWYgREJVR19PRkYKLSAg ICAgICAgICAgICAgaWYgKHNwbG9jYWwpCi0gICAgICAgICAgICAgICAgc3Bsb2NhbC0+bV9zcD0g bGV4LT5zcGhlYWQ7CisgICAgICAgICAgICAgIHNwbG9jYWwtPm1fc3A9IGxleC0+c3BoZWFkOwog I2VuZGlmCi0gICAgICAgICAgICAgICQkID0gKEl0ZW0qKSBzcGxvY2FsOworICAgICAgICAgICAg ICAkJD0gc3Bsb2NhbDsKICAgICAgICAgICAgICAgbGV4LT5zYWZlX3RvX2NhY2hlX3F1ZXJ5PTA7 CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB7Ci0gICAgICAg ICAgICAgIFNFTEVDVF9MRVggKnNlbD1TZWxlY3Q7Ci0gICAgICAgICAgICAgICQkPSAoc2VsLT5w YXJzaW5nX3BsYWNlICE9IElOX0hBVklORyB8fAotICAgICAgICAgICAgICAgICAgc2VsLT5nZXRf aW5fc3VtX2V4cHIoKSA+IDApID8KLSAgICAgICAgICAgICAgICAgIChJdGVtKikgbmV3IEl0ZW1f ZmllbGQoTGV4LT5jdXJyZW50X2NvbnRleHQoKSwgTnVsbFMsIE51bGxTLCAkMS5zdHIpIDoKLSAg ICAgICAgICAgICAgICAgIChJdGVtKikgbmV3IEl0ZW1fcmVmKExleC0+Y3VycmVudF9jb250ZXh0 KCksIE51bGxTLCBOdWxsUywgJDEuc3RyKTsKKyAgICAgICAgICAgICAgU0VMRUNUX0xFWCAqc2Vs PSBTZWxlY3Q7CisgICAgICAgICAgICAgIGlmICgoc2VsLT5wYXJzaW5nX3BsYWNlICE9IElOX0hB VklORykgfHwKKyAgICAgICAgICAgICAgICAgIChzZWwtPmdldF9pbl9zdW1fZXhwcigpID4gMCkp CisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAkJD0gbmV3ICh0aGQtPm1lbV9yb290 KSBJdGVtX2ZpZWxkKExleC0+Y3VycmVudF9jb250ZXh0KCksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdWxsUywgTnVsbFMsICQxLnN0cik7Cisg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgJCQ9IG5ldyAodGhkLT5tZW1fcm9vdCkgSXRlbV9yZWYoTGV4LT5jdXJyZW50 X2NvbnRleHQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOdWxsUywgTnVsbFMsICQxLnN0cik7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgaWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAg ICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIHwgc2ltcGxlX2lkZW50X3EgeyAkJD0gJDE7 IH0KQEAgLTEwNTU3LDExICsxMTMyMCwyMSBAQCBzaW1wbGVfaWRlbnQ6CiBzaW1wbGVfaWRlbnRf bm9zcHZhcjoKICAgICAgICAgICBpZGVudAogICAgICAgICAgIHsKLSAgICAgICAgICAgIFNFTEVD VF9MRVggKnNlbD1TZWxlY3Q7Ci0gICAgICAgICAgICAkJD0gKHNlbC0+cGFyc2luZ19wbGFjZSAh PSBJTl9IQVZJTkcgfHwKLSAgICAgICAgICAgICAgICBzZWwtPmdldF9pbl9zdW1fZXhwcigpID4g MCkgPwotICAgICAgICAgICAgICAgIChJdGVtKikgbmV3IEl0ZW1fZmllbGQoTGV4LT5jdXJyZW50 X2NvbnRleHQoKSwgTnVsbFMsIE51bGxTLCAkMS5zdHIpIDoKLSAgICAgICAgICAgICAgICAoSXRl bSopIG5ldyBJdGVtX3JlZihMZXgtPmN1cnJlbnRfY29udGV4dCgpLCBOdWxsUywgTnVsbFMsICQx LnN0cik7CisgICAgICAgICAgICBUSEQgKnRoZD0gWVlUSEQ7CisgICAgICAgICAgICBTRUxFQ1Rf TEVYICpzZWw9IFNlbGVjdDsKKyAgICAgICAgICAgIGlmICgoc2VsLT5wYXJzaW5nX3BsYWNlICE9 IElOX0hBVklORykgfHwKKyAgICAgICAgICAgICAgICAoc2VsLT5nZXRfaW5fc3VtX2V4cHIoKSA+ IDApKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAkJD0gbmV3ICh0aGQtPm1lbV9yb290 KSBJdGVtX2ZpZWxkKExleC0+Y3VycmVudF9jb250ZXh0KCksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVsbFMsIE51bGxTLCAkMS5zdHIpOworICAg ICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAg ICAkJD0gbmV3ICh0aGQtPm1lbV9yb290KSBJdGVtX3JlZihMZXgtPmN1cnJlbnRfY29udGV4dCgp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdWxsUywg TnVsbFMsICQxLnN0cik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVM TCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICB9CiAgICAgICAgIHwg c2ltcGxlX2lkZW50X3EgeyAkJD0gJDE7IH0KICAgICAgICAgOwpAQCAtMTA2MDMsMTMgKzExMzc2 LDE2IEBAIHNpbXBsZV9pZGVudF9xOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV4LT50 cmdfY2hpc3RpY3MuZXZlbnQgPT0gVFJHX0VWRU5UX1VQREFURSkpOwogICAgICAgICAgICAgICBj b25zdCBib29sIHJlYWRfb25seT0KICAgICAgICAgICAgICAgICAhKG5ld19yb3cgJiYgbGV4LT50 cmdfY2hpc3RpY3MuYWN0aW9uX3RpbWUgPT0gVFJHX0FDVElPTl9CRUZPUkUpOwotICAgICAgICAg ICAgICBpZiAoISh0cmdfZmxkPSBuZXcgSXRlbV90cmlnZ2VyX2ZpZWxkKExleC0+Y3VycmVudF9j b250ZXh0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmV3X3JvdyA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSXRlbV90cmlnZ2VyX2ZpZWxkOjpORVdfUk9XOgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEl0ZW1fdHJpZ2dlcl9maWVsZDo6 T0xEX1JPVywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAkMy5zdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU0VMRUNUX0FDTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZWFkX29ubHkpKSkKKworICAgICAgICAgICAgICB0cmdfZmxkPSBu ZXcgKHRoZC0+bWVtX3Jvb3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgSXRlbV90cmlnZ2Vy X2ZpZWxkKExleC0+Y3VycmVudF9jb250ZXh0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG5ld19yb3cgPworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEl0ZW1fdHJpZ2dlcl9maWVsZDo6TkVXX1JPVzoKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdGVtX3RyaWdnZXJfZmllbGQ6 Ok9MRF9ST1csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQz LnN0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VMRUNU X0FDTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZF9v bmx5KTsKKyAgICAgICAgICAgICAgaWYgKHRyZ19mbGQgPT0gTlVMTCkKICAgICAgICAgICAgICAg ICBNWVNRTF9ZWUFCT1JUOwogCiAgICAgICAgICAgICAgIC8qCkBAIC0xMDYxOSw3ICsxMTM5NSw3 IEBAIHNpbXBsZV9pZGVudF9xOgogICAgICAgICAgICAgICBsZXgtPnRyZ190YWJsZV9maWVsZHMu bGlua19pbl9saXN0KCh1Y2hhciopIHRyZ19mbGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHVjaGFyKiopICZ0cmdfZmxkLT5uZXh0X3RyZ19maWVs ZCk7CiAKLSAgICAgICAgICAgICAgJCQ9IChJdGVtICopdHJnX2ZsZDsKKyAgICAgICAgICAgICAg JCQ9IHRyZ19mbGQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg ICB7CkBAIC0xMDYyOSwxMCArMTE0MDUsMTkgQEAgc2ltcGxlX2lkZW50X3E6CiAgICAgICAgICAg ICAgICAgbXlfZXJyb3IoRVJfVEFCTEVOQU1FX05PVF9BTExPV0VEX0hFUkUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgTVlGKDApLCAkMS5zdHIsIHRoZC0+d2hlcmUpOwogICAgICAgICAgICAg ICB9Ci0gICAgICAgICAgICAgICQkPSAoc2VsLT5wYXJzaW5nX3BsYWNlICE9IElOX0hBVklORyB8 fAotICAgICAgICAgICAgICAgICAgc2VsLT5nZXRfaW5fc3VtX2V4cHIoKSA+IDApID8KLSAgICAg ICAgICAgICAgICAgIChJdGVtKikgbmV3IEl0ZW1fZmllbGQoTGV4LT5jdXJyZW50X2NvbnRleHQo KSwgTnVsbFMsICQxLnN0ciwgJDMuc3RyKSA6Ci0gICAgICAgICAgICAgICAgICAoSXRlbSopIG5l dyBJdGVtX3JlZihMZXgtPmN1cnJlbnRfY29udGV4dCgpLCBOdWxsUywgJDEuc3RyLCAkMy5zdHIp OworICAgICAgICAgICAgICBpZiAoKHNlbC0+cGFyc2luZ19wbGFjZSAhPSBJTl9IQVZJTkcpIHx8 CisgICAgICAgICAgICAgICAgICAoc2VsLT5nZXRfaW5fc3VtX2V4cHIoKSA+IDApKQorICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgJCQ9IG5ldyAodGhkLT5tZW1fcm9vdCkgSXRlbV9m aWVsZChMZXgtPmN1cnJlbnRfY29udGV4dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTnVsbFMsICQxLnN0ciwgJDMuc3RyKTsKKyAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAkJD0gbmV3ICh0aGQtPm1lbV9yb290KSBJdGVtX3JlZihMZXgtPmN1cnJlbnRfY29udGV4 dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51 bGxTLCAkMS5zdHIsICQzLnN0cik7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgaWYg KCQkID09IE5VTEwpCisgICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAg IH0KICAgICAgICAgICB9CiAgICAgICAgIHwgJy4nIGlkZW50ICcuJyBpZGVudApAQCAtMTA2NDUs MzEgKzExNDMwLDQ1IEBAIHNpbXBsZV9pZGVudF9xOgogICAgICAgICAgICAgICBteV9lcnJvcihF Ul9UQUJMRU5BTUVfTk9UX0FMTE9XRURfSEVSRSwKICAgICAgICAgICAgICAgICAgICAgICAgTVlG KDApLCAkMi5zdHIsIHRoZC0+d2hlcmUpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgJCQ9 IChzZWwtPnBhcnNpbmdfcGxhY2UgIT0gSU5fSEFWSU5HIHx8Ci0gICAgICAgICAgICAgICAgc2Vs LT5nZXRfaW5fc3VtX2V4cHIoKSA+IDApID8KLSAgICAgICAgICAgICAgICAoSXRlbSopIG5ldyBJ dGVtX2ZpZWxkKExleC0+Y3VycmVudF9jb250ZXh0KCksIE51bGxTLCAkMi5zdHIsICQ0LnN0cikg OgotICAgICAgICAgICAgICAgIChJdGVtKikgbmV3IEl0ZW1fcmVmKExleC0+Y3VycmVudF9jb250 ZXh0KCksIE51bGxTLCAkMi5zdHIsICQ0LnN0cik7CisgICAgICAgICAgICBpZiAoKHNlbC0+cGFy c2luZ19wbGFjZSAhPSBJTl9IQVZJTkcpIHx8CisgICAgICAgICAgICAgICAgKHNlbC0+Z2V0X2lu X3N1bV9leHByKCkgPiAwKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgJCQ9IG5ldyAo dGhkLT5tZW1fcm9vdCkgSXRlbV9maWVsZChMZXgtPmN1cnJlbnRfY29udGV4dCgpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bGxTLCAkMi5zdHIs ICQ0LnN0cik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7 CisgICAgICAgICAgICAgICQkPSBuZXcgKHRoZC0+bWVtX3Jvb3QpIEl0ZW1fcmVmKExleC0+Y3Vy cmVudF9jb250ZXh0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE51bGxTLCAkMi5zdHIsICQ0LnN0cik7CisgICAgICAgICAgICB9CisgICAgICAgICAg ICBpZiAoJCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAg ICB9CiAgICAgICAgIHwgaWRlbnQgJy4nIGlkZW50ICcuJyBpZGVudAogICAgICAgICAgIHsKICAg ICAgICAgICAgIFRIRCAqdGhkPSBZWVRIRDsKICAgICAgICAgICAgIExFWCAqbGV4PSB0aGQtPmxl eDsKICAgICAgICAgICAgIFNFTEVDVF9MRVggKnNlbD0gbGV4LT5jdXJyZW50X3NlbGVjdDsKKyAg ICAgICAgICAgIGNvbnN0IGNoYXIqIHNjaGVtYT0gKHRoZC0+Y2xpZW50X2NhcGFiaWxpdGllcyAm IENMSUVOVF9OT19TQ0hFTUEgPworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVs bFMgOiAkMS5zdHIpOwogICAgICAgICAgICAgaWYgKHNlbC0+bm9fdGFibGVfbmFtZXNfYWxsb3dl ZCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgbXlfZXJyb3IoRVJfVEFCTEVOQU1FX05P VF9BTExPV0VEX0hFUkUsCiAgICAgICAgICAgICAgICAgICAgICAgIE1ZRigwKSwgJDMuc3RyLCB0 aGQtPndoZXJlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICQkPSAoc2VsLT5wYXJzaW5n X3BsYWNlICE9IElOX0hBVklORyB8fAotICAgICAgICAgICAgICAgIHNlbC0+Z2V0X2luX3N1bV9l eHByKCkgPiAwKSA/Ci0gICAgICAgICAgICAgICAgKEl0ZW0qKSBuZXcgSXRlbV9maWVsZChMZXgt PmN1cnJlbnRfY29udGV4dCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKFlZVEhELT5jbGllbnRfY2FwYWJpbGl0aWVzICYKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENMSUVOVF9OT19TQ0hFTUEgPyBOdWxsUyA6ICQxLnN0ciksCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMy5zdHIsICQ1LnN0cikgOgotICAg ICAgICAgICAgICAgIChJdGVtKikgbmV3IEl0ZW1fcmVmKExleC0+Y3VycmVudF9jb250ZXh0KCks Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFlZVEhELT5jbGllbnRfY2Fw YWJpbGl0aWVzICYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTElFTlRf Tk9fU0NIRU1BID8gTnVsbFMgOiAkMS5zdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICQzLnN0ciwgJDUuc3RyKTsKKyAgICAgICAgICAgIGlmICgoc2VsLT5wYXJzaW5n X3BsYWNlICE9IElOX0hBVklORykgfHwKKyAgICAgICAgICAgICAgICAoc2VsLT5nZXRfaW5fc3Vt X2V4cHIoKSA+IDApKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAkJD0gbmV3ICh0aGQt Pm1lbV9yb290KSBJdGVtX2ZpZWxkKExleC0+Y3VycmVudF9jb250ZXh0KCksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hLCAkMy5zdHIsICQ1 LnN0cik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7Cisg ICAgICAgICAgICAgICQkPSBuZXcgKHRoZC0+bWVtX3Jvb3QpIEl0ZW1fcmVmKExleC0+Y3VycmVu dF9jb250ZXh0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNjaGVtYSwgJDMuc3RyLCAkNS5zdHIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg aWYgKCQkID09IE5VTEwpCisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAg fQogICAgICAgICA7CiAKQEAgLTEwNzA1LDE2ICsxMTUwNCwzNCBAQCBmaWVsZF9pZGVudDoKICAg ICAgICAgOwogCiB0YWJsZV9pZGVudDoKLSAgICAgICAgICBpZGVudCB7ICQkPW5ldyBUYWJsZV9p ZGVudCgkMSk7IH0KLSAgICAgICAgfCBpZGVudCAnLicgaWRlbnQgeyAkJD1uZXcgVGFibGVfaWRl bnQoWVlUSEQsICQxLCQzLDApO30KLSAgICAgICAgfCAnLicgaWRlbnQgeyAkJD1uZXcgVGFibGVf aWRlbnQoJDIpO30gLyogRm9yIERlbHBoaSAqLworICAgICAgICAgIGlkZW50CisgICAgICAgICAg eworICAgICAgICAgICAgJCQ9IG5ldyBUYWJsZV9pZGVudCgkMSk7CisgICAgICAgICAgICBpZiAo JCQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9Cisg ICAgICAgIHwgaWRlbnQgJy4nIGlkZW50CisgICAgICAgICAgeworICAgICAgICAgICAgJCQ9IG5l dyBUYWJsZV9pZGVudChZWVRIRCwgJDEsJDMsMCk7CisgICAgICAgICAgICBpZiAoJCQgPT0gTlVM TCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CisgICAgICAgIHwg Jy4nIGlkZW50CisgICAgICAgICAgeworICAgICAgICAgICAgLyogRm9yIERlbHBoaSAqLworICAg ICAgICAgICAgJCQ9IG5ldyBUYWJsZV9pZGVudCgkMik7CisgICAgICAgICAgICBpZiAoJCQgPT0g TlVMTCkKKyAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICB9CiAgICAgICAg IDsKIAogdGFibGVfaWRlbnRfbm9kYjoKICAgICAgICAgICBpZGVudAogICAgICAgICAgIHsKICAg ICAgICAgICAgIExFWF9TVFJJTkcgZGI9eyhjaGFyKikgYW55X2RiLDN9OwotICAgICAgICAgICAg JCQ9bmV3IFRhYmxlX2lkZW50KFlZVEhELCBkYiwkMSwwKTsKKyAgICAgICAgICAgICQkPSBuZXcg VGFibGVfaWRlbnQoWVlUSEQsIGRiLCQxLDApOworICAgICAgICAgICAgaWYgKCQkID09IE5VTEwp CisgICAgICAgICAgICAgIE1ZU1FMX1lZQUJPUlQ7CiAgICAgICAgICAgfQogICAgICAgICA7CiAK QEAgLTEwNzQwLDggKzExNTU3LDExIEBAIElERU5UX3N5czoKICAgICAgICAgICAgICAgJCQ9ICQx OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICB0aGQtPmNv bnZlcnRfc3RyaW5nKCYkJCwgc3lzdGVtX2NoYXJzZXRfaW5mbywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAkMS5zdHIsICQxLmxlbmd0aCwgdGhkLT5jaGFyc2V0KCkpOworICAg ICAgICAgICAgeworICAgICAgICAgICAgICBpZiAodGhkLT5jb252ZXJ0X3N0cmluZygmJCQsIHN5 c3RlbV9jaGFyc2V0X2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICQxLnN0ciwgJDEubGVuZ3RoLCB0aGQtPmNoYXJzZXQoKSkpCisgICAgICAgICAgICAgICAgTVlT UUxfWVlBQk9SVDsKKyAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIDsKIApAQCAt MTA3NTMsOCArMTE1NzMsMTEgQEAgVEVYVF9TVFJJTkdfc3lzOgogICAgICAgICAgICAgaWYgKHRo ZC0+Y2hhcnNldF9pc19zeXN0ZW1fY2hhcnNldCkKICAgICAgICAgICAgICAgJCQ9ICQxOwogICAg ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICB0aGQtPmNvbnZlcnRfc3RyaW5nKCYkJCwgc3lz dGVtX2NoYXJzZXRfaW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5z dHIsICQxLmxlbmd0aCwgdGhkLT5jaGFyc2V0KCkpOworICAgICAgICAgICAgeworICAgICAgICAg ICAgICBpZiAodGhkLT5jb252ZXJ0X3N0cmluZygmJCQsIHN5c3RlbV9jaGFyc2V0X2luZm8sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQxLnN0ciwgJDEubGVuZ3RoLCB0 aGQtPmNoYXJzZXQoKSkpCisgICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAg ICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIDsKIApAQCAtMTA3NjYsOCArMTE1ODksMTEgQEAg VEVYVF9TVFJJTkdfbGl0ZXJhbDoKICAgICAgICAgICAgIGlmICh0aGQtPmNoYXJzZXRfaXNfY29s bGF0aW9uX2Nvbm5lY3Rpb24pCiAgICAgICAgICAgICAgICQkPSAkMTsKICAgICAgICAgICAgIGVs c2UKLSAgICAgICAgICAgICAgdGhkLT5jb252ZXJ0X3N0cmluZygmJCQsIHRoZC0+dmFyaWFibGVz LmNvbGxhdGlvbl9jb25uZWN0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICQxLnN0ciwgJDEubGVuZ3RoLCB0aGQtPmNoYXJzZXQoKSk7CisgICAgICAgICAgICB7CisgICAg ICAgICAgICAgIGlmICh0aGQtPmNvbnZlcnRfc3RyaW5nKCYkJCwgdGhkLT52YXJpYWJsZXMuY29s bGF0aW9uX2Nvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICQxLnN0ciwgJDEubGVuZ3RoLCB0aGQtPmNoYXJzZXQoKSkpCisgICAgICAgICAgICAgICAgTVlT UUxfWVlBQk9SVDsKKyAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIDsKIApAQCAt MTA3NzksOCArMTE2MDUsMTIgQEAgVEVYVF9TVFJJTkdfZmlsZXN5c3RlbToKICAgICAgICAgICAg IGlmICh0aGQtPmNoYXJzZXRfaXNfY2hhcmFjdGVyX3NldF9maWxlc3lzdGVtKQogICAgICAgICAg ICAgICAkJD0gJDE7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgIHRoZC0+Y29udmVy dF9zdHJpbmcoJiQkLCB0aGQtPnZhcmlhYmxlcy5jaGFyYWN0ZXJfc2V0X2ZpbGVzeXN0ZW0sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEuc3RyLCAkMS5sZW5ndGgsIHRoZC0+ Y2hhcnNldCgpKTsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgaWYgKHRoZC0+Y29udmVy dF9zdHJpbmcoJiQkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGQt PnZhcmlhYmxlcy5jaGFyYWN0ZXJfc2V0X2ZpbGVzeXN0ZW0sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICQxLnN0ciwgJDEubGVuZ3RoLCB0aGQtPmNoYXJzZXQoKSkpCisg ICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKKyAgICAgICAgICAgIH0KICAgICAgICAgICB9 CiAgICAgICAgIDsKIApAQCAtMTA3OTAsNiArMTE2MjAsOCBAQCBpZGVudDoKICAgICAgICAgICB7 CiAgICAgICAgICAgICBUSEQgKnR