ISB7IGRnLWRvIHJ1biB9CiEgVGVzdHMgdGhlIGZpeCBmb3IgUFIzMTQ4MywgaW4gd2hpY2ggZHVtbXkgYXJndW1lbnQgcHJvY2VkdXJlcwohIHByb2R1Y2VkIGFuIElDRSBpZiB0aGV5IGhhZCBhbiBhbHRlcm5hdGUgcmV0dXJuLgohCiEgQ29udHJpYnV0ZWQgYnkgTWF0aGlhcyBGcvZobGljaCA8TS5Gcm9laGxpY2hAc2NpZW5jZS1jb21wdXRpbmcuZGU+CgogICAgICBTVUJST1VUSU5FIFIgKGksICosICopCiAgICAgIElOVEVHRVIgaQogICAgICBSRVRVUk4gaQogICAgICBFTkQKCiAgICAgIFNVQlJPVVRJTkUgUEhMT0FEIChSRUFERVIsIGksIHJlcykKICAgICAgSU1QTElDSVQgTk9ORQogICAgICBFWFRFUk5BTCAgICAgICAgIFJFQURFUgogICAgICBpbnRlZ2VyIGkKICAgICAgY2hhcmFjdGVyKDMpIHJlcwogICAgICBDQUxMIFJFQURFUiAoaSwgKjEsICoyKQogMSAgICByZXMgPSAib25lIgogICAgICByZXR1cm4KIDIgICAgcmVzID0gInR3byIKICAgICAgcmV0dXJuCiAgICAgIEVORAoKICAgICAgRVhURVJOQUwgUgogICAgICBjaGFyYWN0ZXIoMykgcmVzCiAgICAgIGNhbGwgUEhMT0FEIChSLCAxLCByZXMpCiAgICAgIGlmIChyZXMgLm5lLiAib25lIikgY2FsbCBhYm9ydCAoKQogICAgICBDQUxMIFBITE9BRCAoUiwgMiwgcmVzKQogICAgICBpZiAocmVzIC5uZS4gInR3byIpIGNhbGwgYWJvcnQgKCkKICAgICAgRU5E