IyEvYmluL3NoCiMKIyBDb3B5cmlnaHQgKGMpIDIwMDcgRGF2aWQgS+VnZWRhbAojCgp0ZXN0X2Rlc2NyaXB0aW9uPSdCYXNpYyBzdGcgc3RhdHVzCgpUZXN0IHRoYXQgInN0ZyBzdGF0dXMiIHdvcmtzLicKCi4gLi90ZXN0LWxpYi5zaApzdGcgaW5pdAoKIyBJZ25vcmUgb3VyIG93biBvdXRwdXQgZmlsZXMuCmNhdCA+IC5naXQvaW5mby9leGNsdWRlIDw8RU9GCi9leHBlY3RlZC50eHQKL291dHB1dC50eHQKRU9GCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1J1biBzdGF0dXMgb24gZW1wdHknICcKICAgIHN0ZyBzdGF0dXMgPiBvdXRwdXQudHh0ICYmCiAgICB0ZXN0X2NtcCBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKPz8gZm9vCkVPRgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdTdGF0dXMgd2l0aCBhbiB1bnRyYWNrZWQgZmlsZScgJwogICAgdG91Y2ggZm9vICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgdGVzdF9jbXAgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwpybSAtZiBmb28KCmNhdCA+IGV4cGVjdGVkLnR4dCA8PEVPRgpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIHdpdGggYW4gZW1wdHkgZGlyZWN0b3J5JyAnCiAgICBta2RpciBmb28gJiYKICAgIHN0ZyBzdGF0dXMgPiBvdXRwdXQudHh0ICYmCiAgICB0ZXN0X2NtcCBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKPz8gZm9vLwpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIHdpdGggYW4gdW50cmFja2VkIGZpbGUgaW4gYSBzdWJkaXInICcKICAgIHRvdWNoIGZvby9iYXIgJiYKICAgIHN0ZyBzdGF0dXMgPiBvdXRwdXQudHh0ICYmCiAgICB0ZXN0X2NtcCBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKQSAgZm9vL2JhcgpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIHdpdGggYW4gYWRkZWQgZmlsZScgJwogICAgc3RnIGFkZCBmb28gJiYKICAgIHN0ZyBzdGF0dXMgPiBvdXRwdXQudHh0ICYmCiAgICB0ZXN0X2NtcCBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBhZnRlciByZWZyZXNoJyAnCiAgICBzdGcgbmV3IC1tICJmaXJzdCBwYXRjaCIgJiYKICAgIHN0ZyByZWZyZXNoICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgdGVzdF9jbXAgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCiBNIGZvby9iYXIKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBhZnRlciBtb2RpZmljYXRpb24nICcKICAgIGVjaG8gIndlZSIgPj4gZm9vL2JhciAmJgogICAgc3RnIHN0YXR1cyA+IG91dHB1dC50eHQgJiYKICAgIHRlc3RfY21wIGV4cGVjdGVkLnR4dCBvdXRwdXQudHh0CicKCmNhdCA+IGV4cGVjdGVkLnR4dCA8PEVPRgpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIGFmdGVyIHJlZnJlc2gnICcKICAgIHN0ZyBuZXcgLW0gInNlY29uZCBwYXRjaCIgJiYgc3RnIHJlZnJlc2ggJiYKICAgIHN0ZyBzdGF0dXMgPiBvdXRwdXQudHh0ICYmCiAgICB0ZXN0X2NtcCBleHBlY3RlZC50eHQgb3V0cHV0LnR4dAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdBZGQgYW5vdGhlciBmaWxlJyAnCiAgICBlY2hvIGxhamJhbnMgPiBmaWUgJiYKICAgIHN0ZyBhZGQgZmllICYmCiAgICBzdGcgcmVmcmVzaAonCgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdNYWtlIGEgY29uZmxpY3RpbmcgcGF0Y2gnICcKICAgIHN0ZyBwb3AgJiYKICAgIHN0ZyBuZXcgLW0gInRoaXJkIHBhdGNoIiAmJgogICAgZWNobyAid29vIiA+PiBmb28vYmFyICYmCiAgICBzdGcgcmVmcmVzaAonCgpjYXQgPiBleHBlY3RlZC50eHQgPDxFT0YKQSAgZmllClVVIGZvby9iYXIKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBhZnRlciBjb25mbGljdGluZyBwdXNoJyAnCiAgICBjb25mbGljdCBzdGcgcHVzaCAmJgogICAgc3RnIHN0YXR1cyA+IG91dHB1dC50eHQgJiYKICAgIHRlc3RfY21wIGV4cGVjdGVkLnR4dCBvdXRwdXQudHh0CicKCmNhdCA+IGV4cGVjdGVkLnR4dCA8PEVPRgpVVSBmb28vYmFyCkVPRgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdTdGF0dXMgb2YgZmlsZScgJwogICAgc3RnIHN0YXR1cyBmb28vYmFyID4gb3V0cHV0LnR4dCAmJgogICAgdGVzdF9jbXAgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GClVVIGZvby9iYXIKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBvZiBkaXInICcKICAgIHN0ZyBzdGF0dXMgZm9vID4gb3V0cHV0LnR4dCAmJgogICAgdGVzdF9jbXAgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCkEgIGZpZQpFT0YKdGVzdF9leHBlY3Rfc3VjY2VzcyAnU3RhdHVzIG9mIG90aGVyIGZpbGUnICcKICAgIHN0ZyBzdGF0dXMgZmllID4gb3V0cHV0LnR4dCAmJgogICAgdGVzdF9jbXAgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCkEgIGZpZQpNICBmb28vYmFyCkVPRgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdTdGF0dXMgYWZ0ZXIgcmVzb2x2aW5nIHRoZSBwdXNoJyAnCiAgICBzdGcgYWRkIC0tdXBkYXRlICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgdGVzdF9jbXAgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCkEgIGZpZQpNRCBmb28vYmFyCkVPRgp0ZXN0X2V4cGVjdF9zdWNjZXNzICdTdGF0dXMgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlJyAnCiAgICBybSBmb28vYmFyICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgdGVzdF9jbXAgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GCkFEIGZvby9iYXIKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBvZiBkaXNhcHBlYXJlZCBuZXdib3JuJyAnCiAgICBzdGcgcmVmcmVzaCAmJgogICAgdG91Y2ggZm9vL2JhciAmJgogICAgc3RnIGFkZCBmb28vYmFyICYmCiAgICBybSBmb28vYmFyICYmCiAgICBzdGcgc3RhdHVzID4gb3V0cHV0LnR4dCAmJgogICAgdGVzdF9jbXAgZXhwZWN0ZWQudHh0IG91dHB1dC50eHQKJwoKY2F0ID4gZXhwZWN0ZWQudHh0IDw8RU9GClIgIGZpZSAtPiBmYXkKRU9GCnRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1N0YXR1cyBhZnRlciByZW5hbWluZyBhIGZpbGUnICcKICAgIHN0ZyBybSBmb28vYmFyICYmCiAgICBzdGcgbXYgZmllIGZheSAmJgogICAgc3RnIHN0YXR1cyA+IG91dHB1dC50eHQgJiYKICAgIHRlc3RfY21wIGV4cGVjdGVkLnR4dCBvdXRwdXQudHh0CicKCnRlc3RfZG9uZQo=