f0VMRgEBAQAAAAAAAAAAAAEACAABAAAAAAAAAAAAAADkEgAABxAAUDQAAAAAACgABQACAHYxOwpwYWNrYWdlIG1hdGg7CnBrZ3BhdGggbWF0aDsKcHJpb3JpdHkgMTsKaW1wb3J0IHVuc2FmZSB1bnNhZmUgInVuc2FmZSI7CmluaXQgbWF0aCBtYXRoLi5pbXBvcnQgMTsKZnVuYyBBYnMgKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBBY29zICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgQWNvc2ggKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBBc2luICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgQXNpbmggKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBBdGFuICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgQXRhbjIgKHkgPHR5cGUgLTEwPiwgeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIEF0YW5oICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgQ2JydCAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIENlaWwgKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBDb3B5c2lnbiAoeCA8dHlwZSAtMTA+LCB5IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgQ29zICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgQ29zaCAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIERpbSAoeCA8dHlwZSAtMTA+LCB5IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmNvbnN0IEUgPSAwLjI3MTgyODE4Mjg0NTkwNDUyMzUzNjAyODc0NzEzNTI2NjI0OTc3NTcyNDcwOTM2OTk5NTk1NzQ5NjY5Njc2MzAwMDAwMDAwMDAwMDAwMTJFMSA7CmZ1bmMgRXJmICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgRXJmYyAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIEV4cCAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIEV4cDIgKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBFeHBtMSAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIEZsb2F0MzJiaXRzIChmIDx0eXBlIC05PikgPHR5cGUgLTc+OwpmdW5jIEZsb2F0MzJmcm9tYml0cyAoYiA8dHlwZSAtNz4pIDx0eXBlIC05PjsKZnVuYyBGbG9hdDY0Yml0cyAoZiA8dHlwZSAtMTA+KSA8dHlwZSAtOD47CmZ1bmMgRmxvYXQ2NGZyb21iaXRzIChiIDx0eXBlIC04PikgPHR5cGUgLTEwPjsKZnVuYyBGbG9vciAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIEZyZXhwIChmIDx0eXBlIC0xMD4pIChmcmFjIDx0eXBlIC0xMD4sIGV4cCA8dHlwZSAtMTE+KTsKZnVuYyBHYW1tYSAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIEh5cG90IChwIDx0eXBlIC0xMD4sIHEgPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBJbG9nYiAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTE+OwpmdW5jIEluZiAoc2lnbiA8dHlwZSAtMTE+KSA8dHlwZSAtMTA+OwpmdW5jIElzSW5mIChmIDx0eXBlIC0xMD4sIHNpZ24gPHR5cGUgLTExPikgPHR5cGUgLTE1PjsKZnVuYyBJc05hTiAoZiA8dHlwZSAtMTA+KSAoaXMgPHR5cGUgLTE1Pik7CmZ1bmMgSjAgKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBKMSAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIEpuIChuIDx0eXBlIC0xMT4sIHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBMZGV4cCAoZnJhYyA8dHlwZSAtMTA+LCBleHAgPHR5cGUgLTExPikgPHR5cGUgLTEwPjsKZnVuYyBMZ2FtbWEgKHggPHR5cGUgLTEwPikgKGxnYW1tYSA8dHlwZSAtMTA+LCBzaWduIDx0eXBlIC0xMT4pOwpjb25zdCBMbjEwID0gMC4yMzAyNTg1MDkyOTk0MDQ1Njg0MDE3OTkxNDU0Njg0MzY0MjA3NjAxMTAxNDg4NjI4NzcyOTc2MDMzMzI3OTAwMDAwMDAwMDAwMDAwMDA1RTEgOwpjb25zdCBMbjIgPSAwLjY5MzE0NzE4MDU1OTk0NTMwOTQxNzIzMjEyMTQ1ODE3NjU2ODA3NTUwMDEzNDM2MDI1NTI1NDEyMDY4MDAwODk5OTk5OTk5OTk5OTk5NjlFMCA7CmZ1bmMgTG9nICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgTG9nMTAgKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKY29uc3QgTG9nMTBFID0gMC40MzQyOTQ0ODE5MDMyNTE4Mjc2NTExMjg5MTg5MTY2MDUwODIyOTQzOTcwMDU4MDM2NjY1NjYxMTQ0NTM3ODMzNDgzNjAxNjExMDIwNzIxRTAgOwpmdW5jIExvZzFwICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgTG9nMiAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+Owpjb25zdCBMb2cyRSA9IDAuMTQ0MjY5NTA0MDg4ODk2MzQwNzM1OTkyNDY4MTAwMTg5MjEzNzQyNjY0NTk1NDE1Mjk4NTkzNDEzNTQ0OTQwNzk1ODA0MzM5OTM3NDkxM0UxIDsKZnVuYyBMb2diICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgTWF4ICh4IDx0eXBlIC0xMD4sIHkgPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKY29uc3QgTWF4RmxvYXQzMiA9IDAuMzQwMjgyMzQ2NjM4NTI4ODU5ODExNzA0MTgzNDg0NTE2OTI1NDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzOSA7CmNvbnN0IE1heEZsb2F0NjQgPSAwLjE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQyMzczMTcwNDM1Njc5ODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFMzA5IDsKY29uc3QgTWF4SW50MTYgPSAzMjc2NyA7CmNvbnN0IE1heEludDMyID0gMjE0NzQ4MzY0NyA7CmNvbnN0IE1heEludDY0ID0gOTIyMzM3MjAzNjg1NDc3NTgwNyA7CmNvbnN0IE1heEludDggPSAxMjcgOwpjb25zdCBNYXhVaW50MTYgPSA2NTUzNSA7CmNvbnN0IE1heFVpbnQzMiA9IDQyOTQ5NjcyOTUgOwpjb25zdCBNYXhVaW50NjQgPSAxODQ0Njc0NDA3MzcwOTU1MTYxNSA7CmNvbnN0IE1heFVpbnQ4ID0gMjU1IDsKZnVuYyBNaW4gKHggPHR5cGUgLTEwPiwgeSA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+Owpjb25zdCBNaW5JbnQxNiA9IC0zMjc2OCA7CmNvbnN0IE1pbkludDMyID0gLTIxNDc0ODM2NDggOwpjb25zdCBNaW5JbnQ2NCA9IC05MjIzMzcyMDM2ODU0Nzc1ODA4IDsKY29uc3QgTWluSW50OCA9IC0xMjggOwpmdW5jIE1vZCAoeCA8dHlwZSAtMTA+LCB5IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgTW9kZiAoZiA8dHlwZSAtMTA+KSAoaW50IDx0eXBlIC0xMD4sIGZyYWMgPHR5cGUgLTEwPik7CmZ1bmMgTmFOICgpIDx0eXBlIC0xMD47CmZ1bmMgTmV4dGFmdGVyICh4IDx0eXBlIC0xMD4sIHkgPHR5cGUgLTEwPikgKHIgPHR5cGUgLTEwPik7CmZ1bmMgTmV4dGFmdGVyMzIgKHggPHR5cGUgLTk+LCB5IDx0eXBlIC05PikgKHIgPHR5cGUgLTk+KTsKY29uc3QgUGhpID0gMC4xNjE4MDMzOTg4NzQ5ODk0ODQ4MjA0NTg2ODM0MzY1NjM4MTE3NzIwMzA5MTc5ODA1NzYyODYyMTM1NDQ4NjIwMDAwMDAwMDAwMDAwMDA0RTEgOwpjb25zdCBQaSA9IDAuMzE0MTU5MjY1MzU4OTc5MzIzODQ2MjY0MzM4MzI3OTUwMjg4NDE5NzE2OTM5OTM3NTEwNTgyMDk3NDk0NDU5MDAwMDAwMDAwMDAwMDAxNkUxIDsKZnVuYyBQb3cgKHggPHR5cGUgLTEwPiwgeSA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIFBvdzEwIChlIDx0eXBlIC0xMT4pIDx0eXBlIC0xMD47CmZ1bmMgUmVtYWluZGVyICh4IDx0eXBlIC0xMD4sIHkgPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBTaWduYml0ICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xNT47CmZ1bmMgU2luICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgU2luY29zICh4IDx0eXBlIC0xMD4pIChzaW4gPHR5cGUgLTEwPiwgY29zIDx0eXBlIC0xMD4pOwpmdW5jIFNpbmggKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKY29uc3QgU21hbGxlc3ROb256ZXJvRmxvYXQzMiA9IDAuMTQwMTI5ODQ2NDMyNDgxNzA3MDkyMzcyOTU4MzI4OTkxNjEzMTI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUtNDQgOwpjb25zdCBTbWFsbGVzdE5vbnplcm9GbG9hdDY0ID0gMC40OTQwNjU2NDU4NDEyNDY1NDQxNzY1Njg3OTI4NjgyMjEzNzIzNjUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwRS0zMjMgOwpmdW5jIFNxcnQgKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKY29uc3QgU3FydDIgPSAwLjE0MTQyMTM1NjIzNzMwOTUwNDg4MDE2ODg3MjQyMDk2OTgwNzg1Njk2NzE4NzUzNzY5NDgwNzMxNzY2Nzk3NDAwMDAwMDAwMDAwMDAwMDVFMSA7CmNvbnN0IFNxcnRFID0gMC4xNjQ4NzIxMjcwNzAwMTI4MTQ2ODQ4NjUwNzg3ODE0MTYzNTcxNjUzNzc2MTAwNzEwMTQ4MDExNTc1MDc5MzEwMDAwMDAwMDAwMDAwMDA2RTEgOwpjb25zdCBTcXJ0UGhpID0gMC4xMjcyMDE5NjQ5NTE0MDY4OTY0MjUyNDIyNDYxNzM3NDkxNDkxNzE1NjA4MDQxODQwMDk2MjQ4NjE2NjQwMzgwMDAwMDAwMDAwMDAwMDA3RTEgOwpjb25zdCBTcXJ0UGkgPSAwLjE3NzI0NTM4NTA5MDU1MTYwMjcyOTgxNjc0ODMzNDExNDUxODI3OTc1NDk0NTYxMjIzODcxMjgyMTM4MDc3ODk5OTk5OTk5OTk5OTk5OThFMSA7CmZ1bmMgVGFuICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgVGFuaCAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIFRydW5jICh4IDx0eXBlIC0xMD4pIDx0eXBlIC0xMD47CmZ1bmMgWTAgKHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKZnVuYyBZMSAoeCA8dHlwZSAtMTA+KSA8dHlwZSAtMTA+OwpmdW5jIFluIChuIDx0eXBlIC0xMT4sIHggPHR5cGUgLTEwPikgPHR5cGUgLTEwPjsKY2hlY2tzdW0gNkU1Q0JGREUxN0IzRjJFRkNEMURCOTExMUU5RDdCQjM3RTYzN0JGNzsKAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmdvX2V4cG9ydAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAAAAAAAAAAA0AAAAZRIAAAAAAAAAAAAAAQAAAAAAAAARAAAAAwAAAAAAAAAAAAAAmRIAACYAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAMASAAAgAAAABAAAAAIAAAAEAAAAEAAAAAkAAAADAAAAAAAAAAAAAADgEgAAAQAAAAAAAAAAAAAAAQAAAAAAAAA=