IiBUZXN0IHNwZWxsIGNoZWNraW5nCiIgTm90ZTogdGhpcyBmaWxlIHVzZXMgbGF0aW4xIGVuY29kaW5nLCBidXQgaXMgdXNlZCB3aXRoIHV0Zi04IGVuY29kaW5nLgoKc291cmNlIGNoZWNrLnZpbQpDaGVja0ZlYXR1cmUgc3BlbGwKCnNvdXJjZSBzY3JlZW5kdW1wLnZpbQoKZnVuYyBUZWFyRG93bigpCiAgc2V0IG5vc3BlbGwKICBjYWxsIGRlbGV0ZSgnWHRlc3QuYWZmJykKICBjYWxsIGRlbGV0ZSgnWHRlc3QuZGljJykKICBjYWxsIGRlbGV0ZSgnWHRlc3QubGF0aW4xLmFkZCcpCiAgY2FsbCBkZWxldGUoJ1h0ZXN0LmxhdGluMS5hZGQuc3BsJykKICBjYWxsIGRlbGV0ZSgnWHRlc3QubGF0aW4xLnNwbCcpCiAgY2FsbCBkZWxldGUoJ1h0ZXN0LmxhdGluMS5zdWcnKQplbmRmdW5jCgpmdW5jIFRlc3Rfd3JhcF9zZWFyY2goKQogIG5ldwogIGNhbGwgc2V0bGluZSgxLCBbJ1RoZScsICcnLCAnQSBwbG9uZyBsaW5lIHdpdGggdHdvIHpwZWxsaW5nIG1pc3Rha2VzJywgJycsICdFbmQnXSkKICBzZXQgc3BlbGwgd3JhcHNjYW4KICBub3JtYWwgXXMKICBjYWxsIGFzc2VydF9lcXVhbCgncGxvbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBub3JtYWwgXXMKICBjYWxsIGFzc2VydF9lcXVhbCgnenBlbGxpbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBub3JtYWwgXXMKICBjYWxsIGFzc2VydF9lcXVhbCgncGxvbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBid2lwZSEKICBzZXQgbm9zcGVsbAplbmRmdW5jCgpmdW5jIFRlc3RfY3Vyc3dhbnQoKQogIG5ldwogIGNhbGwgc2V0bGluZSgxLCBbJ0Fub3RoZXIgcGxvbmcgbGluZScsICdhYmNkZWZnaGlqa2xtbm9wcSddKQogIHNldCBzcGVsbCB3cmFwc2NhbgogIG5vcm1hbCAwXXMKICBjYWxsIGFzc2VydF9lcXVhbCgncGxvbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBub3JtYWwgagogIGNhbGwgYXNzZXJ0X2VxdWFsKDksIGdldGN1cnBvcygpWzJdKQogIG5vcm1hbCAwW3MKICBjYWxsIGFzc2VydF9lcXVhbCgncGxvbmcnLCBleHBhbmQoJzxjd29yZD4nKSkKICBub3JtYWwgagogIGNhbGwgYXNzZXJ0X2VxdWFsKDksIGdldGN1cnBvcygpWzJdKQoKICBub3JtYWwgMF1TCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ3Bsb25nJywgZXhwYW5kKCc8Y3dvcmQ+JykpCiAgbm9ybWFsIGoKICBjYWxsIGFzc2VydF9lcXVhbCg5LCBnZXRjdXJwb3MoKVsyXSkKICBub3JtYWwgMFtTCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ3Bsb25nJywgZXhwYW5kKCc8Y3dvcmQ+JykpCiAgbm9ybWFsIGoKICBjYWxsIGFzc2VydF9lcXVhbCg5LCBnZXRjdXJwb3MoKVsyXSkKCiAgbm9ybWFsIDFHMAogIGNhbGwgYXNzZXJ0X2VxdWFsKCdwbG9uZycsIHNwZWxsYmFkd29yZCgpWzBdKQogIG5vcm1hbCBqCiAgY2FsbCBhc3NlcnRfZXF1YWwoOSwgZ2V0Y3VycG9zKClbMl0pCgogIGJ3aXBlIQogIHNldCBub3NwZWxsCmVuZGZ1bmMKCmZ1bmMgVGVzdF96X2VxdWFsX29uX2ludmFsaWRfdXRmOF93b3JkKCkKICBzcGxpdAogIHNldCBzcGVsbAogIGNhbGwgc2V0bGluZSgxLCAiXHhmZiIpCiAgbm9ybSB6PQogIHNldCBub3NwZWxsCiAgYndpcGUhCmVuZGZ1bmMKCiIgVGVzdCBzcGVsbGJhZHdvcmQoKSB3aXRoIGFyZ3VtZW50CmZ1bmMgVGVzdF9zcGVsbGJhZHdvcmQoKQogIHNldCBzcGVsbAoKICBjYWxsIGFzc2VydF9lcXVhbChbJ2J5Y3ljbGUnLCAnYmFkJ10sICBzcGVsbGJhZHdvcmQoJ015IGJ5Y3ljbGUuJykpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydhbm90aGVyJywgJ2NhcHMnXSwgJ0Egc2VudGVuY2UuIGFub3RoZXIgc2VudGVuY2UnLT5zcGVsbGJhZHdvcmQoKSkKCiAgc2V0IHNwZWxsbGFuZz1lbgogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnJywgJyddLCAgICAgICAgICAgIHNwZWxsYmFkd29yZCgnY2VudHJlJykpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWycnLCAnJ10sICAgICAgICAgICAgc3BlbGxiYWR3b3JkKCdjZW50ZXInKSkKICBzZXQgc3BlbGxsYW5nPWVuX3VzCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydjZW50cmUnLCAnbG9jYWwnXSwgc3BlbGxiYWR3b3JkKCdjZW50cmUnKSkKICBjYWxsIGFzc2VydF9lcXVhbChbJycsICcnXSwgICAgICAgICAgICBzcGVsbGJhZHdvcmQoJ2NlbnRlcicpKQogIHNldCBzcGVsbGxhbmc9ZW5fZ2IKICBjYWxsIGFzc2VydF9lcXVhbChbJycsICcnXSwgICAgICAgICAgICBzcGVsbGJhZHdvcmQoJ2NlbnRyZScpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnY2VudGVyJywgJ2xvY2FsJ10sIHNwZWxsYmFkd29yZCgnY2VudGVyJykpCgogICIgQ3JlYXRlIGEgc21hbGwgd29yZCBsaXN0IHRvIHRlc3QgdGhhdCBzcGVsbGJhZHdvcmQoJy4uLicpCiAgIiBjYW4gcmV0dXJuIFsnLi4uJywgJ3JhcmUnXS4KICBlIFh3b3JkcwogIGluc2VydApmb28KZm9vYmFyLz8KLgogICB3IQogICBta3NwZWxsISBYd29yZHMuc3BsIFh3b3JkcwogICBzZXQgc3BlbGxsYW5nPVh3b3Jkcy5zcGwKICAgY2FsbCBhc3NlcnRfZXF1YWwoWydmb29iYXInLCAncmFyZSddLCBzcGVsbGJhZHdvcmQoJ2ZvbyBmb29iYXInKSkKCiAgIiBUeXBvIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQgd2l0aG91dCB0aGUgJ3NwZWxsJyBvcHRpb24uCiAgc2V0IHNwZWxsbGFuZz1lbl9nYiBub3NwZWxsCiAgY2FsbCBhc3NlcnRfZXF1YWwoWycnLCAnJ10sIHNwZWxsYmFkd29yZCgnY2VudHJlJykpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWycnLCAnJ10sIHNwZWxsYmFkd29yZCgnTXkgYnljeWNsZS4nKSkKICBjYWxsIGFzc2VydF9lcXVhbChbJycsICcnXSwgc3BlbGxiYWR3b3JkKCdBIHNlbnRlbmNlLiBhbm90aGVyIHNlbnRlbmNlJykpCgogIGNhbGwgZGVsZXRlKCdYd29yZHMuc3BsJykKICBjYWxsIGRlbGV0ZSgnWHdvcmRzJykKICBzZXQgc3BlbGxsYW5nJgogIHNldCBzcGVsbCYKZW5kZnVuYwoKZnVuYyBUZXN0X3NwZWxscmVhbGwoKQogIG5ldwogIHNldCBzcGVsbAogIGNhbGwgYXNzZXJ0X2ZhaWxzKCdzcGVsbHJlcGFsbCcsICdFNzUyOicpCiAgY2FsbCBzZXRsaW5lKDEsIFsnQSBzcGVsaW5nIG1pc3Rha2UuIFRoZSBzYW1lIHNwZWxpbmcgbWlzdGFrZS4nLAogICAgICAgIFwgICAgICAgICAgICAgICAgJ0Fub3RoZXIgc3BlbGluZyBtaXN0YWtlLiddKQogIGNhbGwgZmVlZGtleXMoJ11zMXo9JywgJ3R4JykKICBjYWxsIGFzc2VydF9lcXVhbCgnQSBzcGVsbGluZyBtaXN0YWtlLiBUaGUgc2FtZSBzcGVsaW5nIG1pc3Rha2UuJywgZ2V0bGluZSgxKSkKICBjYWxsIGFzc2VydF9lcXVhbCgnQW5vdGhlciBzcGVsaW5nIG1pc3Rha2UuJywgZ2V0bGluZSgyKSkKICBzcGVsbHJlcGFsbAogIGNhbGwgYXNzZXJ0X2VxdWFsKCdBIHNwZWxsaW5nIG1pc3Rha2UuIFRoZSBzYW1lIHNwZWxsaW5nIG1pc3Rha2UuJywgZ2V0bGluZSgxKSkKICBjYWxsIGFzc2VydF9lcXVhbCgnQW5vdGhlciBzcGVsbGluZyBtaXN0YWtlLicsIGdldGxpbmUoMikpCiAgY2FsbCBhc3NlcnRfZmFpbHMoJ3NwZWxscmVwYWxsJywgJ0U3NTM6JykKICBzZXQgc3BlbGwmCiAgYndpcGUhCmVuZGZ1bmMKCiIgVGVzdCBzcGVsbHN1Z2dlc3Qoe3dvcmR9IFssIHttYXh9IFssIHtjYXBpdGFsfV1dKQpmdW5jIFRlc3Rfc3BlbGxzdWdnZXN0KCkKICAiIE5vIHN1Z2dlc3Rpb25zIHdoZW4gc3BlbGwgY2hlY2tpbmcgaXMgbm90IGVuYWJsZWQuCiAgc2V0IG5vc3BlbGwKICBjYWxsIGFzc2VydF9lcXVhbChbXSwgc3BlbGxzdWdnZXN0KCdtYXJyY2gnKSkKCiAgc2V0IHNwZWxsCgogICIgV2l0aCAxIGFyZ3VtZW50LgogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnbWFyY2gnLCAnTWFyY2gnXSwgc3BlbGxzdWdnZXN0KCdtYXJyY2gnKVswOjFdKQoKICAiIFdpdGggMiBhcmd1bWVudHMuCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydtYXJjaCcsICdNYXJjaCddLCBzcGVsbHN1Z2dlc3QoJ21hcnJjaCcsIDIpKQoKICAiIFdpdGggMyBhcmd1bWVudHMuCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydtYXJjaCddLCBzcGVsbHN1Z2dlc3QoJ21hcnJjaCcsIDEsIDApKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnTWFyY2gnXSwgc3BlbGxzdWdnZXN0KCdtYXJyY2gnLCAxLCAxKSkKCiAgIiBUZXN0IHdpdGggZGlnaXRzIGFuZCBoeXBoZW4uCiAgY2FsbCBhc3NlcnRfZXF1YWwoJ0NhcmJvbi0xNCcsIHNwZWxsc3VnZ2VzdCgnQ2FyYm9uLTE1JylbMF0pCgogICIgQ29tbWVudCB0YWtlbiBmcm9tIHNwZWxsc3VnZ2VzdC5jIGV4cGxhaW5zIHRoZSBmb2xsb3dpbmcgdGVzdCBjYXNlczoKICAiCiAgIiBJZiB0aGVyZSBhcmUgbW9yZSBVUFBFUiB0aGFuIGxvd2VyIGNhc2UgbGV0dGVycyBzdWdnZXN0IGFuCiAgIiBBTExDQVAgd29yZC4gIE90aGVyd2lzZSwgaWYgdGhlIGZpcnN0IGxldHRlciBpcyBVUFBFUiB0aGVuCiAgIiBzdWdnZXN0IE9ORUNBUC4gIEV4Y2VwdGlvbjogIkFMbCIgbW9zdCBsaWtlbHkgc2hvdWxkIGJlICJBbGwiLAogICIgcmVxdWlyZSB0aHJlZSB1cHBlciBjYXNlIGxldHRlcnMuCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydUSElSRCcsICd0aGlyZCddLCBzcGVsbHN1Z2dlc3QoJ3RoSVJEJywgMikpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWyd0aGlyZCcsICdUSElSRCddLCBzcGVsbHN1Z2dlc3QoJ3RISXJkJywgMikpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydUaGlyZCddLCBzcGVsbHN1Z2dlc3QoJ1RIaXJkJywgMSkpCiAgY2FsbCBhc3NlcnRfZXF1YWwoWydBbGwnXSwgICAgICBzcGVsbHN1Z2dlc3QoJ0FMbCcsIDEpKQoKICBzZXQgc3BlbGwmCmVuZGZ1bmMKCiIgVGVzdCAnc3BlbGxzdWdnZXN0JyBvcHRpb24gd2l0aCBtZXRob2RzIGZhc3QsIGJlc3QgYW5kIGRvdWJsZS4KZnVuYyBUZXN0X3NwZWxsc3VnZ2VzdF9vcHRpb25fbWV0aG9kcygpCiAgc2V0IHNwZWxsCgogIGZvciBlIGluIFsnbGF0aW4xJywgJ3V0Zi04J10KICAgIGV4ZSAnc2V0IGVuY29kaW5nPScgLi4gZQoKICAgIHNldCBzcGVsbHN1Z2dlc3Q9ZmFzdAogICAgY2FsbCBhc3NlcnRfZXF1YWwoWydTdGljaycsICdTdGl0Y2gnXSwgc3BlbGxzdWdnZXN0KCdTdGljaCcsIDIpLCBlKQoKICAgICIgV2l0aCBiZXN0IG9yIGRvdWJsZSBvcHRpb24sICJTdGl0Y2giIHNob3VsZCBiZWNvbWUgdGhlIHRvcCBzdWdnZXN0aW9uCiAgICAiIGJlY2F1c2Ugb2YgYmV0dGVyIHBob25ldGljIG1hdGNoaW5nLgogICAgc2V0IHNwZWxsc3VnZ2VzdD1iZXN0CiAgICBjYWxsIGFzc2VydF9lcXVhbChbJ1N0aXRjaCcsICdTdGljayddLCBzcGVsbHN1Z2dlc3QoJ1N0aWNoJywgMiksIGUpCgogICAgc2V0IHNwZWxsc3VnZ2VzdD1kb3VibGUKICAgIGNhbGwgYXNzZXJ0X2VxdWFsKFsnU3RpdGNoJywgJ1N0aWNrJ10sIHNwZWxsc3VnZ2VzdCgnU3RpY2gnLCAyKSwgZSkKICBlbmRmb3IKCiAgc2V0IHNwZWxsJiBzcGVsbHN1Z2dlc3QmIGVuY29kaW5nJgplbmRmdW5jCgoiIFRlc3QgJ3NwZWxsc3VnZ2VzdCcgb3B0aW9uIHdpdGggdmFsdWUgZmlsZTp7ZmlsZW5hbWV9CmZ1bmMgVGVzdF9zcGVsbHN1Z2dlc3Rfb3B0aW9uX2ZpbGUoKQogIHNldCBzcGVsbCBzcGVsbHN1Z2dlc3Q9ZmlsZTpYc3BlbGxzdWdnZXN0CiAgY2FsbCB3cml0ZWZpbGUoWydlbWFjcy92aW0nLAogICAgICAgIFwgICAgICAgICAndGhlcmliYWwvdGVycmlibGUnLAogICAgICAgIFwgICAgICAgICAndGVyaWJhbC90ZXJycmlibGUnLAogICAgICAgIFwgICAgICAgICAndGVycmliYWwnXSwKICAgICAgICBcICAgICAgICAgJ1hzcGVsbHN1Z2dlc3QnKQoKICBjYWxsIGFzc2VydF9lcXVhbChbJ3ZpbSddLCAgICAgIHNwZWxsc3VnZ2VzdCgnZW1hY3MnLCAyKSkKICBjYWxsIGFzc2VydF9lcXVhbChbJ3RlcnJpYmxlJ10sIHNwZWxsc3VnZ2VzdCgndGhlcmliYWwnLDIpKQoKICAiIElmIHRoZSBzdWdnZXN0aW9uIGlzIG1pc3NwZWxsZWQgKCp0ZXJycmlibGUqIHdpdGggMyByKSwKICAiIGl0IHNob3VsZCBub3QgYmUgcHJvcG9zZWQuCiAgIiBUaGUgZW50cnkgZm9yICJ0ZXJyaWJhbCIgc2hvdWxkIGJlIGlnbm9yZWQgYmVjYXVzZSBvZiBtaXNzaW5nIHNsYXNoLgogIGNhbGwgYXNzZXJ0X2VxdWFsKFtdLCBzcGVsbHN1Z2dlc3QoJ3RlcmliYWwnLCAyKSkKICBjYWxsIGFzc2VydF9lcXVhbChbXSwgc3BlbGxzdWdnZXN0KCd0ZXJyaWJhbCcsIDIpKQoKICBzZXQgc3BlbGwgc3BlbGxzdWdnZXN0PWJlc3QsZmlsZTpYc3BlbGxzdWdnZXN0CiAgY2FsbCBhc3NlcnRfZXF1YWwoWyd2aW0nLCAnRW1hY3MnXSwgICAgICAgc3BlbGxzdWdnZXN0KCdlbWFjcycsIDIpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsndGVycmlibGUnLCAndHJpYmFsJ10sIHNwZWxsc3VnZ2VzdCgndGhlcmliYWwnLCAyKSkKICBjYWxsIGFzc2VydF9lcXVhbChbJ3RyaWJhbCddLCAgICAgICAgICAgICBzcGVsbHN1Z2dlc3QoJ3RlcmliYWwnLCAxKSkKICBjYWxsIGFzc2VydF9lcXVhbChbJ3RyaWJhbCddLCAgICAgICAgICAgICBzcGVsbHN1Z2dlc3QoJ3RlcnJpYmFsJywgMSkpCgogIGNhbGwgZGVsZXRlKCdYc3BlbGxzdWdnZXN0JykKICBjYWxsIGFzc2VydF9mYWlscygiY2FsbCBzcGVsbHN1Z2dlc3QoJ3ZpbScpIiwgIkU0ODQ6IENhbid0IG9wZW4gZmlsZSBYc3BlbGxzdWdnZXN0IikKCiAgc2V0IHNwZWxsc3VnZ2VzdCYgc3BlbGwmCmVuZGZ1bmMKCiIgVGVzdCAnc3BlbGxzdWdnZXN0JyBvcHRpb24gd2l0aCB2YWx1ZSB7bnVtYmVyfQoiIHRvIGxpbWl0IHRoZSBudW1iZXIgb2Ygc3VnZ2VzdGlvbnMKZnVuYyBUZXN0X3NwZWxsc3VnZ2VzdF9vcHRpb25fbnVtYmVyKCkKICBzZXQgc3BlbGwgc3BlbGxzdWdnZXN0PTIsYmVzdAogIG5ldwoKICAiIFdlIGxpbWl0ZWQgdGhlIG51bWJlciBvZiBzdWdnZXN0aW9ucyB0byAyLCBzbyBzZWxlY3RpbmcKICAiIHRoZSAxc3QgYW5kIDJuZCBzdWdnZXN0aW9uIHNob3VsZCBjb3JyZWN0IHRoZSB3b3JkLCBidXQKICAiIHNlbGVjdGluZyBhIDNyZCBzdWdnZXN0aW9uIHNob3VsZCBkbyBub3RoaW5nLgogIGNhbGwgc2V0bGluZSgxLCAnQSBiYW9yZCcpCiAgbm9ybSAkMXo9CiAgY2FsbCBhc3NlcnRfZXF1YWwoJ0EgYm9hcmQnLCBnZXRsaW5lKDEpKQoKICBjYWxsIHNldGxpbmUoMSwgJ0EgYmFvcmQnKQogIG5vcm0gJDJ6PQogIGNhbGwgYXNzZXJ0X2VxdWFsKCdBIGJhcmQnLCBnZXRsaW5lKDEpKQoKICBjYWxsIHNldGxpbmUoMSwgJ0EgYmFvcmQnKQogIG5vcm0gJDN6PQogIGNhbGwgYXNzZXJ0X2VxdWFsKCdBIGJhb3JkJywgZ2V0bGluZSgxKSkKCiAgbGV0IGEgPSBleGVjdXRlKCdub3JtICR6PScpCiAgY2FsbCBhc3NlcnRfZXF1YWwoCiAgXCAgICAiXG4iCiAgXCAuLiAiQ2hhbmdlIFwiYmFvcmRcIiB0bzpcbiIKICBcIC4uICIgMSBcImJvYXJkXCJcbiIKICBcIC4uICIgMiBcImJhcmRcIlxuIgogIFwgLi4gIlR5cGUgbnVtYmVyIGFuZCA8RW50ZXI+IG9yIGNsaWNrIHdpdGggbW91c2UgKGVtcHR5IGNhbmNlbHMpOiAiLCBhKQoKICBzZXQgc3BlbGwgc3BlbGxzdWdnZXN0PTAKICBjYWxsIGFzc2VydF9lcXVhbCgiXG5Tb3JyeSwgbm8gc3VnZ2VzdGlvbnMiLCBleGVjdXRlKCdub3JtICR6PScpKQoKICAiIFVubGlrZSB6PSwgZnVuY3Rpb24gc3BlbGxzdWdnZXN0KC4uLikgc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBieSB0aGUKICAiIG1heCBudW1iZXIgb2Ygc3VnZ2VzdGlvbnMgKDIpIHNldCBieSB0aGUgJ3NwZWxsc3VnZ2VzdCcgb3B0aW9uLgogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnYm9hcmQnLCAnYmFyZCcsICdicm9hZCddLCBzcGVsbHN1Z2dlc3QoJ2Jhb3JkJywgMykpCgogIHNldCBzcGVsbHN1Z2dlc3QmIHNwZWxsJgogIGJ3aXBlIQplbmRmdW5jCgoiIFRlc3QgJ3NwZWxsc3VnZ2VzdCcgb3B0aW9uIHdpdGggdmFsdWUgZXhwcjp7ZXhwcn0KZnVuYyBUZXN0X3NwZWxsc3VnZ2VzdF9vcHRpb25fZXhwcigpCiAgIiBBIHNpbGx5ICdzcGVsbHN1Z2dlc3QnIGZ1bmN0aW9uIHdoaWNoIG1ha2VzIHN1Z2dlc3Rpb25zIGFsbCB1cHBlcmNhc2UKICAiIGFuZCBtYWtlcyB0aGUgc2NvcmUgb2YgZWFjaCBzdWdnZXN0aW9uIHRoZSBsZW5ndGggb2YgdGhlIHN1Z2dlc3RlZCB3b3JkLgogICIgU28gc2hvcnRlciBzdWdnZXN0aW9ucyBhcmUgcHJlZmVycmVkLgogIGZ1bmMgTXlTdWdnZXN0KCkKICAgIGxldCBzcGVsbHN1Z2dlc3Rfc2F2ZSA9ICZzcGVsbHN1Z2dlc3QKICAgIHNldCBzcGVsbHN1Z2dlc3Q9MyxiZXN0CiAgICBsZXQgcmVzdWx0ID0gbWFwKHNwZWxsc3VnZ2VzdCh2OnZhbCwgMyksICJbdG91cHBlcih2OnZhbCksIGxlbih2OnZhbCldIikKICAgIGxldCAmc3BlbGxzdWdnZXN0ID0gc3BlbGxzdWdnZXN0X3NhdmUKICAgIHJldHVybiByZXN1bHQKICBlbmRmdW5jCgogIHNldCBzcGVsbCBzcGVsbHN1Z2dlc3Q9ZXhwcjpNeVN1Z2dlc3QoKQogIGNhbGwgYXNzZXJ0X2VxdWFsKFsnQkFSRCcsICdCT0FSRCcsICdCUk9BRCddLCBzcGVsbHN1Z2dlc3QoJ2Jhb3JkJywgMykpCgogIG5ldwogIGNhbGwgc2V0bGluZSgxLCAnYmFvcmQnKQogIGxldCBhID0gZXhlY3V0ZSgnbm9ybSB6PScpCiAgY2FsbCBhc3NlcnRfZXF1YWwoCiAgXCAgICAiXG4iCiAgXCAuLiAiQ2hhbmdlIFwiYmFvcmRcIiB0bzpcbiIKICBcIC4uICIgMSBcIkJBUkRcIlxuIgogIFwgLi4gIiAyIFwiQk9BUkRcIlxuIgogIFwgLi4gIiAzIFwiQlJPQURcIlxuIgogIFwgLi4gIlR5cGUgbnVtYmVyIGFuZCA8RW50ZXI+IG9yIGNsaWNrIHdpdGggbW91c2UgKGVtcHR5IGNhbmNlbHMpOiAiLCBhKQoKICAiIFdpdGggdmVyYm9zZSwgej0gc2hvdWxkIHNob3cgdGhlIHNjb3JlIGkuZS4gd29yZCBsZW5ndGggd2l0aAogICIgb3VyIFNwZWxsU3VnZ2VzdCgpIGZ1bmN0aW9uLgogIHNldCB2ZXJib3NlPTEKICBsZXQgYSA9IGV4ZWN1dGUoJ25vcm0gej0nKQogIGNhbGwgYXNzZXJ0X2VxdWFsKAogIFwgICAgIlxuIgogIFwgLi4gIkNoYW5nZSBcImJhb3JkXCIgdG86XG4iCiAgXCAuLiAiIDEgXCJCQVJEXCIgICAgICAgICAgICAgICAgICAgICAgKDQgLSAwKVxuIgogIFwgLi4gIiAyIFwiQk9BUkRcIiAgICAgICAgICAgICAgICAgICAgICg1IC0gMClcbiIKICBcIC4uICIgMyBcIkJST0FEXCIgICAgICAgICAgICAgICAgICAgICAoNSAtIDApXG4iCiAgXCAuLiAiVHlwZSBudW1iZXIgYW5kIDxFbnRlcj4gb3IgY2xpY2sgd2l0aCBtb3VzZSAoZW1wdHkgY2FuY2Vscyk6ICIsIGEpCgogIHNldCBzcGVsbCYgc3BlbGxzdWdnZXN0JiB2ZXJib3NlJgogIGJ3aXBlIQplbmRmdW5jCgpmdW5jIFRlc3Rfc3BlbGxpbmZvKCkKICBuZXcKICBsZXQgcnVudGltZSA9IHN1YnN0aXR1dGUoJFZJTVJVTlRJTUUsICdcXCcsICcvJywgJ2cnKQoKICBzZXQgZW5jPWxhdGluMSBzcGVsbCBzcGVsbGxhbmc9ZW4KICBjYWxsIGFzc2VydF9tYXRjaCgiXlxuZmlsZTogIiAuLiBydW50aW1lIC4uICIvc3BlbGwvZW4ubGF0aW4xLnNwbFxuJCIsIGV4ZWN1dGUoJ3NwZWxsaW5mbycpKQoKICBzZXQgZW5jPWNwMTI1MCBzcGVsbCBzcGVsbGxhbmc9ZW4KICBjYWxsIGFzc2VydF9tYXRjaCgiXlxuZmlsZTogIiAuLiBydW50aW1lIC4uICIvc3BlbGwvZW4uYXNjaWkuc3BsXG4kIiwgZXhlY3V0ZSgnc3BlbGxpbmZvJykpCgogIHNldCBlbmM9dXRmLTggc3BlbGwgc3BlbGxsYW5nPWVuCiAgY2FsbCBhc3NlcnRfbWF0Y2goIl5cbmZpbGU6ICIgLi4gcnVudGltZSAuLiAiL3NwZWxsL2VuLnV0Zi04LnNwbFxuJCIsIGV4ZWN1dGUoJ3NwZWxsaW5mbycpKQoKICBzZXQgZW5jPWxhdGluMSBzcGVsbCBzcGVsbGxhbmc9ZW5fdXMsZW5fbnoKICBjYWxsIGFzc2VydF9tYXRjaCgiXlxuIiAuCiAgICAgICAgICAgICAgICAgXCAgImZpbGU6ICIgLi4gcnVudGltZSAuLiAiL3NwZWxsL2VuLmxhdGluMS5zcGxcbiIgLgogICAgICAgICAgICAgICAgIFwgICJmaWxlOiAiIC4uIHJ1bnRpbWUuLiAiL3NwZWxsL2VuLmxhdGluMS5zcGxcbiQiLCBleGVjdXRlKCdzcGVsbGluZm8nKSkKCiAgc2V0IHNwZWxsIHNwZWxsbGFuZz0KICBjYWxsIGFzc2VydF9mYWlscygnc3BlbGxpbmZvJywgJ0U3NTY6JykKCiAgc2V0IG5vc3BlbGwgc3BlbGxsYW5nPWVuCiAgY2FsbCBhc3NlcnRfZmFpbHMoJ3NwZWxsaW5mbycsICdFNzU2OicpCgogIGNhbGwgYXNzZXJ0X2ZhaWxzKCdzZXQgc3BlbGxsYW5nPWZvby9iYXInLCAnRTQ3NDonKQogIGNhbGwgYXNzZXJ0X2ZhaWxzKCdzZXQgc3BlbGxsYW5nPWZvb1wgYmFyJywgJ0U0NzQ6JykKICBjYWxsIGFzc2VydF9mYWlscygic2V0IHNwZWxsbGFuZz1mb29cXFxuYmFyIiwgJ0U0NzQ6JykKICBjYWxsIGFzc2VydF9mYWlscygic2V0IHNwZWxsbGFuZz1mb29cXFxyYmFyIiwgJ0U0NzQ6JykKICBjYWxsIGFzc2VydF9mYWlscygic2V0IHNwZWxsbGFuZz1mb28rYmFyIiwgJ0U0NzQ6JykKCiAgc2V0IGVuYyYgc3BlbGwmIHNwZWxsbGFuZyYKICBid2lwZQplbmRmdW5jCgpmdW5jIFRlc3RfenpfYmFzaWMoKQogIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmYxLCBnOnRlc3RfZGF0YV9kaWMxKQogIGNhbGwgUnVuR29vZEJhZCgid3JvbmcgT0sgcHV0cy4gVGVzdCB0aGUgZW5kIiwKICAgICAgICBcICJiYWQ6IGlucHV0cyBjb21tZW50IG9rIE9rLiB0ZXN0IGRceEU5XHhGNGwgZW5kIHRoZSIsCiAgICAgICAgXFsiQ29tbWVudCIsICJkZW9sIiwgImRceEU5XHhGNHIiLCAiaW5wdXQiLCAiT0siLCAib3V0cHV0IiwgIm91dHB1dHMiLCAib3V0dGVzdCIsICJwdXQiLCAicHV0cyIsCiAgICAgICAgXCAgInRlc3QiLCAidGVzdGVuIiwgInRlc3RuIiwgInRoZSBlbmQiLCAidWsiLCAid3JvbmciXSwKICAgICAgICBcWwogICAgICAgIFwgICBbImJhZCIsIFsicHV0IiwgInVrIiwgIk9LIl1dLAogICAgICAgIFwgICBbImlucHV0cyIsIFsiaW5wdXQiLCAicHV0cyIsICJvdXRwdXRzIl1dLAogICAgICAgIFwgICBbImNvbW1lbnQiLCBbIkNvbW1lbnQiLCAib3V0dGVzdCIsICJ0aGUgZW5kIl1dLAogICAgICAgIFwgICBbIm9rIiwgWyJPSyIsICJ1ayIsICJwdXQiXV0sCiAgICAgICAgXCAgIFsiT2siLCBbIk9LIiwgIlVrIiwgIlB1dCJdXSwKICAgICAgICBcICAgWyJ0ZXN0IiwgWyJUZXN0IiwgInRlc3RuIiwgInRlc3RlbiJdXSwKICAgICAgICBcICAgWyJkXHhFOVx4RjRsIiwgWyJkZW9sIiwgImRceEU5XHhGNHIiLCAidGVzdCJdXSwKICAgICAgICBcICAgWyJlbmQiLCBbInB1dCIsICJ1ayIsICJ0ZXN0Il1dLAogICAgICAgIFwgICBbInRoZSIsIFsicHV0IiwgInVrIiwgInRlc3QiXV0sCiAgICAgICAgXCBdCiAgICAgICAgXCApCgogIGNhbGwgYXNzZXJ0X2VxdWFsKCJnZWJsZXRlZ2VrIiwgc291bmRmb2xkKCdnb29ibGVkeWdvb29rJykpCiAgY2FsbCBhc3NlcnRfZXF1YWwoImtlcGVyZW5ldmVuIiwgJ2vzb3Drcv9u9HZlbictPnNvdW5kZm9sZCgpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCJldmVybGVzIGdlc3ZldHMgZXRlbGUiLCBzb3VuZGZvbGQoJ29ldmVybG9vcyBnZXp3ZXRzIGVkYWxlJykpCmVuZGZ1bmMKCiIgUG9zdHBvbmVkIHByZWZpeGVzCmZ1bmMgVGVzdF96el9wcmVmaXhlcygpCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjIsIGc6dGVzdF9kYXRhX2RpYzEpCiAgY2FsbCBSdW5Hb29kQmFkKCJwdXRzIiwKICAgICAgICBcICJiYWQ6IGlucHV0cyBjb21tZW50IG9rIE9rIGVuZCB0aGUuIHRlc3QgZFx4RTlceEY0bCIsCiAgICAgICAgXCBbIkNvbW1lbnQiLCAiZGVvbCIsICJkXHhFOVx4RjRyIiwgIk9LIiwgInB1dCIsICJpbnB1dCIsICJvdXRwdXQiLCAicHV0cyIsICJvdXRwdXRzIiwgInRlc3QiLCAib3V0dGVzdCIsICJ0ZXN0ZW4iLCAidGVzdG4iLCAidGhlIGVuZCIsICJ1ayIsICJ3cm9uZyJdLAogICAgICAgIFwgWwogICAgICAgIFwgICBbImJhZCIsIFsicHV0IiwgInVrIiwgIk9LIl1dLAogICAgICAgIFwgICBbImlucHV0cyIsIFsiaW5wdXQiLCAicHV0cyIsICJvdXRwdXRzIl1dLAogICAgICAgIFwgICBbImNvbW1lbnQiLCBbIkNvbW1lbnQiXV0sCiAgICAgICAgXCAgIFsib2siLCBbIk9LIiwgInVrIiwgInB1dCJdXSwKICAgICAgICBcICAgWyJPayIsIFsiT0siLCAiVWsiLCAiUHV0Il1dLAogICAgICAgIFwgICBbImVuZCIsIFsicHV0IiwgInVrIiwgImRlb2wiXV0sCiAgICAgICAgXCAgIFsidGhlIiwgWyJwdXQiLCAidWsiLCAidGVzdCJdXSwKICAgICAgICBcICAgWyJ0ZXN0IiwgWyJUZXN0IiwgInRlc3RuIiwgInRlc3RlbiJdXSwKICAgICAgICBcICAgWyJkXHhFOVx4RjRsIiwgWyJkZW9sIiwgImRceEU5XHhGNHIiLCAidGVzdCJdXSwKICAgICAgICBcIF0pCmVuZGZ1bmMKCiJDb21wb3VuZCB3b3JkcwpmdW5jIFRlc3RfenpfY29tcG91bmQoKQogIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmYzLCBnOnRlc3RfZGF0YV9kaWMzKQogIGNhbGwgUnVuR29vZEJhZCgiZm9vIG1ceEVGIGZvb2JhciBmb29mb29iYXIgYmFyZm9vIGJhcmJhcmZvbyIsCiAgICAgICAgXCAiYmFkOiBiYXIgbGEgZm9vbVx4RUYgYmFybVx4RUYgbVx4RUZmb28gbVx4RUZiYXIgbVx4RUZtXHhFRiBsYWxhIG1ceEVGbGEgbGFtXHhFRiBmb29sYSBsYWJhciIsCiAgICAgICAgXCBbImZvbyIsICJtXHhFRiJdLAogICAgICAgIFwgWwogICAgICAgIFwgICBbImJhZCIsIFsiZm9vIiwgIm1ceEVGIl1dLAogICAgICAgIFwgICBbImJhciIsIFsiYmFyZm9vIiwgImZvb2JhciIsICJmb28iXV0sCiAgICAgICAgXCAgIFsibGEiLCBbIm1ceEVGIiwgImZvbyJdXSwKICAgICAgICBcICAgWyJmb29tXHhFRiIsIFsiZm9vIG1ceEVGIiwgImZvbyIsICJmb29mb28iXV0sCiAgICAgICAgXCAgIFsiYmFybVx4RUYiLCBbImJhcmZvbyIsICJtXHhFRiIsICJiYXJiYXIiXV0sCiAgICAgICAgXCAgIFsibVx4RUZmb28iLCBbIm1ceEVGIGZvbyIsICJmb28iLCAiZm9vZm9vIl1dLAogICAgICAgIFwgICBbIm1ceEVGYmFyIiwgWyJmb29iYXIiLCAiYmFyYmFyIiwgIm1ceEVGIl1dLAogICAgICAgIFwgICBbIm1ceEVGbVx4RUYiLCBbIm1ceEVGIG1ceEVGIiwgIm1ceEVGIl1dLAogICAgICAgIFwgICBbImxhbGEiLCBbXV0sCiAgICAgICAgXCAgIFsibVx4RUZsYSIsIFsibVx4RUYiLCAibVx4RUYgbVx4RUYiXV0sCiAgICAgICAgXCAgIFsibGFtXHhFRiIsIFsibVx4RUYiLCAibVx4RUYgbVx4RUYiXV0sCiAgICAgICAgXCAgIFsiZm9vbGEiLCBbImZvbyIsICJmb29iYXIiLCAiZm9vZm9vIl1dLAogICAgICAgIFwgICBbImxhYmFyIiwgWyJiYXJiYXIiLCAiZm9vYmFyIl1dLAogICAgICAgIFwgXSkKCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjQsIGc6dGVzdF9kYXRhX2RpYzQpCiAgY2FsbCBSdW5Hb29kQmFkKCJ3b3JkIHV0aWwgYm9yayBwcmVib3JrIHN0YXJ0IGVuZCB3b3JkdXRpbCB3b3JkdXRpbHMgcHJvLW9rIGJvcmsgYm9ya2JvcmsgYm9ya2Jvcmtib3JrIGJvcmtib3JrYm9ya2JvcmsgYm9ya2Jvcmtib3JrYm9ya2JvcmsgdG9tYXRvIHRvbWF0b3RvbWF0byBzdGFydGVuZCBzdGFydHdvcmQgc3RhcnR3b3Jkd29yZCBzdGFydHdvcmRlbmQgc3RhcnR3b3Jkd29yZGVuZCBzdGFydHdvcmR3b3Jkd29yZGVuZCBwcmVib3JrIHByZWJvcmtib3JrIHByZWJvcmtib3JrYm9yayBub3V3b3JkIiwKICAgICAgICBcICJiYWQ6IHdvcmR1dGlsaXplIHBybyBib3JrYm9ya2Jvcmtib3JrYm9ya2JvcmsgdG9tYXRvdG9tYXRvdG9tYXRvIGVuZHN0YXJ0IGVuZGVuZCBzdGFydHN0YXJ0IHdvcmRlbmQgd29yZHN0YXJ0IHByZWJvcmtwcmVib3JrICBwcmVib3JrcHJlYm9ya2Jvcmsgc3RhcnR3b3Jkd29yZHdvcmR3b3JkZW5kIGJvcmtwcmVib3JrcHJlYm9ya2JvcmsgdXRpbHNib3JrICBzdGFydG5vdXdvcmQiLAogICAgICAgIFwgWyJib3JrIiwgInByZWJvcmsiLCAiZW5kIiwgInByby1vayIsICJzdGFydCIsICJ0b21hdG8iLCAidXRpbCIsICJ1dGlsaXplIiwgInV0aWxzIiwgIndvcmQiLCAibm91d29yZCJdLAogICAgICAgIFwgWwogICAgICAgIFwgICBbImJhZCIsIFsiZW5kIiwgImJvcmsiLCAid29yZCJdXSwKICAgICAgICBcICAgWyJ3b3JkdXRpbGl6ZSIsIFsid29yZCB1dGlsaXplIiwgIndvcmR1dGlscyIsICJ3b3JkdXRpbCJdXSwKICAgICAgICBcICAgWyJwcm8iLCBbImJvcmsiLCAid29yZCIsICJlbmQiXV0sCiAgICAgICAgXCAgIFsiYm9ya2Jvcmtib3JrYm9ya2Jvcmtib3JrIiwgWyJib3JrIGJvcmtib3JrYm9ya2Jvcmtib3JrIiwgImJvcmtib3JrIGJvcmtib3JrYm9ya2JvcmsiLCAiYm9ya2Jvcmtib3JrIGJvcmtib3JrYm9yayJdXSwKICAgICAgICBcICAgWyJ0b21hdG90b21hdG90b21hdG8iLCBbInRvbWF0byB0b21hdG90b21hdG8iLCAidG9tYXRvdG9tYXRvIHRvbWF0byIsICJ0b21hdG8gdG9tYXRvIHRvbWF0byJdXSwKICAgICAgICBcICAgWyJlbmRzdGFydCIsIFsiZW5kIHN0YXJ0IiwgInN0YXJ0Il1dLAogICAgICAgIFwgICBbImVuZGVuZCIsIFsiZW5kIGVuZCIsICJlbmQiXV0sCiAgICAgICAgXCAgIFsic3RhcnRzdGFydCIsIFsic3RhcnQgc3RhcnQiXV0sCiAgICAgICAgXCAgIFsid29yZGVuZCIsIFsid29yZCBlbmQiLCAid29yZCIsICJ3b3Jkd29yZCJdXSwKICAgICAgICBcICAgWyJ3b3Jkc3RhcnQiLCBbIndvcmQgc3RhcnQiLCAiYm9yayBzdGFydCJdXSwKICAgICAgICBcICAgWyJwcmVib3JrcHJlYm9yayIsIFsicHJlYm9yayBwcmVib3JrIiwgInByZWJvcmtib3JrIiwgInByZWJvcmtib3JrYm9yayJdXSwKICAgICAgICBcICAgWyJwcmVib3JrcHJlYm9ya2JvcmsiLCBbInByZWJvcmsgcHJlYm9ya2JvcmsiLCAicHJlYm9ya2Jvcmtib3JrIiwgInByZWJvcmtib3JrYm9ya2JvcmsiXV0sCiAgICAgICAgXCAgIFsic3RhcnR3b3Jkd29yZHdvcmR3b3JkZW5kIiwgWyJzdGFydHdvcmR3b3Jkd29yZHdvcmQgZW5kIiwgInN0YXJ0d29yZHdvcmR3b3Jkd29yZCIsICJzdGFydCB3b3Jkd29yZHdvcmR3b3JkIGVuZCJdXSwKICAgICAgICBcICAgWyJib3JrcHJlYm9ya3ByZWJvcmtib3JrIiwgWyJib3JrIHByZWJvcmtwcmVib3JrYm9yayIsICJib3JrIHByZWJvcmsgcHJlYm9ya2JvcmsiLCAiYm9yayBwcmVib3JrcHJlYm9yayBib3JrIl1dLAogICAgICAgIFwgICBbInV0aWxzYm9yayIsIFsidXRpbGJvcmsiLCAidXRpbHMgYm9yayIsICJ1dGlsIGJvcmsiXV0sCiAgICAgICAgXCAgIFsic3RhcnRub3V3b3JkIiwgWyJzdGFydCBub3V3b3JkIiwgInN0YXJ0d29yZCIsICJzdGFydGJvcmt3b3JkIl1dLAogICAgICAgIFwgXSkKCmVuZGZ1bmMKCiJUZXN0IGFmZml4IGZsYWdzIHdpdGggdHdvIGNoYXJhY3RlcnMKZnVuYyBUZXN0X3p6X2FmZml4KCkKICBjYWxsIExvYWRBZmZBbmREaWMoZzp0ZXN0X2RhdGFfYWZmNSwgZzp0ZXN0X2RhdGFfZGljNSkKICBjYWxsIFJ1bkdvb2RCYWQoImZvb2ExIGZvb2FceEU5IGJhciBwcmViYXIgYmFyYm9yayBwcmViYXJib3JrICBzdGFydHByZWJhciBzdGFydCBlbmQgc3RhcnRlbmQgIHN0YXJ0bWlkZGxlZW5kIG5vdWVuZCIsCiAgICAgICAgXCAiYmFkOiBmb28gZm9vYTIgcHJhYmFyIHByb2JhcmJpcmsgbWlkZGxlIHN0YXJ0bWlkZGxlIG1pZGRsZWVuZCBlbmRzdGFydCBzdGFydHByb2JhciBzdGFydG5vdWVuZCIsCiAgICAgICAgXCBbImJhciIsICJiYXJib3JrIiwgImVuZCIsICJmb29hMSIsICJmb29hXHhFOSIsICJub3VlbmQiLCAicHJlYmFyIiwgInByZWJhcmJvcmsiLCAic3RhcnQiXSwKICAgICAgICBcIFsKICAgICAgICBcICAgWyJiYWQiLCBbImJhciIsICJlbmQiLCAiZm9vYTEiXV0sCiAgICAgICAgXCAgIFsiZm9vIiwgWyJmb29hMSIsICJmb29hXHhFOSIsICJiYXIiXV0sCiAgICAgICAgXCAgIFsiZm9vYTIiLCBbImZvb2ExIiwgImZvb2FceEU5IiwgImJhciJdXSwKICAgICAgICBcICAgWyJwcmFiYXIiLCBbInByZWJhciIsICJiYXIiLCAiYmFyIGJhciJdXSwKICAgICAgICBcICAgWyJwcm9iYXJiaXJrIiwgWyJwcmViYXJib3JrIl1dLAogICAgICAgIFwgICBbIm1pZGRsZSIsIFtdXSwKICAgICAgICBcICAgWyJzdGFydG1pZGRsZSIsIFsic3RhcnRtaWRkbGVlbmQiLCAic3RhcnRtaWRkbGViYXIiXV0sCiAgICAgICAgXCAgIFsibWlkZGxlZW5kIiwgW11dLAogICAgICAgIFwgICBbImVuZHN0YXJ0IiwgWyJlbmQgc3RhcnQiLCAic3RhcnQiXV0sCiAgICAgICAgXCAgIFsic3RhcnRwcm9iYXIiLCBbInN0YXJ0cHJlYmFyIiwgInN0YXJ0IHByZWJhciIsICJzdGFydGJhciJdXSwKICAgICAgICBcICAgWyJzdGFydG5vdWVuZCIsIFsic3RhcnQgbm91ZW5kIiwgInN0YXJ0ZW5kIl1dLAogICAgICAgIFwgXSkKCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjYsIGc6dGVzdF9kYXRhX2RpYzYpCiAgY2FsbCBSdW5Hb29kQmFkKCJtZWVhMSBtZWVhXHhFOSBiYXIgcHJlYmFyIGJhcmJvcmsgcHJlYmFyYm9yayAgbGVhZHByZWJhciBsZWFkIGVuZCBsZWFkZW5kICBsZWFkbWlkZGxlZW5kIiwKICAgICAgICBcICAiYmFkOiBtZWUgbWVlYTIgcHJhYmFyIHByb2JhcmJpcmsgbWlkZGxlIGxlYWRtaWRkbGUgbWlkZGxlZW5kIGVuZGxlYWQgbGVhZHByb2JhciIsCiAgICAgICAgXCBbImJhciIsICJiYXJib3JrIiwgImVuZCIsICJsZWFkIiwgIm1lZWExIiwgIm1lZWFceEU5IiwgInByZWJhciIsICJwcmViYXJib3JrIl0sCiAgICAgICAgXCBbCiAgICAgICAgXCAgIFsiYmFkIiwgWyJiYXIiLCAiZW5kIiwgImxlYWQiXV0sCiAgICAgICAgXCAgIFsibWVlIiwgWyJtZWVhMSIsICJtZWVhXHhFOSIsICJiYXIiXV0sCiAgICAgICAgXCAgIFsibWVlYTIiLCBbIm1lZWExIiwgIm1lZWFceEU5IiwgImxlYWQiXV0sCiAgICAgICAgXCAgIFsicHJhYmFyIiwgWyJwcmViYXIiLCAiYmFyIiwgImxlYWRiYXIiXV0sCiAgICAgICAgXCAgIFsicHJvYmFyYmlyayIsIFsicHJlYmFyYm9yayJdXSwKICAgICAgICBcICAgWyJtaWRkbGUiLCBbXV0sCiAgICAgICAgXCAgIFsibGVhZG1pZGRsZSIsIFsibGVhZG1pZGRsZWVuZCIsICJsZWFkbWlkZGxlYmFyIl1dLAogICAgICAgIFwgICBbIm1pZGRsZWVuZCIsIFtdXSwKICAgICAgICBcICAgWyJlbmRsZWFkIiwgWyJlbmQgbGVhZCIsICJsZWFkIiwgImVuZCBlbmQiXV0sCiAgICAgICAgXCAgIFsibGVhZHByb2JhciIsIFsibGVhZHByZWJhciIsICJsZWFkIHByZWJhciIsICJsZWFkYmFyIl1dLAogICAgICAgIFwgXSkKCiAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjcsIGc6dGVzdF9kYXRhX2RpYzcpCiAgY2FsbCBSdW5Hb29kQmFkKCJtZWVhMSBtZWV6ZXJvIG1lZWFceEU5IGJhciBwcmViYXIgYmFybWVhdCBwcmViYXJtZWF0ICBsZWFkcHJlYmFyIGxlYWQgdGFpbCBsZWFkdGFpbCAgbGVhZG1pZGRsZXRhaWwiLAogICAgICAgIFwgImJhZDogbWVlIG1lZWEyIHByYWJhciBwcm9iYXJtYWF0IG1pZGRsZSBsZWFkbWlkZGxlIG1pZGRsZXRhaWwgdGFpbGxlYWQgbGVhZHByb2JhciIsCiAgICAgICAgXCBbImJhciIsICJiYXJtZWF0IiwgImxlYWQiLCAibWVlYTEiLCAibWVlYVx4RTkiLCAibWVlemVybyIsICJwcmViYXIiLCAicHJlYmFybWVhdCIsICJ0YWlsIl0sCiAgICAgICAgXCBbCiAgICAgICAgXCAgIFsiYmFkIiwgWyJiYXIiLCAibGVhZCIsICJ0YWlsIl1dLAogICAgICAgIFwgICBbIm1lZSIsIFsibWVlYTEiLCAibWVlYVx4RTkiLCAiYmFyIl1dLAogICAgICAgIFwgICBbIm1lZWEyIiwgWyJtZWVhMSIsICJtZWVhXHhFOSIsICJsZWFkIl1dLAogICAgICAgIFwgICBbInByYWJhciIsIFsicHJlYmFyIiwgImJhciIsICJsZWFkYmFyIl1dLAogICAgICAgIFwgICBbInByb2Jhcm1hYXQiLCBbInByZWJhcm1lYXQiXV0sCiAgICAgICAgXCAgIFsibWlkZGxlIiwgW11dLAogICAgICAgIFwgICBbImxlYWRtaWRkbGUiLCBbImxlYWRtaWRkbGViYXIiXV0sCiAgICAgICAgXCAgIFsibWlkZGxldGFpbCIsIFtdXSwKICAgICAgICBcICAgWyJ0YWlsbGVhZCIsIFsidGFpbCBsZWFkIiwgInRhaWwiXV0sCiAgICAgICAgXCAgIFsibGVhZHByb2JhciIsIFsibGVhZHByZWJhciIsICJsZWFkIHByZWJhciIsICJsZWFkYmFyIl1dLAogICAgICAgIFwgXSkKZW5kZnVuYwoKZnVuYyBUZXN0X3p6X05PU0xJVFNVR1MoKQogIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmY4LCBnOnRlc3RfZGF0YV9kaWM4KQogIGNhbGwgUnVuR29vZEJhZCgiZm9vIGJhciBmYWFiYXIiLCAiYmFkOiBmb29iYXIgYmFyZm9vIiwKICAgICAgICBcIFsiYmFyIiwgImZhYWJhciIsICJmb28iXSwKICAgICAgICBcIFsKICAgICAgICBcICAgWyJiYWQiLCBbImJhciIsICJmb28iXV0sCiAgICAgICAgXCAgIFsiZm9vYmFyIiwgWyJmYWFiYXIiLCAiZm9vIGJhciIsICJiYXIiXV0sCiAgICAgICAgXCAgIFsiYmFyZm9vIiwgWyJiYXIgZm9vIiwgImJhciIsICJmb28iXV0sCiAgICAgICAgXCBdKQplbmRmdW5jCgoiIE51bWJlcnMKZnVuYyBUZXN0X3p6X051bWJlcnMoKQogIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmY5LCBnOnRlc3RfZGF0YV9kaWM5KQogIGNhbGwgUnVuR29vZEJhZCgiMGIxMDExIDA3NzcgMTIzNCAweDAxZmYiLCAiIiwKICAgICAgICBcIFsiYmFyIiwgImZvbyJdLAogICAgICAgIFwgWwogICAgICAgIFwgXSkKZW5kZnVuYwoKIiBBZmZpeCBmbGFncwpmdW5jIFRlc3RfenpfYWZmaXhfZmxhZ3MoKQogIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmYxMCwgZzp0ZXN0X2RhdGFfZGljMTApCiAgY2FsbCBSdW5Hb29kQmFkKCJkcmluayBkcmlua2FibGUgZHJpbmthYmxlcyBkcmlua3RhYmxlIGRyaW5rYWJsZXRhYmxlIiwKCVwgImJhZDogZHJpbmtzIGRyaW5rc3RhYmxlIGRyaW5rYWJsZXN0YWJsZSIsCiAgICAgICAgXCBbImRyaW5rIiwgImRyaW5rYWJsZSIsICJkcmlua2FibGVzIiwgInRhYmxlIl0sCiAgICAgICAgXCBbWydiYWQnLCBbXV0sCglcIFsnZHJpbmtzJywgWydkcmluayddXSwKCVwgWydkcmlua3N0YWJsZScsIFsnZHJpbmt0YWJsZScsICdkcmlua2FibGUnLCAnZHJpbmsgdGFibGUnXV0sCiAgICAgICAgXCBbJ2RyaW5rYWJsZXN0YWJsZScsIFsnZHJpbmthYmxldGFibGUnLCAnZHJpbmthYmxlcyB0YWJsZScsICdkcmlua2FibGUgdGFibGUnXV0sCglcIF0pCmVuZGZ1bmMKCmZ1bmN0aW9uIEZpcnN0U3BlbGxXb3JkKCkKICBjYWxsIGZlZWRrZXlzKCIvXnN0YXJ0OlxuIiwgJ3R4JykKICBub3JtYWwgXXNtbQogIGxldCBbc3RyLCBhXSA9IHNwZWxsYmFkd29yZCgpCiAgcmV0dXJuIHN0cgplbmRmdW5jCgpmdW5jdGlvbiBTZWNvbmRTcGVsbFdvcmQoKQogIG5vcm1hbCBgbV1zCiAgbGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKICByZXR1cm4gc3RyCmVuZGZ1bmMKCiJUZXN0IHdpdGggU0FMIGluc3RlYWQgb2YgU09GTyBpdGVtczsgdGVzdCBhdXRvbWF0aWMgcmVsb2FkaW5nCmZ1bmMgVGVzdF96el9zYWxfYW5kX2FkZGl0aW9uKCkKICBzZXQgZW5jPWxhdGluMQogIHNldCBzcGVsbGZpbGU9CiAgY2FsbCB3cml0ZWZpbGUoZzp0ZXN0X2RhdGFfZGljMSwgIlh0ZXN0LmRpYyIpCiAgY2FsbCB3cml0ZWZpbGUoZzp0ZXN0X2RhdGFfYWZmX3NhbCwgIlh0ZXN0LmFmZiIpCiAgbWtzcGVsbCEgWHRlc3QgWHRlc3QKICBzZXQgc3BsPVh0ZXN0LmxhdGluMS5zcGwgc3BlbGwKICBjYWxsIGFzc2VydF9lcXVhbCgna2JsdHlraycsIHNvdW5kZm9sZCgnZ29vYmxlZHlnb29vaycpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCdrcHJuZm4nLCBzb3VuZGZvbGQoJ2vzb3Drcv9u9HZlbicpKQogIGNhbGwgYXNzZXJ0X2VxdWFsKCcqZmxzIGtzd3RzIHRsJywgc291bmRmb2xkKCdvZXZlcmxvb3MgZ2V6d2V0cyBlZGFsZScpKQoKICAiYWxzbyB1c2UgYW4gYWRkaXRpb24gZmlsZQogIGNhbGwgd3JpdGVmaWxlKFsiL3JlZ2lvbnM9dXNnYm56IiwgImVsZXF1aW50LzIiLCAiZWxla3dpbnQvMyJdLCAiWHRlc3QubGF0aW4xLmFkZCIpCiAgbWtzcGVsbCEgWHRlc3QubGF0aW4xLmFkZC5zcGwgWHRlc3QubGF0aW4xLmFkZAoKICBid2lwZSEKICBjYWxsIHNldGxpbmUoMSwgWyJzdGFydDogZWxlcXVpbnQgdGVzdCBlbGVrd2ludCB0ZXN0IGVsZWt3ZW50IGFzZGYiXSkKCiAgc2V0IHNwZWxsZmlsZT1YdGVzdC5sYXRpbjEuYWRkCiAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZWt3ZW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKCiAgc2V0IHNwbD1YdGVzdF91cy5sYXRpbjEuc3BsCiAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZXF1aW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxla3dpbnQiLCBTZWNvbmRTcGVsbFdvcmQoKSkKCiAgc2V0IHNwbD1YdGVzdF9nYi5sYXRpbjEuc3BsCiAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZWt3aW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxla3dlbnQiLCBTZWNvbmRTcGVsbFdvcmQoKSkKCiAgc2V0IHNwbD1YdGVzdF9uei5sYXRpbjEuc3BsCiAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZXF1aW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxla3dlbnQiLCBTZWNvbmRTcGVsbFdvcmQoKSkKCiAgc2V0IHNwbD1YdGVzdF9jYS5sYXRpbjEuc3BsCiAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZXF1aW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKICBjYWxsIGFzc2VydF9lcXVhbCgiZWxla3dpbnQiLCBTZWNvbmRTcGVsbFdvcmQoKSkKZW5kZnVuYwoKZnVuYyBUZXN0X3NwZWxsZmlsZV92YWx1ZSgpCiAgc2V0IHNwZWxsZmlsZT1YZGlyL1h0ZXN0LmxhdGluMS5hZGQKICBzZXQgc3BlbGxmaWxlPVhkaXIvWHRlc3QudXRmLTguYWRkLFh0ZXN0X290aGVyLmFkZAplbmRmdW5jCgpmdW5jIFRlc3RfcmVnaW9uX2Vycm9yKCkKICBtZXNzYWdlcyBjbGVhcgogIGNhbGwgd3JpdGVmaWxlKFsiL3JlZ2lvbnM9dXNnYm56IiwgImVsZXF1aW50LzAiXSwgIlh0ZXN0LmxhdGluMS5hZGQiKQogIG1rc3BlbGwhIFh0ZXN0LmxhdGluMS5hZGQuc3BsIFh0ZXN0LmxhdGluMS5hZGQKICBjYWxsIGFzc2VydF9tYXRjaCgnSW52YWxpZCByZWdpb24gbnIgaW4gWHRlc3QubGF0aW4xLmFkZCBsaW5lIDI6IDAnLCBleGVjdXRlKCdtZXNzYWdlcycpKQogIGNhbGwgZGVsZXRlKCdYdGVzdC5sYXRpbjEuYWRkJykKICBjYWxsIGRlbGV0ZSgnWHRlc3QubGF0aW4xLmFkZC5zcGwnKQplbmRmdW5jCgoiIENoZWNrIHVzaW5nIHo9IGluIG5ldyBidWZmZXIgKGNyYXNoIGZpeGVkIGJ5IHBhdGNoIDcuNGEuMDI4KS4KZnVuYyBUZXN0X3plcV9jcmFzaCgpCiAgbmV3CiAgc2V0IG1heG1lbT01MTIgc3BlbGwKICBjYWxsIGZlZWRrZXlzKCdpYXNkG3o9OlwiJywgJ3R4JykKCiAgYndpcGUhCmVuZGZ1bmMKCiIgQ2hlY2sgaGFuZGxpbmcgYSB3b3JkIGxvbmdlciB0aGFuIE1BWFdMRU4uCmZ1bmMgVGVzdF9zcGVsbF9sb25nX3dvcmQoKQogIHNldCBlbmM9dXRmLTgKICBuZXcKICBjYWxsIHNldGxpbmUoMSwgImRceENDXHhCNFx4Q0NceEJEXHhDRFx4ODhceENEXHg5NGFceENDXHhCNVx4Q0RceDg0XHhDRFx4ODRceENDXHhBOFx4Q0RceDlDclx4Q0NceEI1XHhDQ1x4OEVceENEXHg4NVx4Q0RceDg1a1x4Q0NceEI2XHhDQ1x4ODlceENDXHg5RCBceENDXHhCNlx4Q0NceDgzXHhDQ1x4OEZceENDXHhBNFx4Q0RceDhFZlx4Q0NceEI3XHhDQ1x4ODFceENDXHg4MFx4Q0NceEE5XHhDQ1x4QjBceENDXHhBQ1x4Q0NceEEyXHhDRFx4OTVceENEXHg4N1x4Q0RceDhEXHhDQ1x4OUVceENEXHg5OVx4Q0NceEFEXHhDQ1x4QUJceENDXHg5N1x4Q0NceEJCb1x4Q0NceEI2XHhDQ1x4ODRceENDXHg5NVx4Q0NceDhDXHhDQ1x4OEJceENEXHg5Qlx4Q0RceDlDXHhDQ1x4QUZyXHhDQ1x4QjdceENDXHg5NFx4Q0RceDgzXHhDRFx4OTdceENDXHg4Q1x4Q0NceDgyXHhDRFx4ODJceENEXHg4MFx4Q0RceDkxXHhDQ1x4ODBceENDXHhCRVx4Q0NceDgyXHhDQ1x4OEZceENDXHhBM1x4Q0RceDg1XHhDQ1x4QUVceENEXHg4RFx4Q0RceDk5XHhDQ1x4QkNceENDXHhBQlx4Q0NceEE3XHhDRFx4ODhjXHhDQ1x4QjdceENEXHg4M1x4Q0NceDg0XHhDRFx4OTJceENDXHg4Nlx4Q0NceDgzXHhDQ1x4ODhceENDXHg5Mlx4Q0NceDk0XHhDQ1x4QkVceENDXHg5RFx4Q0NceEFGXHhDQ1x4OThceENDXHg5RFx4Q0NceEJCXHhDRFx4OEVceENDXHhCQlx4Q0NceEIzXHhDQ1x4QTNceENEXHg4RVx4Q0RceDk5XHhDQ1x4QTVceENDXHhBRFx4Q0NceDk5XHhDQ1x4QjlceENDXHhBRVx4Q0NceEE1XHhDQ1x4OUVceENEXHg4OFx4Q0NceEFFXHhDQ1x4OUVceENDXHhBOVx4Q0NceDk3XHhDQ1x4QkNceENDXHg5OVx4Q0NceEE1XHhDRFx4ODdceENDXHg5N1x4Q0RceDhFXHhDRFx4OTRceENDXHg5OVx4Q0NceDlEXHhDQ1x4OTZceENEXHg5NFx4Q0NceEFCXHhDQ1x4QTdceENDXHhBNVx4Q0NceDk4XHhDQ1x4QkJceENDXHhBRlx4Q0NceEFCZVx4Q0NceEI3XHhDQ1x4OEVceENDXHg4Mlx4Q0RceDg2XHhDRFx4OUJceENDXHg5NFx4Q0RceDgzXHhDQ1x4ODVceENEXHg4QVx4Q0RceDhDXHhDQ1x4OEJceENEXHg5Mlx4Q0RceDkxXHhDQ1x4OEZceENDXHg4MVx4Q0RceDk1XHhDQ1x4QTJceENDXHhCOVx4Q0NceEIyXHhDRFx4OUNceENDXHhCMVx4Q0NceEE2XHhDQ1x4QjNceENDXHhBRlx4Q0NceEFFXHhDQ1x4OUNceENEXHg5OXNceENDXHhCOFx4Q0NceDhDXHhDQ1x4OEVceENDXHg4N1x4Q0RceDgxXHhDRFx4ODJceENDXHg4Nlx4Q0RceDhDXHhDRFx4OENceENDXHg4Qlx4Q0NceDg0XHhDQ1x4OENceENEXHg4NFx4Q0RceDlCXHhDRFx4ODZceENDXHg5M1x4Q0RceDkwXHhDQ1x4ODVceENDXHg5NFx4Q0RceDk4XHhDRFx4ODRceENEXHg5Mlx4Q0RceDhCXHhDQ1x4OTBceENDXHg4M1x4Q0NceDhGXHhDRFx4ODRceENEXHg4MVx4Q0RceDlCXHhDQ1x4OTBceENEXHg4MVx4Q0NceDhGXHhDQ1x4QkRceENDXHg4OFx4Q0NceEJGXHhDQ1x4ODhceENDXHg4NFx4Q0NceDhFXHhDRFx4OTlceENEXHg5NFx4Q0NceDk5XHhDRFx4OTlceENDXHhCMFx4Q0NceEE4XHhDQ1x4QTNceENDXHhBOFx4Q0NceDk2XHhDQ1x4OTlceENDXHhBRVx4Q0NceEJDXHhDQ1x4OTlceENEXHg5QVx4Q0NceEIyXHhDQ1x4QjFceENDXHg5Rlx4Q0NceEJCXHhDQ1x4QTZceENEXHg4NVx4Q0NceEFBXHhDRFx4ODlceENDXHg5RFx4Q0NceDk5XHhDRFx4OTZceENDXHhCMVx4Q0NceEIxXHhDQ1x4OTlceENDXHhBNlx4Q0NceEE1XHhDRFx4OTVceENDXHhCMlx4Q0NceEEwXHhDRFx4OTkgd2l0aGluIikKICBzZXQgc3BlbGwgc3BlbGxsYW5nPWVuCiAgcmVkcmF3CiAgcmVkcmF3IQogIGJ3aXBlIQogIHNldCBub3NwZWxsCmVuZGZ1bmMKCmZ1bmMgTG9hZEFmZkFuZERpYyhhZmZfY29udGVudHMsIGRpY19jb250ZW50cykKICBzZXQgZW5jPWxhdGluMQogIHNldCBzcGVsbGZpbGU9CiAgY2FsbCB3cml0ZWZpbGUoYTphZmZfY29udGVudHMsICJYdGVzdC5hZmYiKQogIGNhbGwgd3JpdGVmaWxlKGE6ZGljX2NvbnRlbnRzLCAiWHRlc3QuZGljIikKICAiIEdlbmVyYXRlIGEgLnNwbCBmaWxlIGZyb20gYSAuZGljIGFuZCAuYWZmIGZpbGUuCiAgbWtzcGVsbCEgWHRlc3QgWHRlc3QKICAiIHVzZSB0aGF0IHNwZWxsIGZpbGUKICBzZXQgc3BsPVh0ZXN0LmxhdGluMS5zcGwgc3BlbGwKZW5kZnVuYwoKZnVuYyBMaXN0V29yZHMoKQogIHNwZWxsZHVtcAogICV5YW5rCiAgcXVpdAogIHJldHVybiBzcGxpdChAIiwgIlxuIikKZW5kZnVuYwoKZnVuYyBUZXN0R29vZEJhZEJhc2UoKQogIGV4ZSAnMTsvXmdvb2Q6JwogIG5vcm1hbCAwZjpdcwogIGxldCBwcmV2YmFkID0gJycKICBsZXQgcmVzdWx0ID0gW10KICB3aGlsZSAxCiAgICBsZXQgW2JhZCwgYV0gPSBzcGVsbGJhZHdvcmQoKQogICAgaWYgYmFkID09ICcnIHx8IGJhZCA9PSBwcmV2YmFkIHx8IGJhZCA9PSAnYmFkZW5kJwogICAgICBicmVhawogICAgZW5kaWYKICAgIGxldCBwcmV2YmFkID0gYmFkCiAgICBsZXQgbHN0ID0gYmFkLT5zcGVsbHN1Z2dlc3QoMykKICAgIG5vcm1hbCBtbQoKICAgIGNhbGwgYWRkKHJlc3VsdCwgW2JhZCwgbHN0XSkKICAgIG5vcm1hbCBgbV1zCiAgZW5kd2hpbGUKICByZXR1cm4gcmVzdWx0CmVuZGZ1bmMKCmZ1bmMgUnVuR29vZEJhZChnb29kLCBiYWQsIGV4cGVjdGVkX3dvcmRzLCBleHBlY3RlZF9iYWRfd29yZHMpCiAgYndpcGUhCiAgY2FsbCBzZXRsaW5lKDEsIFsiZ29vZDogIiwgYTpnb29kLCAgYTpiYWQsICIgYmFkZW5kICJdKQogIGxldCB3b3JkcyA9IExpc3RXb3JkcygpCiAgY2FsbCBhc3NlcnRfZXF1YWwoYTpleHBlY3RlZF93b3Jkcywgd29yZHNbMTotMV0pCiAgbGV0IGJhZF93b3JkcyA9IFRlc3RHb29kQmFkQmFzZSgpCiAgY2FsbCBhc3NlcnRfZXF1YWwoYTpleHBlY3RlZF9iYWRfd29yZHMsIGJhZF93b3JkcykKICBid2lwZSEKZW5kZnVuYwoKZnVuYyBUZXN0X3NwZWxsX3NjcmVlbmR1bXAoKQogIENoZWNrU2NyZWVuZHVtcAoKICBsZXQgbGluZXMgPTw8IHRyaW0gRU5ECiAgICAgICBjYWxsIHNldGxpbmUoMSwgWwogICAgICAgICAgICAgXCAiVGhpcyBpcyBzb21lIHRleHQgd2l0aG91dCBhbnkgc3BlbGwgZXJyb3JzLiAgRXZlcnl0aGluZyIsCiAgICAgICAgICAgICBcICJzaG91bGQganVzdCBiZSBibGFjaywgbm90aGluZyB3cm9uZyBoZXJlLiIsCiAgICAgICAgICAgICBcICIiLAogICAgICAgICAgICAgXCAiVGhpcyBsaW5lIGhhcyBhIHNlcGxsIGVycm9yLiBhbmQgbWlzc2luZyBjYXBzLiIsCiAgICAgICAgICAgICBcICJBbmQgYW5kIHRoaXMgaXMgdGhlIHRoZSBkdXBsaWNhdGlvbi4iLAogICAgICAgICAgICAgXCAid2l0aCBtaXNzaW5nIGNhcHMgaGVyZS4iLAogICAgICAgICAgICAgXCBdKQogICAgICAgc2V0IHNwZWxsIHNwZWxsbGFuZz1lbl9uegogIEVORAogIGNhbGwgd3JpdGVmaWxlKGxpbmVzLCAnWHRlc3RTcGVsbCcpCiAgbGV0IGJ1ZiA9IFJ1blZpbUluVGVybWluYWwoJy1TIFh0ZXN0U3BlbGwnLCB7J3Jvd3MnOiA4fSkKICBjYWxsIFZlcmlmeVNjcmVlbkR1bXAoYnVmLCAnVGVzdF9zcGVsbF8xJywge30pCgogICIgY2xlYW4gdXAKICBjYWxsIFN0b3BWaW1JblRlcm1pbmFsKGJ1ZikKICBjYWxsIGRlbGV0ZSgnWHRlc3RTcGVsbCcpCmVuZGZ1bmMKCmxldCBnOnRlc3RfZGF0YV9hZmYxID0gWwogICAgICBcIlNFVCBJU084ODU5LTEiLAogICAgICBcIlRSWSBlc2lhbnJ0b2xjZHVnbXBoYnlmdmt3amtxeHotXHhFQlx4RTlceEU4XHhFQVx4RUZceEVFXHhFNFx4RTBceEUyXHhGNlx4RkNceEZCJ0VTSUFOUlRPTENEVUdNUEhCWUZWS1dKS1FYWiIsCiAgICAgIFwiIiwKICAgICAgXCJGT0wgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKICAgICAgXCJMT1cgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKICAgICAgXCJVUFAgIFx4QzBceEMxXHhDMlx4QzNceEM0XHhDNVx4QzZceEM3XHhDOFx4QzlceENBXHhDQlx4Q0NceENEXHhDRVx4Q0ZceEQwXHhEMVx4RDJceEQzXHhENFx4RDVceEQ2XHhEOFx4RDlceERBXHhEQlx4RENceEREXHhERVx4REZceEZGIiwKICAgICAgXCIiLAogICAgICBcIlNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpceEUwXHhFMVx4RTJceEUzXHhFNFx4RTVceEU2XHhFN1x4RThceEU5XHhFQVx4RUJceEVDXHhFRFx4RUVceEVGXHhGMFx4RjFceEYyXHhGM1x4RjRceEY1XHhGNlx4RjhceEY5XHhGQVx4RkJceEZDXHhGRFx4RkVceERGXHhGRlx4QzBceEMxXHhDMlx4QzNceEM0XHhDNVx4QzZceEM3XHhDOFx4QzlceENBXHhDQlx4Q0NceENEXHhDRVx4Q0ZceEQwXHhEMVx4RDJceEQzXHhENFx4RDVceEQ2XHhEOFx4RDlceERBXHhEQlx4RENceEREXHhERVx4QkYiLAogICAgICBcIlNPRk9UTyAgIGViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlZWVlZWVlY2VlZWVlZWVlZG5lZWVlZWVlZWVlZXBzZWVlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcD8iLAogICAgICBcIiIsCiAgICAgIFwiTUlEV09SRFx0Jy0iLAogICAgICBcIiIsCiAgICAgIFwiS0VQID0iLAogICAgICBcIlJBUiA/IiwKICAgICAgXCJCQUQgISIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggSSBOIDEiLAogICAgICBcIlBGWCBJIDAgaW4gLiIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggTyBZIDEiLAogICAgICBcIlBGWCBPIDAgb3V0IC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIFMgWSAyIiwKICAgICAgXCJTRlggUyAwIHMgW15zXSIsCiAgICAgIFwiU0ZYIFMgMCBlcyBzIiwKICAgICAgXCIiLAogICAgICBcIlNGWCBOIE4gMyIsCiAgICAgIFwiU0ZYIE4gMCBlbiBbXm5dIiwKICAgICAgXCJTRlggTiAwIG5lbiBuIiwKICAgICAgXCJTRlggTiAwIG4gLiIsCiAgICAgIFwiIiwKICAgICAgXCJSRVAgMyIsCiAgICAgIFwiUkVQIGcgY2giLAogICAgICBcIlJFUCBjaCBnIiwKICAgICAgXCJSRVAgc3ZwIHMudi5wLiIsCiAgICAgIFwiIiwKICAgICAgXCJNQVAgOSIsCiAgICAgIFwiTUFQIGFceEUwXHhFMVx4RTJceEUzXHhFNFx4RTUiLAogICAgICBcIk1BUCBlXHhFOFx4RTlceEVBXHhFQiIsCiAgICAgIFwiTUFQIGlceEVDXHhFRFx4RUVceEVGIiwKICAgICAgXCJNQVAgb1x4RjJceEYzXHhGNFx4RjVceEY2IiwKICAgICAgXCJNQVAgdVx4RjlceEZBXHhGQlx4RkMiLAogICAgICBcIk1BUCBuXHhGMSIsCiAgICAgIFwiTUFQIGNceEU3IiwKICAgICAgXCJNQVAgeVx4RkZceEZEIiwKICAgICAgXCJNQVAgc1x4REYiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2RpYzEgPSBbCiAgICAgIFwiMTIzNDU2IiwKICAgICAgXCJ0ZXN0L05PIiwKICAgICAgXCIjIGNvbW1lbnQiLAogICAgICBcIndyb25nIiwKICAgICAgXCJDb21tZW50IiwKICAgICAgXCJPSyIsCiAgICAgIFwidWsiLAogICAgICBcInB1dC9JU08iLAogICAgICBcInRoZSBlbmQiLAogICAgICBcImRlb2wiLAogICAgICBcImRceEU5XHhGNHIiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2FmZjIgPSBbCiAgICAgIFwiU0VUIElTTzg4NTktMSIsCiAgICAgIFwiIiwKICAgICAgXCJGT0wgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKICAgICAgXCJMT1cgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKICAgICAgXCJVUFAgIFx4QzBceEMxXHhDMlx4QzNceEM0XHhDNVx4QzZceEM3XHhDOFx4QzlceENBXHhDQlx4Q0NceENEXHhDRVx4Q0ZceEQwXHhEMVx4RDJceEQzXHhENFx4RDVceEQ2XHhEOFx4RDlceERBXHhEQlx4RENceEREXHhERVx4REZceEZGIiwKICAgICAgXCIiLAogICAgICBcIlBGWFBPU1RQT05FIiwKICAgICAgXCIiLAogICAgICBcIk1JRFdPUkRcdCctIiwKICAgICAgXCIiLAogICAgICBcIktFUCA9IiwKICAgICAgXCJSQVIgPyIsCiAgICAgIFwiQkFEICEiLAogICAgICBcIiIsCiAgICAgIFwiUEZYIEkgTiAxIiwKICAgICAgXCJQRlggSSAwIGluIC4iLAogICAgICBcIiIsCiAgICAgIFwiUEZYIE8gWSAxIiwKICAgICAgXCJQRlggTyAwIG91dCBbYS16XSIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggUyBZIDIiLAogICAgICBcIlNGWCBTIDAgcyBbXnNdIiwKICAgICAgXCJTRlggUyAwIGVzIHMiLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIE4gTiAzIiwKICAgICAgXCJTRlggTiAwIGVuIFtebl0iLAogICAgICBcIlNGWCBOIDAgbmVuIG4iLAogICAgICBcIlNGWCBOIDAgbiAuIiwKICAgICAgXCIiLAogICAgICBcIlJFUCAzIiwKICAgICAgXCJSRVAgZyBjaCIsCiAgICAgIFwiUkVQIGNoIGciLAogICAgICBcIlJFUCBzdnAgcy52LnAuIiwKICAgICAgXCIiLAogICAgICBcIk1BUCA5IiwKICAgICAgXCJNQVAgYVx4RTBceEUxXHhFMlx4RTNceEU0XHhFNSIsCiAgICAgIFwiTUFQIGVceEU4XHhFOVx4RUFceEVCIiwKICAgICAgXCJNQVAgaVx4RUNceEVEXHhFRVx4RUYiLAogICAgICBcIk1BUCBvXHhGMlx4RjNceEY0XHhGNVx4RjYiLAogICAgICBcIk1BUCB1XHhGOVx4RkFceEZCXHhGQyIsCiAgICAgIFwiTUFQIG5ceEYxIiwKICAgICAgXCJNQVAgY1x4RTciLAogICAgICBcIk1BUCB5XHhGRlx4RkQiLAogICAgICBcIk1BUCBzXHhERiIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfYWZmMyA9IFsKICAgICAgXCJTRVQgSVNPODg1OS0xIiwKICAgICAgXCIiLAogICAgICBcIkNPTVBPVU5ETUlOIDMiLAogICAgICBcIkNPTVBPVU5EUlVMRSBtKiIsCiAgICAgIFwiTkVFRENPTVBPVU5EIHgiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2RpYzMgPSBbCiAgICAgIFwiMTIzNCIsCiAgICAgIFwiZm9vL20iLAogICAgICBcImJhci9teCIsCiAgICAgIFwibVx4RUYvbSIsCiAgICAgIFwibGEvbXgiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2FmZjQgPSBbCiAgICAgIFwiU0VUIElTTzg4NTktMSIsCiAgICAgIFwiIiwKICAgICAgXCJGT0wgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKICAgICAgXCJMT1cgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKICAgICAgXCJVUFAgIFx4QzBceEMxXHhDMlx4QzNceEM0XHhDNVx4QzZceEM3XHhDOFx4QzlceENBXHhDQlx4Q0NceENEXHhDRVx4Q0ZceEQwXHhEMVx4RDJceEQzXHhENFx4RDVceEQ2XHhEOFx4RDlceERBXHhEQlx4RENceEREXHhERVx4REZceEZGIiwKICAgICAgXCIiLAogICAgICBcIkNPTVBPVU5EUlVMRSBtKyIsCiAgICAgIFwiQ09NUE9VTkRSVUxFIHNtKmUiLAogICAgICBcIkNPTVBPVU5EUlVMRSBzbSsiLAogICAgICBcIkNPTVBPVU5ETUlOIDMiLAogICAgICBcIkNPTVBPVU5EV09SRE1BWCAzIiwKICAgICAgXCJDT01QT1VOREZPUkJJREZMQUcgdCIsCiAgICAgIFwiIiwKICAgICAgXCJDT01QT1VORFNZTE1BWCA1IiwKICAgICAgXCJTWUxMQUJMRSBhXHhFMWVceEU5aVx4RURvXHhGM1x4RjZceEY1dVx4RkFceEZDXHhGQnkvYWEvYXUvZWEvZWUvZWkvaWUvb2Evb2Uvb28vb3UvdXUvdWkiLAogICAgICBcIiIsCiAgICAgIFwiTUFQIDkiLAogICAgICBcIk1BUCBhXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1IiwKICAgICAgXCJNQVAgZVx4RThceEU5XHhFQVx4RUIiLAogICAgICBcIk1BUCBpXHhFQ1x4RURceEVFXHhFRiIsCiAgICAgIFwiTUFQIG9ceEYyXHhGM1x4RjRceEY1XHhGNiIsCiAgICAgIFwiTUFQIHVceEY5XHhGQVx4RkJceEZDIiwKICAgICAgXCJNQVAgblx4RjEiLAogICAgICBcIk1BUCBjXHhFNyIsCiAgICAgIFwiTUFQIHlceEZGXHhGRCIsCiAgICAgIFwiTUFQIHNceERGIiwKICAgICAgXCIiLAogICAgICBcIk5FRURBRkZJWCB4IiwKICAgICAgXCIiLAogICAgICBcIlBGWFBPU1RQT05FIiwKICAgICAgXCIiLAogICAgICBcIk1JRFdPUkQgJy0iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIHEgTiAxIiwKICAgICAgXCJTRlggcSAgIDAgICAgLW9rIC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIGEgWSAyIiwKICAgICAgXCJTRlggYSAwIHMgLiIsCiAgICAgIFwiU0ZYIGEgMCBpemUvdCAuIiwKICAgICAgXCIiLAogICAgICBcIlBGWCBwIE4gMSIsCiAgICAgIFwiUEZYIHAgMCBwcmUgLiIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggUCBOIDEiLAogICAgICBcIlBGWCBQIDAgbm91IC4iLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2RpYzQgPSBbCiAgICAgIFwiMTIzNCIsCiAgICAgIFwid29yZC9tUCIsCiAgICAgIFwidXRpbC9hbSIsCiAgICAgIFwicHJvL3hxIiwKICAgICAgXCJ0b21hdG8vbSIsCiAgICAgIFwiYm9yay9tcCIsCiAgICAgIFwic3RhcnQvcyIsCiAgICAgIFwiZW5kL2UiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2FmZjUgPSBbCiAgICAgIFwiU0VUIElTTzg4NTktMSIsCiAgICAgIFwiIiwKICAgICAgXCJGTEFHIGxvbmciLAogICAgICBcIiIsCiAgICAgIFwiTkVFREFGRklYICEhIiwKICAgICAgXCIiLAogICAgICBcIkNPTVBPVU5EUlVMRSBzc21tKmVlIiwKICAgICAgXCIiLAogICAgICBcIk5FRURDT01QT1VORCB4eCIsCiAgICAgIFwiQ09NUE9VTkRQRVJNSVRGTEFHIHBwIiwKICAgICAgXCIiLAogICAgICBcIlNGWCAxMyBZIDEiLAogICAgICBcIlNGWCAxMyAwIGJvcmsgLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggYTEgWSAxIiwKICAgICAgXCJTRlggYTEgMCBhMSAuIiwKICAgICAgXCIiLAogICAgICBcIlNGWCBhXHhFOSBZIDEiLAogICAgICBcIlNGWCBhXHhFOSAwIGFceEU5IC4iLAogICAgICBcIiIsCiAgICAgIFwiUEZYIHp6IFkgMSIsCiAgICAgIFwiUEZYIHp6IDAgcHJlL3BwIC4iLAogICAgICBcIiIsCiAgICAgIFwiUEZYIHl5IFkgMSIsCiAgICAgIFwiUEZYIHl5IDAgbm91IC4iLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2RpYzUgPSBbCiAgICAgIFwiMTIzNCIsCiAgICAgIFwiZm9vL2ExYVx4RTkhISIsCiAgICAgIFwiYmFyL3p6MTNlZSIsCiAgICAgIFwic3RhcnQvc3MiLAogICAgICBcImVuZC9lZXl5IiwKICAgICAgXCJtaWRkbGUvbW14eCIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfYWZmNiA9IFsKICAgICAgXCJTRVQgSVNPODg1OS0xIiwKICAgICAgXCIiLAogICAgICBcIkZMQUcgY2FwbG9uZyIsCiAgICAgIFwiIiwKICAgICAgXCJORUVEQUZGSVggQSEiLAogICAgICBcIiIsCiAgICAgIFwiQ09NUE9VTkRSVUxFIHNNbSpFZSIsCiAgICAgIFwiIiwKICAgICAgXCJORUVEQ09NUE9VTkQgWHgiLAogICAgICBcIiIsCiAgICAgIFwiQ09NUE9VTkRQRVJNSVRGTEFHIHAiLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIE4zIFkgMSIsCiAgICAgIFwiU0ZYIE4zIDAgYm9yayAuIiwKICAgICAgXCIiLAogICAgICBcIlNGWCBBMSBZIDEiLAogICAgICBcIlNGWCBBMSAwIGExIC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIEFceEU5IFkgMSIsCiAgICAgIFwiU0ZYIEFceEU5IDAgYVx4RTkgLiIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggWnogWSAxIiwKICAgICAgXCJQRlggWnogMCBwcmUvcCAuIiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9kaWM2ID0gWwogICAgICBcIjEyMzQiLAogICAgICBcIm1lZS9BMUFceEU5QSEiLAogICAgICBcImJhci9aek4zRWUiLAogICAgICBcImxlYWQvcyIsCiAgICAgIFwiZW5kL0VlIiwKICAgICAgXCJtaWRkbGUvTW1YeCIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfYWZmNyA9IFsKICAgICAgXCJTRVQgSVNPODg1OS0xIiwKICAgICAgXCIiLAogICAgICBcIkZMQUcgbnVtIiwKICAgICAgXCIiLAogICAgICBcIk5FRURBRkZJWCA5OTk5IiwKICAgICAgXCIiLAogICAgICBcIkNPTVBPVU5EUlVMRSAyLDc3KjEyMyIsCiAgICAgIFwiIiwKICAgICAgXCJORUVEQ09NUE9VTkQgMSIsCiAgICAgIFwiQ09NUE9VTkRQRVJNSVRGTEFHIDQzMiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggNjEwMDMgWSAxIiwKICAgICAgXCJTRlggNjEwMDMgMCBtZWF0IC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIDAgWSAxIiwKICAgICAgXCJTRlggMCAwIHplcm8gLiIsCiAgICAgIFwiIiwKICAgICAgXCJTRlggMzkxIFkgMSIsCiAgICAgIFwiU0ZYIDM5MSAwIGExIC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIDExMSBZIDEiLAogICAgICBcIlNGWCAxMTEgMCBhXHhFOSAuIiwKICAgICAgXCIiLAogICAgICBcIlBGWCAxNyBZIDEiLAogICAgICBcIlBGWCAxNyAwIHByZS80MzIgLiIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfZGljNyA9IFsKICAgICAgXCIxMjM0IiwKICAgICAgXCJtZWUvMCwzOTEsMTExLDk5OTkiLAogICAgICBcImJhci8xNyw2MTAwMywxMjMiLAogICAgICBcImxlYWQvMiIsCiAgICAgIFwidGFpbC8xMjMiLAogICAgICBcIm1pZGRsZS83NywxIiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9hZmY4ID0gWwogICAgICBcIlNFVCBJU084ODU5LTEiLAogICAgICBcIiIsCiAgICAgIFwiTk9TUExJVFNVR1MiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2RpYzggPSBbCiAgICAgIFwiMTIzNCIsCiAgICAgIFwiZm9vIiwKICAgICAgXCJiYXIiLAogICAgICBcImZhYWJhciIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfYWZmOSA9IFsKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9kaWM5ID0gWwogICAgICBcIjEyMzQiLAogICAgICBcImZvbyIsCiAgICAgIFwiYmFyIiwKICAgICAgXCBdCmxldCBnOnRlc3RfZGF0YV9hZmYxMCA9IFsKICAgICAgXCJDT01QT1VORFJVTEUgc2UiLAogICAgICBcIkNPTVBPVU5EUEVSTUlURkxBRyBwIiwKICAgICAgXCIiLAogICAgICBcIlNGWCBBIFkgMSIsCiAgICAgIFwiU0ZYIEEgMCBhYmxlL01wIC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIE0gWSAxIiwKICAgICAgXCJTRlggTSAwIHMgLiIsCiAgICAgIFwgXQpsZXQgZzp0ZXN0X2RhdGFfZGljMTAgPSBbCiAgICAgIFwiMTIzNCIsCiAgICAgIFwiZHJpbmsvQXMiLAogICAgICBcInRhYmxlL2UiLAogICAgICBcIF0KbGV0IGc6dGVzdF9kYXRhX2FmZl9zYWwgPSBbCiAgICAgIFwiU0VUIElTTzg4NTktMSIsCiAgICAgIFwiVFJZIGVzaWFucnRvbGNkdWdtcGhieWZ2a3dqa3F4ei1ceEVCXHhFOVx4RThceEVBXHhFRlx4RUVceEU0XHhFMFx4RTJceEY2XHhGQ1x4RkInRVNJQU5SVE9MQ0RVR01QSEJZRlZLV0pLUVhaIiwKICAgICAgXCIiLAogICAgICBcIkZPTCAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAogICAgICBcIkxPVyAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAogICAgICBcIlVQUCAgXHhDMFx4QzFceEMyXHhDM1x4QzRceEM1XHhDNlx4QzdceEM4XHhDOVx4Q0FceENCXHhDQ1x4Q0RceENFXHhDRlx4RDBceEQxXHhEMlx4RDNceEQ0XHhENVx4RDZceEQ4XHhEOVx4REFceERCXHhEQ1x4RERceERFXHhERlx4RkYiLAogICAgICBcIiIsCiAgICAgIFwiTUlEV09SRFx0Jy0iLAogICAgICBcIiIsCiAgICAgIFwiS0VQID0iLAogICAgICBcIlJBUiA/IiwKICAgICAgXCJCQUQgISIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggSSBOIDEiLAogICAgICBcIlBGWCBJIDAgaW4gLiIsCiAgICAgIFwiIiwKICAgICAgXCJQRlggTyBZIDEiLAogICAgICBcIlBGWCBPIDAgb3V0IC4iLAogICAgICBcIiIsCiAgICAgIFwiU0ZYIFMgWSAyIiwKICAgICAgXCJTRlggUyAwIHMgW15zXSIsCiAgICAgIFwiU0ZYIFMgMCBlcyBzIiwKICAgICAgXCIiLAogICAgICBcIlNGWCBOIE4gMyIsCiAgICAgIFwiU0ZYIE4gMCBlbiBbXm5dIiwKICAgICAgXCJTRlggTiAwIG5lbiBuIiwKICAgICAgXCJTRlggTiAwIG4gLiIsCiAgICAgIFwiIiwKICAgICAgXCJSRVAgMyIsCiAgICAgIFwiUkVQIGcgY2giLAogICAgICBcIlJFUCBjaCBnIiwKICAgICAgXCJSRVAgc3ZwIHMudi5wLiIsCiAgICAgIFwiIiwKICAgICAgXCJNQVAgOSIsCiAgICAgIFwiTUFQIGFceEUwXHhFMVx4RTJceEUzXHhFNFx4RTUiLAogICAgICBcIk1BUCBlXHhFOFx4RTlceEVBXHhFQiIsCiAgICAgIFwiTUFQIGlceEVDXHhFRFx4RUVceEVGIiwKICAgICAgXCJNQVAgb1x4RjJceEYzXHhGNFx4RjVceEY2IiwKICAgICAgXCJNQVAgdVx4RjlceEZBXHhGQlx4RkMiLAogICAgICBcIk1BUCBuXHhGMSIsCiAgICAgIFwiTUFQIGNceEU3IiwKICAgICAgXCJNQVAgeVx4RkZceEZEIiwKICAgICAgXCJNQVAgc1x4REYiLAogICAgICBcIiIsCiAgICAgIFwiU0FMIEFIKEFFSU9VWSktXiAgICAgICAgICpIIiwKICAgICAgXCJTQUwgQVIoQUVJT1VZKS1eICAgICAgICAgKlIiLAogICAgICBcIlNBTCBBKEhSKV4gICAgICAgICAgICAgICAqIiwKICAgICAgXCJTQUwgQV4gICAgICAgICAgICAgICAgICAgKiIsCiAgICAgIFwiU0FMIEFIKEFFSU9VWSktICAgICAgICAgIEgiLAogICAgICBcIlNBTCBBUihBRUlPVVkpLSAgICAgICAgICBSIiwKICAgICAgXCJTQUwgQShIUikgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIFx4QzBeICAgICAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBceEM1XiAgICAgICAgICAgICAgICAgICAqIiwKICAgICAgXCJTQUwgQkItICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIEIgICAgICAgICAgICAgICAgICAgIEIiLAogICAgICBcIlNBTCBDUS0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgQ0lBICAgICAgICAgICAgICAgICAgWCIsCiAgICAgIFwiU0FMIENIICAgICAgICAgICAgICAgICAgIFgiLAogICAgICBcIlNBTCBDKEVJWSktICAgICAgICAgICAgICBTIiwKICAgICAgXCJTQUwgQ0sgICAgICAgICAgICAgICAgICAgSyIsCiAgICAgIFwiU0FMIENPVUdIXiAgICAgICAgICAgICAgIEtGIiwKICAgICAgXCJTQUwgQ0M8ICAgICAgICAgICAgICAgICAgQyIsCiAgICAgIFwiU0FMIEMgICAgICAgICAgICAgICAgICAgIEsiLAogICAgICBcIlNBTCBERyhFSVkpICAgICAgICAgICAgICBLIiwKICAgICAgXCJTQUwgREQtICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIEQgICAgICAgICAgICAgICAgICAgIFQiLAogICAgICBcIlNBTCBceEM5PCAgICAgICAgICAgICAgICAgICBFIiwKICAgICAgXCJTQUwgRUgoQUVJT1VZKS1eICAgICAgICAgKkgiLAogICAgICBcIlNBTCBFUihBRUlPVVkpLV4gICAgICAgICAqUiIsCiAgICAgIFwiU0FMIEUoSFIpXiAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBFTk9VR0heJCAgICAgICAgICAgICAqTkYiLAogICAgICBcIlNBTCBFXiAgICAgICAgICAgICAgICAgICAqIiwKICAgICAgXCJTQUwgRUgoQUVJT1VZKS0gICAgICAgICAgSCIsCiAgICAgIFwiU0FMIEVSKEFFSU9VWSktICAgICAgICAgIFIiLAogICAgICBcIlNBTCBFKEhSKSAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgRkYtICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIEYgICAgICAgICAgICAgICAgICAgIEYiLAogICAgICBcIlNBTCBHTl4gICAgICAgICAgICAgICAgICBOIiwKICAgICAgXCJTQUwgR04kICAgICAgICAgICAgICAgICAgTiIsCiAgICAgIFwiU0FMIEdOUyQgICAgICAgICAgICAgICAgIE5TIiwKICAgICAgXCJTQUwgR05FRCQgICAgICAgICAgICAgICAgTiIsCiAgICAgIFwiU0FMIEdIKEFFSU9VWSktICAgICAgICAgIEsiLAogICAgICBcIlNBTCBHSCAgICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgR0c5ICAgICAgICAgICAgICAgICAgSyIsCiAgICAgIFwiU0FMIEcgICAgICAgICAgICAgICAgICAgIEsiLAogICAgICBcIlNBTCBIICAgICAgICAgICAgICAgICAgICBIIiwKICAgICAgXCJTQUwgSUgoQUVJT1VZKS1eICAgICAgICAgKkgiLAogICAgICBcIlNBTCBJUihBRUlPVVkpLV4gICAgICAgICAqUiIsCiAgICAgIFwiU0FMIEkoSFIpXiAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBJXiAgICAgICAgICAgICAgICAgICAqIiwKICAgICAgXCJTQUwgSU5HNiAgICAgICAgICAgICAgICAgTiIsCiAgICAgIFwiU0FMIElIKEFFSU9VWSktICAgICAgICAgIEgiLAogICAgICBcIlNBTCBJUihBRUlPVVkpLSAgICAgICAgICBSIiwKICAgICAgXCJTQUwgSShIUikgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIEogICAgICAgICAgICAgICAgICAgIEsiLAogICAgICBcIlNBTCBLTl4gICAgICAgICAgICAgICAgICBOIiwKICAgICAgXCJTQUwgS0stICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIEsgICAgICAgICAgICAgICAgICAgIEsiLAogICAgICBcIlNBTCBMQVVHSF4gICAgICAgICAgICAgICBMRiIsCiAgICAgIFwiU0FMIExMLSAgICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBMICAgICAgICAgICAgICAgICAgICBMIiwKICAgICAgXCJTQUwgTUIkICAgICAgICAgICAgICAgICAgTSIsCiAgICAgIFwiU0FMIE1NICAgICAgICAgICAgICAgICAgIE0iLAogICAgICBcIlNBTCBNICAgICAgICAgICAgICAgICAgICBNIiwKICAgICAgXCJTQUwgTk4tICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIE4gICAgICAgICAgICAgICAgICAgIE4iLAogICAgICBcIlNBTCBPSChBRUlPVVkpLV4gICAgICAgICAqSCIsCiAgICAgIFwiU0FMIE9SKEFFSU9VWSktXiAgICAgICAgICpSIiwKICAgICAgXCJTQUwgTyhIUileICAgICAgICAgICAgICAgKiIsCiAgICAgIFwiU0FMIE9eICAgICAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBPSChBRUlPVVkpLSAgICAgICAgICBIIiwKICAgICAgXCJTQUwgT1IoQUVJT1VZKS0gICAgICAgICAgUiIsCiAgICAgIFwiU0FMIE8oSFIpICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBQSCAgICAgICAgICAgICAgICAgICBGIiwKICAgICAgXCJTQUwgUE5eICAgICAgICAgICAgICAgICAgTiIsCiAgICAgIFwiU0FMIFBQLSAgICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBQICAgICAgICAgICAgICAgICAgICBQIiwKICAgICAgXCJTQUwgUSAgICAgICAgICAgICAgICAgICAgSyIsCiAgICAgIFwiU0FMIFJIXiAgICAgICAgICAgICAgICAgIFIiLAogICAgICBcIlNBTCBST1VHSF4gICAgICAgICAgICAgICBSRiIsCiAgICAgIFwiU0FMIFJSLSAgICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBSICAgICAgICAgICAgICAgICAgICBSIiwKICAgICAgXCJTQUwgU0NIKEVPVSktICAgICAgICAgICAgU0siLAogICAgICBcIlNBTCBTQyhJRVkpLSAgICAgICAgICAgICBTIiwKICAgICAgXCJTQUwgU0ggICAgICAgICAgICAgICAgICAgWCIsCiAgICAgIFwiU0FMIFNJKEFPKS0gICAgICAgICAgICAgIFgiLAogICAgICBcIlNBTCBTUy0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgUyAgICAgICAgICAgICAgICAgICAgUyIsCiAgICAgIFwiU0FMIFRJKEFPKS0gICAgICAgICAgICAgIFgiLAogICAgICBcIlNBTCBUSCAgICAgICAgICAgICAgICAgICBAIiwKICAgICAgXCJTQUwgVENILS0gICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIFRPVUdIXiAgICAgICAgICAgICAgIFRGIiwKICAgICAgXCJTQUwgVFQtICAgICAgICAgICAgICAgICAgXyIsCiAgICAgIFwiU0FMIFQgICAgICAgICAgICAgICAgICAgIFQiLAogICAgICBcIlNBTCBVSChBRUlPVVkpLV4gICAgICAgICAqSCIsCiAgICAgIFwiU0FMIFVSKEFFSU9VWSktXiAgICAgICAgICpSIiwKICAgICAgXCJTQUwgVShIUileICAgICAgICAgICAgICAgKiIsCiAgICAgIFwiU0FMIFVeICAgICAgICAgICAgICAgICAgICoiLAogICAgICBcIlNBTCBVSChBRUlPVVkpLSAgICAgICAgICBIIiwKICAgICAgXCJTQUwgVVIoQUVJT1VZKS0gICAgICAgICAgUiIsCiAgICAgIFwiU0FMIFUoSFIpICAgICAgICAgICAgICAgIF8iLAogICAgICBcIlNBTCBWXiAgICAgICAgICAgICAgICAgICBXIiwKICAgICAgXCJTQUwgViAgICAgICAgICAgICAgICAgICAgRiIsCiAgICAgIFwiU0FMIFdSXiAgICAgICAgICAgICAgICAgIFIiLAogICAgICBcIlNBTCBXSF4gICAgICAgICAgICAgICAgICBXIiwKICAgICAgXCJTQUwgVyhBRUlPVSktICAgICAgICAgICAgVyIsCiAgICAgIFwiU0FMIFheICAgICAgICAgICAgICAgICAgIFMiLAogICAgICBcIlNBTCBYICAgICAgICAgICAgICAgICAgICBLUyIsCiAgICAgIFwiU0FMIFkoQUVJT1UpLSAgICAgICAgICAgIFkiLAogICAgICBcIlNBTCBaWi0gICAgICAgICAgICAgICAgICBfIiwKICAgICAgXCJTQUwgWiAgICAgICAgICAgICAgICAgICAgUyIsCiAgICAgIFwgXQo=