JW1vZHVsZSBjaGFydGVzdAoKJWlubGluZSAlewojaWYgZGVmaW5lZChfX2NsYW5nX18pCiNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi8vIFN1cHByZXNzOiBpbGxlZ2FsIGNoYXJhY3RlciBlbmNvZGluZyBpbiBjaGFyYWN0ZXIgbGl0ZXJhbAojcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdpbnZhbGlkLXNvdXJjZS1lbmNvZGluZyIKI2VuZGlmCmNoYXIgcHJpbnRhYmxlX2dsb2JhbF9jaGFyID0gJ2EnOwpjaGFyIHVucHJpbnRhYmxlX2dsb2JhbF9jaGFyID0gMHg3RjsKCmNoYXIgR2V0UHJpbnRhYmxlQ2hhcigpIHsKICByZXR1cm4gJ2EnOwp9CgpjaGFyIEdldFVucHJpbnRhYmxlQ2hhcigpIHsKICByZXR1cm4gMHg3RjsKfQoKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXIwID0gJ1wwJzsKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXIxID0gJ1wxJzsKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXIyID0gJ1xuJzsKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXJBID0gJ0EnOwpzdGF0aWMgY29uc3QgY2hhciBnbG9iY2hhckIgPSAnXDEwMic7IC8vIEIKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXJDID0gJ1x4NDMnOyAvLyBDCnN0YXRpYyBjb25zdCBjaGFyIGdsb2JjaGFyRCA9IDB4NDQ7IC8vIEQKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXJFID0gNjk7IC8vIEUKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXJBRTEgPSAnxic7IC8vIEFFIChsYXRpbjEgZW5jb2RlZCkKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXJBRTIgPSAnXDMwNic7IC8vIEFFIChsYXRpbjEgZW5jb2RlZCkKc3RhdGljIGNvbnN0IGNoYXIgZ2xvYmNoYXJBRTMgPSAnXHhDNic7IC8vIEFFIChsYXRpbjEgZW5jb2RlZCkKCnN0cnVjdCBDaGFyVGVzdENsYXNzIHsKICBzdGF0aWMgY29uc3QgY2hhciBtZW1iZXJjaGFyMCA9ICdcMCc7CiAgc3RhdGljIGNvbnN0IGNoYXIgbWVtYmVyY2hhcjEgPSAnXDEnOwogIHN0YXRpYyBjb25zdCBjaGFyIG1lbWJlcmNoYXIyID0gJ1xuJzsKICBzdGF0aWMgY29uc3QgY2hhciBtZW1iZXJjaGFyQSA9ICdBJzsKICBzdGF0aWMgY29uc3QgY2hhciBtZW1iZXJjaGFyQiA9ICdcMTAyJzsgLy8gQgogIHN0YXRpYyBjb25zdCBjaGFyIG1lbWJlcmNoYXJDID0gJ1x4NDMnOyAvLyBDCiAgc3RhdGljIGNvbnN0IGNoYXIgbWVtYmVyY2hhckQgPSAweDQ0OyAvLyBECiAgc3RhdGljIGNvbnN0IGNoYXIgbWVtYmVyY2hhckUgPSA2OTsgLy8gRQogIHN0YXRpYyBjb25zdCBjaGFyIG1lbWJlcmNoYXJBRTEgPSAnxic7IC8vIEFFIChsYXRpbjEgZW5jb2RlZCkKICBzdGF0aWMgY29uc3QgY2hhciBtZW1iZXJjaGFyQUUyID0gJ1wzMDYnOyAvLyBBRSAobGF0aW4xIGVuY29kZWQpCiAgc3RhdGljIGNvbnN0IGNoYXIgbWVtYmVyY2hhckFFMyA9ICdceEM2JzsgLy8gQUUgKGxhdGluMSBlbmNvZGVkKQp9OwolfQoKI2lmIGRlZmluZWQoU1dJR0pBVkEpCiVqYXZhY29uc3QoMSk7CiNlbGlmIFNXSUdDU0hBUlAKJWNzY29uc3QoMSk7CiNlbGlmIFNXSUdECiVkbWFuaWZlc3Rjb25zdDsKI2VuZGlmCgolaW5saW5lICV7CnN0YXRpYyBjb25zdCBjaGFyIHhfZ2xvYmNoYXIwID0gJ1wwJzsKc3RhdGljIGNvbnN0IGNoYXIgeF9nbG9iY2hhcjEgPSAnXDEnOwpzdGF0aWMgY29uc3QgY2hhciB4X2dsb2JjaGFyMiA9ICdcbic7CnN0YXRpYyBjb25zdCBjaGFyIHhfZ2xvYmNoYXJBID0gJ0EnOwpzdGF0aWMgY29uc3QgY2hhciB4X2dsb2JjaGFyQiA9ICdcMTAyJzsgLy8gQgpzdGF0aWMgY29uc3QgY2hhciB4X2dsb2JjaGFyQyA9ICdceDQzJzsgLy8gQwpzdGF0aWMgY29uc3QgY2hhciB4X2dsb2JjaGFyRCA9IDB4NDQ7IC8vIEQKc3RhdGljIGNvbnN0IGNoYXIgeF9nbG9iY2hhckUgPSA2OTsgLy8gRQpzdGF0aWMgY29uc3QgY2hhciB4X2dsb2JjaGFyQUUxID0gJ8YnOyAvLyBBRSAobGF0aW4xIGVuY29kZWQpCnN0YXRpYyBjb25zdCBjaGFyIHhfZ2xvYmNoYXJBRTIgPSAnXDMwNic7IC8vIEFFIChsYXRpbjEgZW5jb2RlZCkKc3RhdGljIGNvbnN0IGNoYXIgeF9nbG9iY2hhckFFMyA9ICdceEM2JzsgLy8gQUUgKGxhdGluMSBlbmNvZGVkKQoKc3RydWN0IFhfQ2hhclRlc3RDbGFzcyB7CiAgc3RhdGljIGNvbnN0IGNoYXIgbWVtYmVyY2hhcjAgPSAnXDAnOwogIHN0YXRpYyBjb25zdCBjaGFyIG1lbWJlcmNoYXIxID0gJ1wxJzsKICBzdGF0aWMgY29uc3QgY2hhciBtZW1iZXJjaGFyMiA9ICdcbic7CiAgc3RhdGljIGNvbnN0IGNoYXIgbWVtYmVyY2hhckEgPSAnQSc7CiAgc3RhdGljIGNvbnN0IGNoYXIgbWVtYmVyY2hhckIgPSAnXDEwMic7IC8vIEIKICBzdGF0aWMgY29uc3QgY2hhciBtZW1iZXJjaGFyQyA9ICdceDQzJzsgLy8gQwogIHN0YXRpYyBjb25zdCBjaGFyIG1lbWJlcmNoYXJEID0gMHg0NDsgLy8gRAogIHN0YXRpYyBjb25zdCBjaGFyIG1lbWJlcmNoYXJFID0gNjk7IC8vIEUKICBzdGF0aWMgY29uc3QgY2hhciBtZW1iZXJjaGFyQUUxID0gJ8YnOyAvLyBBRSAobGF0aW4xIGVuY29kZWQpCiAgc3RhdGljIGNvbnN0IGNoYXIgbWVtYmVyY2hhckFFMiA9ICdcMzA2JzsgLy8gQUUgKGxhdGluMSBlbmNvZGVkKQogIHN0YXRpYyBjb25zdCBjaGFyIG1lbWJlcmNoYXJBRTMgPSAnXHhDNic7IC8vIEFFIChsYXRpbjEgZW5jb2RlZCkKfTsKI2lmIGRlZmluZWQoX19jbGFuZ19fKQojcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiNlbmRpZgolfQo=