ZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQppbmRleCBiZWIwZGUzLi5lMGQ2MDFjIDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUKKysrIGIvc3JjL01ha2VmaWxlCkBAIC0yMTAxLDEwICsyMTAxLDEwIEBACiAjIFRoZXNlIGRvIG5vdCBkZXBlbmQgb24gdGhlIGV4ZWN1dGFibGUsIGNvbXBpbGUgaXQgd2hlbiBuZWVkZWQuCiB0ZXN0MSBcCiAJdGVzdF9ldmFsIFwKLQl0ZXN0MyB0ZXN0MTEgdGVzdDE0IHRlc3QxNSB0ZXN0MTcgXAotCXRlc3QyOSB0ZXN0MzAgdGVzdDM2IHRlc3QzNyB0ZXN0MzkgXAorCXRlc3QzIHRlc3QxMSB0ZXN0MTQgdGVzdDE3IFwKKwl0ZXN0MjkgdGVzdDMwIHRlc3QzNyB0ZXN0MzkgXAogCXRlc3Q0MiB0ZXN0NDQgdGVzdDQ4IHRlc3Q0OSBcCi0JdGVzdDUwIHRlc3Q1MiB0ZXN0NTkgXAorCXRlc3Q1MiB0ZXN0NTkgXAogCXRlc3Q2NCB0ZXN0NjkgXAogCXRlc3Q3MCB0ZXN0NzIgXAogCXRlc3Q4NSB0ZXN0ODYgdGVzdDg3IHRlc3Q4OCBcCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsgYi9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsKaW5kZXggMDUwODgyYy4uNDYyNmQ4MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvTWFrZV9hbGwubWFrCisrKyBiL3NyYy90ZXN0ZGlyL01ha2VfYWxsLm1hawpAQCAtMTUsOSArMTUsNyBAQAogU0NSSVBUU19BTEwgPSBcCiAJdGVzdDMub3V0IFwKIAl0ZXN0MTQub3V0IFwKLQl0ZXN0MTUub3V0IFwKIAl0ZXN0Mjkub3V0IFwKLQl0ZXN0MzYub3V0IFwKIAl0ZXN0Mzcub3V0IFwKIAl0ZXN0Mzkub3V0IFwKIAl0ZXN0NDIub3V0IFwKQEAgLTU3LDcgKzU1LDcgQEAKIAogCiAjIFRlc3RzIHNwZWNpZmljYWxseSBmb3IgTVMtV2luZG93cy4KLVNDUklQVFNfV0lOMzIgPSB0ZXN0NTAub3V0CitTQ1JJUFRTX1dJTjMyID0KIAogCiAjIFRlc3RzIGZvciB0aGUgR1VJLgpAQCAtMTU4LDYgKzE1Niw3IEBACiAJICAgIHRlc3RfcnVieS5yZXMgXAogCSAgICB0ZXN0X3Njcm9sbGJpbmQucmVzIFwKIAkgICAgdGVzdF9zZWFyY2gucmVzIFwKKwkgICAgdGVzdF9zaG9ydHBhdGhuYW1lLnJlcyBcCiAJICAgIHRlc3Rfc2lnbnMucmVzIFwKIAkgICAgdGVzdF9zbWFydGluZGVudC5yZXMgXAogCSAgICB0ZXN0X3NwZWxsLnJlcyBcCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9NYWtlX3Ztcy5tbXMgYi9zcmMvdGVzdGRpci9NYWtlX3Ztcy5tbXMKaW5kZXggZThiMWRiMy4uZjI3YTZiNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvTWFrZV92bXMubW1zCisrKyBiL3NyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcwpAQCAtNzQsOSArNzQsOSBAQAogLlNVRkZJWEVTIDogLm91dCAuaW4KIAogU0NSSVBUID0gdGVzdDEub3V0IHRlc3QzLm91dCBcCi0gICAgICAgdGVzdDE0Lm91dCB0ZXN0MTUub3V0IFwKKyAgICAgICB0ZXN0MTQub3V0IFwKICAgICAgICB0ZXN0Mjkub3V0IFwKLSAgICAgICB0ZXN0MzAub3V0IHRlc3QzNi5vdXQgdGVzdDM3Lm91dCB0ZXN0Mzkub3V0IFwKKyAgICAgICB0ZXN0MzAub3V0IHRlc3QzNy5vdXQgdGVzdDM5Lm91dCBcCiAgICAgICAgdGVzdDQyLm91dCB0ZXN0NDQub3V0IHRlc3Q0OC5vdXQgdGVzdDQ5Lm91dCBcCiAgICAgICAgdGVzdDY0Lm91dCB0ZXN0Njkub3V0IFwKICAgICAgICB0ZXN0NzIub3V0IHRlc3Q3N2Eub3V0IHRlc3Q4OC5vdXQgXApAQCAtMTA4LDcgKzEwOCw3IEBACiAuRU5ESUYKIAogLklGREVGIFdBTlRfV0lOCi1TQ1JJUFRfV0lOID0gdGVzdDUwLm91dCB0ZXN0NTIub3V0CitTQ1JJUFRfV0lOID0gdGVzdDUyLm91dAogLkVORElGCiAKIC5JRkRFRiBXQU5UX1NQRUxMCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9tYWluLmFhcCBiL3NyYy90ZXN0ZGlyL21haW4uYWFwCmluZGV4IDg5ZWFlNDEuLmE0ZDAyOTUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL21haW4uYWFwCisrKyBiL3NyYy90ZXN0ZGlyL21haW4uYWFwCkBAIC02LDEwICs2LDEwIEBACiAKIFNjcmlwdHMgPSB0ZXN0MS5vdXQgdGVzdDIub3V0IHRlc3QzLm91dCB0ZXN0Ni5vdXQKIAkJdGVzdDExLm91dAotCQl0ZXN0MTMub3V0IHRlc3QxNC5vdXQgdGVzdDE1Lm91dCB0ZXN0MTcub3V0CisJCXRlc3QxMy5vdXQgdGVzdDE0Lm91dCB0ZXN0MTcub3V0CiAJCXRlc3QxOC5vdXQgdGVzdDIxLm91dAogCQl0ZXN0Mjcub3V0IHRlc3QyOS5vdXQgdGVzdDMwLm91dAotCQl0ZXN0MzYub3V0IHRlc3QzNy5vdXQKKwkJdGVzdDM3Lm91dAogCQl0ZXN0Mzkub3V0IHRlc3Q0Mi5vdXQKIAkJdGVzdDQ0Lm91dCB0ZXN0NDYub3V0IHRlc3Q0Ny5vdXQKIAkJdGVzdDQ4Lm91dCB0ZXN0NDkub3V0IHRlc3Q3NC5vdXQKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3QxNS5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3QxNS5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY2NTI5YS4uMDAwMDAwMAotLS0gYS9zcmMvdGVzdGRpci90ZXN0MTUuaW4KKysrIC9kZXYvbnVsbApAQCAtMSwxMzYgKzAsMCBAQAotVGVzdHMgZm9yIDpyaWdodCBvbiB0ZXh0IHdpdGggZW1iZWRkZWQgVEFCLgotQWxzbyB0ZXN0IGZvcm1hdHRpbmcgYSBwYXJhZ3JhcGguCi1BbHNvIHRlc3QgdW5kbyBhZnRlciAiOiVzIiBhbmQgZm9ybWF0dGluZy4KLQotU1RBUlRURVNUCi06c28gc21hbGwudmltCi06c2V0IHR3PTY1Ci0KLTovXlxzKnRlc3QgZm9yIDpsZWZ0LywvXlxzKnRlc3QgZm9yIDpjZW50ZXIvIGxlZnQKLTovXlxzKnRlc3QgZm9yIDpjZW50ZXIvLC9eXHMqdGVzdCBmb3IgOnJpZ2h0LyBjZW50ZXIKLTovXlxzKnRlc3QgZm9yIDpyaWdodC8sL154eHgvLTEgcmlnaHQKLTpzZXQgZm8rPXRjcm9xbCB0dz03MgotL3h4eHh4eHh4JAotMGdxNmtrCi06c2V0IG5vY3AgdmltaW5mbys9bnZpbWluZm8KLToiIHVuZG8vcmVkbyBoZXJlIHRvIG1ha2UgdGhlIG5leHQgdW5kbyBvbmx5IHdvcmsgb24gdGhlIGZvbGxvd2luZyBjaGFuZ2VzCi11EgotOm1hcCBnZyA6LiwuKzJzL14veC88Q1I+a2s6c2V0IHR3PTM8Q1I+Z3FxCi0vXmFhCi1nZ3UKLTo/dGVzdCBmb3IgOmxlZnQ/LCR3ISB0ZXN0Lm91dAotOnFhIQotRU5EVEVTVAotCi0JdGVzdCBmb3IgOmxlZnQKLQkgIGEJCWEKLQkgICAgZmEJCWEKLQkgIGRmYQkJYQotCSAgICAgICAgc2RmYQkJYQotCSAgYXNkZmEJCWEKLQkgICAgICAgIHhhc2RmYQkJYQotYXN4eGRmYQkJYQotCi0JdGVzdCBmb3IgOmNlbnRlcgotCSAgYQkJYQotCSAgICBmYQkJYWZkIGFzZGYKLQkgIGRmYQkJYQotCSAgICAgICAgc2RmYQkJYWZkIGFzZGYKLQkgIGFzZGZhCQlhCi0JICAgICAgICB4YXNkZmEJCWFzZGZhc2RmYXNkZmFzZGZhc2RmCi1hc3h4ZGZhCQlhCi0KLQl0ZXN0IGZvciA6cmlnaHQKLQlhCQlhCi0JZmEJCWEKLQlkZmEJCWEKLQlzZGZhCQlhCi0JYXNkZmEJCWEKLQl4YXNkZmEJCWEKLQlhc3h4ZGZhCQlhCi0JYXN4YTtvZmEJCWEKLQlhc2RmYXF3ZXIJCWEKLQlhCQlheAotCWZhCQlheAotCWRmYQkJYXgKLQlzZGZhCQlheAotCWFzZGZhCQlheAotCXhhc2RmYQkJYXgKLQlhc3h4ZGZhCQlheAotCWFzeGE7b2ZhCQlheAotCWFzZGZhcXdlcgkJYXgKLQlhCQlheHgKLQlmYQkJYXh4Ci0JZGZhCQlheHgKLQlzZGZhCQlheHgKLQlhc2RmYQkJYXh4Ci0JeGFzZGZhCQlheHgKLQlhc3h4ZGZhCQlheHgKLQlhc3hhO29mYQkJYXh4Ci0JYXNkZmFxd2VyCQlheHgKLQlhCQlheHh4Ci0JZmEJCWF4eHgKLQlkZmEJCWF4eHgKLQlzZGZhCQlheHh4Ci0JYXNkZmEJCWF4eHgKLQl4YXNkZmEJCWF4eHgKLQlhc3h4ZGZhCQlheHh4Ci0JYXN4YTtvZmEJCWF4eHgKLQlhc2RmYXF3ZXIJCWF4eHgKLQlhCQlheHh4bwotCWZhCQlheHh4bwotCWRmYQkJYXh4eG8KLQlzZGZhCQlheHh4bwotCWFzZGZhCQlheHh4bwotCXhhc2RmYQkJYXh4eG8KLQlhc3h4ZGZhCQlheHh4bwotCWFzeGE7b2ZhCQlheHh4bwotCWFzZGZhcXdlcgkJYXh4eG8KLQlhCQlheHh4b2kKLQlmYQkJYXh4eG9pCi0JZGZhCQlheHh4b2kKLQlzZGZhCQlheHh4b2kKLQlhc2RmYQkJYXh4eG9pCi0JeGFzZGZhCQlheHh4b2kKLQlhc3h4ZGZhCQlheHh4b2kKLQlhc3hhO29mYQkJYXh4eG9pCi0JYXNkZmFxd2VyCQlheHh4b2kKLQlhCQlheHh4b2lrCi0JZmEJCWF4eHhvaWsKLQlkZmEJCWF4eHhvaWsKLQlzZGZhCQlheHh4b2lrCi0JYXNkZmEJCWF4eHhvaWsKLQl4YXNkZmEJCWF4eHhvaWsKLQlhc3h4ZGZhCQlheHh4b2lrCi0JYXN4YTtvZmEJCWF4eHhvaWsKLQlhc2RmYXF3ZXIJCWF4eHhvaWsKLQlhCQlheHh4b2lrZQotCWZhCQlheHh4b2lrZQotCWRmYQkJYXh4eG9pa2UKLQlzZGZhCQlheHh4b2lrZQotCWFzZGZhCQlheHh4b2lrZQotCXhhc2RmYQkJYXh4eG9pa2UKLQlhc3h4ZGZhCQlheHh4b2lrZQotCWFzeGE7b2ZhCQlheHh4b2lrZQotCWFzZGZhcXdlcgkJYXh4eG9pa2UKLQlhCQlheHh4b2lrZXkKLQlmYQkJYXh4eG9pa2V5Ci0JZGZhCQlheHh4b2lrZXkKLQlzZGZhCQlheHh4b2lrZXkKLQlhc2RmYQkJYXh4eG9pa2V5Ci0JeGFzZGZhCQlheHh4b2lrZXkKLQlhc3h4ZGZhCQlheHh4b2lrZXkKLQlhc3hhO29mYQkJYXh4eG9pa2V5Ci0JYXNkZmFxd2VyCQlheHh4b2lrZXkKLQoteHh4eHggeHggeHh4eHh4IAoteHh4eHh4eCB4eHh4eHh4eHggeHh4IHh4eHggeHh4eHggeHh4eHggeHh4IHh4Ci14eHh4eHh4eHh4eHh4eHh4eHggeHh4eHggeHh4eCwgeHh4eCB4eHh4IHh4eHggeHh4eCB4eHggeHggeHgKLXh4IHh4eHh4eHguIHh4eHggeHh4eC4KLQotPiB4eCB4eCwgeHh4eCB4eHh4IHh4eCB4eHh4IHh4eCB4eHh4eCB4eHggeHh4IHh4eHh4eHggeHh4IHh4eHh4Ci0+IHh4eHh4eCB4eHh4eHh4OiB4eHh4IHh4eHh4eHgsIHh4IHh4eHh4eCB4eHh4IHh4eHh4eHh4eHgKLQotYWEgYWEgYWEgYWEKLWJiIGJiIGJiIGJiCi1jYyBjYyBjYyBjYwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDE1Lm9rIGIvc3JjL3Rlc3RkaXIvdGVzdDE1Lm9rCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzA5ZjVlLi4wMDAwMDAwCi0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3QxNS5vaworKysgL2Rldi9udWxsCkBAIC0xLDExMSArMCwwIEBACi10ZXN0IGZvciA6bGVmdAotYQkJYQotZmEJCWEKLWRmYQkJYQotc2RmYQkJYQotYXNkZmEJCWEKLXhhc2RmYQkJYQotYXN4eGRmYQkJYQotCi0JCQl0ZXN0IGZvciA6Y2VudGVyCi0JCQkgYQkJYQotCQkgICAgICBmYQkJYWZkIGFzZGYKLQkJCSBkZmEJCWEKLQkJICAgIHNkZmEJCWFmZCBhc2RmCi0JCQkgYXNkZmEJCWEKLQkgICAgICB4YXNkZmEJCWFzZGZhc2RmYXNkZmFzZGZhc2RmCi0JCQlhc3h4ZGZhCQlhCi0KLQkJCQkJCSAgdGVzdCBmb3IgOnJpZ2h0Ci0JCQkJCQkgICAgICBhCQlhCi0JCQkJCQkgICAgIGZhCQlhCi0JCQkJCQkgICAgZGZhCQlhCi0JCQkJCQkgICBzZGZhCQlhCi0JCQkJCQkgIGFzZGZhCQlhCi0JCQkJCQkgeGFzZGZhCQlhCi0JCQkJCQlhc3h4ZGZhCQlhCi0JCQkJCSAgICAgICBhc3hhO29mYQkJYQotCQkJCQkgICAgICBhc2RmYXF3ZXIJCWEKLQkJCQkJICAgICAgYQkJYXgKLQkJCQkJICAgICBmYQkJYXgKLQkJCQkJICAgIGRmYQkJYXgKLQkJCQkJICAgc2RmYQkJYXgKLQkJCQkJICBhc2RmYQkJYXgKLQkJCQkJIHhhc2RmYQkJYXgKLQkJCQkJYXN4eGRmYQkJYXgKLQkJCQkgICAgICAgYXN4YTtvZmEJCWF4Ci0JCQkJICAgICAgYXNkZmFxd2VyCQlheAotCQkJCQkgICAgICBhCQlheHgKLQkJCQkJICAgICBmYQkJYXh4Ci0JCQkJCSAgICBkZmEJCWF4eAotCQkJCQkgICBzZGZhCQlheHgKLQkJCQkJICBhc2RmYQkJYXh4Ci0JCQkJCSB4YXNkZmEJCWF4eAotCQkJCQlhc3h4ZGZhCQlheHgKLQkJCQkgICAgICAgYXN4YTtvZmEJCWF4eAotCQkJCSAgICAgIGFzZGZhcXdlcgkJYXh4Ci0JCQkJCSAgICAgIGEJCWF4eHgKLQkJCQkJICAgICBmYQkJYXh4eAotCQkJCQkgICAgZGZhCQlheHh4Ci0JCQkJCSAgIHNkZmEJCWF4eHgKLQkJCQkJICBhc2RmYQkJYXh4eAotCQkJCQkgeGFzZGZhCQlheHh4Ci0JCQkJCWFzeHhkZmEJCWF4eHgKLQkJCQkgICAgICAgYXN4YTtvZmEJCWF4eHgKLQkJCQkgICAgICBhc2RmYXF3ZXIJCWF4eHgKLQkJCQkJICAgICAgYQkJYXh4eG8KLQkJCQkJICAgICBmYQkJYXh4eG8KLQkJCQkJICAgIGRmYQkJYXh4eG8KLQkJCQkJICAgc2RmYQkJYXh4eG8KLQkJCQkJICBhc2RmYQkJYXh4eG8KLQkJCQkJIHhhc2RmYQkJYXh4eG8KLQkJCQkJYXN4eGRmYQkJYXh4eG8KLQkJCQkgICAgICAgYXN4YTtvZmEJCWF4eHhvCi0JCQkJICAgICAgYXNkZmFxd2VyCQlheHh4bwotCQkJCQkgICAgICBhCQlheHh4b2kKLQkJCQkJICAgICBmYQkJYXh4eG9pCi0JCQkJCSAgICBkZmEJCWF4eHhvaQotCQkJCQkgICBzZGZhCQlheHh4b2kKLQkJCQkJICBhc2RmYQkJYXh4eG9pCi0JCQkJCSB4YXNkZmEJCWF4eHhvaQotCQkJCQlhc3h4ZGZhCQlheHh4b2kKLQkJCQkgICAgICAgYXN4YTtvZmEJCWF4eHhvaQotCQkJCSAgICAgIGFzZGZhcXdlcgkJYXh4eG9pCi0JCQkJCSAgICAgIGEJCWF4eHhvaWsKLQkJCQkJICAgICBmYQkJYXh4eG9pawotCQkJCQkgICAgZGZhCQlheHh4b2lrCi0JCQkJCSAgIHNkZmEJCWF4eHhvaWsKLQkJCQkJICBhc2RmYQkJYXh4eG9pawotCQkJCQkgeGFzZGZhCQlheHh4b2lrCi0JCQkJCWFzeHhkZmEJCWF4eHhvaWsKLQkJCQkgICAgICAgYXN4YTtvZmEJCWF4eHhvaWsKLQkJCQkgICAgICBhc2RmYXF3ZXIJCWF4eHhvaWsKLQkJCQkJICAgICAgYQkJYXh4eG9pa2UKLQkJCQkJICAgICBmYQkJYXh4eG9pa2UKLQkJCQkJICAgIGRmYQkJYXh4eG9pa2UKLQkJCQkJICAgc2RmYQkJYXh4eG9pa2UKLQkJCQkJICBhc2RmYQkJYXh4eG9pa2UKLQkJCQkJIHhhc2RmYQkJYXh4eG9pa2UKLQkJCQkJYXN4eGRmYQkJYXh4eG9pa2UKLQkJCQkgICAgICAgYXN4YTtvZmEJCWF4eHhvaWtlCi0JCQkJICAgICAgYXNkZmFxd2VyCQlheHh4b2lrZQotCQkJCQkgICAgICBhCQlheHh4b2lrZXkKLQkJCQkJICAgICBmYQkJYXh4eG9pa2V5Ci0JCQkJCSAgICBkZmEJCWF4eHhvaWtleQotCQkJCQkgICBzZGZhCQlheHh4b2lrZXkKLQkJCQkJICBhc2RmYQkJYXh4eG9pa2V5Ci0JCQkJCSB4YXNkZmEJCWF4eHhvaWtleQotCQkJCQlhc3h4ZGZhCQlheHh4b2lrZXkKLQkJCQkgICAgICAgYXN4YTtvZmEJCWF4eHhvaWtleQotCQkJCSAgICAgIGFzZGZhcXdlcgkJYXh4eG9pa2V5Ci0KLXh4eHh4IHh4IHh4eHh4eCB4eHh4eHh4IHh4eHh4eHh4eCB4eHggeHh4eCB4eHh4eCB4eHh4eCB4eHggeHgKLXh4eHh4eHh4eHh4eHh4eHh4eCB4eHh4eCB4eHh4LCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eCB4eCB4eCB4eCB4eHh4eHh4LgoteHh4eCB4eHh4LgotCi0+IHh4IHh4LCB4eHh4IHh4eHggeHh4IHh4eHggeHh4IHh4eHh4IHh4eCB4eHggeHh4eHh4eCB4eHggeHh4eHggeHh4eHh4Ci0+IHh4eHh4eHg6IHh4eHggeHh4eHh4eCwgeHggeHh4eHh4IHh4eHggeHh4eHh4eHh4eAotCi1hYSBhYSBhYSBhYQotYmIgYmIgYmIgYmIKLWNjIGNjIGNjIGNjCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0MzYuaW4gYi9zcmMvdGVzdGRpci90ZXN0MzYuaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhOTVlYmIuLjAwMDAwMDAKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdDM2LmluCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDM2Lm9rIGIvc3JjL3Rlc3RkaXIvdGVzdDM2Lm9rCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Njc4MzNiLi4wMDAwMDAwCi0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3QzNi5vaworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Q1MC5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3Q1MC5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNiZjRiZi4uMDAwMDAwMAotLS0gYS9zcmMvdGVzdGRpci90ZXN0NTAuaW4KKysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi1UZXN0IGZvciBzaG9ydHBhdGhuYW1lICc6OCcgZXh0ZW5zaW9uLgotT25seSBmb3IgdXNlIG9uIFdpbjMyIHN5c3RlbXMhCi0KLVNUQVJUVEVTVAotOnNvIHNtYWxsLnZpbQotOmZ1biEgVGVzdEl0KGZpbGUsIGJpdHMsIGV4cGVjdGVkKQotCWxldCByZXM9Zm5hbWVtb2RpZnkoYTpmaWxlLGE6Yml0cykKLQlpZiBhOmV4cGVjdGVkID09ICcnCi0JCWVjaG8gIiciLmE6ZmlsZS4iJy0+KCIuYTpiaXRzLiIpLT4nIi5yZXMuIiciCi0JZWxzZQotCQlpZiBzdWJzdGl0dXRlKHJlcywnLycsJ1xcJywgJ2cnKSAhPSBzdWJzdGl0dXRlKCBhOmV4cGVjdGVkLCAnLycsJ1xcJywgJ2cnKSAKLQkJCWVjaG8gIkZBSUxFRDogJyIuYTpmaWxlLiInLT4oIi5hOmJpdHMuIiktPiciLnJlcy4iJyIKLQkJCWVjaG8gIkV4cGVjdGVkOiAnIi5hOmV4cGVjdGVkLiInIgotCQllbHNlCi0JCQllY2hvICJPSyIKLQkJZW5kaWYKLQllbmRpZgotZW5kZnVuCi06ZnVuISBNYWtlRGlyKCBkaXJuYW1lICkKLQkiZXhlICchbWtkaXIgJy5zdWJzdGl0dXRlKGE6ZGlybmFtZSwnLycsJ1xcJywnZycpCi0JY2FsbCBzeXN0ZW0oJ21rZGlyICcuc3Vic3RpdHV0ZShhOmRpcm5hbWUsJy8nLCdcXCcsJ2cnKSkKLWVuZGZ1bgotOmZ1biEgUk1EaXIoIGRpcm5hbWUpCi0JImV4ZSAnIXJtZGlyICcuc3Vic3RpdHV0ZShhOmRpcm5hbWUsJy8nLCdcXCcsJ2cnKQotCWNhbGwgc3lzdGVtKCdybWRpciAnLnN1YnN0aXR1dGUoYTpkaXJuYW1lLCcvJywnXFwnLCdnJykpCi1lbmRmdW4KLTpmdW4hIE1ha2VGaWxlKCBmaWxlbmFtZSkKLQkiZXhlICchY29weSBudWwgJy5zdWJzdGl0dXRlKGE6ZmlsZW5hbWUsJy8nLCdcXCcsJ2cnKQotCWNhbGwgc3lzdGVtKCdjb3B5IG51bCAnLnN1YnN0aXR1dGUoYTpmaWxlbmFtZSwnLycsJ1xcJywnZycpKQotZW5kZnVuCi06ZnVuISBUZXN0Q29sb25FaWdodCgpCi0gICByZWRpciEgPnRlc3Qub3V0Ci0JIiBUaGlzIGNvdWxkIGNoYW5nZSBmb3IgQ3lnV2luIHRvIC8vY3lnZHJpdmUvYwotCWxldCBkaXIxPSdjOi94LngueScKLQlpZiBmaWxlcmVhZGFibGUoZGlyMSkgfHwgaXNkaXJlY3RvcnkoZGlyMSkKLQkJZWNobyAiRkFUQUw6ICciLmRpcjEuIicgZXhpc3RzLCBjYW5ub3QgcnVuIHRlc3QiCi0JCXJldHVybgotCWVuZGlmCi0JbGV0IGZpbGUxPWRpcjEuJy96ei55LnR4dCcKLQlsZXQgbm9maWxlMT1kaXIxLicvei55LnR4dCcKLQlsZXQgZGlyMj1kaXIxLicvVmltSXNUaGVHcmVhdGVzdFNpbmNlU2xpY2VkQnJlYWQnCi0JbGV0IGZpbGUyPWRpcjIuJy96LnR4dCcKLQlsZXQgbm9maWxlMj1kaXIyLicvenoudHh0JwotCWNhbGwgTWFrZURpciggZGlyMSApCi0JbGV0IHJlc2RpcjEgPSBzdWJzdGl0dXRlKGZuYW1lbW9kaWZ5KGRpcjEsICc6cDo4JyksICdcXCQnLCAnJywgJycpCi0JaWYgcmVzZGlyMSAhfiAnXFZcXmM6L1hYXHhceFx4XHh+MS5ZXCQnCi0JCWVjaG8gIkZBVEFMOiB1bmV4cGVjdGVkIHNob3J0IG5hbWU6ICIgLiByZXNkaXIxCi0JCWVjaG8gIklORk86IHBsZWFzZSByZXBvcnQgeW91ciBPUyB0byB2aW0tZGV2IgotCQlyZXR1cm4KLQllbmRpZgotCWxldCByZXNmaWxlMT1yZXNkaXIxLicvWlpZfjEuVFhUJwotCWxldCByZXNub2ZpbGUxPXJlc2RpcjEuJy96LnkudHh0JwotCWxldCByZXNkaXIyPXJlc2RpcjEuJy9WSU1JU1R+MScKLQlsZXQgcmVzZmlsZTI9cmVzZGlyMi4nL3oudHh0JwotCWxldCByZXNub2ZpbGUyPXJlc2RpcjIuJy96ei50eHQnCi0JY2FsbCBNYWtlRGlyKCBkaXIyICkKLQljYWxsIE1ha2VGaWxlKCBmaWxlMSApCi0JY2FsbCBNYWtlRmlsZSggZmlsZTIgKQotCWNhbGwgVGVzdEl0KGZpbGUxLCAnOnA6OCcsIHJlc2ZpbGUxKQotCWNhbGwgVGVzdEl0KG5vZmlsZTEsICc6cDo4JywgcmVzbm9maWxlMSkKLQljYWxsIFRlc3RJdChmaWxlMiwgJzpwOjgnLCByZXNmaWxlMikKLQljYWxsIFRlc3RJdChub2ZpbGUyLCAnOnA6OCcsIHJlc25vZmlsZTIpCi0JY2FsbCBUZXN0SXQobm9maWxlMiwgJzpwOjg6aCcsIGZuYW1lbW9kaWZ5KHJlc25vZmlsZTIsJzpoJykpCi0JZXhlICdjZCAnLmRpcjEKLQljYWxsIFRlc3RJdChmaWxlMSwgJzouOjgnLCBzdHJwYXJ0KHJlc2ZpbGUxLHN0cmxlbihyZXNkaXIxKSsxKSkKLQljYWxsIFRlc3RJdChub2ZpbGUxLCAnOi46OCcsIHN0cnBhcnQocmVzbm9maWxlMSxzdHJsZW4ocmVzZGlyMSkrMSkpCi0JY2FsbCBUZXN0SXQoZmlsZTIsICc6Ljo4Jywgc3RycGFydChyZXNmaWxlMixzdHJsZW4ocmVzZGlyMSkrMSkpCi0JY2FsbCBUZXN0SXQobm9maWxlMiwgJzouOjgnLCBzdHJwYXJ0KHJlc25vZmlsZTIsc3RybGVuKHJlc2RpcjEpKzEpKQotCWxldCAkSE9NRT1kaXIxCi0JY2FsbCBUZXN0SXQoZmlsZTEsICc6fjo4JywgJ34nLnN0cnBhcnQocmVzZmlsZTEsc3RybGVuKHJlc2RpcjEpKSkKLQljYWxsIFRlc3RJdChub2ZpbGUxLCAnOn46OCcsICd+Jy5zdHJwYXJ0KHJlc25vZmlsZTEsc3RybGVuKHJlc2RpcjEpKSkKLQljYWxsIFRlc3RJdChmaWxlMiwgJzp+OjgnLCAnficuc3RycGFydChyZXNmaWxlMixzdHJsZW4ocmVzZGlyMSkpKQotCWNhbGwgVGVzdEl0KG5vZmlsZTIsICc6fjo4JywgJ34nLnN0cnBhcnQocmVzbm9maWxlMixzdHJsZW4ocmVzZGlyMSkpKQotCWNkIGM6LwotCWNhbGwgZGVsZXRlKCBmaWxlMiApCi0JY2FsbCBkZWxldGUoIGZpbGUxICkKLQljYWxsIFJNRGlyKCBkaXIyICkKLQljYWxsIFJNRGlyKCBkaXIxICkKLSAgICAgICBlY2hvCi0gICByZWRpciBFTkQKLWVuZGZ1bgotOmxldCBkaXIgPSBnZXRjd2QoKQotOmNhbGwgVGVzdENvbG9uRWlnaHQoKQotOmV4ZSAiY2QgIiAuIGRpcgotOmVkaXQhIHRlc3Qub3V0Ci06c2V0IGZmPWRvcwotOncKLTpxYSEKLUVORFRFU1QKLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDUwLm9rIGIvc3JjL3Rlc3RkaXIvdGVzdDUwLm9rCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MWVmMWQ2Li4wMDAwMDAwCi0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q1MC5vaworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLQotT0sKLU9LCi1PSwotT0sKLU9LCi1PSwotT0sKLU9LCi1PSwotT0sKLU9LCi1PSwotT0sKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfcmVnZXhfY2hhcl9jbGFzc2VzLnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfcmVnZXhfY2hhcl9jbGFzc2VzLnZpbQppbmRleCAyMTkyYjVlLi43ODczNTAyIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X3JlZ2V4X2NoYXJfY2xhc3Nlcy52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9yZWdleF9jaGFyX2NsYXNzZXMudmltCkBAIC0xLDUgKzEsMTEgQEAKICIgVGVzdHMgZm9yIHJlZ2V4cCB3aXRoIGJhY2tzbGFzaCBhbmQgb3RoZXIgc3BlY2lhbCBjaGFyYWN0ZXJzIGluc2lkZSBbXQogIiBBbHNvIHRlc3QgYmFja3NsYXNoIGZvciBoZXgvb2N0YWwgbnVtYmVyZWQgY2hhcmFjdGVyLgorIgoraWYgIWhhcygnbXVsdGlfYnl0ZScpCisgIGZpbmlzaAorZW5kaWYKKworc2NyaXB0ZW5jb2RpbmcgdXRmLTgKIAogZnVuY3Rpb24gUnVuU1Rlc3QodmFsdWUsIGNhbGxzLCBleHBlY3RlZCkKICAgbmV3CkBAIC01NiwzICs2MiwyMzcgQEAKICAgY2FsbCBSdW5TVGVzdCgiIHh5eiIsICJzL34vYmNkLyIsICIgYmNkIikKICAgY2FsbCBSdW5TVGVzdCgiIGJjZGJjZGJjZCIsICJzL35cXCsvQkIvIiwgIiBCQiIpCiBlbmRmdW5jdGlvbgorCisiIFRlc3QgY2hhcmFjdGVyIGNsYXNzZXMgaW4gcmVnZXhwIHVzaW5nIHJlZ2V4cGVuZ2luZSAwLCAxLCAyLgorZnVuYyBUZXN0X3JlZ2V4X2NoYXJfY2xhc3NlcygpCisgIG5ldworICBsZXQgc2F2ZV9lbmMgPSAmZW5jb2RpbmcKKyAgc2V0IGVuY29kaW5nPXV0Zi04CisKKyAgbGV0IGlucHV0ID0gIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISVhZWltcXV5fYGFiY2RlZmdoaXd4eXp7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIgorCisgICIgRm9ybWF0IGlzIFtjbWRfdG9fcnVuLCBleHBlY3RlZF9vdXRwdXRdCisgIGxldCB0ZXN0cyA9IFsKKyAgICBcIFsnOnMvXCUjPTBcZC8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzo7PD0+P0BBQkNERUZHSElYWVpbXF1eX2BhYmNkZWZnaGl3eHl6e3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVxkLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vOjs8PT4/QEFCQ0RFRkdISVhZWltcXV5fYGFiY2RlZmdoaXd4eXp7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yXGQvL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi86Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbMC05XS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzo7PD0+P0BBQkNERUZHSElYWVpbXF1eX2BhYmNkZWZnaGl3eHl6e3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVswLTldLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vOjs8PT4/QEFCQ0RFRkdISVhZWltcXV5fYGFiY2RlZmdoaXd4eXp7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yWzAtOV0vL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi86Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBcRC8vZycsCisgICAgXCAiMDEyMzQ1Njc4OSJdLAorICAgIFwgWyc6cy9cJSM9MVxELy9nJywKKyAgICBcICIwMTIzNDU2Nzg5Il0sCisgICAgXCBbJzpzL1wlIz0yXEQvL2cnLAorICAgIFwgIjAxMjM0NTY3ODkiXSwKKyAgICBcIFsnOnMvXCUjPTBbXjAtOV0vL2cnLAorICAgIFwgIjAxMjM0NTY3ODkiXSwKKyAgICBcIFsnOnMvXCUjPTFbXjAtOV0vL2cnLAorICAgIFwgIjAxMjM0NTY3ODkiXSwKKyAgICBcIFsnOnMvXCUjPTJbXjAtOV0vL2cnLAorICAgIFwgIjAxMjM0NTY3ODkiXSwKKyAgICBcIFsnOnMvXCUjPTBcby8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzg5Ojs8PT4/QEFCQ0RFRkdISVhZWltcXV5fYGFiY2RlZmdoaXd4eXp7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0xXG8vL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi84OTo7PD0+P0BBQkNERUZHSElYWVpbXF1eX2BhYmNkZWZnaGl3eHl6e3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MlxvLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vODk6Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbMC03XS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzg5Ojs8PT4/QEFCQ0RFRkdISVhZWltcXV5fYGFiY2RlZmdoaXd4eXp7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0xWzAtN10vL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi84OTo7PD0+P0BBQkNERUZHSElYWVpbXF1eX2BhYmNkZWZnaGl3eHl6e3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MlswLTddLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vODk6Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBcTy8vZycsCisgICAgXCAiMDEyMzQ1NjciXSwKKyAgICBcIFsnOnMvXCUjPTFcTy8vZycsCisgICAgXCAiMDEyMzQ1NjciXSwKKyAgICBcIFsnOnMvXCUjPTJcTy8vZycsCisgICAgXCAiMDEyMzQ1NjciXSwKKyAgICBcIFsnOnMvXCUjPTBbXjAtN10vL2cnLAorICAgIFwgIjAxMjM0NTY3Il0sCisgICAgXCBbJzpzL1wlIz0xW14wLTddLy9nJywKKyAgICBcICIwMTIzNDU2NyJdLAorICAgIFwgWyc6cy9cJSM9MlteMC03XS8vZycsCisgICAgXCAiMDEyMzQ1NjciXSwKKyAgICBcIFsnOnMvXCUjPTBceC8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzo7PD0+P0BHSElYWVpbXF1eX2BnaGl3eHl6e3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVx4Ly9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vOjs8PT4/QEdISVhZWltcXV5fYGdoaXd4eXp7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yXHgvL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi86Ozw9Pj9AR0hJWFlaW1xdXl9gZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbMC05QS1GYS1mXS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzo7PD0+P0BHSElYWVpbXF1eX2BnaGl3eHl6e3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVswLTlBLUZhLWZdLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vOjs8PT4/QEdISVhZWltcXV5fYGdoaXd4eXp7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yWzAtOUEtRmEtZl0vL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi86Ozw9Pj9AR0hJWFlaW1xdXl9gZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBcWC8vZycsCisgICAgXCAiMDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZiJdLAorICAgIFwgWyc6cy9cJSM9MVxYLy9nJywKKyAgICBcICIwMTIzNDU2Nzg5QUJDREVGYWJjZGVmIl0sCisgICAgXCBbJzpzL1wlIz0yXFgvL2cnLAorICAgIFwgIjAxMjM0NTY3ODlBQkNERUZhYmNkZWYiXSwKKyAgICBcIFsnOnMvXCUjPTBbXjAtOUEtRmEtZl0vL2cnLAorICAgIFwgIjAxMjM0NTY3ODlBQkNERUZhYmNkZWYiXSwKKyAgICBcIFsnOnMvXCUjPTFbXjAtOUEtRmEtZl0vL2cnLAorICAgIFwgIjAxMjM0NTY3ODlBQkNERUZhYmNkZWYiXSwKKyAgICBcIFsnOnMvXCUjPTJbXjAtOUEtRmEtZl0vL2cnLAorICAgIFwgIjAxMjM0NTY3ODlBQkNERUZhYmNkZWYiXSwKKyAgICBcIFsnOnMvXCUjPTBcdy8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzo7PD0+P0BbXF1eYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTFcdy8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzo7PD0+P0BbXF1eYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTJcdy8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzo7PD0+P0BbXF1eYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbMC05QS1aYS16X10vL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi86Ozw9Pj9AW1xdXmB7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0xWzAtOUEtWmEtel9dLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vOjs8PT4/QFtcXV5ge3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MlswLTlBLVphLXpfXS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzo7PD0+P0BbXF1eYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBcVy8vZycsCisgICAgXCAiMDEyMzQ1Njc4OUFCQ0RFRkdISVhZWl9hYmNkZWZnaGl3eHl6Il0sCisgICAgXCBbJzpzL1wlIz0xXFcvL2cnLAorICAgIFwgIjAxMjM0NTY3ODlBQkNERUZHSElYWVpfYWJjZGVmZ2hpd3h5eiJdLAorICAgIFwgWyc6cy9cJSM9MlxXLy9nJywKKyAgICBcICIwMTIzNDU2Nzg5QUJDREVGR0hJWFlaX2FiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTBbXjAtOUEtWmEtel9dLy9nJywKKyAgICBcICIwMTIzNDU2Nzg5QUJDREVGR0hJWFlaX2FiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTFbXjAtOUEtWmEtel9dLy9nJywKKyAgICBcICIwMTIzNDU2Nzg5QUJDREVGR0hJWFlaX2FiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTJbXjAtOUEtWmEtel9dLy9nJywKKyAgICBcICIwMTIzNDU2Nzg5QUJDREVGR0hJWFlaX2FiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTBcaC8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXmB7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0xXGgvL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi8wMTIzNDU2Nzg5Ojs8PT4/QFtcXV5ge3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MlxoLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vMDEyMzQ1Njc4OTo7PD0+P0BbXF1eYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbQS1aYS16X10vL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi8wMTIzNDU2Nzg5Ojs8PT4/QFtcXV5ge3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVtBLVphLXpfXS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXmB7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yW0EtWmEtel9dLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vMDEyMzQ1Njc4OTo7PD0+P0BbXF1eYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBcSC8vZycsCisgICAgXCAiQUJDREVGR0hJWFlaX2FiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTFcSC8vZycsCisgICAgXCAiQUJDREVGR0hJWFlaX2FiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTJcSC8vZycsCisgICAgXCAiQUJDREVGR0hJWFlaX2FiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTBbXkEtWmEtel9dLy9nJywKKyAgICBcICJBQkNERUZHSElYWVpfYWJjZGVmZ2hpd3h5eiJdLAorICAgIFwgWyc6cy9cJSM9MVteQS1aYS16X10vL2cnLAorICAgIFwgIkFCQ0RFRkdISVhZWl9hYmNkZWZnaGl3eHl6Il0sCisgICAgXCBbJzpzL1wlIz0yW15BLVphLXpfXS8vZycsCisgICAgXCAiQUJDREVGR0hJWFlaX2FiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTBcYS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXl9ge3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVxhLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vMDEyMzQ1Njc4OTo7PD0+P0BbXF1eX2B7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yXGEvL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi8wMTIzNDU2Nzg5Ojs8PT4/QFtcXV5fYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbQS1aYS16XS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXl9ge3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVtBLVphLXpdLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vMDEyMzQ1Njc4OTo7PD0+P0BbXF1eX2B7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yW0EtWmEtel0vL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi8wMTIzNDU2Nzg5Ojs8PT4/QFtcXV5fYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBcQS8vZycsCisgICAgXCAiQUJDREVGR0hJWFlaYWJjZGVmZ2hpd3h5eiJdLAorICAgIFwgWyc6cy9cJSM9MVxBLy9nJywKKyAgICBcICJBQkNERUZHSElYWVphYmNkZWZnaGl3eHl6Il0sCisgICAgXCBbJzpzL1wlIz0yXEEvL2cnLAorICAgIFwgIkFCQ0RFRkdISVhZWmFiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTBbXkEtWmEtel0vL2cnLAorICAgIFwgIkFCQ0RFRkdISVhZWmFiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTFbXkEtWmEtel0vL2cnLAorICAgIFwgIkFCQ0RFRkdISVhZWmFiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTJbXkEtWmEtel0vL2cnLAorICAgIFwgIkFCQ0RFRkdISVhZWmFiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTBcbC8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9ge3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVxsLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElYWVpbXF1eX2B7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yXGwvL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISVhZWltcXV5fYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbYS16XS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9ge3x9flw8Qy0/Plx1MDA4MFx1MDA4Mlx1MDA5MFx1MDA5YqaxvMfT6SJdLAorICAgIFwgWyc6cy9cJSM9MVthLXpdLy9nJywKKyAgICBcICJcdFw8Qy1MPlw8Qy1NPiAhXCIjJCUmJygpIysnLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElYWVpbXF1eX2B7fH1+XDxDLT8+XHUwMDgwXHUwMDgyXHUwMDkwXHUwMDliprG8x9PpIl0sCisgICAgXCBbJzpzL1wlIz0yW2Etel0vL2cnLAorICAgIFwgIlx0XDxDLUw+XDxDLU0+ICFcIiMkJSYnKCkjKyctLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISVhZWltcXV5fYHt8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBcTC8vZycsCisgICAgXCAiYWJjZGVmZ2hpd3h5eiJdLAorICAgIFwgWyc6cy9cJSM9MVxMLy9nJywKKyAgICBcICJhYmNkZWZnaGl3eHl6Il0sCisgICAgXCBbJzpzL1wlIz0yXEwvL2cnLAorICAgIFwgImFiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTBbXmEtel0vL2cnLAorICAgIFwgImFiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTFbXmEtel0vL2cnLAorICAgIFwgImFiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTJbXmEtel0vL2cnLAorICAgIFwgImFiY2RlZmdoaXd4eXoiXSwKKyAgICBcIFsnOnMvXCUjPTBcdS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTFcdS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTJcdS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbQS1aXS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTFbQS1aXS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTJbQS1aXS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBcVS8vZycsCisgICAgXCAiQUJDREVGR0hJWFlaIl0sCisgICAgXCBbJzpzL1wlIz0xXFUvL2cnLAorICAgIFwgIkFCQ0RFRkdISVhZWiJdLAorICAgIFwgWyc6cy9cJSM9MlxVLy9nJywKKyAgICBcICJBQkNERUZHSElYWVoiXSwKKyAgICBcIFsnOnMvXCUjPTBbXkEtWl0vL2cnLAorICAgIFwgIkFCQ0RFRkdISVhZWiJdLAorICAgIFwgWyc6cy9cJSM9MVteQS1aXS8vZycsCisgICAgXCAiQUJDREVGR0hJWFlaIl0sCisgICAgXCBbJzpzL1wlIz0yW15BLVpdLy9nJywKKyAgICBcICJBQkNERUZHSElYWVoiXSwKKyAgICBcIFsnOnMvXCUjPTBcJScgLiBsaW5lKCcuJykgLiAnbF5cdC4uLi8vZycsCisgICAgXCAiIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTFcJScgLiBsaW5lKCcuJykgLiAnbF5cdC4uLi8vZycsCisgICAgXCAiIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTJcJScgLiBsaW5lKCcuJykgLiAnbF5cdC4uLi8vZycsCisgICAgXCAiIVwiIyQlJicoKSMrJy0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9gYWJjZGVmZ2hpd3h5ent8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbMC16XS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uL3t8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTFbMC16XS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uL3t8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTJbMC16XS8vZycsCisgICAgXCAiXHRcPEMtTD5cPEMtTT4gIVwiIyQlJicoKSMrJy0uL3t8fX5cPEMtPz5cdTAwODBcdTAwODJcdTAwOTBcdTAwOWKmsbzH0+kiXSwKKyAgICBcIFsnOnMvXCUjPTBbXjAtel0vL2cnLAorICAgIFwgIjAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJWFlaW1xdXl9gYWJjZGVmZ2hpd3h5eiJdLAorICAgIFwgWyc6cy9cJSM9MVteMC16XS8vZycsCisgICAgXCAiMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElYWVpbXF1eX2BhYmNkZWZnaGl3eHl6Il0sCisgICAgXCBbJzpzL1wlIz0yW14wLXpdLy9nJywKKyAgICBcICIwMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISVhZWltcXV5fYGFiY2RlZmdoaXd4eXoiXQorICAgIFxdCisKKyAgZm9yIFtjbWQsIGV4cGVjdGVkXSBpbiB0ZXN0cworICAgICAgY2FsbCBhcHBlbmQoMCwgaW5wdXQpCisgICAgICBjYWxsIGN1cnNvcigxLCAxKQorICAgICAgZXhlIGNtZAorICAgICAgY2FsbCBhc3NlcnRfZXF1YWwoZXhwZWN0ZWQsIGdldGxpbmUoMSksIGNtZCkKKyAgZW5kZm9yCisKKyAgbGV0ICZlbmNvZGluZyA9IHNhdmVfZW5jCisgIGVuZXchCisgIGNsb3NlCitlbmRmdW5jCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0X3Nob3J0cGF0aG5hbWUudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9zaG9ydHBhdGhuYW1lLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTUxNzg4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9zaG9ydHBhdGhuYW1lLnZpbQpAQCAtMCwwICsxLDcwIEBACisiIFRlc3QgZm9yIHNob3J0cGF0aG5hbWUgJzo4JyBleHRlbnNpb24uCisiIE9ubHkgZm9yIHVzZSBvbiBXaW4zMiBzeXN0ZW1zIQorCitpZiAhaGFzKCd3aW4zMicpCisgIGZpbmlzaAorZW5kaWYKKworZnVuYyBUZXN0SXQoZmlsZSwgYml0cywgZXhwZWN0ZWQpCisgIGxldCByZXMgPSBmbmFtZW1vZGlmeShhOmZpbGUsIGE6Yml0cykKKyAgaWYgYTpleHBlY3RlZCAhPSAnJworICAgIGNhbGwgYXNzZXJ0X2VxdWFsKHN1YnN0aXR1dGUoYTpleHBlY3RlZCwgJy8nLCAnXFwnLCAnZycpLAorCQlcIHN1YnN0aXR1dGUocmVzLCAnLycsICdcXCcsICdnJyksCisJCVwgIiciIC4gYTpmaWxlIC4gIictPigiIC4gYTpiaXRzIC4gIiktPiciIC4gcmVzIC4gIiciKQorICBlbmRpZgorZW5kZnVuYworCitmdW5jIFRlc3RfQ29sb25FaWdodCgpCisgIGxldCBzYXZlX2RpciA9IGdldGN3ZCgpCisKKyAgIiBUaGlzIGNvdWxkIGNoYW5nZSBmb3IgQ3lnV2luIHRvIC8vY3lnZHJpdmUvYworICBsZXQgZGlyMSA9ICdjOi94LngueScKKyAgaWYgZmlsZXJlYWRhYmxlKGRpcjEpIHx8IGlzZGlyZWN0b3J5KGRpcjEpCisgICAgY2FsbCBhc3NlcnRfcmVwb3J0KCJGYXRhbDogJyIgLiBkaXIxIC4gIicgZXhpc3RzLCBjYW5ub3QgcnVuIHRlc3QiKQorICAgIHJldHVybgorICBlbmRpZgorCisgIGxldCBmaWxlMSA9IGRpcjEgLiAnL3p6LnkudHh0JworICBsZXQgbm9maWxlMSA9IGRpcjEgLiAnL3oueS50eHQnCisgIGxldCBkaXIyID0gZGlyMSAuICcvVmltSXNUaGVHcmVhdGVzdFNpbmNlU2xpY2VkQnJlYWQnCisgIGxldCBmaWxlMiA9IGRpcjIgLiAnL3oudHh0JworICBsZXQgbm9maWxlMiA9IGRpcjIgLiAnL3p6LnR4dCcKKworICBjYWxsIG1rZGlyKGRpcjEpCisgIGxldCByZXNkaXIxID0gc3Vic3RpdHV0ZShmbmFtZW1vZGlmeShkaXIxLCAnOnA6OCcpLCAnLyQnLCAnJywgJycpCisgIGNhbGwgYXNzZXJ0X21hdGNoKCdcVlxeYzovWFhceFx4XHhceH4xLllcJCcsIHJlc2RpcjEpCisKKyAgbGV0IHJlc2ZpbGUxID0gcmVzZGlyMSAuICcvWlpZfjEuVFhUJworICBsZXQgcmVzbm9maWxlMSA9IHJlc2RpcjEgLiAnL3oueS50eHQnCisgIGxldCByZXNkaXIyID0gcmVzZGlyMSAuICcvVklNSVNUfjEnCisgIGxldCByZXNmaWxlMiA9IHJlc2RpcjIgLiAnL3oudHh0JworICBsZXQgcmVzbm9maWxlMiA9IHJlc2RpcjIgLiAnL3p6LnR4dCcKKworICBjYWxsIG1rZGlyKGRpcjIpCisgIGNhbGwgd3JpdGVmaWxlKFtdLCBmaWxlMSkKKyAgY2FsbCB3cml0ZWZpbGUoW10sIGZpbGUyKQorCisgIGNhbGwgVGVzdEl0KGZpbGUxLCAnOnA6OCcsIHJlc2ZpbGUxKQorICBjYWxsIFRlc3RJdChub2ZpbGUxLCAnOnA6OCcsIHJlc25vZmlsZTEpCisgIGNhbGwgVGVzdEl0KGZpbGUyLCAnOnA6OCcsIHJlc2ZpbGUyKQorICBjYWxsIFRlc3RJdChub2ZpbGUyLCAnOnA6OCcsIHJlc25vZmlsZTIpCisgIGNhbGwgVGVzdEl0KG5vZmlsZTIsICc6cDo4OmgnLCBmbmFtZW1vZGlmeShyZXNub2ZpbGUyLCAnOmgnKSkKKyAgZXhlICdjZCAnIC4gZGlyMQorICBjYWxsIFRlc3RJdChmaWxlMSwgJzouOjgnLCBzdHJwYXJ0KHJlc2ZpbGUxLCBzdHJsZW4ocmVzZGlyMSkrMSkpCisgIGNhbGwgVGVzdEl0KG5vZmlsZTEsICc6Ljo4Jywgc3RycGFydChyZXNub2ZpbGUxLCBzdHJsZW4ocmVzZGlyMSkrMSkpCisgIGNhbGwgVGVzdEl0KGZpbGUyLCAnOi46OCcsIHN0cnBhcnQocmVzZmlsZTIsIHN0cmxlbihyZXNkaXIxKSsxKSkKKyAgY2FsbCBUZXN0SXQobm9maWxlMiwgJzouOjgnLCBzdHJwYXJ0KHJlc25vZmlsZTIsIHN0cmxlbihyZXNkaXIxKSsxKSkKKyAgbGV0ICRIT01FPWRpcjEKKyAgY2FsbCBUZXN0SXQoZmlsZTEsICc6fjo4JywgJ34nIC4gc3RycGFydChyZXNmaWxlMSwgc3RybGVuKHJlc2RpcjEpKSkKKyAgY2FsbCBUZXN0SXQobm9maWxlMSwgJzp+OjgnLCAnficgLiBzdHJwYXJ0KHJlc25vZmlsZTEsIHN0cmxlbihyZXNkaXIxKSkpCisgIGNhbGwgVGVzdEl0KGZpbGUyLCAnOn46OCcsICd+JyAuIHN0cnBhcnQocmVzZmlsZTIsIHN0cmxlbihyZXNkaXIxKSkpCisgIGNhbGwgVGVzdEl0KG5vZmlsZTIsICc6fjo4JywgJ34nIC4gc3RycGFydChyZXNub2ZpbGUyLCBzdHJsZW4ocmVzZGlyMSkpKQorCisgIGNkIGM6LworICBjYWxsIGRlbGV0ZShmaWxlMikKKyAgY2FsbCBkZWxldGUoZmlsZTEpCisgIGNhbGwgZGVsZXRlKGRpcjIsICdkJykKKyAgY2FsbCBkZWxldGUoZGlyMSwgJ2QnKQorCisgIGV4ZSAiY2QgIiAuIHNhdmVfZGlyCitlbmRmdW5jCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0X3RleHRmb3JtYXQudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF90ZXh0Zm9ybWF0LnZpbQppbmRleCA5OTk1NjZjLi4zNzdmNzYxIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X3RleHRmb3JtYXQudmltCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3RfdGV4dGZvcm1hdC52aW0KQEAgLTE2NiwzICsxNjYsMjg5IEBACiAgIHNldGwgYWkmIHR3JiBmbyYgc2kmIGNvbW1lbnRzJgogICBlbmV3IQogZW5kZnVuYworCisiIFRlc3RzIGZvciA6cmlnaHQsIDpjZW50ZXIgYW5kIDpsZWZ0IG9uIHRleHQgd2l0aCBlbWJlZGRlZCBUQUIuCitmdW5jIFRlc3RfZm9ybWF0X2FsaWduKCkKKyAgZW5ldyEKKyAgc2V0IHR3PTY1CisKKyAgIiA6bGVmdCBhbGlnbm1lbnQKKyAgY2FsbCBhcHBlbmQoMCwgWworCSAgICAgIFwgIgl0ZXN0IGZvciA6bGVmdCIsCisJICAgICAgXCAiCSAgYQkJYSIsCisJICAgICAgXCAiCSAgICBmYQkJYSIsCisJICAgICAgXCAiCSAgZGZhCQlhIiwKKwkgICAgICBcICIJICAgICAgICBzZGZhCQlhIiwKKwkgICAgICBcICIJICBhc2RmYQkJYSIsCisJICAgICAgXCAiCSAgICAgICAgeGFzZGZhCQlhIiwKKwkgICAgICBcICJhc3h4ZGZhCQlhIiwKKwkgICAgICBcIF0pCisgICVsZWZ0CisgIGNhbGwgYXNzZXJ0X2VxdWFsKFsKKwkgICAgICBcICJ0ZXN0IGZvciA6bGVmdCIsCisJICAgICAgXCAiYQkJYSIsCisJICAgICAgXCAiZmEJCWEiLAorCSAgICAgIFwgImRmYQkJYSIsCisJICAgICAgXCAic2RmYQkJYSIsCisJICAgICAgXCAiYXNkZmEJCWEiLAorCSAgICAgIFwgInhhc2RmYQkJYSIsCisJICAgICAgXCAiYXN4eGRmYQkJYSIsCisJICAgICAgXCAiIgorCSAgICAgIFwgXSwgZ2V0bGluZSgxLCAnJCcpKQorICBlbmV3IQorCisgICIgOmNlbnRlciBhbGlnbm1lbnQKKyAgY2FsbCBhcHBlbmQoMCwgWworCSAgICAgIFwgIgl0ZXN0IGZvciA6Y2VudGVyIiwKKwkgICAgICBcICIJICBhCQlhIiwKKwkgICAgICBcICIJICAgIGZhCQlhZmQgYXNkZiIsCisJICAgICAgXCAiCSAgZGZhCQlhIiwKKwkgICAgICBcICIJICAgICAgICBzZGZhCQlhZmQgYXNkZiIsCisJICAgICAgXCAiCSAgYXNkZmEJCWEiLAorCSAgICAgIFwgIgkgICAgICAgIHhhc2RmYQkJYXNkZmFzZGZhc2RmYXNkZmFzZGYiLAorCSAgICAgIFwgImFzeHhkZmEJCWEiCisJICAgICAgXCBdKQorICAlY2VudGVyCisgIGNhbGwgYXNzZXJ0X2VxdWFsKFsKKwkgICAgICBcICIJCQl0ZXN0IGZvciA6Y2VudGVyIiwKKwkgICAgICBcICIJCQkgYQkJYSIsCisJICAgICAgXCAiCQkgICAgICBmYQkJYWZkIGFzZGYiLAorCSAgICAgIFwgIgkJCSBkZmEJCWEiLAorCSAgICAgIFwgIgkJICAgIHNkZmEJCWFmZCBhc2RmIiwKKwkgICAgICBcICIJCQkgYXNkZmEJCWEiLAorCSAgICAgIFwgIgkgICAgICB4YXNkZmEJCWFzZGZhc2RmYXNkZmFzZGZhc2RmIiwKKwkgICAgICBcICIJCQlhc3h4ZGZhCQlhIiwKKwkgICAgICBcICIiCisJICAgICAgXCBdLCBnZXRsaW5lKDEsICckJykpCisgIGVuZXchCisKKyAgIiA6cmlnaHQgYWxpZ25tZW50CisgIGNhbGwgYXBwZW5kKDAsIFsKKwkgICAgICBcICIJdGVzdCBmb3IgOnJpZ2h0IiwKKwkgICAgICBcICIJYQkJYSIsCisJICAgICAgXCAiCWZhCQlhIiwKKwkgICAgICBcICIJZGZhCQlhIiwKKwkgICAgICBcICIJc2RmYQkJYSIsCisJICAgICAgXCAiCWFzZGZhCQlhIiwKKwkgICAgICBcICIJeGFzZGZhCQlhIiwKKwkgICAgICBcICIJYXN4eGRmYQkJYSIsCisJICAgICAgXCAiCWFzeGE7b2ZhCQlhIiwKKwkgICAgICBcICIJYXNkZmFxd2VyCQlhIiwKKwkgICAgICBcICIJYQkJYXgiLAorCSAgICAgIFwgIglmYQkJYXgiLAorCSAgICAgIFwgIglkZmEJCWF4IiwKKwkgICAgICBcICIJc2RmYQkJYXgiLAorCSAgICAgIFwgIglhc2RmYQkJYXgiLAorCSAgICAgIFwgIgl4YXNkZmEJCWF4IiwKKwkgICAgICBcICIJYXN4eGRmYQkJYXgiLAorCSAgICAgIFwgIglhc3hhO29mYQkJYXgiLAorCSAgICAgIFwgIglhc2RmYXF3ZXIJCWF4IiwKKwkgICAgICBcICIJYQkJYXh4IiwKKwkgICAgICBcICIJZmEJCWF4eCIsCisJICAgICAgXCAiCWRmYQkJYXh4IiwKKwkgICAgICBcICIJc2RmYQkJYXh4IiwKKwkgICAgICBcICIJYXNkZmEJCWF4eCIsCisJICAgICAgXCAiCXhhc2RmYQkJYXh4IiwKKwkgICAgICBcICIJYXN4eGRmYQkJYXh4IiwKKwkgICAgICBcICIJYXN4YTtvZmEJCWF4eCIsCisJICAgICAgXCAiCWFzZGZhcXdlcgkJYXh4IiwKKwkgICAgICBcICIJYQkJYXh4eCIsCisJICAgICAgXCAiCWZhCQlheHh4IiwKKwkgICAgICBcICIJZGZhCQlheHh4IiwKKwkgICAgICBcICIJc2RmYQkJYXh4eCIsCisJICAgICAgXCAiCWFzZGZhCQlheHh4IiwKKwkgICAgICBcICIJeGFzZGZhCQlheHh4IiwKKwkgICAgICBcICIJYXN4eGRmYQkJYXh4eCIsCisJICAgICAgXCAiCWFzeGE7b2ZhCQlheHh4IiwKKwkgICAgICBcICIJYXNkZmFxd2VyCQlheHh4IiwKKwkgICAgICBcICIJYQkJYXh4eG8iLAorCSAgICAgIFwgIglmYQkJYXh4eG8iLAorCSAgICAgIFwgIglkZmEJCWF4eHhvIiwKKwkgICAgICBcICIJc2RmYQkJYXh4eG8iLAorCSAgICAgIFwgIglhc2RmYQkJYXh4eG8iLAorCSAgICAgIFwgIgl4YXNkZmEJCWF4eHhvIiwKKwkgICAgICBcICIJYXN4eGRmYQkJYXh4eG8iLAorCSAgICAgIFwgIglhc3hhO29mYQkJYXh4eG8iLAorCSAgICAgIFwgIglhc2RmYXF3ZXIJCWF4eHhvIiwKKwkgICAgICBcICIJYQkJYXh4eG9pIiwKKwkgICAgICBcICIJZmEJCWF4eHhvaSIsCisJICAgICAgXCAiCWRmYQkJYXh4eG9pIiwKKwkgICAgICBcICIJc2RmYQkJYXh4eG9pIiwKKwkgICAgICBcICIJYXNkZmEJCWF4eHhvaSIsCisJICAgICAgXCAiCXhhc2RmYQkJYXh4eG9pIiwKKwkgICAgICBcICIJYXN4eGRmYQkJYXh4eG9pIiwKKwkgICAgICBcICIJYXN4YTtvZmEJCWF4eHhvaSIsCisJICAgICAgXCAiCWFzZGZhcXdlcgkJYXh4eG9pIiwKKwkgICAgICBcICIJYQkJYXh4eG9payIsCisJICAgICAgXCAiCWZhCQlheHh4b2lrIiwKKwkgICAgICBcICIJZGZhCQlheHh4b2lrIiwKKwkgICAgICBcICIJc2RmYQkJYXh4eG9payIsCisJICAgICAgXCAiCWFzZGZhCQlheHh4b2lrIiwKKwkgICAgICBcICIJeGFzZGZhCQlheHh4b2lrIiwKKwkgICAgICBcICIJYXN4eGRmYQkJYXh4eG9payIsCisJICAgICAgXCAiCWFzeGE7b2ZhCQlheHh4b2lrIiwKKwkgICAgICBcICIJYXNkZmFxd2VyCQlheHh4b2lrIiwKKwkgICAgICBcICIJYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIglmYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIglkZmEJCWF4eHhvaWtlIiwKKwkgICAgICBcICIJc2RmYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIglhc2RmYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIgl4YXNkZmEJCWF4eHhvaWtlIiwKKwkgICAgICBcICIJYXN4eGRmYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIglhc3hhO29mYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIglhc2RmYXF3ZXIJCWF4eHhvaWtlIiwKKwkgICAgICBcICIJYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICIJZmEJCWF4eHhvaWtleSIsCisJICAgICAgXCAiCWRmYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICIJc2RmYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICIJYXNkZmEJCWF4eHhvaWtleSIsCisJICAgICAgXCAiCXhhc2RmYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICIJYXN4eGRmYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICIJYXN4YTtvZmEJCWF4eHhvaWtleSIsCisJICAgICAgXCAiCWFzZGZhcXdlcgkJYXh4eG9pa2V5IiwKKwkgICAgICBcIF0pCisgICVyaWdodAorICBjYWxsIGFzc2VydF9lcXVhbChbCisJICAgICAgXCAiXHRcdFx0XHQJCSAgdGVzdCBmb3IgOnJpZ2h0IiwKKwkgICAgICBcICJcdFx0XHRcdAkJICAgICAgYQkJYSIsCisJICAgICAgXCAiXHRcdFx0XHQJCSAgICAgZmEJCWEiLAorCSAgICAgIFwgIlx0XHRcdFx0CQkgICAgZGZhCQlhIiwKKwkgICAgICBcICJcdFx0XHRcdAkJICAgc2RmYQkJYSIsCisJICAgICAgXCAiXHRcdFx0XHQJCSAgYXNkZmEJCWEiLAorCSAgICAgIFwgIlx0XHRcdFx0CQkgeGFzZGZhCQlhIiwKKwkgICAgICBcICJcdFx0XHRcdAkJYXN4eGRmYQkJYSIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgICAgIGFzeGE7b2ZhCQlhIiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgICBhc2RmYXF3ZXIJCWEiLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgICAgIGEJCWF4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgIGZhCQlheCIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgIGRmYQkJYXgiLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgIHNkZmEJCWF4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgIGFzZGZhCQlheCIsCisJICAgICAgXCAiXHRcdFx0XHQJIHhhc2RmYQkJYXgiLAorCSAgICAgIFwgIlx0XHRcdFx0CWFzeHhkZmEJCWF4IiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgICBhc3hhO29mYQkJYXgiLAorCSAgICAgIFwgIlx0XHRcdFx0ICAgICAgYXNkZmFxd2VyCQlheCIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgICAgYQkJYXh4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgIGZhCQlheHgiLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgICBkZmEJCWF4eCIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgc2RmYQkJYXh4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgIGFzZGZhCQlheHgiLAorCSAgICAgIFwgIlx0XHRcdFx0CSB4YXNkZmEJCWF4eCIsCisJICAgICAgXCAiXHRcdFx0XHQJYXN4eGRmYQkJYXh4IiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgICBhc3hhO29mYQkJYXh4IiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgIGFzZGZhcXdlcgkJYXh4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgICBhCQlheHh4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgIGZhCQlheHh4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgZGZhCQlheHh4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgICBzZGZhCQlheHh4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgIGFzZGZhCQlheHh4IiwKKwkgICAgICBcICJcdFx0XHRcdAkgeGFzZGZhCQlheHh4IiwKKwkgICAgICBcICJcdFx0XHRcdAlhc3h4ZGZhCQlheHh4IiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgICBhc3hhO29mYQkJYXh4eCIsCisJICAgICAgXCAiXHRcdFx0XHQgICAgICBhc2RmYXF3ZXIJCWF4eHgiLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgICAgIGEJCWF4eHhvIiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgIGZhCQlheHh4byIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgIGRmYQkJYXh4eG8iLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgIHNkZmEJCWF4eHhvIiwKKwkgICAgICBcICJcdFx0XHRcdAkgIGFzZGZhCQlheHh4byIsCisJICAgICAgXCAiXHRcdFx0XHQJIHhhc2RmYQkJYXh4eG8iLAorCSAgICAgIFwgIlx0XHRcdFx0CWFzeHhkZmEJCWF4eHhvIiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgICBhc3hhO29mYQkJYXh4eG8iLAorCSAgICAgIFwgIlx0XHRcdFx0ICAgICAgYXNkZmFxd2VyCQlheHh4byIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgICAgYQkJYXh4eG9pIiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgIGZhCQlheHh4b2kiLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgICBkZmEJCWF4eHhvaSIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgc2RmYQkJYXh4eG9pIiwKKwkgICAgICBcICJcdFx0XHRcdAkgIGFzZGZhCQlheHh4b2kiLAorCSAgICAgIFwgIlx0XHRcdFx0CSB4YXNkZmEJCWF4eHhvaSIsCisJICAgICAgXCAiXHRcdFx0XHQJYXN4eGRmYQkJYXh4eG9pIiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgICBhc3hhO29mYQkJYXh4eG9pIiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgIGFzZGZhcXdlcgkJYXh4eG9pIiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgICBhCQlheHh4b2lrIiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgIGZhCQlheHh4b2lrIiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgZGZhCQlheHh4b2lrIiwKKwkgICAgICBcICJcdFx0XHRcdAkgICBzZGZhCQlheHh4b2lrIiwKKwkgICAgICBcICJcdFx0XHRcdAkgIGFzZGZhCQlheHh4b2lrIiwKKwkgICAgICBcICJcdFx0XHRcdAkgeGFzZGZhCQlheHh4b2lrIiwKKwkgICAgICBcICJcdFx0XHRcdAlhc3h4ZGZhCQlheHh4b2lrIiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgICBhc3hhO29mYQkJYXh4eG9payIsCisJICAgICAgXCAiXHRcdFx0XHQgICAgICBhc2RmYXF3ZXIJCWF4eHhvaWsiLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgICAgIGEJCWF4eHhvaWtlIiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgIGZhCQlheHh4b2lrZSIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgIGRmYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgIHNkZmEJCWF4eHhvaWtlIiwKKwkgICAgICBcICJcdFx0XHRcdAkgIGFzZGZhCQlheHh4b2lrZSIsCisJICAgICAgXCAiXHRcdFx0XHQJIHhhc2RmYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIlx0XHRcdFx0CWFzeHhkZmEJCWF4eHhvaWtlIiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgICBhc3hhO29mYQkJYXh4eG9pa2UiLAorCSAgICAgIFwgIlx0XHRcdFx0ICAgICAgYXNkZmFxd2VyCQlheHh4b2lrZSIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgICAgYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICJcdFx0XHRcdAkgICAgIGZhCQlheHh4b2lrZXkiLAorCSAgICAgIFwgIlx0XHRcdFx0CSAgICBkZmEJCWF4eHhvaWtleSIsCisJICAgICAgXCAiXHRcdFx0XHQJICAgc2RmYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICJcdFx0XHRcdAkgIGFzZGZhCQlheHh4b2lrZXkiLAorCSAgICAgIFwgIlx0XHRcdFx0CSB4YXNkZmEJCWF4eHhvaWtleSIsCisJICAgICAgXCAiXHRcdFx0XHQJYXN4eGRmYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgICBhc3hhO29mYQkJYXh4eG9pa2V5IiwKKwkgICAgICBcICJcdFx0XHRcdCAgICAgIGFzZGZhcXdlcgkJYXh4eG9pa2V5IiwKKwkgICAgICBcICIiCisJICAgICAgXCBdLCBnZXRsaW5lKDEsICckJykpCisgIGVuZXchCisKKyAgc2V0IHR3JgorZW5kZnVuYworCisiIFRlc3QgZm9ybWF0dGluZyBhIHBhcmFncmFwaC4KK2Z1bmMgVGVzdF9mb3JtYXRfcGFyYSgpCisgIGVuZXchCisgIHNldCBmbys9dGNyb3FsIHR3PTcyCisKKyAgY2FsbCBhcHBlbmQoMCwgWworCVwgInh4eHh4IHh4IHh4eHh4eCAiLAorCVwgInh4eHh4eHggeHh4eHh4eHh4IHh4eCB4eHh4IHh4eHh4IHh4eHh4IHh4eCB4eCIsCisJXCAieHh4eHh4eHh4eHh4eHh4eHh4IHh4eHh4IHh4eHgsIHh4eHggeHh4eCB4eHh4IHh4eHggeHh4IHh4IHh4IiwKKwlcICJ4eCB4eHh4eHh4LiB4eHh4IHh4eHguIiwKKwlcICIiLAorCVwgIj4geHggeHgsIHh4eHggeHh4eCB4eHggeHh4eCB4eHggeHh4eHggeHh4IHh4eCB4eHh4eHh4IHh4eCB4eHh4eCIsCisJXCAiPiB4eHh4eHggeHh4eHh4eDogeHh4eCB4eHh4eHh4LCB4eCB4eHh4eHggeHh4eCB4eHh4eHh4eHh4IgorCVwgXSkKKyAgZXhlICJub3JtYWwgL3h4eHh4eHh4JFw8Q1I+IgorICBub3JtYWwgMGdxNmtrCisgIGNhbGwgYXNzZXJ0X2VxdWFsKFsKKwlcICJ4eHh4eCB4eCB4eHh4eHggeHh4eHh4eCB4eHh4eHh4eHggeHh4IHh4eHggeHh4eHggeHh4eHggeHh4IHh4IiwKKwlcICJ4eHh4eHh4eHh4eHh4eHh4eHggeHh4eHggeHh4eCwgeHh4eCB4eHh4IHh4eHggeHh4eCB4eHggeHggeHggeHggeHh4eHh4eC4iLAorCVwgInh4eHggeHh4eC4iLAorCVwgIiIsCisJXCAiPiB4eCB4eCwgeHh4eCB4eHh4IHh4eCB4eHh4IHh4eCB4eHh4eCB4eHggeHh4IHh4eHh4eHggeHh4IHh4eHh4IHh4eHh4eCIsCisJXCAiPiB4eHh4eHh4OiB4eHh4IHh4eHh4eHgsIHh4IHh4eHh4eCB4eHh4IHh4eHh4eHh4eHgiLAorCVwgIiIKKwlcIF0sIGdldGxpbmUoMSwgJyQnKSkKKworICBzZXQgZm8mIHR3JgorICBlbmV3IQorZW5kZnVuYworCisiIFRlc3QgdW5kbyBhZnRlciAiOiVzIiBhbmQgZm9ybWF0dGluZy4KK2Z1bmMgVGVzdF9mb3JtYXRfdW5kbygpCisgIGVuZXchCisgIG1hcCBnZyA6LiwuKzJzL14veC88Q1I+a2s6c2V0IHR3PTM8Q1I+Z3FxCisKKyAgY2FsbCBhcHBlbmQoMCwgWworCSAgICAgIFwgImFhIGFhIGFhIGFhIiwKKwkgICAgICBcICJiYiBiYiBiYiBiYiIsCisJICAgICAgXCAiY2MgY2MgY2MgY2MiCisJICAgICAgXCBdKQorICAiIHVuZG8vcmVkbyBoZXJlIHRvIG1ha2UgdGhlIG5leHQgdW5kbyBvbmx5IHdvcmsgb24gdGhlIGZvbGxvd2luZyBjaGFuZ2VzCisgIGV4ZSAibm9ybWFsIGlcPEMtRz51IgorICBjYWxsIGN1cnNvcigxLDEpCisgIG5vcm1hbCBnZ3UKKyAgY2FsbCBhc3NlcnRfZXF1YWwoWworCSAgICAgIFwgImFhIGFhIGFhIGFhIiwKKwkgICAgICBcICJiYiBiYiBiYiBiYiIsCisJICAgICAgXCAiY2MgY2MgY2MgY2MiLAorCSAgICAgIFwgIiIKKwkgICAgICBcIF0sIGdldGxpbmUoMSwgJyQnKSkKKworICB1bm1hcCBnZworICBlbmV3IQorZW5kZnVuYwpkaWZmIC0tZ2l0IGEvc3JjL3ZlcnNpb24uYyBiL3NyYy92ZXJzaW9uLmMKaW5kZXggZTcyN2M0YS4uOTRkNThmOCAxMDA2NDQKLS0tIGEvc3JjL3ZlcnNpb24uYworKysgYi9zcmMvdmVyc2lvbi5jCkBAIC03NzIsNiArNzcyLDggQEAKIHN0YXRpYyBpbnQgaW5jbHVkZWRfcGF0Y2hlc1tdID0KIHsgICAvKiBBZGQgbmV3IHBhdGNoIG51bWJlciBiZWxvdyB0aGlzIGxpbmUgKi8KIC8qKi8KKyAgICAxNDQ3LAorLyoqLwogICAgIDE0NDYsCiAvKiovCiAgICAgMTQ0NSwK