VGVzdCBmb3IgZW5jcnlwdGlvbi4KClNUQVJUVEVTVAo6c28gc21hbGwudmltCjovXnN0YXJ0IG9mIHRleHQvKzEKOmxldCB0ZXh0X2xpbmVzID0gZ2V0bGluZSgnLicsIGxpbmUoJy4nKSArIDIpCjovXnN0YXJ0IG9mIGNtPXppcCBieXRlcy8rMQo6bGV0IGNtMF9ieXRlcyA9IGdldGxpbmUoJy4nLCAnLicpCjovXnN0YXJ0IG9mIGNtPWJsb3dmaXNoIGJ5dGVzLysxCjpsZXQgY20xX2J5dGVzID0gZ2V0bGluZSgnLicsICcuJykKOmJ3aXBlIQo6Y2FsbCBhcHBlbmQoMCwgdGV4dF9saW5lcykKOiRkCjpYCmZvb2Jhcgpmb29iYXIKOnchIFh0ZXN0ZmlsZQo6YndpcGUhCjplIFh0ZXN0ZmlsZQpmb29iYXIKOmxldCBjbTBfcmVhZF9iYWNrID0gZ2V0bGluZSgnLicsICckJykKOnNldCBrZXk9CjpzZXQgY3J5cHRtZXRob2Q9Ymxvd2Zpc2gKOiIgSWYgdGhlIGJsb3dmaXNoIHRlc3QgZmFpbHMgJ2NyeXB0bWV0aG9kJyB3aWxsIGJlICd6aXAnIG5vdy4KOiVzL14vXD0mY3J5cHRtZXRob2QgPT0gJ2Jsb3dmaXNoJyA/ICJPSyAiIDogImJsb3dmaXNoIHRlc3QgZmFpbGVkICIvCjpYCmJhcmZvbwpiYXJmb28KOnchIFh0ZXN0ZmlsZQo6YndpcGUhCjplIFh0ZXN0ZmlsZQpiYXJmb28KOmxldCBjbTFfcmVhZF9iYWNrID0gZ2V0bGluZSgnLicsICckJykKOmJ3aXBlIQo6c2V0IGJpbiBub2VvbCBrZXk9CjpjYWxsIGFwcGVuZCgwLCBjbTBfYnl0ZXMpCjokZAo6c2V0IGZlbmM9bGF0aW4xCjp3ISBYdGVzdGZpbGUKOmJ3aXBlIQo6c2V0IG5vYmluCjplIFh0ZXN0ZmlsZQpmb29mb28KOmxldCBjbTBfcmVhZF9iaW4gPSBnZXRsaW5lKCcuJywgJyQnKQo6YndpcGUhCjpzZXQgYmluIG5vZW9sIGtleT0KOmNhbGwgYXBwZW5kKDAsIGNtMV9ieXRlcykKOiRkCjpzZXQgZmVuYz1sYXRpbjEKOnchIFh0ZXN0ZmlsZQo6YndpcGUhCjpzZXQgbm9iaW4KOmUgWHRlc3RmaWxlCmJhcmJhcgo6Y2FsbCBhcHBlbmQoMCwgY20wX3JlYWRfYmluKQo6Y2FsbCBhcHBlbmQoMCwgY20xX3JlYWRfYmFjaykKOmNhbGwgYXBwZW5kKDAsIGNtMF9yZWFkX2JhY2spCjpzZXQga2V5PSBmZW5jPWxhdGluMQo6dyEgdGVzdC5vdXQKOnFhIQpFTkRURVNUCgpzdGFydCBvZiB0ZXh0CjAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3CmxpbmUgMiAgZm9vIGJhciBibGFoCmxpbmUgMyB4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgKZW5kIG9mIHRleHQKCnN0YXJ0IG9mIGNtPXppcCBieXRlcwpWaW1DcnlwdH4wMSEGHGxWJ959TWeg6qNWqecHRSMzjjJV6ZcKZW5kIG9mIGNtPXppcCBieXRlcwoKc3RhcnQgb2YgY209Ymxvd2Zpc2ggYnl0ZXMKVmltQ3J5cHR+MDIhaym+F5cjFt1TnPU9uuDII6VNtIZKw0HNpU20hiGAFZv1D+HSGYIWmPcN2gplbmQgb2YgY209Ymxvd2Zpc2ggYnl0ZXMK