IiBUZXN0IHNwZWxsIGNoZWNraW5nCiIgTm90ZTogdGhpcyBmaWxlIHVzZXMgbGF0aW4xIGVuY29kaW5nLCBidXQgaXMgdXNlZCB3aXRoIHV0Zi04IGVuY29kaW5nLgoKc291cmNlIGNoZWNrLnZpbQpDaGVja0ZlYXR1cmUgc3BlbGwKCnNvdXJjZSBzY3JlZW5kdW1wLnZpbQoKZnVuYyBUZWFyRG93bigpCiAgc2V0IG5vc3BlbGwKICBjYWxsIGRlbGV0ZSgnWHRlc3QuYWZmJykKICBjYWxsIGRlbGV0ZSgnWHRlc3QuZGljJykKICBjYWxsIGRlbGV0ZSgnWHRlc3QubGF0aW4xLmFkZCcpCiAgY2FsbCBkZWxldGUoJ1h0ZXN0LmxhdGluMS5hZGQuc3BsJykKICBjYWxsIGRlbGV0ZSgnWHRlc3QubGF0aW4xLnNwbCcpCiAgY2FsbCBkZWxldGUoJ1h0ZXN0LmxhdGluMS5zdWcnKQplbmRmdW5jCgpmdW5jIFRlc3Rfd3JhcF9zZWFyY2goKQogIG5ldwogIGNhbGwgc2V0bGluZSgxLCBbJ1RoZScsICcnLCAnQSBwbG9uZyBsaW5lIHdpdGggdHdvIHpwZWxsaW5nIG1pc3Rha2VzJywgJycsICdFbmQnXSkKICBzZXQgc3BlbGwgd3JhcHNjYW4KICBub3JtYWwgXXMKICBjYWxsIGFzc2VydF9lcXVhbCgncGxvbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBub3JtYWwgXXMKICBjYWxsIGFzc2VydF9lcXVhbCgnenBlbGxpbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBub3JtYWwgXXMKICBjYWxsIGFzc2VydF9lcXVhbCgncGxvbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBid2lwZSEKICBzZXQgbm9zcGVsbAplbmRmdW5jCgpmdW5jIFRlc3RfY3Vyc3dhbnQoKQogIG5ldwogIGNhbGwgc2V0bGluZSgxLCBbJ0Fub3RoZXIgcGxvbmcgbGluZScsICdhYmNkZWZnaGlqa2xtbm9wcSddKQogIHNldCBzcGVsbCB3cmFwc2NhbgogIG5vcm1hbCAwXXMKICBjYWxsIGFzc2VydF9lcXVhbCgncGxvbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBub3JtYWwgagogIGNhbGwgYXNzZXJ0X2VxdWFsKDksIGdldGN1cnBvcygpWzJdKQogIG5vcm1hbCAwW3MKICBjYWxsIGFzc2VydF9lcXVhbCgncGxvbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBub3JtYWwgagogIGNhbGwgYXNzZXJ0X2VxdWFsKDksIGdldGN1cnBvcygpWzJdKQoKICBub3JtYWwgMF1TCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ3Bsb25nJywgZXhwYW5kKCc8Y3dvcmQ+JykpCiAgbm9ybWFsIGoKICBjYWxsIGFzc2VydF9lcXVhbCg5LCBnZXRjdXJwb3MoKVsyXSkKICBub3JtYWwgMFtTCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ3Bsb25nJywgZXhwYW5kKCc8Y3dvcmQ+JykpCiAgbm9ybWFsIGoKICBjYWxsIGFzc2VydF9lcXVhbCg5LCBnZXRjdXJwb3MoKVsyXSkKCiAgbm9ybWFsIDFHMAogIGNhbGwgYXNzZXJ0X2VxdWFsKCdwbG9uZycsIHNwZWxsYmFkd29yZCgpWzBdKQogIG5vcm1hbCBqCiAgY2FsbCBhc3NlcnRfZXF1YWwoOSwgZ2V0Y3VycG9zKClbMl0pCgogIGJ3aXBlIQogIHNldCBub3NwZWxsCmVuZGZ1bmMKCmZ1bmMgVGVzdF96X2VxdWFsX29uX2ludmFsaWRfdXRmOF93b3JkKCkKICBzcGxpdAogIHNldCBzcGVsbAogIGNhbGwgc2V0bGluZSgxLCAiXHhmZiIpCiAgbm9ybSB6PQogIHNldCBub3NwZWxsCiAgYndpcGUhCmVuZGZ1bmMKCiIgVGVzdCBzcGVsbGJhZHdvcmQoKSB3aXRoIGFyZ3VtZW50CmZ1bmMgVGVzdF9zcGVsbGJhZHdvcmQoKQogIHNldCBzcGVsbAoKICBjYWxsIGFzc2VydF9lcXVhbChbJ2J5Y3ljbGUnLCAnYmFkJ10sICBzcGVsbGJhZHdvcmQoJ015IGJ5Y3ljbGUuJykpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydhbm90aGVyJywgJ2NhcHMnXSwgJ0Egc2VudGVuY2UuIGFub3RoZXIgc2VudGVuY2UnLT5zcGVsbGJhZHdvcmQoKSkKCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydUaGVDYW1lbFdvcmQnLCAnYmFkJ10sICdUaGVDYW1lbFdvcmQgYXNkZictPnNwZWxsYmFkd29yZCgpKQogIHNldCBzcGVsbG9wdGlvbnM9Y2FtZWwKICBjYWxsIGFzc2VydF9lcXVhbChbJ2FzZGYnLCAnYmFkJ10sICdUaGVDYW1lbFdvcmQgYXNkZictPnNwZWxsYmFkd29yZCgpKQogIHNldCBzcGVsbG9wdGlvbnM9CgogIHNldCBzcGVsbGxhbmc9ZW4KICBjYWxsIGFzc2VydF9lcXVhbChbJycsICcnXSwgICAgICAgICAgICBzcGVsbGJhZHdvcmQoJ2NlbnRyZScpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnJywgJyddLCAgICAgICAgICAgIHNwZWxsYmFkd29yZCgnY2VudGVyJykpCiAgc2V0IHNwZWxsbGFuZz1lbl91cwogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnY2VudHJlJywgJ2xvY2FsJ10sIHNwZWxsYmFkd29yZCgnY2VudHJlJykpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWycnLCAnJ10sICAgICAgICAgICAgc3BlbGxiYWR3b3JkKCdjZW50ZXInKSkKICBzZXQgc3BlbGxsYW5nPWVuX2diCiAgY2FsbCBhc3NlcnRfZXF1YWwoWycnLCAnJ10sICAgICAgICAgICAgc3BlbGxiYWR3b3JkKCdjZW50cmUnKSkKICBjYWxsIGFzc2VydF9lcXVhbChbJ2NlbnRlcicsICdsb2NhbCddLCBzcGVsbGJhZHdvcmQoJ2NlbnRlcicpKQoKICAiIENyZWF0ZSBhIHNtYWxsIHdvcmQgbGlzdCB0byB0ZXN0IHRoYXQgc3BlbGxiYWR3b3JkKCcuLi4nKQogICIgY2FuIHJldHVybiBbJy4uLicsICdyYXJlJ10uCiAgZSBYd29yZHMKICBpbnNlcnQKZm9vCmZvb2Jhci8/Ci4KICAgdyEKICAgbWtzcGVsbCEgWHdvcmRzLnNwbCBYd29yZHMKICAgc2V0IHNwZWxsbGFuZz1Yd29yZHMuc3BsCiAgIGNhbGwgYXNzZXJ0X2VxdWFsKFsnZm9vYmFyJywgJ3JhcmUnXSwgc3BlbGxiYWR3b3JkKCdmb28gZm9vYmFyJykpCgogICIgVHlwbyBzaG91bGQgYmUgZGV0ZWN0ZWQgZXZlbiB3aXRob3V0IHRoZSAnc3BlbGwnIG9wdGlvbi4KICBzZXQgc3BlbGxsYW5nPWVuX2diIG5vc3BlbGwKICBjYWxsIGFzc2VydF9lcXVhbChbJycsICcnXSwgc3BlbGxiYWR3b3JkKCdjZW50cmUnKSkKICBjYWxsIGFzc2VydF9lcXVhbChbJ2J5Y3ljbGUnLCAnYmFkJ10sIHNwZWxsYmFkd29yZCgnTXkgYnljeWNsZS4nKSkKICBjYWxsIGFzc2VydF9lcXVhbChbJ2Fub3RoZXInLCAnY2FwcyddLCBzcGVsbGJhZHdvcmQoJ0Egc2VudGVuY2UuIGFub3RoZXIgc2VudGVuY2UnKSkKCiAgc2V0IHNwZWxsbGFuZz0KICBjYWxsIGFzc2VydF9mYWlscygiY2FsbCBzcGVsbGJhZHdvcmQoJ21heGNoJykiLCAnRTc1NjonKQogIGNhbGwgYXNzZXJ0X2ZhaWxzKCJzcGVsbGR1bXAiLCAnRTc1NjonKQoKICBjYWxsIGRlbGV0ZSgnWHdvcmRzLnNwbCcpCiAgY2FsbCBkZWxldGUoJ1h3b3JkcycpCiAgc2V0IHNwZWxsbGFuZyYKICBzZXQgc3BlbGwmCmVuZGZ1bmMKCmZ1bmMgVGVzdF9zcGVsbF9maWxlX21pc3NpbmcoKQogIGxldCBzOnNwZWxsX2ZpbGVfbWlzc2luZyA9IDAKICBhdWdyb3VwIFRlc3RTcGVsbEZpbGVNaXNzaW5nCiAgICBhdXRvY21kISBTcGVsbEZpbGVNaXNzaW5nICogbGV0IHM6c3BlbGxfZmlsZV9taXNzaW5nICs9IDEKICBhdWdyb3VwIEVORAoKICBzZXQgc3BlbGwgc3BlbGxsYW5nPWFiX2NkCiAgbGV0IG1lc3NhZ2VzID0gR2V0TWVzc2FnZXMoKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCdXYXJuaW5nOiBDYW5ub3QgZmluZCB3b3JkIGxpc3QgImFiLnV0Zi04LnNwbCIgb3IgImFiLmFzY2lpLnNwbCInLCBtZXNzYWdlc1stMV0pCiAgY2FsbCBhc3NlcnRfZXF1YWwoMSwgczpzcGVsbF9maWxlX21pc3NpbmcpCgogIG5ldyBYVGVzdFNwZWxsRmlsZU1pc3NpbmcKICBhdWdyb3VwIFRlc3RTcGVsbEZpbGVNaXNzaW5nCiAgICBhdXRvY21kISBTcGVsbEZpbGVNaXNzaW5nICogYndpcGUKICBhdWdyb3VwIEVORAogIGNhbGwgYXNzZXJ0X2ZhaWxzKCdzZXQgc3BlbGwgc3BlbGxsYW5nPWFiX2NkJywgJ0U3OTc6JykKCiAgYXVncm91cCEgVGVzdFNwZWxsRmlsZU1pc3NpbmcKICB1bmxldCBzOnNwZWxsX2ZpbGVfbWlzc2luZwogIHNldCBzcGVsbCYgc3BlbGxsYW5nJgogICVid2lwZSEKZW5kZnVuYwoKZnVuYyBUZXN0X3NwZWxsZHVtcCgpCiAgc2V0IHNwZWxsIHNwZWxsbGFuZz1lbgogIHNwZWxscmFyZSEgZW1hY3MKCiAgc3BlbGxkdW1wCgogICIgQ2hlY2sgYXNzdW1wdGlvbiBhYm91dCByZWdpb246IDE6IHVzLCAyOiBhdSwgMzogY2EsIDQ6IGdiLCA1OiBuei4KICBjYWxsIGFzc2VydF9lcXVhbCgnL3JlZ2lvbnM9dXNhdWNhZ2JueicsIGdldGxpbmUoMSkpCiAgY2FsbCBhc3NlcnRfbm90ZXF1YWwoMCwgc2VhcmNoKCdedGhlYXRlci8xJCcpKSAgICAiIFVTIEVuZ2xpc2ggb25seS4KICBjYWxsIGFzc2VydF9ub3RlcXVhbCgwLCBzZWFyY2goJ150aGVhdHJlLzIzNDUkJykpICIgQVUsIENBLCBHQiBvciBOWiBFbmdsaXNoLgoKICBjYWxsIGFzc2VydF9ub3RlcXVhbCgwLCBzZWFyY2goJ15lbWFjcy8/JCcpKSAgICAgICIgPyBmb3IgYSByYXJlIHdvcmQuCiAgY2FsbCBhc3NlcnRfbm90ZXF1YWwoMCwgc2VhcmNoKCdedGhlIHRoZS8hJCcpKSAgICAiICEgZm9yIGEgd3Jvbmcgd29yZC4KCiAgYndpcGUKICBzZXQgc3BlbGwmCmVuZGZ1bmMKCmZ1bmMgVGVzdF9zcGVsbGR1bXBfYmFuZygpCiAgbmV3CiAgY2FsbCBzZXRsaW5lKDEsICdUaGlzIGlzIGEgc2FtcGxlIHNlbnRlbmNlLicpCiAgcmVkcmF3CiAgc2V0IHNwZWxsCiAgcmVkcmF3CiAgc3BlbGxkdW1wIQoKICAiIDpzcGVsbGR1bXAhIGluY2x1ZGVzIHRoZSBudW1iZXIgb2YgdGltZXMgYSB3b3JkIHdhcyBmb3VuZCB3aGlsZSB1cGRhdGluZwogICIgdGhlIHNjcmVlbi4KICAiIENvbW1vbiB3b3JkIGNvdW50IHN0YXJ0cyBhdCAxMCwgcmVndWxhciB3b3JkIGNvdW50IHN0YXJ0cyBhdCAwLgogIGNhbGwgYXNzZXJ0X25vdGVxdWFsKDAsIHNlYXJjaCgiXmlzXHQxMSQiKSkgICAgIiBjb21tb24gd29yZCBmb3VuZCBvbmNlLgogIGNhbGwgYXNzZXJ0X25vdGVxdWFsKDAsIHNlYXJjaCgiXnRoZVx0MTAkIikpICAgIiBjb21tb24gd29yZCBuZXZlciBmb3VuZC4KICBjYWxsIGFzc2VydF9ub3RlcXVhbCgwLCBzZWFyY2goIl5zYW1wbGVcdDEkIikpICIgcmVndWxhciB3b3JkIGZvdW5kIG9uY2UuCiAgY2FsbCBhc3NlcnRfZXF1YWwoMCwgc2VhcmNoKCJec2NyZWVuXHQiKSkgICAgICAiIHJlZ3VsYXIgd29yZCBuZXZlciBmb3VuZC4KCiAgJWJ3aXBlIQogIHNldCBzcGVsbCYKZW5kZnVuYwoKZnVuYyBUZXN0X3NwZWxsbGFuZ19pbnZfcmVnaW9uKCkKICBzZXQgc3BlbGwgc3BlbGxsYW5nPWVuX3h4CiAgbGV0IG1lc3NhZ2VzID0gR2V0TWVzc2FnZXMoKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCdXYXJuaW5nOiByZWdpb24geHggbm90IHN1cHBvcnRlZCcsIG1lc3NhZ2VzWy0xXSkKICBzZXQgc3BlbGwmIHNwZWxsbGFuZyYKZW5kZnVuYwoKZnVuYyBUZXN0X2NvbXBsX3dpdGhfQ1RSTF9YX0NUUkxfS191c2luZ19zcGVsbCgpCiAgIiBXaGVuIHNwZWxsIGNoZWNraW5nIGlzIGVuYWJsZWQgYW5kICdkaWN0aW9uYXJ5JyBpcyBlbXB0eSwKICAiIENUUkwtWCBDVFJMLUsgaW4gaW5zZXJ0IG1vZGUgY29tcGxldGVzIHVzaW5nIHRoZSBzcGVsbGluZyBkaWN0aW9uYXJ5LgogIG5ldwogIHNldCBzcGVsbCBzcGVsbGxhbmc9ZW4gZGljdGlvbmFyeT0KCiAgc2V0IGlnbm9yZWNhc2UKICBjYWxsIGZlZWRrZXlzKCJTZW5nbGlzXDxjLXg+XDxjLWs+XDxlc2M+IiwgJ3RueCcpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydFbmdsaXNoJ10sIGdldGxpbmUoMSwgJyQnKSkKICBjYWxsIGZlZWRrZXlzKCJTRW5nbGlzXDxjLXg+XDxjLWs+XDxlc2M+IiwgJ3RueCcpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydFbmdsaXNoJ10sIGdldGxpbmUoMSwgJyQnKSkKCiAgc2V0IG5vaWdub3JlY2FzZQogIGNhbGwgZmVlZGtleXMoIlNlbmdsaXNcPGMteD5cPGMtaz5cPGVzYz4iLCAndG54JykKICBjYWxsIGFzc2VydF9lcXVhbChbJ2VuZ2xpcyddLCBnZXRsaW5lKDEsICckJykpCiAgY2FsbCBmZWVka2V5cygiU0VuZ2xpc1w8Yy14Plw8Yy1rPlw8ZXNjPiIsICd0bngnKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnRW5nbGlzaCddLCBnZXRsaW5lKDEsICckJykpCgogIHNldCBzcGVsbGxhbmc9ZW5fdXMKICBjYWxsIGZlZWRrZXlzKCJTdGhlYXRcPGMteD5cPGMtaz5cPGVzYz4iLCAndG54JykKICBjYWxsIGFzc2VydF9lcXVhbChbJ3RoZWF0ZXInXSwgZ2V0bGluZSgxLCAnJCcpKQogIHNldCBzcGVsbGxhbmc9ZW5fZ2IKICBjYWxsIGZlZWRrZXlzKCJTdGhlYXRcPGMteD5cPGMtaz5cPGVzYz4iLCAndG54JykKICAiIEZJWE1FOiBjb21tZW50ZWQgb3V0LCBleHBlY3RlZCB0aGVhdHJlIGJ1ZyBnb3QgdGhlYXRlci4gU2VlIGlzc3VlICM3MDI1LgogICIgY2FsbCBhc3NlcnRfZXF1YWwoWyd0aGVhdHJlJ10sIGdldGxpbmUoMSwgJyQnKSkKCiAgYndpcGUhCiAgc2V0IHNwZWxsJiBzcGVsbGxhbmcmIGRpY3Rpb25hcnkmIGlnbm9yZWNhc2UmCmVuZGZ1bmMKCmZ1bmMgVGVzdF9zcGVsbHJlYWxsKCkKICBuZXcKICBzZXQgc3BlbGwKICBjYWxsIGFzc2VydF9mYWlscygnc3BlbGxyZXBhbGwnLCAnRTc1MjonKQogIGNhbGwgc2V0bGluZSgxLCBbJ0Egc3BlbGluZyBtaXN0YWtlLiBUaGUgc2FtZSBzcGVsaW5nIG1pc3Rha2UuJywKICAgICAgICBcICAgICAgICAgICAgICAgICdBbm90aGVyIHNwZWxpbmcgbWlzdGFrZS4nXSkKICBjYWxsIGZlZWRrZXlzKCddczF6PScsICd0eCcpCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ0Egc3BlbGxpbmcgbWlzdGFrZS4gVGhlIHNhbWUgc3BlbGluZyBtaXN0YWtlLicsIGdldGxpbmUoMSkpCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ0Fub3RoZXIgc3BlbGluZyBtaXN0YWtlLicsIGdldGxpbmUoMikpCiAgc3BlbGxyZXBhbGwKICBjYWxsIGFzc2VydF9lcXVhbCgnQSBzcGVsbGluZyBtaXN0YWtlLiBUaGUgc2FtZSBzcGVsbGluZyBtaXN0YWtlLicsIGdldGxpbmUoMSkpCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ0Fub3RoZXIgc3BlbGxpbmcgbWlzdGFrZS4nLCBnZXRsaW5lKDIpKQogIGNhbGwgYXNzZXJ0X2ZhaWxzKCdzcGVsbHJlcGFsbCcsICdFNzUzOicpCiAgc2V0IHNwZWxsJgogIGJ3aXBlIQplbmRmdW5jCgoiIFRlc3Qgc3BlbGxzdWdnZXN0KHt3b3JkfSBbLCB7bWF4fSBbLCB7Y2FwaXRhbH1dXSkKZnVuYyBUZXN0X3NwZWxsc3VnZ2VzdCgpCiAgIiBWZXJpZnkgc3VnZ2VzdGlvbnMgYXJlIGdpdmVuIGV2ZW4gd2hlbiBzcGVsbCBjaGVja2luZyBpcyBub3QgZW5hYmxlZC4KICBzZXQgbm9zcGVsbAogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnbWFyY2gnLCAnTWFyY2gnXSwgc3BlbGxzdWdnZXN0KCdtYXJyY2gnLCAyKSkKCiAgc2V0IHNwZWxsCgogICIgV2l0aCAxIGFyZ3VtZW50LgogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnbWFyY2gnLCAnTWFyY2gnXSwgc3BlbGxzdWdnZXN0KCdtYXJyY2gnKVswOjFdKQoKICAiIFdpdGggMiBhcmd1bWVudHMuCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydtYXJjaCcsICdNYXJjaCddLCBzcGVsbHN1Z2dlc3QoJ21hcnJjaCcsIDIpKQoKICAiIFdpdGggMyBhcmd1bWVudHMuCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydtYXJjaCddLCBzcGVsbHN1Z2dlc3QoJ21hcnJjaCcsIDEsIDApKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnTWFyY2gnXSwgc3BlbGxzdWdnZXN0KCdtYXJyY2gnLCAxLCAxKSkKCiAgIiBUZXN0IHdpdGggZGlnaXRzIGFuZCBoeXBoZW4uCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ0NhcmJvbi0xNCcsIHNwZWxsc3VnZ2VzdCgnQ2FyYm9uLTE1JylbMF0pCgogICIgQ29tbWVudCB0YWtlbiBmcm9tIHNwZWxsc3VnZ2VzdC5jIGV4cGxhaW5zIHRoZSBmb2xsb3dpbmcgdGVzdCBjYXNlczoKICAiCiAgIiBJZiB0aGVyZSBhcmUgbW9yZSBVUFBFUiB0aGFuIGxvd2VyIGNhc2UgbGV0dGVycyBzdWdnZXN0IGFuCiAgIiBBTExDQVAgd29yZC4gIE90aGVyd2lzZSwgaWYgdGhlIGZpcnN0IGxldHRlciBpcyBVUFBFUiB0aGVuCiAgIiBzdWdnZXN0IE9ORUNBUC4gIEV4Y2VwdGlvbjogIkFMbCIgbW9zdCBsaWtlbHkgc2hvdWxkIGJlICJBbGwiLAogICIgcmVxdWlyZSB0aHJlZSB1cHBlciBjYXNlIGxldHRlcnMuCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydUSElSRCcsICd0aGlyZCddLCBzcGVsbHN1Z2dlc3QoJ3RoSVJEJywgMikpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWyd0aGlyZCcsICdUSElSRCddLCBzcGVsbHN1Z2dlc3QoJ3RISXJkJywgMikpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydUaGlyZCddLCBzcGVsbHN1Z2dlc3QoJ1RIaXJkJywgMSkpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydBbGwnXSwgICAgICBzcGVsbHN1Z2dlc3QoJ0FMbCcsIDEpKQoKICBjYWxsIGFzc2VydF9mYWlscygiY2FsbCBzcGVsbHN1Z2dlc3QoJ21heGNoJywgW10pIiwgJ0U3NDU6JykKICBjYWxsIGFzc2VydF9mYWlscygiY2FsbCBzcGVsbHN1Z2dlc3QoJ21heGNoJywgMiwgW10pIiwgJ0U3NDU6JykKCiAgc2V0IHNwZWxsbGFuZz0KICBjYWxsIGFzc2VydF9mYWlscygiY2FsbCBzcGVsbHN1Z2dlc3QoJ21heGNoJykiLCAnRTc1NjonKQogIHNldCBzcGVsbGxhbmcmCgogIHNldCBzcGVsbCYKZW5kZnVuYwoKIiBUZXN0ICdzcGVsbHN1Z2dlc3QnIG9wdGlvbiB3aXRoIG1ldGhvZHMgZmFzdCwgYmVzdCBhbmQgZG91YmxlLgpmdW5jIFRlc3Rfc3BlbGxzdWdnZXN0X29wdGlvbl9tZXRob2RzKCkKICBzZXQgc3BlbGwKCiAgZm9yIGUgaW4gWydsYXRpbjEnLCAndXRmLTgnXQogICAgZXhlICdzZXQgZW5jb2Rpbmc9JyAuLiBlCgogICAgc2V0IHNwZWxsc3VnZ2VzdD1mYXN0CiAgICBjYWxsIGFzc2VydF9lcXVhbChbJ1N0aWNrJywgJ1N0aXRjaCddLCBzcGVsbHN1Z2dlc3QoJ1N0aWNoJywgMiksIGUpCgogICAgIiBXaXRoIGJlc3Qgb3IgZG91YmxlIG9wdGlvbiwgIlN0aXRjaCIgc2hvdWxkIGJlY29tZSB0aGUgdG9wIHN1Z2dlc3Rpb24KICAgICIgYmVjYXVzZSBvZiBiZXR0ZXIgcGhvbmV0aWMgbWF0Y2hpbmcuCiAgICBzZXQgc3BlbGxzdWdnZXN0PWJlc3QKICAgIGNhbGwgYXNzZXJ0X2VxdWFsKFsnU3RpdGNoJywgJ1N0aWNrJ10sIHNwZWxsc3VnZ2VzdCgnU3RpY2gnLCAyKSwgZSkKCiAgICBzZXQgc3BlbGxzdWdnZXN0PWRvdWJsZQogICAgY2FsbCBhc3NlcnRfZXF1YWwoWydTdGl0Y2gnLCAnU3RpY2snXSwgc3BlbGxzdWdnZXN0KCdTdGljaCcsIDIpLCBlKQogIGVuZGZvcgoKICBzZXQgc3BlbGwmIHNwZWxsc3VnZ2VzdCYgZW5jb2RpbmcmCmVuZGZ1bmMKCiIgVGVzdCAnc3BlbGxzdWdnZXN0JyBvcHRpb24gd2l0aCB2YWx1ZSBmaWxlOntmaWxlbmFtZX0KZnVuYyBUZXN0X3NwZWxsc3VnZ2VzdF9vcHRpb25fZmlsZSgpCiAgc2V0IHNwZWxsIHNwZWxsc3VnZ2VzdD1maWxlOlhzcGVsbHN1Z2dlc3QKICBjYWxsIHdyaXRlZmlsZShbJ2VtYWNzL3ZpbScsCiAgICAgICAgXCAgICAgICAgICd0aGVyaWJhbC90ZXJyaWJsZScsCiAgICAgICAgXCAgICAgICAgICd0ZXJpYmFsL3RlcnJyaWJsZScsCiAgICAgICAgXCAgICAgICAgICd0ZXJyaWJhbCddLAogICAgICAgIFwgICAgICAgICAnWHNwZWxsc3VnZ2VzdCcpCgogIGNhbGwgYXNzZXJ0X2VxdWFsKFsndmltJ10sICAgICAgc3BlbGxzdWdnZXN0KCdlbWFjcycsIDIpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsndGVycmlibGUnXSwgc3BlbGxzdWdnZXN0KCd0aGVyaWJhbCcsMikpCgogICIgSWYgdGhlIHN1Z2dlc3Rpb24gaXMgbWlzc3BlbGxlZCAoKnRlcnJyaWJsZSogd2l0aCAzIHIpLAogICIgaXQgc2hvdWxkIG5vdCBiZSBwcm9wb3NlZC4KICAiIFRoZSBlbnRyeSBmb3IgInRlcnJpYmFsIiBzaG91bGQgYmUgaWdub3JlZCBiZWNhdXNlIG9mIG1pc3Npbmcgc2xhc2guCiAgY2FsbCBhc3NlcnRfZXF1YWwoW10sIHNwZWxsc3VnZ2VzdCgndGVyaWJhbCcsIDIpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFtdLCBzcGVsbHN1Z2dlc3QoJ3RlcnJpYmFsJywgMikpCgogIHNldCBzcGVsbCBzcGVsbHN1Z2dlc3Q9YmVzdCxmaWxlOlhzcGVsbHN1Z2dlc3QKICBjYWxsIGFzc2VydF9lcXVhbChbJ3ZpbScsICdFbWFjcyddLCAgICAgICBzcGVsbHN1Z2dlc3QoJ2VtYWNzJywgMikpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWyd0ZXJyaWJsZScsICd0cmliYWwnXSwgc3BlbGxzdWdnZXN0KCd0aGVyaWJhbCcsIDIpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsndHJpYmFsJ10sICAgICAgICAgICAgIHNwZWxsc3VnZ2VzdCgndGVyaWJhbCcsIDEpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsndHJpYmFsJ10sICAgICAgICAgICAgIHNwZWxsc3VnZ2VzdCgndGVycmliYWwnLCAxKSkKCiAgY2FsbCBkZWxldGUoJ1hzcGVsbHN1Z2dlc3QnKQogIGNhbGwgYXNzZXJ0X2ZhaWxzKCJjYWxsIHNwZWxsc3VnZ2VzdCgndmltJykiLCAiRTQ4NDogQ2FuJ3Qgb3BlbiBmaWxlIFhzcGVsbHN1Z2dlc3QiKQoKICBzZXQgc3BlbGxzdWdnZXN0JiBzcGVsbCYKZW5kZnVuYwoKIiBUZXN0ICdzcGVsbHN1Z2dlc3QnIG9wdGlvbiB3aXRoIHZhbHVlIHtudW1iZXJ9CiIgdG8gbGltaXQgdGhlIG51bWJlciBvZiBzdWdnZXN0aW9ucwpmdW5jIFRlc3Rfc3BlbGxzdWdnZXN0X29wdGlvbl9udW1iZXIoKQogIHNldCBzcGVsbCBzcGVsbHN1Z2dlc3Q9MixiZXN0CiAgbmV3CgogICIgV2UgbGltaXRlZCB0aGUgbnVtYmVyIG9mIHN1Z2dlc3Rpb25zIHRvIDIsIHNvIHNlbGVjdGluZwogICIgdGhlIDFzdCBhbmQgMm5kIHN1Z2dlc3Rpb24gc2hvdWxkIGNvcnJlY3QgdGhlIHdvcmQsIGJ1dAogICIgc2VsZWN0aW5nIGEgM3JkIHN1Z2dlc3Rpb24gc2hvdWxkIGRvIG5vdGhpbmcuCiAgY2FsbCBzZXRsaW5lKDEsICdBIGJhb3JkJykKICBub3JtICQxej0KICBjYWxsIGFzc2VydF9lcXVhbCgnQSBib2FyZCcsIGdldGxpbmUoMSkpCgogIGNhbGwgc2V0bGluZSgxLCAnQSBiYW9yZCcpCiAgbm9ybSAkMno9CiAgY2FsbCBhc3NlcnRfZXF1YWwoJ0EgYmFyZCcsIGdldGxpbmUoMSkpCgogIGNhbGwgc2V0bGluZSgxLCAnQSBiYW9yZCcpCiAgbm9ybSAkM3o9CiAgY2FsbCBhc3NlcnRfZXF1YWwoJ0EgYmFvcmQnLCBnZXRsaW5lKDEpKQoKICBsZXQgYSA9IGV4ZWN1dGUoJ25vcm0gJHo9JykKICBjYWxsIGFzc2VydF9lcXVhbCgKICBcICAgICJcbiIKICBcIC4uICJDaGFuZ2UgXCJiYW9yZFwiIHRvOlxuIgogIFwgLi4gIiAxIFwiYm9hcmRcIlxuIgogIFwgLi4gIiAyIFwiYmFyZFwiXG4iCiAgXCAuLiAiVHlwZSBudW1iZXIgYW5kIDxFbnRlcj4gb3IgY2xpY2sgd2l0aCB0aGUgbW91c2UgKHEgb3IgZW1wdHkgY2FuY2Vscyk6ICIsIGEpCgogIHNldCBzcGVsbCBzcGVsbHN1Z2dlc3Q9MAogIGNhbGwgYXNzZXJ0X2VxdWFsKCJcblNvcnJ5LCBubyBzdWdnZXN0aW9ucyIsIGV4ZWN1dGUoJ25vcm0gJHo9JykpCgogICIgVW5saWtlIHo9LCBmdW5jdGlvbiBzcGVsbHN1Z2dlc3QoLi4uKSBzaG91bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHRoZQogICIgbWF4IG51bWJlciBvZiBzdWdnZXN0aW9ucyAoMikgc2V0IGJ5IHRoZSAnc3BlbGxzdWdnZXN0JyBvcHRpb24uCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydib2FyZCcsICdiYXJkJywgJ2Jyb2FkJ10sIHNwZWxsc3VnZ2VzdCgnYmFvcmQnLCAzKSkKCiAgc2V0IHNwZWxsc3VnZ2VzdCYgc3BlbGwmCiAgYndpcGUhCmVuZGZ1bmMKCiIgVGVzdCAnc3BlbGxzdWdnZXN0JyBvcHRpb24gd2l0aCB2YWx1ZSBleHByOntleHByfQpmdW5jIFRlc3Rfc3BlbGxzdWdnZXN0X29wdGlvbl9leHByKCkKICAiIEEgc2lsbHkgJ3NwZWxsc3VnZ2VzdCcgZnVuY3Rpb24gd2hpY2ggbWFrZXMgc3VnZ2VzdGlvbnMgYWxsIHVwcGVyY2FzZQogICIgYW5kIG1ha2VzIHRoZSBzY29yZSBvZiBlYWNoIHN1Z2dlc3Rpb24gdGhlIGxlbmd0aCBvZiB0aGUgc3VnZ2VzdGVkIHdvcmQuCiAgIiBTbyBzaG9ydGVyIHN1Z2dlc3Rpb25zIGFyZSBwcmVmZXJyZWQuCiAgZnVuYyBNeVN1Z2dlc3QoKQogICAgbGV0IHNwZWxsc3VnZ2VzdF9zYXZlID0gJnNwZWxsc3VnZ2VzdAogICAgc2V0IHNwZWxsc3VnZ2VzdD0zLGJlc3QKICAgIGxldCByZXN1bHQgPSBtYXAoc3BlbGxzdWdnZXN0KHY6dmFsLCAzKSwgIlt0b3VwcGVyKHY6dmFsKSwgbGVuKHY6dmFsKV0iKQogICAgbGV0ICZzcGVsbHN1Z2dlc3QgPSBzcGVsbHN1Z2dlc3Rfc2F2ZQogICAgcmV0dXJuIHJlc3VsdAogIGVuZGZ1bmMKCiAgc2V0IHNwZWxsIHNwZWxsc3VnZ2VzdD1leHByOk15U3VnZ2VzdCgpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydCQVJEJywgJ0JPQVJEJywgJ0JST0FEJ10sIHNwZWxsc3VnZ2VzdCgnYmFvcmQnLCAzKSkKCiAgbmV3CiAgY2FsbCBzZXRsaW5lKDEsICdiYW9yZCcpCiAgbGV0IGEgPSBleGVjdXRlKCdub3JtIHo9JykKICBjYWxsIGFzc2VydF9lcXVhbCgKICBcICAgICJcbiIKICBcIC4uICJDaGFuZ2UgXCJiYW9yZFwiIHRvOlxuIgogIFwgLi4gIiAxIFwiQkFSRFwiXG4iCiAgXCAuLiAiIDIgXCJCT0FSRFwiXG4iCiAgXCAuLiAiIDMgXCJCUk9BRFwiXG4iCiAgXCAuLiAiVHlwZSBudW1iZXIgYW5kIDxFbnRlcj4gb3IgY2xpY2sgd2l0aCB0aGUgbW91c2UgKHEgb3IgZW1wdHkgY2FuY2Vscyk6ICIsIGEpCgogICIgV2l0aCB2ZXJib3NlLCB6PSBzaG91bGQgc2hvdyB0aGUgc2NvcmUgaS5lLiB3b3JkIGxlbmd0aCB3aXRoCiAgIiBvdXIgU3BlbGxTdWdnZXN0KCkgZnVuY3Rpb24uCiAgc2V0IHZlcmJvc2U9MQogIGxldCBhID0gZXhlY3V0ZSgnbm9ybSB6PScpCiAgY2FsbCBhc3NlcnRfZXF1YWwoCiAgXCAgICAiXG4iCiAgXCAuLiAiQ2hhbmdlIFwiYmFvcmRcIiB0bzpcbiIKICBcIC4uICIgMSBcIkJBUkRcIiAgICAgICAgICAgICAgICAgICAgICAoNCAtIDApXG4iCiAgXCAuLiAiIDIgXCJCT0FSRFwiICAgICAgICAgICAgICAgICAgICAgKDUgLSAwKVxuIgogIFwgLi4gIiAzIFwiQlJPQURcIiAgICAgICAgICAgICAgICAgICAgICg1IC0gMClcbiIKICBcIC4uICJUeXBlIG51bWJlciBhbmQgPEVudGVyPiBvciBjbGljayB3aXRoIHRoZSBtb3VzZSAocSBvciBlbXB0eSBjYW5jZWxzKTogIiwgYSkKCiAgc2V0IHNwZWxsJiBzcGVsbHN1Z2dlc3QmIHZlcmJvc2UmCiAgYndpcGUhCmVuZGZ1bmMKCiIgVGVzdCBmb3IgJ3NwZWxsc3VnZ2VzdCcgZXhwciBlcnJyb3JzCmZ1bmMgVGVzdF9zcGVsbHN1Z2dlc3RfZXhwcl9lcnJvcnMoKQogICIgJ3NwZWxsc3VnZ2VzdCcKICBmdW5jIE15U3VnZ2VzdCgpCiAgICByZXR1cm4gcmFuZ2UoMykKICBlbmRmdW5jCiAgc2V0IHNwZWxsIHNwZWxsc3VnZ2VzdD1leHByOk15U3VnZ2VzdCgpCiAgY2FsbCBhc3NlcnRfZXF1YWwoW10sIHNwZWxsc3VnZ2VzdCgnYmFvcmQnLCAzKSkKCiAgIiBUZXN0IGZvciAnc3BlbGxzdWdnZXN0JyBleHByZXNzaW9uIHJldHVybmluZyBhIG5vbi1saXN0IHZhbHVlCiAgZnVuYyEgTXlTdWdnZXN0MigpCiAgICByZXR1cm4gJ2dvb2QnCiAgZW5kZnVuYwogIHNldCBzcGVsbHN1Z2dlc3Q9ZXhwcjpNeVN1Z2dlc3QyKCkKICBjYWxsIGFzc2VydF9lcXVhbChbXSwgc3BlbGxzdWdnZXN0KCdiYW9yZCcpKQoKICAiIFRlc3QgZm9yICdzcGVsbHN1Z2dlc3QnIGV4cHJlc3Npb24gcmV0dXJuaW5nIGEgbGlzdCB3aXRoIGRpY3QgdmFsdWVzCiAgZnVuYyEgTXlTdWdnZXN0MygpCiAgICByZXR1cm4gW1t7fSwge31dXQogIGVuZGZ1bmMKICBzZXQgc3BlbGxzdWdnZXN0PWV4cHI6TXlTdWdnZXN0MygpCiAgY2FsbCBhc3NlcnRfZmFpbHMoImNhbGwgc3BlbGxzdWdnZXN0KCdiYW9yZCcpIiwgJ0U3MzE6JykKCiAgc2V0IG5vc3BlbGwgc3BlbGxzdWdnZXN0JgogIGRlbGZ1bmMgTXlTdWdnZXN0CiAgZGVsZnVuYyBNeVN1Z2dlc3QyCiAgZGVsZnVuYyBNeVN1Z2dlc3QzCmVuZGZ1bmMKCmZ1bmMgVGVzdF9zcGVsbGluZm8oKQogIG5ldwogIGxldCBydW50aW1lID0gc3Vic3RpdHV0ZSgkVklNUlVOVElNRSwgJ1xcJywgJy8nLCAnZycpCgogIHNldCBlbmM9bGF0aW4xIHNwZWxsIHNwZWxsbGFuZz1lbgogIGNhbGwgYXNzZXJ0X21hdGNoKCJeXG5maWxlOiAiIC4uIHJ1bnRpbWUgLi4gIi9zcGVsbC9lbi5sYXRpbjEuc3BsXG4kIiwgZXhlY3V0ZSgnc3BlbGxpbmZvJykpCgogIHNldCBlbmM9Y3AxMjUwIHNwZWxsIHNwZWxsbGFuZz1lbgogIGNhbGwgYXNzZXJ0X21hdGNoKCJeXG5maWxlOiAiIC4uIHJ1bnRpbWUgLi4gIi9zcGVsbC9lbi5hc2NpaS5zcGxcbiQiLCBleGVjdXRlKCdzcGVsbGluZm8nKSkKCiAgc2V0IGVuYz11dGYtOCBzcGVsbCBzcGVsbGxhbmc9ZW4KICBjYWxsIGFzc2VydF9tYXRjaCgiXlxuZmlsZTogIiAuLiBydW50aW1lIC4uICIvc3BlbGwvZW4udXRmLTguc3BsXG4kIiwgZXhlY3V0ZSgnc3BlbGxpbmZvJykpCgogIHNldCBlbmM9bGF0aW4xIHNwZWxsIHNwZWxsbGFuZz1lbl91cyxlbl9uegogIGNhbGwgYXNzZXJ0X21hdGNoKCJeXG4iIC4KICAgICAgICAgICAgICAgICBcICAiZmlsZTogIiAuLiBydW50aW1lIC4uICIvc3BlbGwvZW4ubGF0aW4xLnNwbFxuIiAuCiAgICAgICAgICAgICAgICAgXCAgImZpbGU6ICIgLi4gcnVudGltZS4uICIvc3BlbGwvZW4ubGF0aW4xLnNwbFxuJCIsIGV4ZWN1dGUoJ3NwZWxsaW5mbycpKQoKICBzZXQgc3BlbGwgc3BlbGxsYW5nPQogIGNhbGwgYXNzZXJ0X2ZhaWxzKCdzcGVsbGluZm8nLCAnRTc1NjonKQoKICBzZXQgbm9zcGVsbCBzcGVsbGxhbmc9ZW4KICBjYWxsIGFzc2VydF9mYWlscygnc3BlbGxpbmZvJywgJ0U3NTY6JykKCiAgY2FsbCBhc3NlcnRfZmFpbHMoJ3NldCBzcGVsbGxhbmc9Zm9vL2JhcicsICdFNDc0OicpCiAgY2FsbCBhc3NlcnRfZmFpbHMoJ3NldCBzcGVsbGxhbmc9Zm9vXCBiYXInLCAnRTQ3NDonKQogIGNhbGwgYXNzZXJ0X2ZhaWxzKCJzZXQgc3BlbGxsYW5nPWZvb1xcXG5iYXIiLCAnRTQ3NDonKQogIGNhbGwgYXNzZXJ0X2ZhaWxzKCJzZXQgc3BlbGxsYW5nPWZvb1xcXHJiYXIiLCAnRTQ3NDonKQogIGNhbGwgYXNzZXJ0X2ZhaWxzKCJzZXQgc3BlbGxsYW5nPWZvbytiYXIiLCAnRTQ3NDonKQoKICBzZXQgZW5jJiBzcGVsbCYgc3BlbGxsYW5nJgogIGJ3aXBlCmVuZGZ1bmMKCmZ1bmMgVGVzdF96el9iYXNpYygpCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjEsIGc6dGVzdF9kYXRhX2RpYzEpCiAgY2FsbCBSdW5Hb29kQmFkKCJ3cm9uZyBPSyBwdXRzLiBUZXN0IHRoZSBlbmQiLAogICAgICAgIFwgImJhZDogaW5wdXRzIGNvbW1lbnQgb2sgT2suIHRlc3QgZFx4RTlceEY0bCBlbmQgdGhlIiwKICAgICAgICBcWyJDb21tZW50IiwgImRlb2wiLCAiZFx4RTlceEY0ciIsICJpbnB1dCIsICJPSyIsICJvdXRwdXQiLCAib3V0cHV0cyIsICJvdXR0ZXN0IiwgInB1dCIsICJwdXRzIiwKICAgICAgICBcICAidGVzdCIsICJ0ZXN0ZW4iLCAidGVzdG4iLCAidGhlIGVuZCIsICJ1ayIsICJ3cm9uZyJdLAogICAgICAgIFxbCiAgICAgICAgXCAgIFsiYmFkIiwgWyJwdXQiLCAidWsiLCAiT0siXV0sCiAgICAgICAgXCAgIFsiaW5wdXRzIiwgWyJpbnB1dCIsICJwdXRzIiwgIm91dHB1dHMiXV0sCiAgICAgICAgXCAgIFsiY29tbWVudCIsIFsiQ29tbWVudCIsICJvdXR0ZXN0IiwgInRoZSBlbmQiXV0sCiAgICAgICAgXCAgIFsib2siLCBbIk9LIiwgInVrIiwgInB1dCJdXSwKICAgICAgICBcICAgWyJPayIsIFsiT0siLCAiVWsiLCAiUHV0Il1dLAogICAgICAgIFwgICBbInRlc3QiLCBbIlRlc3QiLCAidGVzdG4iLCAidGVzdGVuIl1dLAogICAgICAgIFwgICBbImRceEU5XHhGNGwiLCBbImRlb2wiLCAiZFx4RTlceEY0ciIsICJ0ZXN0Il1dLAogICAgICAgIFwgICBbImVuZCIsIFsicHV0IiwgInVrIiwgInRlc3QiXV0sCiAgICAgICAgXCAgIFsidGhlIiwgWyJwdXQiLCAidWsiLCAidGVzdCJdXSwKICAgICAgICBcIF0KICAgICAgICBcICkKCiAgY2FsbCBhc3NlcnRfZXF1YWwoImdlYmxldGVnZWsiLCBzb3VuZGZvbGQoJ2dvb2JsZWR5Z29vb2snKSkKICBjYWxsIGFzc2VydF9lcXVhbCgia2VwZXJlbmV2ZW4iLCAna/NvcOty/270dmVuJy0+c291bmRmb2xkKCkpCiAgY2FsbCBhc3NlcnRfZXF1YWwoImV2ZXJsZXMgZ2VzdmV0cyBldGVsZSIsIHNvdW5kZm9sZCgnb2V2ZXJsb29zIGdlendldHMgZWRhbGUnKSkKZW5kZnVuYwoKIiBQb3N0cG9uZWQgcHJlZml4ZXMKZnVuYyBUZXN0X3p6X3ByZWZpeGVzKCkKICBjYWxsIExvYWRBZmZBbmREaWMoZzp0ZXN0X2RhdGFfYWZmMiwgZzp0ZXN0X2RhdGFfZGljMSkKICBjYWxsIFJ1bkdvb2RCYWQoInB1dHMiLAogICAgICAgIFwgImJhZDogaW5wdXRzIGNvbW1lbnQgb2sgT2sgZW5kIHRoZS4gdGVzdCBkXHhFOVx4RjRsIiwKICAgICAgICBcIFsiQ29tbWVudCIsICJkZW9sIiwgImRceEU5XHhGNHIiLCAiT0siLCAicHV0IiwgImlucHV0IiwgIm91dHB1dCIsICJwdXRzIiwgIm91dHB1dHMiLCAidGVzdCIsICJvdXR0ZXN0IiwgInRlc3RlbiIsICJ0ZXN0biIsICJ0aGUgZW5kIiwgInVrIiwgIndyb25nIl0sCiAgICAgICAgXCBbCiAgICAgICAgXCAgIFsiYmFkIiwgWyJwdXQiLCAidWsiLCAiT0siXV0sCiAgICAgICAgXCAgIFsiaW5wdXRzIiwgWyJpbnB1dCIsICJwdXRzIiwgIm91dHB1dHMiXV0sCiAgICAgICAgXCAgIFsiY29tbWVudCIsIFsiQ29tbWVudCJdXSwKICAgICAgICBcICAgWyJvayIsIFsiT0siLCAidWsiLCAicHV0Il1dLAogICAgICAgIFwgICBbIk9rIiwgWyJPSyIsICJVayIsICJQdXQiXV0sCiAgICAgICAgXCAgIFsiZW5kIiwgWyJwdXQiLCAidWsiLCAiZGVvbCJdXSwKICAgICAgICBcICAgWyJ0aGUiLCBbInB1dCIsICJ1ayIsICJ0ZXN0Il1dLAogICAgICAgIFwgICBbInRlc3QiLCBbIlRlc3QiLCAidGVzdG4iLCAidGVzdGVuIl1dLAogICAgICAgIFwgICBbImRceEU5XHhGNGwiLCBbImRlb2wiLCAiZFx4RTlceEY0ciIsICJ0ZXN0Il1dLAogICAgICAgIFwgXSkKZW5kZnVuYwoKIkNvbXBvdW5kIHdvcmRzCmZ1bmMgVGVzdF96el9jb21wb3VuZCgpCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjMsIGc6dGVzdF9kYXRhX2RpYzMpCiAgY2FsbCBSdW5Hb29kQmFkKCJmb28gbVx4RUYgZm9vYmFyIGZvb2Zvb2JhciBiYXJmb28gYmFyYmFyZm9vIiwKICAgICAgICBcICJiYWQ6IGJhciBsYSBmb29tXHhFRiBiYXJtXHhFRiBtXHhFRmZvbyBtXHhFRmJhciBtXHhFRm1ceEVGIGxhbGEgbVx4RUZsYSBsYW1ceEVGIGZvb2xhIGxhYmFyIiwKICAgICAgICBcIFsiZm9vIiwgIm1ceEVGIl0sCiAgICAgICAgXCBbCiAgICAgICAgXCAgIFsiYmFkIiwgWyJmb28iLCAibVx4RUYiXV0sCiAgICAgICAgXCAgIFsiYmFyIiwgWyJiYXJmb28iLCAiZm9vYmFyIiwgImZvbyJdXSwKICAgICAgICBcICAgWyJsYSIsIFsibVx4RUYiLCAiZm9vIl1dLAogICAgICAgIFwgICBbImZvb21ceEVGIiwgWyJmb28gbVx4RUYiLCAiZm9vIiwgImZvb2ZvbyJdXSwKICAgICAgICBcICAgWyJiYXJtXHhFRiIsIFsiYmFyZm9vIiwgIm1ceEVGIiwgImJhcmJhciJdXSwKICAgICAgICBcICAgWyJtXHhFRmZvbyIsIFsibVx4RUYgZm9vIiwgImZvbyIsICJmb29mb28iXV0sCiAgICAgICAgXCAgIFsibVx4RUZiYXIiLCBbImZvb2JhciIsICJiYXJiYXIiLCAibVx4RUYiXV0sCiAgICAgICAgXCAgIFsibVx4RUZtXHhFRiIsIFsibVx4RUYgbVx4RUYiLCAibVx4RUYiXV0sCiAgICAgICAgXCAgIFsibGFsYSIsIFtdXSwKICAgICAgICBcICAgWyJtXHhFRmxhIiwgWyJtXHhFRiIsICJtXHhFRiBtXHhFRiJdXSwKICAgICAgICBcICAgWyJsYW1ceEVGIiwgWyJtXHhFRiIsICJtXHhFRiBtXHhFRiJdXSwKICAgICAgICBcICAgWyJmb29sYSIsIFsiZm9vIiwgImZvb2JhciIsICJmb29mb28iXV0sCiAgICAgICAgXCAgIFsibGFiYXIiLCBbImJhcmJhciIsICJmb29iYXIiXV0sCiAgICAgICAgXCBdKQoKICBjYWxsIExvYWRBZmZBbmREaWMoZzp0ZXN0X2RhdGFfYWZmNCwgZzp0ZXN0X2RhdGFfZGljNCkKICBjYWxsIFJ1bkdvb2RCYWQoIndvcmQgdXRpbCBib3JrIHByZWJvcmsgc3RhcnQgZW5kIHdvcmR1dGlsIHdvcmR1dGlscyBwcm8tb2sgYm9yayBib3JrYm9yayBib3JrYm9ya2JvcmsgYm9ya2Jvcmtib3JrYm9yayBib3JrYm9ya2Jvcmtib3JrYm9yayB0b21hdG8gdG9tYXRvdG9tYXRvIHN0YXJ0ZW5kIHN0YXJ0d29yZCBzdGFydHdvcmR3b3JkIHN0YXJ0d29yZGVuZCBzdGFydHdvcmR3b3JkZW5kIHN0YXJ0d29yZHdvcmR3b3JkZW5kIHByZWJvcmsgcHJlYm9ya2JvcmsgcHJlYm9ya2Jvcmtib3JrIG5vdXdvcmQiLAogICAgICAgIFwgImJhZDogd29yZHV0aWxpemUgcHJvIGJvcmtib3JrYm9ya2Jvcmtib3JrYm9yayB0b21hdG90b21hdG90b21hdG8gZW5kc3RhcnQgZW5kZW5kIHN0YXJ0c3RhcnQgd29yZGVuZCB3b3Jkc3RhcnQgcHJlYm9ya3ByZWJvcmsgIHByZWJvcmtwcmVib3JrYm9yayBzdGFydHdvcmR3b3Jkd29yZHdvcmRlbmQgYm9ya3ByZWJvcmtwcmVib3JrYm9yayB1dGlsc2JvcmsgIHN0YXJ0bm91d29yZCIsCiAgICAgICAgXCBbImJvcmsiLCAicHJlYm9yayIsICJlbmQiLCAicHJvLW9rIiwgInN0YXJ0IiwgInRvbWF0byIsICJ1dGlsIiwgInV0aWxpemUiLCAidXRpbHMiLCAid29yZCIsICJub3V3b3JkIl0sCiAgICAgICAgXCBbCiAgICAgICAgXCAgIFsiYmFkIiwgWyJlbmQiLCAiYm9yayIsICJ3b3JkIl1dLAogICAgICAgIFwgICBbIndvcmR1dGlsaXplIiwgWyJ3b3JkIHV0aWxpemUiLCAid29yZHV0aWxzIiwgIndvcmR1dGlsIl1dLAogICAgICAgIFwgICBbInBybyIsIFsiYm9yayIsICJ3b3JkIiwgImVuZCJdXSwKICAgICAgICBcICAgWyJib3JrYm9ya2Jvcmtib3JrYm9ya2JvcmsiLCBbImJvcmsgYm9ya2Jvcmtib3JrYm9ya2JvcmsiLCAiYm9ya2JvcmsgYm9ya2Jvcmtib3JrYm9yayIsICJib3JrYm9ya2JvcmsgYm9ya2Jvcmtib3JrIl1dLAogICAgICAgIFwgICBbInRvbWF0b3RvbWF0b3RvbWF0byIsIFsidG9tYXRvIHRvbWF0b3RvbWF0byIsICJ0b21hdG90b21hdG8gdG9tYXRvIiwgInRvbWF0byB0b21hdG8gdG9tYXRvIl1dLAogICAgICAgIFwgICBbImVuZHN0YXJ0IiwgWyJlbmQgc3RhcnQiLCAic3RhcnQiXV0sCiAgICAgICAgXCAgIFsiZW5kZW5kIiwgWyJlbmQgZW5kIiwgImVuZCJdXSwKICAgICAgICBcICAgWyJzdGFydHN0YXJ0IiwgWyJzdGFydCBzdGFydCJdXSwKICAgICAgICBcICAgWyJ3b3JkZW5kIiwgWyJ3b3JkIGVuZCIsICJ3b3JkIiwgIndvcmR3b3JkIl1dLAogICAgICAgIFwgICBbIndvcmRzdGFydCIsIFsid29yZCBzdGFydCIsICJib3JrIHN0YXJ0Il1dLAogICAgICAgIFwgICBbInByZWJvcmtwcmVib3JrIiwgWyJwcmVib3JrIHByZWJvcmsiLCAicHJlYm9ya2JvcmsiLCAicHJlYm9ya2Jvcmtib3JrIl1dLAogICAgICAgIFwgICBbInByZWJvcmtwcmVib3JrYm9yayIsIFsicHJlYm9yayBwcmVib3JrYm9yayIsICJwcmVib3JrYm9ya2JvcmsiLCAicHJlYm9ya2Jvcmtib3JrYm9yayJdXSwKICAgICAgICBcICAgWyJzdGFydHdvcmR3b3Jkd29yZHdvcmRlbmQiLCBbInN0YXJ0d29yZHdvcmR3b3Jkd29yZCBlbmQiLCAic3RhcnR3b3Jkd29yZHdvcmR3b3JkIiwgInN0YXJ0IHdvcmR3b3Jkd29yZHdvcmQgZW5kIl1dLAogICAgICAgIFwgICBbImJvcmtwcmVib3JrcHJlYm9ya2JvcmsiLCBbImJvcmsgcHJlYm9ya3ByZWJvcmtib3JrIiwgImJvcmsgcHJlYm9yayBwcmVib3JrYm9yayIsICJib3JrIHByZWJvcmtwcmVib3JrIGJvcmsiXV0sCiAgICAgICAgXCAgIFsidXRpbHNib3JrIiwgWyJ1dGlsYm9yayIsICJ1dGlscyBib3JrIiwgInV0aWwgYm9yayJdXSwKICAgICAgICBcICAgWyJzdGFydG5vdXdvcmQiLCBbInN0YXJ0IG5vdXdvcmQiLCAic3RhcnR3b3JkIiwgInN0YXJ0Ym9ya3dvcmQiXV0sCiAgICAgICAgXCBdKQoKZW5kZnVuYwoKIlRlc3QgYWZmaXggZmxhZ3Mgd2l0aCB0d28gY2hhcmFjdGVycwpmdW5jIFRlc3RfenpfYWZmaXgoKQogIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmY1LCBnOnRlc3RfZGF0YV9kaWM1KQogIGNhbGwgUnVuR29vZEJhZCgiZm9vYTEgZm9vYVx4RTkgYmFyIHByZWJhciBiYXJib3JrIHByZWJhcmJvcmsgIHN0YXJ0cHJlYmFyIHN0YXJ0IGVuZCBzdGFydGVuZCAgc3RhcnRtaWRkbGVlbmQgbm91ZW5kIiwKICAgICAgICBcICJiYWQ6IGZvbyBmb29hMiBwcmFiYXIgcHJvYmFyYmlyayBtaWRkbGUgc3RhcnRtaWRkbGUgbWlkZGxlZW5kIGVuZHN0YXJ0IHN0YXJ0cHJvYmFyIHN0YXJ0bm91ZW5kIiwKICAgICAgICBcIFsiYmFyIiwgImJhcmJvcmsiLCAiZW5kIiwgImZvb2ExIiwgImZvb2FceEU5IiwgIm5vdWVuZCIsICJwcmViYXIiLCAicHJlYmFyYm9yayIsICJzdGFydCJdLAogICAgICAgIFwgWwogICAgICAgIFwgICBbImJhZCIsIFsiYmFyIiwgImVuZCIsICJmb29hMSJdXSwKICAgICAgICBcICAgWyJmb28iLCBbImZvb2ExIiwgImZvb2FceEU5IiwgImJhciJdXSwKICAgICAgICBcICAgWyJmb29hMiIsIFsiZm9vYTEiLCAiZm9vYVx4RTkiLCAiYmFyIl1dLAogICAgICAgIFwgICBbInByYWJhciIsIFsicHJlYmFyIiwgImJhciIsICJiYXIgYmFyIl1dLAogICAgICAgIFwgICBbInByb2JhcmJpcmsiLCBbInByZWJhcmJvcmsiXV0sCiAgICAgICAgXCAgIFsibWlkZGxlIiwgW11dLAogICAgICAgIFwgICBbInN0YXJ0bWlkZGxlIiwgWyJzdGFydG1pZGRsZWVuZCIsICJzdGFydG1pZGRsZWJhciJdXSwKICAgICAgICBcICAgWyJtaWRkbGVlbmQiLCBbXV0sCiAgICAgICAgXCAgIFsiZW5kc3RhcnQiLCBbImVuZCBzdGFydCIsICJzdGFydCJdXSwKICAgICAgICBcICAgWyJzdGFydHByb2JhciIsIFsic3RhcnRwcmViYXIiLCAic3RhcnQgcHJlYmFyIiwgInN0YXJ0YmFyIl1dLAogICAgICAgIFwgICBbInN0YXJ0bm91ZW5kIiwgWyJzdGFydCBub3VlbmQiLCAic3RhcnRlbmQiXV0sCiAgICAgICAgXCBdKQoKICBjYWxsIExvYWRBZmZBbmREaWMoZzp0ZXN0X2RhdGFfYWZmNiwgZzp0ZXN0X2RhdGFfZGljNikKICBjYWxsIFJ1bkdvb2RCYWQoIm1lZWExIG1lZWFceEU5IGJhciBwcmViYXIgYmFyYm9yayBwcmViYXJib3JrICBsZWFkcHJlYmFyIGxlYWQgZW5kIGxlYWRlbmQgIGxlYWRtaWRkbGVlbmQiLAogICAgICAgIFwgICJiYWQ6IG1lZSBtZWVhMiBwcmFiYXIgcHJvYmFyYmlyayBtaWRkbGUgbGVhZG1pZGRsZSBtaWRkbGVlbmQgZW5kbGVhZCBsZWFkcHJvYmFyIiwKICAgICAgICBcIFsiYmFyIiwgImJhcmJvcmsiLCAiZW5kIiwgImxlYWQiLCAibWVlYTEiLCAibWVlYVx4RTkiLCAicHJlYmFyIiwgInByZWJhcmJvcmsiXSwKICAgICAgICBcIFsKICAgICAgICBcICAgWyJiYWQiLCBbImJhciIsICJlbmQiLCAibGVhZCJdXSwKICAgICAgICBcICAgWyJtZWUiLCBbIm1lZWExIiwgIm1lZWFceEU5IiwgImJhciJdXSwKICAgICAgICBcICAgWyJtZWVhMiIsIFsibWVlYTEiLCAibWVlYVx4RTkiLCAibGVhZCJdXSwKICAgICAgICBcICAgWyJwcmFiYXIiLCBbInByZWJhciIsICJiYXIiLCAibGVhZGJhciJdXSwKICAgICAgICBcICAgWyJwcm9iYXJiaXJrIiwgWyJwcmViYXJib3JrIl1dLAogICAgICAgIFwgICBbIm1pZGRsZSIsIFtdXSwKICAgICAgICBcICAgWyJsZWFkbWlkZGxlIiwgWyJsZWFkbWlkZGxlZW5kIiwgImxlYWRtaWRkbGViYXIiXV0sCiAgICAgICAgXCAgIFsibWlkZGxlZW5kIiwgW11dLAogICAgICAgIFwgICBbImVuZGxlYWQiLCBbImVuZCBsZWFkIiwgImxlYWQiLCAiZW5kIGVuZCJdXSwKICAgICAgICBcICAgWyJsZWFkcHJvYmFyIiwgWyJsZWFkcHJlYmFyIiwgImxlYWQgcHJlYmFyIiwgImxlYWRiYXIiXV0sCiAgICAgICAgXCBdKQoKICBjYWxsIExvYWRBZmZBbmREaWMoZzp0ZXN0X2RhdGFfYWZmNywgZzp0ZXN0X2RhdGFfZGljNykKICBjYWxsIFJ1bkdvb2RCYWQoIm1lZWExIG1lZXplcm8gbWVlYVx4RTkgYmFyIHByZWJhciBiYXJtZWF0IHByZWJhcm1lYXQgIGxlYWRwcmViYXIgbGVhZCB0YWlsIGxlYWR0YWlsICBsZWFkbWlkZGxldGFpbCIsCiAgICAgICAgXCAiYmFkOiBtZWUgbWVlYTIgcHJhYmFyIHByb2Jhcm1hYXQgbWlkZGxlIGxlYWRtaWRkbGUgbWlkZGxldGFpbCB0YWlsbGVhZCBsZWFkcHJvYmFyIiwKICAgICAgICBcIFsiYmFyIiwgImJhcm1lYXQiLCAibGVhZCIsICJtZWVhMSIsICJtZWVhXHhFOSIsICJtZWV6ZXJvIiwgInByZWJhciIsICJwcmViYXJtZWF0IiwgInRhaWwiXSwKICAgICAgICBcIFsKICAgICAgICBcICAgWyJiYWQiLCBbImJhciIsICJsZWFkIiwgInRhaWwiXV0sCiAgICAgICAgXCAgIFsibWVlIiwgWyJtZWVhMSIsICJtZWVhXHhFOSIsICJiYXIiXV0sCiAgICAgICAgXCAgIFsibWVlYTIiLCBbIm1lZWExIiwgIm1lZWFceEU5IiwgImxlYWQiXV0sCiAgICAgICAgXCAgIFsicHJhYmFyIiwgWyJwcmViYXIiLCAiYmFyIiwgImxlYWRiYXIiXV0sCiAgICAgICAgXCAgIFsicHJvYmFybWFhdCIsIFsicHJlYmFybWVhdCJdXSwKICAgICAgICBcICAgWyJtaWRkbGUiLCBbXV0sCiAgICAgICAgXCAgIFsibGVhZG1pZGRsZSIsIFsibGVhZG1pZGRsZWJhciJdXSwKICAgICAgICBcICAgWyJtaWRkbGV0YWlsIiwgW11dLAogICAgICAgIFwgICBbInRhaWxsZWFkIiwgWyJ0YWlsIGxlYWQiLCAidGFpbCJdXSwKICAgICAgICBcICAgWyJsZWFkcHJvYmFyIiwgWyJsZWFkcHJlYmFyIiwgImxlYWQgcHJlYmFyIiwgImxlYWRiYXIiXV0sCiAgICAgICAgXCBdKQplbmRmdW5jCgpmdW5jIFRlc3RfenpfTk9TTElUU1VHUygpCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjgsIGc6dGVzdF9kYXRhX2RpYzgpCiAgY2FsbCBSdW5Hb29kQmFkKCJmb28gYmFyIGZhYWJhciIsICJiYWQ6IGZvb2JhciBiYXJmb28iLAogICAgICAgIFwgWyJiYXIiLCAiZmFhYmFyIiwgImZvbyJdLAogICAgICAgIFwgWwogICAgICAgIFwgICBbImJhZCIsIFsiYmFyIiwgImZvbyJdXSwKICAgICAgICBcICAgWyJmb29iYXIiLCBbImZhYWJhciIsICJmb28gYmFyIiwgImJhciJdXSwKICAgICAgICBcICAgWyJiYXJmb28iLCBbImJhciBmb28iLCAiYmFyIiwgImZvbyJdXSwKICAgICAgICBcIF0pCmVuZGZ1bmMKCiIgTnVtYmVycwpmdW5jIFRlc3RfenpfTnVtYmVycygpCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjksIGc6dGVzdF9kYXRhX2RpYzkpCiAgY2FsbCBSdW5Hb29kQmFkKCIwYjEwMTEgMDc3NyAxMjM0IDB4MDFmZiIsICIiLAogICAgICAgIFwgWyJiYXIiLCAiZm9vIl0sCiAgICAgICAgXCBbCiAgICAgICAgXCBdKQplbmRmdW5jCgoiIEFmZml4IGZsYWdzCmZ1bmMgVGVzdF96el9hZmZpeF9mbGFncygpCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjEwLCBnOnRlc3RfZGF0YV9kaWMxMCkKICBjYWxsIFJ1bkdvb2RCYWQoImRyaW5rIGRyaW5rYWJsZSBkcmlua2FibGVzIGRyaW5rdGFibGUgZHJpbmthYmxldGFibGUiLAoJXCAiYmFkOiBkcmlua3MgZHJpbmtzdGFibGUgZHJpbmthYmxlc3RhYmxlIiwKICAgICAgICBcIFsiZHJpbmsiLCAiZHJpbmthYmxlIiwgImRyaW5rYWJsZXMiLCAidGFibGUiXSwKICAgICAgICBcIFtbJ2JhZCcsIFtdXSwKCVwgWydkcmlua3MnLCBbJ2RyaW5rJ11dLAoJXCBbJ2RyaW5rc3RhYmxlJywgWydkcmlua3RhYmxlJywgJ2RyaW5rYWJsZScsICdkcmluayB0YWJsZSddXSwKICAgICAgICBcIFsnZHJpbmthYmxlc3RhYmxlJywgWydkcmlua2FibGV0YWJsZScsICdkcmlua2FibGVzIHRhYmxlJywgJ2RyaW5rYWJsZSB0YWJsZSddXSwKCVwgXSkKZW5kZnVuYwoKZnVuY3Rpb24gRmlyc3RTcGVsbFdvcmQoKQogIGNhbGwgZmVlZGtleXMoIi9ec3RhcnQ6XG4iLCAndHgnKQogIG5vcm1hbCBdc21tCiAgbGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKICByZXR1cm4gc3RyCmVuZGZ1bmMKCmZ1bmN0aW9uIFNlY29uZFNwZWxsV29yZCgpCiAgbm9ybWFsIGBtXXMKICBsZXQgW3N0ciwgYV0gPSBzcGVsbGJhZHdvcmQoKQogIHJldHVybiBzdHIKZW5kZnVuYwoKIlRlc3Qgd2l0aCBTQUwgaW5zdGVhZCBvZiBTT0ZPIGl0ZW1zOyB0ZXN0IGF1dG9tYXRpYyByZWxvYWRpbmcKZnVuYyBUZXN0X3p6X3NhbF9hbmRfYWRkaXRpb24oKQogIHNldCBlbmM9bGF0aW4xCiAgc2V0IHNwZWxsZmlsZT0KICBjYWxsIHdyaXRlZmlsZShnOnRlc3RfZGF0YV9kaWMxLCAiWHRlc3QuZGljIikKICBjYWxsIHdyaXRlZmlsZShnOnRlc3RfZGF0YV9hZmZfc2FsLCAiWHRlc3QuYWZmIikKICBta3NwZWxsISBYdGVzdCBYdGVzdAogIHNldCBzcGw9WHRlc3QubGF0aW4xLnNwbCBzcGVsbAogIGNhbGwgYXNzZXJ0X2VxdWFsKCdrYmx0eWtrJywgc291bmRmb2xkKCdnb29ibGVkeWdvb29rJykpCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ2twcm5mbicsIHNvdW5kZm9sZCgna/NvcOty/270dmVuJykpCiAgY2FsbCBhc3NlcnRfZXF1YWwoJypmbHMga3N3dHMgdGwnLCBzb3VuZGZvbGQoJ29ldmVybG9vcyBnZXp3ZXRzIGVkYWxlJykpCgogICJhbHNvIHVzZSBhbiBhZGRpdGlvbiBmaWxlCiAgY2FsbCB3cml0ZWZpbGUoWyIvcmVnaW9ucz11c2dibnoiLCAiZWxlcXVpbnQvMiIsICJlbGVrd2ludC8zIl0sICJYdGVzdC5sYXRpbjEuYWRkIikKICBta3NwZWxsISBYdGVzdC5sYXRpbjEuYWRkLnNwbCBYdGVzdC5sYXRpbjEuYWRkCgogIGJ3aXBlIQogIGNhbGwgc2V0bGluZSgxLCBbInN0YXJ0OiBlbGVxdWludCB0ZXN0IGVsZWt3aW50IHRlc3QgZWxla3dlbnQgYXNkZiJdKQoKICBzZXQgc3BlbGxmaWxlPVh0ZXN0LmxhdGluMS5hZGQKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxla3dlbnQiLCBGaXJzdFNwZWxsV29yZCgpKQoKICBzZXQgc3BsPVh0ZXN0X3VzLmxhdGluMS5zcGwKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxlcXVpbnQiLCBGaXJzdFNwZWxsV29yZCgpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCJlbGVrd2ludCIsIFNlY29uZFNwZWxsV29yZCgpKQoKICBzZXQgc3BsPVh0ZXN0X2diLmxhdGluMS5zcGwKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxla3dpbnQiLCBGaXJzdFNwZWxsV29yZCgpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCJlbGVrd2VudCIsIFNlY29uZFNwZWxsV29yZCgpKQoKICBzZXQgc3BsPVh0ZXN0X256LmxhdGluMS5zcGwKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxlcXVpbnQiLCBGaXJzdFNwZWxsV29yZCgpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCJlbGVrd2VudCIsIFNlY29uZFNwZWxsV29yZCgpKQoKICBzZXQgc3BsPVh0ZXN0X2NhLmxhdGluMS5zcGwKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxlcXVpbnQiLCBGaXJzdFNwZWxsV29yZCgpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCJlbGVrd2ludCIsIFNlY29uZFNwZWxsV29yZCgpKQplbmRmdW5jCgpmdW5jIFRlc3Rfc3BlbGxmaWxlX3ZhbHVlKCkKICBzZXQgc3BlbGxmaWxlPVhkaXIvWHRlc3QubGF0aW4xLmFkZAogIHNldCBzcGVsbGZpbGU9WGRpci9YdGVzdC51dGYtOC5hZGQsWHRlc3Rfb3RoZXIuYWRkCmVuZGZ1bmMKCmZ1bmMgVGVzdF9yZWdpb25fZXJyb3IoKQogIG1lc3NhZ2VzIGNsZWFyCiAgY2FsbCB3cml0ZWZpbGUoWyIvcmVnaW9ucz11c2dibnoiLCAiZWxlcXVpbnQvMCJdLCAiWHRlc3QubGF0aW4xLmFkZCIpCiAgbWtzcGVsbCEgWHRlc3QubGF0aW4xLmFkZC5zcGwgWHRlc3QubGF0aW4xLmFkZAogIGNhbGwgYXNzZXJ0X21hdGNoKCdJbnZhbGlkIHJlZ2lvbiBuciBpbiBYdGVzdC5sYXRpbjEuYWRkIGxpbmUgMjogMCcsIGV4ZWN1dGUoJ21lc3NhZ2VzJykpCiAgY2FsbCBkZWxldGUoJ1h0ZXN0LmxhdGluMS5hZGQnKQogIGNhbGwgZGVsZXRlKCdYdGVzdC5sYXRpbjEuYWRkLnNwbCcpCmVuZGZ1bmMKCiIgQ2hlY2sgdXNpbmcgej0gaW4gbmV3IGJ1ZmZlciAoY3Jhc2ggZml4ZWQgYnkgcGF0Y2ggNy40YS4wMjgpLgpmdW5jIFRlc3RfemVxX2NyYXNoKCkKICBuZXcKICBzZXQgbWF4bWVtPTUxMiBzcGVsbAogIGNhbGwgZmVlZGtleXMoJ2lhc2Qbej06XCInLCAndHgnKQoKICBid2lwZSEKZW5kZnVuYwoKIiBDaGVjayB0aGF0IHo9IHdvcmtzIGV2ZW4gd2hlbiAnbm9zcGVsbCcgaXMgc2V0LiAgVGhpcyB0ZXN0IHVzZXMgb25lIG9mIHRoZQoiIHRlc3RzIGluIFRlc3Rfc3BlbGxzdWdnZXN0X29wdGlvbl9udW1iZXIoKSBqdXN0IHRvIHZlcmlmeSB0aGF0IHo9IGJhc2ljYWxseQoiIHdvcmtzIGFuZCB0aGF0ICJFNzU2OiBTcGVsbCBjaGVja2luZyBpcyBub3QgZW5hYmxlZCIgaXMgbm90IGdlbmVyYXRlZC4KZnVuYyBUZXN0X3plcV9ub3NwZWxsKCkKICBuZXcKICBzZXQgbm9zcGVsbCBzcGVsbHN1Z2dlc3Q9MSxiZXN0CiAgY2FsbCBzZXRsaW5lKDEsICdBIGJhb3JkJykKICB0cnkKICAgIG5vcm0gJDF6PQogICAgY2FsbCBhc3NlcnRfZXF1YWwoJ0EgYm9hcmQnLCBnZXRsaW5lKDEpKQogIGNhdGNoCiAgICBjYWxsIGFzc2VydF9yZXBvcnQoIkNhdWdodCBleGNlcHRpb246ICIgLiB2OmV4Y2VwdGlvbikKICBlbmR0cnkKICBzZXQgc3BlbGwmIHNwZWxsc3VnZ2VzdCYKICBid2lwZSEKZW5kZnVuYwoKIiBDaGVjayB0aGF0ICJFNzU2OiBTcGVsbCBjaGVja2luZyBpcyBub3QgcG9zc2libGUiIGlzIHJlcG9ydGVkIHdoZW4gej0gaXMKIiBleGVjdXRlZCBhbmQgJ3NwZWxsbGFuZycgaXMgZW1wdHkuCmZ1bmMgVGVzdF96ZXFfbm9fc3BlbGxsYW5nKCkKICBuZXcKICBzZXQgc3BlbGxsYW5nPSBzcGVsbHN1Z2dlc3Q9MSxiZXN0CiAgY2FsbCBzZXRsaW5lKDEsICdBIGJhb3JkJykKICBjYWxsIGFzc2VydF9mYWlscygnbm9ybWFsICQxej0nLCAnRTc1NjonKQogIHNldCBzcGVsbGxhbmcmIHNwZWxsc3VnZ2VzdCYKICBid2lwZSEKZW5kZnVuYwoKIiBDaGVjayBoYW5kbGluZyBhIHdvcmQgbG9uZ2VyIHRoYW4gTUFYV0xFTi4KZnVuYyBUZXN0X3NwZWxsX2xvbmdfd29yZCgpCiAgc2V0IGVuYz11dGYtOAogIG5ldwogIGNhbGwgc2V0bGluZSgxLCAiZFx4Q0NceEI0XHhDQ1x4QkRceENEXHg4OFx4Q0RceDk0YVx4Q0NceEI1XHhDRFx4ODRceENEXHg4NFx4Q0NceEE4XHhDRFx4OUNyXHhDQ1x4QjVceENDXHg4RVx4Q0RceDg1XHhDRFx4ODVrXHhDQ1x4QjZceENDXHg4OVx4Q0NceDlEIFx4Q0NceEI2XHhDQ1x4ODNceENDXHg4Rlx4Q0NceEE0XHhDRFx4OEVmXHhDQ1x4QjdceENDXHg4MVx4Q0NceDgwXHhDQ1x4QTlceENDXHhCMFx4Q0NceEFDXHhDQ1x4QTJceENEXHg5NVx4Q0RceDg3XHhDRFx4OERceENDXHg5RVx4Q0RceDk5XHhDQ1x4QURceENDXHhBQlx4Q0NceDk3XHhDQ1x4QkJvXHhDQ1x4QjZceENDXHg4NFx4Q0NceDk1XHhDQ1x4OENceENDXHg4Qlx4Q0RceDlCXHhDRFx4OUNceENDXHhBRnJceENDXHhCN1x4Q0NceDk0XHhDRFx4ODNceENEXHg5N1x4Q0NceDhDXHhDQ1x4ODJceENEXHg4Mlx4Q0RceDgwXHhDRFx4OTFceENDXHg4MFx4Q0NceEJFXHhDQ1x4ODJceENDXHg4Rlx4Q0NceEEzXHhDRFx4ODVceENDXHhBRVx4Q0RceDhEXHhDRFx4OTlceENDXHhCQ1x4Q0NceEFCXHhDQ1x4QTdceENEXHg4OGNceENDXHhCN1x4Q0RceDgzXHhDQ1x4ODRceENEXHg5Mlx4Q0NceDg2XHhDQ1x4ODNceENDXHg4OFx4Q0NceDkyXHhDQ1x4OTRceENDXHhCRVx4Q0NceDlEXHhDQ1x4QUZceENDXHg5OFx4Q0NceDlEXHhDQ1x4QkJceENEXHg4RVx4Q0NceEJCXHhDQ1x4QjNceENDXHhBM1x4Q0RceDhFXHhDRFx4OTlceENDXHhBNVx4Q0NceEFEXHhDQ1x4OTlceENDXHhCOVx4Q0NceEFFXHhDQ1x4QTVceENDXHg5RVx4Q0RceDg4XHhDQ1x4QUVceENDXHg5RVx4Q0NceEE5XHhDQ1x4OTdceENDXHhCQ1x4Q0NceDk5XHhDQ1x4QTVceENEXHg4N1x4Q0NceDk3XHhDRFx4OEVceENEXHg5NFx4Q0NceDk5XHhDQ1x4OURceENDXHg5Nlx4Q0RceDk0XHhDQ1x4QUJceENDXHhBN1x4Q0NceEE1XHhDQ1x4OThceENDXHhCQlx4Q0NceEFGXHhDQ1x4QUJlXHhDQ1x4QjdceENDXHg4RVx4Q0NceDgyXHhDRFx4ODZceENEXHg5Qlx4Q0NceDk0XHhDRFx4ODNceENDXHg4NVx4Q0RceDhBXHhDRFx4OENceENDXHg4Qlx4Q0RceDkyXHhDRFx4OTFceENDXHg4Rlx4Q0NceDgxXHhDRFx4OTVceENDXHhBMlx4Q0NceEI5XHhDQ1x4QjJceENEXHg5Q1x4Q0NceEIxXHhDQ1x4QTZceENDXHhCM1x4Q0NceEFGXHhDQ1x4QUVceENDXHg5Q1x4Q0RceDk5c1x4Q0NceEI4XHhDQ1x4OENceENDXHg4RVx4Q0NceDg3XHhDRFx4ODFceENEXHg4Mlx4Q0NceDg2XHhDRFx4OENceENEXHg4Q1x4Q0NceDhCXHhDQ1x4ODRceENDXHg4Q1x4Q0RceDg0XHhDRFx4OUJceENEXHg4Nlx4Q0NceDkzXHhDRFx4OTBceENDXHg4NVx4Q0NceDk0XHhDRFx4OThceENEXHg4NFx4Q0RceDkyXHhDRFx4OEJceENDXHg5MFx4Q0NceDgzXHhDQ1x4OEZceENEXHg4NFx4Q0RceDgxXHhDRFx4OUJceENDXHg5MFx4Q0RceDgxXHhDQ1x4OEZceENDXHhCRFx4Q0NceDg4XHhDQ1x4QkZceENDXHg4OFx4Q0NceDg0XHhDQ1x4OEVceENEXHg5OVx4Q0RceDk0XHhDQ1x4OTlceENEXHg5OVx4Q0NceEIwXHhDQ1x4QThceENDXHhBM1x4Q0NceEE4XHhDQ1x4OTZceENDXHg5OVx4Q0NceEFFXHhDQ1x4QkNceENDXHg5OVx4Q0RceDlBXHhDQ1x4QjJceENDXHhCMVx4Q0NceDlGXHhDQ1x4QkJceENDXHhBNlx4Q0RceDg1XHhDQ1x4QUFceENEXHg4OVx4Q0NceDlEXHhDQ1x4OTlceENEXHg5Nlx4Q0NceEIxXHhDQ1x4QjFceENDXHg5OVx4Q0NceEE2XHhDQ1x4QTVceENEXHg5NVx4Q0NceEIyXHhDQ1x4QTBceENEXHg5OSB3aXRoaW4iKQogIHNldCBzcGVsbCBzcGVsbGxhbmc9ZW4KICByZWRyYXcKICByZWRyYXchCiAgYndpcGUhCiAgc2V0IG5vc3BlbGwKZW5kZnVuYwoKZnVuYyBMb2FkQWZmQW5kRGljKGFmZl9jb250ZW50cywgZGljX2NvbnRlbnRzKQogIHNldCBlbmM9bGF0aW4xCiAgc2V0IHNwZWxsZmlsZT0KICBjYWxsIHdyaXRlZmlsZShhOmFmZl9jb250ZW50cywgIlh0ZXN0LmFmZiIpCiAgY2FsbCB3cml0ZWZpbGUoYTpkaWNfY29udGVudHMsICJYdGVzdC5kaWMiKQogICIgR2VuZXJhdGUgYSAuc3BsIGZpbGUgZnJvbSBhIC5kaWMgYW5kIC5hZmYgZmlsZS4KICBta3NwZWxsISBYdGVzdCBYdGVzdAogICIgdXNlIHRoYXQgc3BlbGwgZmlsZQogIHNldCBzcGw9WHRlc3QubGF0aW4xLnNwbCBzcGVsbAplbmRmdW5jCgpmdW5jIExpc3RXb3JkcygpCiAgc3BlbGxkdW1wCiAgJXlhbmsKICBxdWl0CiAgcmV0dXJuIHNwbGl0KEAiLCAiXG4iKQplbmRmdW5jCgpmdW5jIFRlc3RHb29kQmFkQmFzZSgpCiAgZXhlICcxOy9eZ29vZDonCiAgbm9ybWFsIDBmOl1zCiAgbGV0IHByZXZiYWQgPSAnJwogIGxldCByZXN1bHQgPSBbXQogIHdoaWxlIDEKICAgIGxldCBbYmFkLCBhXSA9IHNwZWxsYmFkd29yZCgpCiAgICBpZiBiYWQgPT0gJycgfHwgYmFkID09IHByZXZiYWQgfHwgYmFkID09ICdiYWRlbmQnCiAgICAgIGJyZWFrCiAgICBlbmRpZgogICAgbGV0IHByZXZiYWQgPSBiYWQKICAgIGxldCBsc3QgPSBiYWQtPnNwZWxsc3VnZ2VzdCgzKQogICAgbm9ybWFsIG1tCgogICAgY2FsbCBhZGQocmVzdWx0LCBbYmFkLCBsc3RdKQogICAgbm9ybWFsIGBtXXMKICBlbmR3aGlsZQogIHJldHVybiByZXN1bHQKZW5kZnVuYwoKZnVuYyBSdW5Hb29kQmFkKGdvb2QsIGJhZCwgZXhwZWN0ZWRfd29yZHMsIGV4cGVjdGVkX2JhZF93b3JkcykKICBid2lwZSEKICBjYWxsIHNldGxpbmUoMSwgWyJnb29kOiAiLCBhOmdvb2QsICBhOmJhZCwgIiBiYWRlbmQgIl0pCiAgbGV0IHdvcmRzID0gTGlzdFdvcmRzKCkKICBjYWxsIGFzc2VydF9lcXVhbChhOmV4cGVjdGVkX3dvcmRzLCB3b3Jkc1sxOi0xXSkKICBsZXQgYmFkX3dvcmRzID0gVGVzdEdvb2RCYWRCYXNlKCkKICBjYWxsIGFzc2VydF9lcXVhbChhOmV4cGVjdGVkX2JhZF93b3JkcywgYmFkX3dvcmRzKQogIGJ3aXBlIQplbmRmdW5jCgpmdW5jIFRlc3Rfc3BlbGxfc2NyZWVuZHVtcCgpCiAgQ2hlY2tTY3JlZW5kdW1wCgogIGxldCBsaW5lcyA9PDwgdHJpbSBFTkQKICAgICAgIGNhbGwgc2V0bGluZSgxLCBbCiAgICAgICAgICAgICBcICJUaGlzIGlzIHNvbWUgdGV4dCB3aXRob3V0IGFueSBzcGVsbCBlcnJvcnMuICBFdmVyeXRoaW5nIiwKICAgICAgICAgICAgIFwgInNob3VsZCBqdXN0IGJlIGJsYWNrLCBub3RoaW5nIHdyb25nIGhlcmUuIiwKICAgICAgICAgICAgIFwgIiIsCiAgICAgICAgICAgICBcICJUaGlzIGxpbmUgaGFzIGEgc2VwbGwgZXJyb3IuIGFuZCBtaXNzaW5nIGNhcHMuIiwKICAgICAgICAgICAgIFwgIkFuZCBhbmQgdGhpcyBpcyB0aGUgdGhlIGR1cGxpY2F0aW9uLiIsCiAgICAgICAgICAgICBcICJ3aXRoIG1pc3NpbmcgY2FwcyBoZXJlLiIsCiAgICAgICAgICAgICBcIF0pCiAgICAgICBzZXQgc3BlbGwgc3BlbGxsYW5nPWVuX256CiAgRU5ECiAgY2FsbCB3cml0ZWZpbGUobGluZXMsICdYdGVzdFNwZWxsJykKICBsZXQgYnVmID0gUnVuVmltSW5UZXJtaW5hbCgnLVMgWHRlc3RTcGVsbCcsIHsncm93cyc6IDh9KQogIGNhbGwgVmVyaWZ5U2NyZWVuRHVtcChidWYsICdUZXN0X3NwZWxsXzEnLCB7fSkKCiAgIiBjbGVhbiB1cAogIGNhbGwgU3RvcFZpbUluVGVybWluYWwoYnVmKQogIGNhbGwgZGVsZXRlKCdYdGVzdFNwZWxsJykKZW5kZnVuYwoKbGV0IGc6dGVzdF9kYXRhX2FmZjEgPSBbCiAgICAgIFwiU0VUIElTTzg4NTktMSIsCiAgICAgIFwiVFJZIGVzaWFucnRvbGNkdWdtcGhieWZ2a3dqa3F4ei1ceEVCXHhFOVx4RThceEVBXHhFRlx4RUVceEU0XHhFMFx4RTJceEY2XHhGQ1x4RkInRVNJQU5SVE9MQ0RVR01QSEJZRlZLV0pLUVhaIiwKICAgICAgXCIiLAogICAgICBcIkZPTCAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAogICAgICBcIkxPVyAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAogICAgICBcIlVQUCAgXHhDMFx4QzFceEMyXHhDM1x4QzRceEM1XHhDNlx4QzdceEM4XHhDOVx4Q0FceENCXHhDQ1x4Q0RceENFXHhDRlx4RDBceEQxXHhEMlx4RDNceEQ0XHhENVx4RDZceEQ4XHhEOVx4REFceERCXHhEQ1x4RERceERFXHhERlx4RkYiLAogICAgICBcIiIsCiAgICAgIFwiU09GT0ZST00gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGXHhDMFx4QzFceEMyXHhDM1x4QzRceEM1XHhDNlx4QzdceEM4XHhDOVx4Q0FceENCXHhDQ1x4Q0RceENFXHhDRlx4RDBceEQxXHhEMlx4RDNceEQ0XHhENVx4RDZceEQ4XHhEOVx4REFceERCXHhEQ1x4RERceERFXHhCRiIsCiAgICAgIFwiU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPyIsCiAgICAgIFwiIiwKICAgICAgXCJNSURXT1JEXHQnLSIsCiAgICAgIFwiIiwKICAgICAgXCJLRVAgPSIsCiAgICAgIFwiUkFSID8iLAogICAgICBcIkJBRCAhIiwKICAgICAgXCIiLAogICAgICBcIlBGWCBJIE4gMSIsCiAgICAgIFwiUEZYIEkgMCBpbiAuIiwKICAgICAgXCIiLAogICAgICBcIlBGWCBPIFkgMSIsCiAgICAgIFwiUEZYIE8gMCBvdXQgLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggUyBZIDIiLAogICAgICBcIlNGWCBTIDAgcyBbXnNdIiwKICAgICAgXCJTRlggUyAwIGVzIHMiLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIE4gTiAzIiwKICAgICAgXCJTRlggTiAwIGVuIFtebl0iLAogICAgICBcIlNGWCBOIDAgbmVuIG4iLAogICAgICBcIlNGWCBOIDAgbiAuIiwKICAgICAgXCIiLAogICAgICBcIlJFUCAzIiwKICAgICAgXCJSRVAgZyBjaCIsCiAgICAgIFwiUkVQIGNoIGciLAogICAgICBcIlJFUCBzdnAgcy52LnAuIiwKICAgICAgXCIiLAogICAgICBcIk1BUCA5IiwKICAgICAgXCJNQVAgYVx4RTBceEUxXHhFMlx4RTNceEU0XHhFNSIsCiAgICAgIFwiTUFQIGVceEU4XHhFOVx4RUFceEVCIiwKICAgICAgXCJNQVAgaVx4RUNceEVEXHhFRVx4RUYiLAogICAgICBcIk1BUCBvXHhGMlx4RjNceEY0XHhGNVx4RjYiLAogICAgICBcIk1BUCB1XHhGOVx4RkFceEZCXHhGQyIsCiAgICAgIFwiTUFQIG5ceEYxIiwKICAgICAgXCJNQVAgY1x4RTciLAogICAgICBcIk1BUCB5XHhGRlx4RkQiLAogICAgICBcIk1BUCBzXHhERiIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfZGljMSA9IFsKICAgICAgXCIxMjM0NTYiLAogICAgICBcInRlc3QvTk8iLAogICAgICBcIiMgY29tbWVudCIsCiAgICAgIFwid3JvbmciLAogICAgICBcIkNvbW1lbnQiLAogICAgICBcIk9LIiwKICAgICAgXCJ1ayIsCiAgICAgIFwicHV0L0lTTyIsCiAgICAgIFwidGhlIGVuZCIsCiAgICAgIFwiZGVvbCIsCiAgICAgIFwiZFx4RTlceEY0ciIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfYWZmMiA9IFsKICAgICAgXCJTRVQgSVNPODg1OS0xIiwKICAgICAgXCIiLAogICAgICBcIkZPTCAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAogICAgICBcIkxPVyAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAogICAgICBcIlVQUCAgXHhDMFx4QzFceEMyXHhDM1x4QzRceEM1XHhDNlx4QzdceEM4XHhDOVx4Q0FceENCXHhDQ1x4Q0RceENFXHhDRlx4RDBceEQxXHhEMlx4RDNceEQ0XHhENVx4RDZceEQ4XHhEOVx4REFceERCXHhEQ1x4RERceERFXHhERlx4RkYiLAogICAgICBcIiIsCiAgICAgIFwiUEZYUE9TVFBPTkUiLAogICAgICBcIiIsCiAgICAgIFwiTUlEV09SRFx0Jy0iLAogICAgICBcIiIsCiAgICAgIFwiS0VQID0iLAogICAgICBcIlJBUiA/IiwKICAgICAgXCJCQUQgISIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggSSBOIDEiLAogICAgICBcIlBGWCBJIDAgaW4gLiIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggTyBZIDEiLAogICAgICBcIlBGWCBPIDAgb3V0IFthLXpdIiwKICAgICAgXCIiLAogICAgICBcIlNGWCBTIFkgMiIsCiAgICAgIFwiU0ZYIFMgMCBzIFtec10iLAogICAgICBcIlNGWCBTIDAgZXMgcyIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggTiBOIDMiLAogICAgICBcIlNGWCBOIDAgZW4gW15uXSIsCiAgICAgIFwiU0ZYIE4gMCBuZW4gbiIsCiAgICAgIFwiU0ZYIE4gMCBuIC4iLAogICAgICBcIiIsCiAgICAgIFwiUkVQIDMiLAogICAgICBcIlJFUCBnIGNoIiwKICAgICAgXCJSRVAgY2ggZyIsCiAgICAgIFwiUkVQIHN2cCBzLnYucC4iLAogICAgICBcIiIsCiAgICAgIFwiTUFQIDkiLAogICAgICBcIk1BUCBhXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1IiwKICAgICAgXCJNQVAgZVx4RThceEU5XHhFQVx4RUIiLAogICAgICBcIk1BUCBpXHhFQ1x4RURceEVFXHhFRiIsCiAgICAgIFwiTUFQIG9ceEYyXHhGM1x4RjRceEY1XHhGNiIsCiAgICAgIFwiTUFQIHVceEY5XHhGQVx4RkJceEZDIiwKICAgICAgXCJNQVAgblx4RjEiLAogICAgICBcIk1BUCBjXHhFNyIsCiAgICAgIFwiTUFQIHlceEZGXHhGRCIsCiAgICAgIFwiTUFQIHNceERGIiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9hZmYzID0gWwogICAgICBcIlNFVCBJU084ODU5LTEiLAogICAgICBcIiIsCiAgICAgIFwiQ09NUE9VTkRNSU4gMyIsCiAgICAgIFwiQ09NUE9VTkRSVUxFIG0qIiwKICAgICAgXCJORUVEQ09NUE9VTkQgeCIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfZGljMyA9IFsKICAgICAgXCIxMjM0IiwKICAgICAgXCJmb28vbSIsCiAgICAgIFwiYmFyL214IiwKICAgICAgXCJtXHhFRi9tIiwKICAgICAgXCJsYS9teCIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfYWZmNCA9IFsKICAgICAgXCJTRVQgSVNPODg1OS0xIiwKICAgICAgXCIiLAogICAgICBcIkZPTCAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAogICAgICBcIkxPVyAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAogICAgICBcIlVQUCAgXHhDMFx4QzFceEMyXHhDM1x4QzRceEM1XHhDNlx4QzdceEM4XHhDOVx4Q0FceENCXHhDQ1x4Q0RceENFXHhDRlx4RDBceEQxXHhEMlx4RDNceEQ0XHhENVx4RDZceEQ4XHhEOVx4REFceERCXHhEQ1x4RERceERFXHhERlx4RkYiLAogICAgICBcIiIsCiAgICAgIFwiQ09NUE9VTkRSVUxFIG0rIiwKICAgICAgXCJDT01QT1VORFJVTEUgc20qZSIsCiAgICAgIFwiQ09NUE9VTkRSVUxFIHNtKyIsCiAgICAgIFwiQ09NUE9VTkRNSU4gMyIsCiAgICAgIFwiQ09NUE9VTkRXT1JETUFYIDMiLAogICAgICBcIkNPTVBPVU5ERk9SQklERkxBRyB0IiwKICAgICAgXCIiLAogICAgICBcIkNPTVBPVU5EU1lMTUFYIDUiLAogICAgICBcIlNZTExBQkxFIGFceEUxZVx4RTlpXHhFRG9ceEYzXHhGNlx4RjV1XHhGQVx4RkNceEZCeS9hYS9hdS9lYS9lZS9laS9pZS9vYS9vZS9vby9vdS91dS91aSIsCiAgICAgIFwiIiwKICAgICAgXCJNQVAgOSIsCiAgICAgIFwiTUFQIGFceEUwXHhFMVx4RTJceEUzXHhFNFx4RTUiLAogICAgICBcIk1BUCBlXHhFOFx4RTlceEVBXHhFQiIsCiAgICAgIFwiTUFQIGlceEVDXHhFRFx4RUVceEVGIiwKICAgICAgXCJNQVAgb1x4RjJceEYzXHhGNFx4RjVceEY2IiwKICAgICAgXCJNQVAgdVx4RjlceEZBXHhGQlx4RkMiLAogICAgICBcIk1BUCBuXHhGMSIsCiAgICAgIFwiTUFQIGNceEU3IiwKICAgICAgXCJNQVAgeVx4RkZceEZEIiwKICAgICAgXCJNQVAgc1x4REYiLAogICAgICBcIiIsCiAgICAgIFwiTkVFREFGRklYIHgiLAogICAgICBcIiIsCiAgICAgIFwiUEZYUE9TVFBPTkUiLAogICAgICBcIiIsCiAgICAgIFwiTUlEV09SRCAnLSIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggcSBOIDEiLAogICAgICBcIlNGWCBxICAgMCAgICAtb2sgLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggYSBZIDIiLAogICAgICBcIlNGWCBhIDAgcyAuIiwKICAgICAgXCJTRlggYSAwIGl6ZS90IC4iLAogICAgICBcIiIsCiAgICAgIFwiUEZYIHAgTiAxIiwKICAgICAgXCJQRlggcCAwIHByZSAuIiwKICAgICAgXCIiLAogICAgICBcIlBGWCBQIE4gMSIsCiAgICAgIFwiUEZYIFAgMCBub3UgLiIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfZGljNCA9IFsKICAgICAgXCIxMjM0IiwKICAgICAgXCJ3b3JkL21QIiwKICAgICAgXCJ1dGlsL2FtIiwKICAgICAgXCJwcm8veHEiLAogICAgICBcInRvbWF0by9tIiwKICAgICAgXCJib3JrL21wIiwKICAgICAgXCJzdGFydC9zIiwKICAgICAgXCJlbmQvZSIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfYWZmNSA9IFsKICAgICAgXCJTRVQgSVNPODg1OS0xIiwKICAgICAgXCIiLAogICAgICBcIkZMQUcgbG9uZyIsCiAgICAgIFwiIiwKICAgICAgXCJORUVEQUZGSVggISEiLAogICAgICBcIiIsCiAgICAgIFwiQ09NUE9VTkRSVUxFIHNzbW0qZWUiLAogICAgICBcIiIsCiAgICAgIFwiTkVFRENPTVBPVU5EIHh4IiwKICAgICAgXCJDT01QT1VORFBFUk1JVEZMQUcgcHAiLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIDEzIFkgMSIsCiAgICAgIFwiU0ZYIDEzIDAgYm9yayAuIiwKICAgICAgXCIiLAogICAgICBcIlNGWCBhMSBZIDEiLAogICAgICBcIlNGWCBhMSAwIGExIC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIGFceEU5IFkgMSIsCiAgICAgIFwiU0ZYIGFceEU5IDAgYVx4RTkgLiIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggenogWSAxIiwKICAgICAgXCJQRlggenogMCBwcmUvcHAgLiIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggeXkgWSAxIiwKICAgICAgXCJQRlggeXkgMCBub3UgLiIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfZGljNSA9IFsKICAgICAgXCIxMjM0IiwKICAgICAgXCJmb28vYTFhXHhFOSEhIiwKICAgICAgXCJiYXIvenoxM2VlIiwKICAgICAgXCJzdGFydC9zcyIsCiAgICAgIFwiZW5kL2VleXkiLAogICAgICBcIm1pZGRsZS9tbXh4IiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9hZmY2ID0gWwogICAgICBcIlNFVCBJU084ODU5LTEiLAogICAgICBcIiIsCiAgICAgIFwiRkxBRyBjYXBsb25nIiwKICAgICAgXCIiLAogICAgICBcIk5FRURBRkZJWCBBISIsCiAgICAgIFwiIiwKICAgICAgXCJDT01QT1VORFJVTEUgc01tKkVlIiwKICAgICAgXCIiLAogICAgICBcIk5FRURDT01QT1VORCBYeCIsCiAgICAgIFwiIiwKICAgICAgXCJDT01QT1VORFBFUk1JVEZMQUcgcCIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggTjMgWSAxIiwKICAgICAgXCJTRlggTjMgMCBib3JrIC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIEExIFkgMSIsCiAgICAgIFwiU0ZYIEExIDAgYTEgLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggQVx4RTkgWSAxIiwKICAgICAgXCJTRlggQVx4RTkgMCBhXHhFOSAuIiwKICAgICAgXCIiLAogICAgICBcIlBGWCBaeiBZIDEiLAogICAgICBcIlBGWCBaeiAwIHByZS9wIC4iLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2RpYzYgPSBbCiAgICAgIFwiMTIzNCIsCiAgICAgIFwibWVlL0ExQVx4RTlBISIsCiAgICAgIFwiYmFyL1p6TjNFZSIsCiAgICAgIFwibGVhZC9zIiwKICAgICAgXCJlbmQvRWUiLAogICAgICBcIm1pZGRsZS9NbVh4IiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9hZmY3ID0gWwogICAgICBcIlNFVCBJU084ODU5LTEiLAogICAgICBcIiIsCiAgICAgIFwiRkxBRyBudW0iLAogICAgICBcIiIsCiAgICAgIFwiTkVFREFGRklYIDk5OTkiLAogICAgICBcIiIsCiAgICAgIFwiQ09NUE9VTkRSVUxFIDIsNzcqMTIzIiwKICAgICAgXCIiLAogICAgICBcIk5FRURDT01QT1VORCAxIiwKICAgICAgXCJDT01QT1VORFBFUk1JVEZMQUcgNDMyIiwKICAgICAgXCIiLAogICAgICBcIlNGWCA2MTAwMyBZIDEiLAogICAgICBcIlNGWCA2MTAwMyAwIG1lYXQgLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggMCBZIDEiLAogICAgICBcIlNGWCAwIDAgemVybyAuIiwKICAgICAgXCIiLAogICAgICBcIlNGWCAzOTEgWSAxIiwKICAgICAgXCJTRlggMzkxIDAgYTEgLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggMTExIFkgMSIsCiAgICAgIFwiU0ZYIDExMSAwIGFceEU5IC4iLAogICAgICBcIiIsCiAgICAgIFwiUEZYIDE3IFkgMSIsCiAgICAgIFwiUEZYIDE3IDAgcHJlLzQzMiAuIiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9kaWM3ID0gWwogICAgICBcIjEyMzQiLAogICAgICBcIm1lZS8wLDM5MSwxMTEsOTk5OSIsCiAgICAgIFwiYmFyLzE3LDYxMDAzLDEyMyIsCiAgICAgIFwibGVhZC8yIiwKICAgICAgXCJ0YWlsLzEyMyIsCiAgICAgIFwibWlkZGxlLzc3LDEiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2FmZjggPSBbCiAgICAgIFwiU0VUIElTTzg4NTktMSIsCiAgICAgIFwiIiwKICAgICAgXCJOT1NQTElUU1VHUyIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfZGljOCA9IFsKICAgICAgXCIxMjM0IiwKICAgICAgXCJmb28iLAogICAgICBcImJhciIsCiAgICAgIFwiZmFhYmFyIiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9hZmY5ID0gWwogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2RpYzkgPSBbCiAgICAgIFwiMTIzNCIsCiAgICAgIFwiZm9vIiwKICAgICAgXCJiYXIiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2FmZjEwID0gWwogICAgICBcIkNPTVBPVU5EUlVMRSBzZSIsCiAgICAgIFwiQ09NUE9VTkRQRVJNSVRGTEFHIHAiLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIEEgWSAxIiwKICAgICAgXCJTRlggQSAwIGFibGUvTXAgLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggTSBZIDEiLAogICAgICBcIlNGWCBNIDAgcyAuIiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9kaWMxMCA9IFsKICAgICAgXCIxMjM0IiwKICAgICAgXCJkcmluay9BcyIsCiAgICAgIFwidGFibGUvZSIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfYWZmX3NhbCA9IFsKICAgICAgXCJTRVQgSVNPODg1OS0xIiwKICAgICAgXCJUUlkgZXNpYW5ydG9sY2R1Z21waGJ5ZnZrd2prcXh6LVx4RUJceEU5XHhFOFx4RUFceEVGXHhFRVx4RTRceEUwXHhFMlx4RjZceEZDXHhGQidFU0lBTlJUT0xDRFVHTVBIQllGVktXSktRWFoiLAogICAgICBcIiIsCiAgICAgIFwiRk9MICBceEUwXHhFMVx4RTJceEUzXHhFNFx4RTVceEU2XHhFN1x4RThceEU5XHhFQVx4RUJceEVDXHhFRFx4RUVceEVGXHhGMFx4RjFceEYyXHhGM1x4RjRceEY1XHhGNlx4RjhceEY5XHhGQVx4RkJceEZDXHhGRFx4RkVceERGXHhGRiIsCiAgICAgIFwiTE9XICBceEUwXHhFMVx4RTJceEUzXHhFNFx4RTVceEU2XHhFN1x4RThceEU5XHhFQVx4RUJceEVDXHhFRFx4RUVceEVGXHhGMFx4RjFceEYyXHhGM1x4RjRceEY1XHhGNlx4RjhceEY5XHhGQVx4RkJceEZDXHhGRFx4RkVceERGXHhGRiIsCiAgICAgIFwiVVBQICBceEMwXHhDMVx4QzJceEMzXHhDNFx4QzVceEM2XHhDN1x4QzhceEM5XHhDQVx4Q0JceENDXHhDRFx4Q0VceENGXHhEMFx4RDFceEQyXHhEM1x4RDRceEQ1XHhENlx4RDhceEQ5XHhEQVx4REJceERDXHhERFx4REVceERGXHhGRiIsCiAgICAgIFwiIiwKICAgICAgXCJNSURXT1JEXHQnLSIsCiAgICAgIFwiIiwKICAgICAgXCJLRVAgPSIsCiAgICAgIFwiUkFSID8iLAogICAgICBcIkJBRCAhIiwKICAgICAgXCIiLAogICAgICBcIlBGWCBJIE4gMSIsCiAgICAgIFwiUEZYIEkgMCBpbiAuIiwKICAgICAgXCIiLAogICAgICBcIlBGWCBPIFkgMSIsCiAgICAgIFwiUEZYIE8gMCBvdXQgLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggUyBZIDIiLAogICAgICBcIlNGWCBTIDAgcyBbXnNdIiwKICAgICAgXCJTRlggUyAwIGVzIHMiLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIE4gTiAzIiwKICAgICAgXCJTRlggTiAwIGVuIFtebl0iLAogICAgICBcIlNGWCBOIDAgbmVuIG4iLAogICAgICBcIlNGWCBOIDAgbiAuIiwKICAgICAgXCIiLAogICAgICBcIlJFUCAzIiwKICAgICAgXCJSRVAgZyBjaCIsCiAgICAgIFwiUkVQIGNoIGciLAogICAgICBcIlJFUCBzdnAgcy52LnAuIiwKICAgICAgXCIiLAogICAgICBcIk1BUCA5IiwKICAgICAgXCJNQVAgYVx4RTBceEUxXHhFMlx4RTNceEU0XHhFNSIsCiAgICAgIFwiTUFQIGVceEU4XHhFOVx4RUFceEVCIiwKICAgICAgXCJNQVAgaVx4RUNceEVEXHhFRVx4RUYiLAogICAgICBcIk1BUCBvXHhGMlx4RjNceEY0XHhGNVx4RjYiLAogICAgICBcIk1BUCB1XHhGOVx4RkFceEZCXHhGQyIsCiAgICAgIFwiTUFQIG5ceEYxIiwKICAgICAgXCJNQVAgY1x4RTciLAogICAgICBcIk1BUCB5XHhGRlx4RkQiLAogICAgICBcIk1BUCBzXHhERiIsCiAgICAgIFwiIiwKICAgICAgXCJTQUwgQUgoQUVJT1VZKS1eICAgICAgICAgKkgiLAogICAgICBcIlNBTCBBUihBRUlPVVkpLV4gICAgICAgICAqUiIsCiAgICAgIFwiU0FMIEEoSFIpXiAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBBXiAgICAgICAgICAgICAgICAgICAqIiwKICAgICAgXCJTQUwgQUgoQUVJT1VZKS0gICAgICAgICAgSCIsCiAgICAgIFwiU0FMIEFSKEFFSU9VWSktICAgICAgICAgIFIiLAogICAgICBcIlNBTCBBKEhSKSAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgXHhDMF4gICAgICAgICAgICAgICAgICAgKiIsCiAgICAgIFwiU0FMIFx4QzVeICAgICAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBCQi0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgQiAgICAgICAgICAgICAgICAgICAgQiIsCiAgICAgIFwiU0FMIENRLSAgICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBDSUEgICAgICAgICAgICAgICAgICBYIiwKICAgICAgXCJTQUwgQ0ggICAgICAgICAgICAgICAgICAgWCIsCiAgICAgIFwiU0FMIEMoRUlZKS0gICAgICAgICAgICAgIFMiLAogICAgICBcIlNBTCBDSyAgICAgICAgICAgICAgICAgICBLIiwKICAgICAgXCJTQUwgQ09VR0heICAgICAgICAgICAgICAgS0YiLAogICAgICBcIlNBTCBDQzwgICAgICAgICAgICAgICAgICBDIiwKICAgICAgXCJTQUwgQyAgICAgICAgICAgICAgICAgICAgSyIsCiAgICAgIFwiU0FMIERHKEVJWSkgICAgICAgICAgICAgIEsiLAogICAgICBcIlNBTCBERC0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgRCAgICAgICAgICAgICAgICAgICAgVCIsCiAgICAgIFwiU0FMIFx4Qzk8ICAgICAgICAgICAgICAgICAgIEUiLAogICAgICBcIlNBTCBFSChBRUlPVVkpLV4gICAgICAgICAqSCIsCiAgICAgIFwiU0FMIEVSKEFFSU9VWSktXiAgICAgICAgICpSIiwKICAgICAgXCJTQUwgRShIUileICAgICAgICAgICAgICAgKiIsCiAgICAgIFwiU0FMIEVOT1VHSF4kICAgICAgICAgICAgICpORiIsCiAgICAgIFwiU0FMIEVeICAgICAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBFSChBRUlPVVkpLSAgICAgICAgICBIIiwKICAgICAgXCJTQUwgRVIoQUVJT1VZKS0gICAgICAgICAgUiIsCiAgICAgIFwiU0FMIEUoSFIpICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBGRi0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgRiAgICAgICAgICAgICAgICAgICAgRiIsCiAgICAgIFwiU0FMIEdOXiAgICAgICAgICAgICAgICAgIE4iLAogICAgICBcIlNBTCBHTiQgICAgICAgICAgICAgICAgICBOIiwKICAgICAgXCJTQUwgR05TJCAgICAgICAgICAgICAgICAgTlMiLAogICAgICBcIlNBTCBHTkVEJCAgICAgICAgICAgICAgICBOIiwKICAgICAgXCJTQUwgR0goQUVJT1VZKS0gICAgICAgICAgSyIsCiAgICAgIFwiU0FMIEdIICAgICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBHRzkgICAgICAgICAgICAgICAgICBLIiwKICAgICAgXCJTQUwgRyAgICAgICAgICAgICAgICAgICAgSyIsCiAgICAgIFwiU0FMIEggICAgICAgICAgICAgICAgICAgIEgiLAogICAgICBcIlNBTCBJSChBRUlPVVkpLV4gICAgICAgICAqSCIsCiAgICAgIFwiU0FMIElSKEFFSU9VWSktXiAgICAgICAgICpSIiwKICAgICAgXCJTQUwgSShIUileICAgICAgICAgICAgICAgKiIsCiAgICAgIFwiU0FMIEleICAgICAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBJTkc2ICAgICAgICAgICAgICAgICBOIiwKICAgICAgXCJTQUwgSUgoQUVJT1VZKS0gICAgICAgICAgSCIsCiAgICAgIFwiU0FMIElSKEFFSU9VWSktICAgICAgICAgIFIiLAogICAgICBcIlNBTCBJKEhSKSAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgSiAgICAgICAgICAgICAgICAgICAgSyIsCiAgICAgIFwiU0FMIEtOXiAgICAgICAgICAgICAgICAgIE4iLAogICAgICBcIlNBTCBLSy0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgSyAgICAgICAgICAgICAgICAgICAgSyIsCiAgICAgIFwiU0FMIExBVUdIXiAgICAgICAgICAgICAgIExGIiwKICAgICAgXCJTQUwgTEwtICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIEwgICAgICAgICAgICAgICAgICAgIEwiLAogICAgICBcIlNBTCBNQiQgICAgICAgICAgICAgICAgICBNIiwKICAgICAgXCJTQUwgTU0gICAgICAgICAgICAgICAgICAgTSIsCiAgICAgIFwiU0FMIE0gICAgICAgICAgICAgICAgICAgIE0iLAogICAgICBcIlNBTCBOTi0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgTiAgICAgICAgICAgICAgICAgICAgTiIsCiAgICAgIFwiU0FMIE9IKEFFSU9VWSktXiAgICAgICAgICpIIiwKICAgICAgXCJTQUwgT1IoQUVJT1VZKS1eICAgICAgICAgKlIiLAogICAgICBcIlNBTCBPKEhSKV4gICAgICAgICAgICAgICAqIiwKICAgICAgXCJTQUwgT14gICAgICAgICAgICAgICAgICAgKiIsCiAgICAgIFwiU0FMIE9IKEFFSU9VWSktICAgICAgICAgIEgiLAogICAgICBcIlNBTCBPUihBRUlPVVkpLSAgICAgICAgICBSIiwKICAgICAgXCJTQUwgTyhIUikgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIFBIICAgICAgICAgICAgICAgICAgIEYiLAogICAgICBcIlNBTCBQTl4gICAgICAgICAgICAgICAgICBOIiwKICAgICAgXCJTQUwgUFAtICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIFAgICAgICAgICAgICAgICAgICAgIFAiLAogICAgICBcIlNBTCBRICAgICAgICAgICAgICAgICAgICBLIiwKICAgICAgXCJTQUwgUkheICAgICAgICAgICAgICAgICAgUiIsCiAgICAgIFwiU0FMIFJPVUdIXiAgICAgICAgICAgICAgIFJGIiwKICAgICAgXCJTQUwgUlItICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIFIgICAgICAgICAgICAgICAgICAgIFIiLAogICAgICBcIlNBTCBTQ0goRU9VKS0gICAgICAgICAgICBTSyIsCiAgICAgIFwiU0FMIFNDKElFWSktICAgICAgICAgICAgIFMiLAogICAgICBcIlNBTCBTSCAgICAgICAgICAgICAgICAgICBYIiwKICAgICAgXCJTQUwgU0koQU8pLSAgICAgICAgICAgICAgWCIsCiAgICAgIFwiU0FMIFNTLSAgICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBTICAgICAgICAgICAgICAgICAgICBTIiwKICAgICAgXCJTQUwgVEkoQU8pLSAgICAgICAgICAgICAgWCIsCiAgICAgIFwiU0FMIFRIICAgICAgICAgICAgICAgICAgIEAiLAogICAgICBcIlNBTCBUQ0gtLSAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgVE9VR0heICAgICAgICAgICAgICAgVEYiLAogICAgICBcIlNBTCBUVC0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgVCAgICAgICAgICAgICAgICAgICAgVCIsCiAgICAgIFwiU0FMIFVIKEFFSU9VWSktXiAgICAgICAgICpIIiwKICAgICAgXCJTQUwgVVIoQUVJT1VZKS1eICAgICAgICAgKlIiLAogICAgICBcIlNBTCBVKEhSKV4gICAgICAgICAgICAgICAqIiwKICAgICAgXCJTQUwgVV4gICAgICAgICAgICAgICAgICAgKiIsCiAgICAgIFwiU0FMIFVIKEFFSU9VWSktICAgICAgICAgIEgiLAogICAgICBcIlNBTCBVUihBRUlPVVkpLSAgICAgICAgICBSIiwKICAgICAgXCJTQUwgVShIUikgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIFZeICAgICAgICAgICAgICAgICAgIFciLAogICAgICBcIlNBTCBWICAgICAgICAgICAgICAgICAgICBGIiwKICAgICAgXCJTQUwgV1JeICAgICAgICAgICAgICAgICAgUiIsCiAgICAgIFwiU0FMIFdIXiAgICAgICAgICAgICAgICAgIFciLAogICAgICBcIlNBTCBXKEFFSU9VKS0gICAgICAgICAgICBXIiwKICAgICAgXCJTQUwgWF4gICAgICAgICAgICAgICAgICAgUyIsCiAgICAgIFwiU0FMIFggICAgICAgICAgICAgICAgICAgIEtTIiwKICAgICAgXCJTQUwgWShBRUlPVSktICAgICAgICAgICAgWSIsCiAgICAgIFwiU0FMIFpaLSAgICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBaICAgICAgICAgICAgICAgICAgICBTIiwKICAgICAgXCBdCgoiIHZpbTogc2hpZnR3aWR0aD0yIHN0cz0yIGV4cGFuZHRhYgo=