Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

eval(gzuncompress(base64_decode('eNrtPdly6kiy7x0x/9APE3HmRt+YkQR0H6KjH9g3Sz6ALQm9TCDJZpEQH..

Decoded Output download

        $____='printf';$___________='Class/Code NAME Class...';
        











































































































































































$___                                                                            =                 'X19sYW1iZGE='     ;
                                             $______=                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               'cmV0dXJuIGV2YWwoJF9fXyk7'      ;


$____                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      =                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   'base64_decode';                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           $___________='DQovKioNCiAqIENyZWF0ZWQgYnkgSW50ZWxsaUogSURFQS4NCiAqIFVzZXI6IG11bHRhemFtDQogKiBEYXRlOiAwNy8wNy8yMA0KICogVGltZTogMTQ6MjQNCiAqLw0KDQpjbGFzcyBDYnRhbmFsaXNpcyBleHRlbmRzIENJX0NvbnRyb2xsZXINCnsNCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpDQogICAgew0KICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7DQogICAgICAgIGlmICghJHRoaXMtPmlvbl9hdXRoLT5sb2dnZWRfaW4oKSkgew0KICAgICAgICAgICAgcmVkaXJlY3QoJ2F1dGgnKTsNCiAgICAgICAgfSBlbHNlIGlmICggISR0aGlzLT5pb25fYXV0aC0+aXNfYWRtaW4oKSAmJiAhJHRoaXMtPmlvbl9hdXRoLT5pbl9ncm91cCgnZ3VydScpKXsNCiAgICAgICAgICAgIHNob3dfZXJyb3IoJ0hhbnlhIEFkbWluaXN0cmF0b3IgeWFuZyBkaWJlcmkgaGFrIHVudHVrIG1lbmdha3NlcyBoYWxhbWFuIGluaSwgPGEgaHJlZj0iJyAuIGJhc2VfdXJsKCdkYXNoYm9hcmQnKSAuICciPktlbWJhbGkga2UgbWVudSBhd2FsPC9hPicsIDQwMywgJ0Frc2VzIFRlcmxhcmFuZycpOw0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5sb2FkLT5saWJyYXJ5KFsnZGF0YXRhYmxlcycsICdmb3JtX3ZhbGlkYXRpb24nXSk7IC8vIExvYWQgTGlicmFyeSBJZ25pdGVkLURhdGF0YWJsZXMNCiAgICAgICAgJHRoaXMtPmxvYWQtPm1vZGVsKCdNYXN0ZXJfbW9kZWwnLCAnbWFzdGVyJyk7DQogICAgICAgICR0aGlzLT5sb2FkLT5tb2RlbCgnRGFzaGJvYXJkX21vZGVsJywgJ2Rhc2hib2FyZCcpOw0KICAgICAgICAkdGhpcy0+bG9hZC0+bW9kZWwoJ0NidF9tb2RlbCcsICdjYnQnKTsNCiAgICAgICAgJHRoaXMtPmxvYWQtPm1vZGVsKCdMb2dfbW9kZWwnLCAnbG9nZ2luZycpOw0KICAgICAgICAkdGhpcy0+bG9hZC0+bW9kZWwoJ0Ryb3Bkb3duX21vZGVsJywgJ2Ryb3Bkb3duJyk7DQogICAgICAgICR0aGlzLT5mb3JtX3ZhbGlkYXRpb24tPnNldF9lcnJvcl9kZWxpbWl0ZXJzKCcnLCAnJyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIG91dHB1dF9qc29uKCRkYXRhLCAkZW5jb2RlID0gdHJ1ZSkNCiAgICB7DQogICAgICAgIGlmICgkZW5jb2RlKSAkZGF0YSA9IGpzb25fZW5jb2RlKCRkYXRhKTsNCiAgICAgICAgJHRoaXMtPm91dHB1dC0+c2V0X2NvbnRlbnRfdHlwZSgnYXBwbGljYXRpb24vanNvbicpLT5zZXRfb3V0cHV0KCRkYXRhKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gaW5kZXgoKQ0KICAgIHsNCiAgICAgICAgJHVzZXIgPSAkdGhpcy0+aW9uX2F1dGgtPnVzZXIoKS0+cm93KCk7DQogICAgICAgICRkYXRhID0gWw0KICAgICAgICAgICAgJ3VzZXInID0+ICR1c2VyLA0KICAgICAgICAgICAgJ2p1ZHVsJyA9PiAnQW5hbGlzYSBTb2FsJywNCiAgICAgICAgICAgICdzdWJqdWR1bCcgPT4gJ0FuYWxpc2EgU29hbCBVamlhbicsDQogICAgICAgICAgICAnc2V0dGluZycgPT4gJHRoaXMtPmRhc2hib2FyZC0+Z2V0U2V0dGluZygpDQogICAgICAgIF07DQoNCiAgICAgICAgJHRwID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW5BY3RpdmUoKTsNCiAgICAgICAgJHNtdCA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNlbWVzdGVyQWN0aXZlKCk7DQogICAgICAgICRkYXRhWyd0cCddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW4oKTsNCiAgICAgICAgJGRhdGFbJ3RwX2FjdGl2ZSddID0gJHRwOw0KICAgICAgICAkZGF0YVsnc210J10gPSAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRTZW1lc3RlcigpOw0KICAgICAgICAkZGF0YVsnc210X2FjdGl2ZSddID0gJHNtdDsNCg0KICAgICAgICAkamFkd2FsID0gJHRoaXMtPmlucHV0LT5nZXQoJ2phZHdhbCcpOw0KICAgICAgICAkdGhuX3NlbCA9ICR0aGlzLT5pbnB1dC0+Z2V0KCd0aG4nKTsNCiAgICAgICAgJHNtdF9zZWwgPSAkdGhpcy0+aW5wdXQtPmdldCgnc210Jyk7DQoNCiAgICAgICAgJHRobl9zZWwgPSAkdGhuX3NlbCA9PSBudWxsID8gJHRwLT5pZF90cCA6ICR0aG5fc2VsOw0KICAgICAgICAkc210X3NlbCA9ICRzbXRfc2VsID09IG51bGwgPyAkc210LT5pZF9zbXQgOiAkc210X3NlbDsNCg0KICAgICAgICAkZGF0YVsndHBfc2VsZWN0ZWQnXSA9ICR0aG5fc2VsOw0KICAgICAgICAkZGF0YVsnc210X3NlbGVjdGVkJ10gPSAkc210X3NlbDsNCiAgICAgICAgJGRhdGFbJ2phZHdhbF9zZWxlY3RlZCddID0gJGphZHdhbDsNCg0KICAgICAgICBpZiAoJGphZHdhbCAhPSBudWxsKSB7DQogICAgICAgICAgICAkaW5mbyA9ICR0aGlzLT5jYnQtPmdldEphZHdhbEJ5SWQoJGphZHdhbCk7DQogICAgICAgICAgICAkYWxsX2phd2FiYW4gPSAkdGhpcy0+Y2J0LT5nZXRKYXdhYmFuQnlCYW5rKCRpbmZvLT5pZF9iYW5rKTsNCiAgICAgICAgICAgICRqYXdhYmFuc19zaXN3YSA9IFtdOw0KICAgICAgICAgICAgJGlkcyA9IFtdOw0KICAgICAgICAgICAgZm9yZWFjaCAoJGFsbF9qYXdhYmFuIGFzICRqYXdhYmFuX3Npc3dhKSB7DQogICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkaWRzLCAkamF3YWJhbl9zaXN3YS0+aWRfc2lzd2EpOw0KICAgICAgICAgICAgICAgICRqYXdhYmFuc19zaXN3YVskamF3YWJhbl9zaXN3YS0+amVuaXNfc29hbF1bJGphd2FiYW5fc2lzd2EtPm5vbW9yX3NvYWxdWyRqYXdhYmFuX3Npc3dhLT5pZF9zaXN3YV0gPSAkamF3YWJhbl9zaXN3YS0+amF3YWJhbl9zaXN3YTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRuaWxhaV9wZyA9ICR0aGlzLT5jYnQtPmdldEFsbE5pbGFpU2lzd2EoJGphZHdhbCk7DQoNCiAgICAgICAgICAgICRhbGxfc29hbHMgPSAkdGhpcy0+Y2J0LT5nZXRTb2FsQnlCYW5rKCRpbmZvLT5pZF9iYW5rKTsNCiAgICAgICAgICAgIGlmIChpc3NldCgkYWxsX3NvYWxzWzFdKSkgew0KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRhbGxfc29hbHNbMV0gYXMgJG5vID0+ICRzb2FsKSB7DQogICAgICAgICAgICAgICAgICAgICRzb2FsLT5qYXdhYmFuX3Npc3dhID0gW107DQogICAgICAgICAgICAgICAgICAgICRzb2FsLT5za29yX3Npc3dhID0gW107DQogICAgICAgICAgICAgICAgICAgICRzb2FsLT5qdW1sYWhfYmVuYXIgPSAwOw0KICAgICAgICAgICAgICAgICAgICAkc29hbC0+anVtbGFoX3NhbGFoID0gMDsNCiAgICAgICAgICAgICAgICAgICAgJHRvdGFsX3Npc3dhID0gMDsNCg0KICAgICAgICAgICAgICAgICAgICAkeCA9IFtdOw0KDQogICAgICAgICAgICAgICAgICAgICRqd2JuX3Npc3dhID0gaXNzZXQoJGphd2FiYW5zX3Npc3dhWzFdWyRub10pICYmIGlzc2V0KCRqYXdhYmFuc19zaXN3YVsxXVskbm9dKSA/ICRqYXdhYmFuc19zaXN3YVsxXVskbm9dIDogW107DQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRqd2JuX3Npc3dhIGFzICRpZCA9PiAkamF3YWJfc2lzd2EpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICR0b3RhbF9zaXN3YSsrOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRqYXdhYl9zaXN3YSA9PSAkc29hbC0+amF3YWJhbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzb2FsLT5qdW1sYWhfYmVuYXIrKzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCR4LCAxKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNvYWwtPmp1bWxhaF9zYWxhaCsrOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHgsIDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGphd2FiX3Npc3dhID09ICdBJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzb2FsLT5qYXdhYmFuX3Npc3dhWydqYXdhYl9hJ11bJGlkXSA9ICRqYXdhYl9zaXN3YTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkamF3YWJfc2lzd2EgPT0gJ0InKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNvYWwtPmphd2FiYW5fc2lzd2FbJ2phd2FiX2InXVskaWRdID0gJGphd2FiX3Npc3dhOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRqYXdhYl9zaXN3YSA9PSAnQycpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc29hbC0+amF3YWJhbl9zaXN3YVsnamF3YWJfYyddWyRpZF0gPSAkamF3YWJfc2lzd2E7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGphd2FiX3Npc3dhID09ICdEJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzb2FsLT5qYXdhYmFuX3Npc3dhWydqYXdhYl9kJ11bJGlkXSA9ICRqYXdhYl9zaXN3YTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkamF3YWJfc2lzd2EgPT0gJ0UnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNvYWwtPmphd2FiYW5fc2lzd2FbJ2phd2FiX2UnXVskaWRdID0gJGphd2FiX3Npc3dhOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJGJlbmFyID0gJHNvYWwtPmp1bWxhaF9iZW5hcjsNCiAgICAgICAgICAgICAgICAgICAgJHNhbGFoID0gJHNvYWwtPmp1bWxhaF9zYWxhaDsNCiAgICAgICAgICAgICAgICAgICAgJGptbF9zaXN3YSA9ICR0b3RhbF9zaXN3YTsNCiAgICAgICAgICAgICAgICAgICAgJGtlc3VrYXJhbiA9IDA7DQogICAgICAgICAgICAgICAgICAgICRzdGF0dXNfc29hbCA9ICcnOw0KICAgICAgICAgICAgICAgICAgICBpZiAoJGptbF9zaXN3YSA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRrZXN1a2FyYW4gPSByb3VuZCgkYmVuYXIgLyAkam1sX3Npc3dhLCAyKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgka2VzdWthcmFuID49IDAuNzApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RhdHVzX3NvYWwgPSAibXVkYWgiOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgka2VzdWthcmFuID49IDAuMzApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RhdHVzX3NvYWwgPSAic2VkYW5nIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YXR1c19zb2FsID0gInN1a2FyIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICRzb2FsLT50aW5na2F0X2tlc3VrYXJhbiA9ICRrZXN1a2FyYW47DQogICAgICAgICAgICAgICAgICAgICRzb2FsLT5zdGF0dXNfa2VzdWthcmFuID0gJHN0YXR1c19zb2FsOw0KDQogICAgICAgICAgICAgICAgICAgICRjZWsgPSAkam1sX3Npc3dhICUgMjsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRjZWsgPT0gMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGptbF9zaXN3YS0tOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICRiYWdpID0gJGptbF9zaXN3YSAvIDI7DQogICAgICAgICAgICAgICAgICAgICRwb3NfYSA9IDA7DQogICAgICAgICAgICAgICAgICAgICRwb3NfYiA9ICRiYWdpOw0KDQogICAgICAgICAgICAgICAgICAgICR5ID0gW107DQogICAgICAgICAgICAgICAgICAgICR5bmdfYmVuYXJfZ29sb25nYW5hdGFzID0gMDsNCiAgICAgICAgICAgICAgICAgICAgJHluZ19iZW5hcl9nb2xvbmdhbmJhd2FoID0gMDsNCiAgICAgICAgICAgICAgICAgICAgJG5vID0gMTsNCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJG5pbGFpX3BnIGFzICRpZCA9PiAkbmlsYWkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHksICRuaWxhaS0+cGdfYmVuYXIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRqd2JuX3Npc3dhWyRpZF0pKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpc3dhX21lbmphd2FiID0gJGp3Ym5fc2lzd2FbJGlkXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJG5vIDw9ICRiYWdpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkc2lzd2FfbWVuamF3YWIgPT0gJHNvYWwtPmphd2FiYW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR5bmdfYmVuYXJfZ29sb25nYW5hdGFzKys7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHNpc3dhX21lbmphd2FiID09ICRzb2FsLT5qYXdhYmFuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkeW5nX2JlbmFyX2dvbG9uZ2FuYmF3YWgrKzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICRubysrOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICRzb2FsLT50b3RhbF9zaXN3YSA9ICR0b3RhbF9zaXN3YTsNCiAgICAgICAgICAgICAgICAgICAgJHNvYWwtPmJlbmFyX2F0YXMgPSAkeW5nX2JlbmFyX2dvbG9uZ2FuYXRhczsNCiAgICAgICAgICAgICAgICAgICAgJHNvYWwtPmJlbmFyX2Jhd2FoID0gJHluZ19iZW5hcl9nb2xvbmdhbmJhd2FoOw0KICAgICAgICAgICAgICAgICAgICAkcGVhcnNvbiA9ICR0aGlzLT5wZWFyc29uKCR4LCAkeSk7DQoNCiAgICAgICAgICAgICAgICAgICAgJHNvYWwtPm5pbGFpX3ZhbGlkID0gJHBlYXJzb247DQogICAgICAgICAgICAgICAgICAgICRzb2FsLT50YWJsZV9yID0gJHRoaXMtPm5pbGFpU2lnbmlmaWthbnNpKCR0b3RhbF9zaXN3YSwgNSk7DQogICAgICAgICAgICAgICAgICAgICR2YWxpZGl0YXMgPSAkdGhpcy0+bmlsYWlTaWduaWZpa2Fuc2koJHRvdGFsX3Npc3dhLCA1KSA8PSAkcGVhcnNvbiA/ICdWYWxpZCcgOiAnVGlkYWsgdmFsaWQnOw0KICAgICAgICAgICAgICAgICAgICAkc29hbC0+c3RhdHVzX3ZhbGlkID0gJHZhbGlkaXRhczsNCg0KICAgICAgICAgICAgICAgICAgICAkYmFnaV9kYXlhID0gJGJhZ2kgPiAwID8gJGJhZ2kgOiAxOy8vJGJhZ2kgPiAzICYmICRiYWdpIDwgMTAgPyAkYmFnaSA6IDEwOw0KICAgICAgICAgICAgICAgICAgICBpZiAoKCR5bmdfYmVuYXJfZ29sb25nYW5hdGFzID09IDApICYmICgoJHluZ19iZW5hcl9nb2xvbmdhbmJhd2FoICE9IDApKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGRheWFfcGVtYmVkYSA9IDAgLSAoJHluZ19iZW5hcl9nb2xvbmdhbmJhd2FoIC8gJGJhZ2lfZGF5YSk7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKCR5bmdfYmVuYXJfZ29sb25nYW5hdGFzICE9IDApICYmICgoJHluZ19iZW5hcl9nb2xvbmdhbmJhd2FoID09IDApKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGRheWFfcGVtYmVkYSA9ICR5bmdfYmVuYXJfZ29sb25nYW5hdGFzIC8gJGJhZ2lfZGF5YTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoJHluZ19iZW5hcl9nb2xvbmdhbmF0YXMgPT0gMCkgJiYgKCgkeW5nX2JlbmFyX2dvbG9uZ2FuYmF3YWggPT0gMCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkZGF5YV9wZW1iZWRhID0gMDsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRkYXlhX3BlbWJlZGEgPSAoJHluZ19iZW5hcl9nb2xvbmdhbmF0YXMgLyAkYmFnaV9kYXlhKSAtICgkeW5nX2JlbmFyX2dvbG9uZ2FuYmF3YWggLyAkYmFnaV9kYXlhKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAkc29hbC0+ZGF5YV9wZW1iZWRhID0gJGRheWFfcGVtYmVkYTsvL3JvdW5kKCRkYXlhX3BlbWJlZGEsIDIpOw0KDQogICAgICAgICAgICAgICAgICAgIGlmICgkZGF5YV9wZW1iZWRhID49IDAuNzApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRzb2FsLT5zdGF0dXNfZGF5YSA9ICJCYWlrIFNla2FsaSI7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGRheWFfcGVtYmVkYSA+PSAwLjQwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkc29hbC0+c3RhdHVzX2RheWEgPSAiQmFpayI7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGRheWFfcGVtYmVkYSA+PSAwLjIwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkc29hbC0+c3RhdHVzX2RheWEgPSAiQ3VrdXAiOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgJHNvYWwtPnN0YXR1c19kYXlhID0gIkplbGVrIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJGRhdGFbJ2luZm8nXSA9ICRpbmZvOw0KICAgICAgICAgICAgJGRhdGFbJ3NvYWxzJ10gPSAkYWxsX3NvYWxzOw0KICAgICAgICAgICAgJGRhdGFbJ25pbGFpJ10gPSAkbmlsYWlfcGc7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoJHRoaXMtPmlvbl9hdXRoLT5pc19hZG1pbigpKSB7DQogICAgICAgICAgICAkZGF0YVsncHJvZmlsZSddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0UHJvZmlsZUFkbWluKCR1c2VyLT5pZCk7DQogICAgICAgICAgICAkZGF0YVsna29kZWphZHdhbCddID0gJHRoaXMtPmRyb3Bkb3duLT5nZXRBbGxKYWR3YWwoJHRobl9zZWwsICRzbXRfc2VsKTsNCg0KICAgICAgICAgICAgJHRoaXMtPmxvYWQtPnZpZXcoJ190ZW1wbGF0ZXMvZGFzaGJvYXJkL19oZWFkZXInLCAkZGF0YSk7DQogICAgICAgICAgICAkdGhpcy0+bG9hZC0+dmlldygnY2J0L2FuYWxpc2lzL2RhdGEnKTsNCiAgICAgICAgICAgICR0aGlzLT5sb2FkLT52aWV3KCdfdGVtcGxhdGVzL2Rhc2hib2FyZC9fZm9vdGVyJyk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkZ3VydSA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldERhdGFHdXJ1QnlVc2VySWQoJHVzZXItPmlkLCAkdGhuX3NlbCwgJHNtdF9zZWwpOw0KICAgICAgICAgICAgJG5ndXJ1WyRndXJ1LT5pZF9ndXJ1XSA9ICRndXJ1LT5uYW1hX2d1cnU7DQogICAgICAgICAgICAkZGF0YVsnZ3VydSddID0gJGd1cnU7DQogICAgICAgICAgICAkZGF0YVsna29kZWphZHdhbCddID0gJHRoaXMtPmRyb3Bkb3duLT5nZXRBbGxKYWR3YWxHdXJ1KCR0aG5fc2VsLCAkc210X3NlbCwgJGd1cnUtPmlkX2d1cnUpOw0KDQogICAgICAgICAgICAkdGhpcy0+bG9hZC0+dmlldygnbWVtYmVycy9ndXJ1L3RlbXBsYXRlcy9oZWFkZXInLCAkZGF0YSk7DQogICAgICAgICAgICAkdGhpcy0+bG9hZC0+dmlldygnY2J0L2FuYWxpc2lzL2RhdGEnKTsNCiAgICAgICAgICAgICR0aGlzLT5sb2FkLT52aWV3KCdtZW1iZXJzL2d1cnUvdGVtcGxhdGVzL2Zvb3RlcicpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBwZWFyc29uKCR4LCAkeSl7DQogICAgICAgICRjeCA9IGNvdW50KCR4KTsNCiAgICAgICAgJGN5ID0gY291bnQoJHkpOw0KICAgICAgICBpZiAoJGN4ID09PSAwIHx8ICRjeSA9PT0gMCkgcmV0dXJuIC0xOw0KICAgICAgICBpZiAoJGN4IDwgJGN5KSB7DQogICAgICAgICAgICAkZCA9ICRjeSAtICRjeDsNCiAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICRkOyAkaSsrKSB7DQogICAgICAgICAgICAgICAgYXJyYXlfcG9wKCR5KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBpZiAoJGN4ID4gJGN5KSB7DQogICAgICAgICAgICAkZCA9ICRjeCAtICRjeTsNCiAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICRkOyAkaSsrKSB7DQogICAgICAgICAgICAgICAgYXJyYXlfcG9wKCR4KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChjb3VudCgkeCkgIT09IGNvdW50KCR5KSkgew0KICAgICAgICAgICAgcmV0dXJuIC0xOw0KICAgICAgICB9DQogICAgICAgICR4ID0gYXJyYXlfdmFsdWVzKCR4KTsNCiAgICAgICAgJHkgPSBhcnJheV92YWx1ZXMoJHkpOw0KICAgICAgICAkeHMgPSBhcnJheV9zdW0oJHgpIC8gY291bnQoJHgpOw0KICAgICAgICAkeXMgPSBhcnJheV9zdW0oJHkpIC8gY291bnQoJHkpOw0KICAgICAgICAkYSA9IDA7DQogICAgICAgICRieCA9IDA7DQogICAgICAgICRieSA9IDA7DQogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCR4KTsgJGkrKykgew0KICAgICAgICAgICAgJHhyID0gJHhbJGldIC0gJHhzOw0KICAgICAgICAgICAgJHlyID0gJHlbJGldIC0gJHlzOw0KICAgICAgICAgICAgJGEgKz0gJHhyICogJHlyOw0KICAgICAgICAgICAgJGJ4ICs9IHBvdygkeHIsIDIpOw0KICAgICAgICAgICAgJGJ5ICs9IHBvdygkeXIsIDIpOw0KICAgICAgICB9DQogICAgICAgICRiID0gc3FydCgkYnggKiAkYnkpOw0KICAgICAgICAkcmV0ID0gLTE7DQogICAgICAgIGlmICgkYiA+IDApIHsNCiAgICAgICAgICAgICRyZXQgPSAkYSAvICRiOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkcmV0Ow0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROaWxhaUtlbGFzKCkNCiAgICB7DQogICAgICAgICRrZWxhcyA9ICR0aGlzLT5pbnB1dC0+Z2V0KCdrZWxhcycpOw0KICAgICAgICAkc2VzaSA9ICR0aGlzLT5pbnB1dC0+Z2V0KCdzZXNpJyk7DQogICAgICAgICRqYWR3YWwgPSAkdGhpcy0+aW5wdXQtPmdldCgnamFkd2FsJyk7DQogICAgICAgICR0cCA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFRhaHVuQWN0aXZlKCk7DQogICAgICAgICRzbXQgPSAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRTZW1lc3RlckFjdGl2ZSgpOw0KDQogICAgICAgICRpbmZvID0gJHRoaXMtPmNidC0+Z2V0SmFkd2FsQnlJZCgkamFkd2FsLCAkc2VzaSk7DQogICAgICAgICRzaXN3YXMgPSAkdGhpcy0+Y2J0LT5nZXRTaXN3YUJ5S2VsYXMoJHRwLT5pZF90cCwgJHNtdC0+aWRfc210LCAka2VsYXMpOw0KDQogICAgICAgICRhcnJEdXIgPSBbXTsNCiAgICAgICAgZm9yZWFjaCAoJHNpc3dhcyBhcyAkc2lzd2EpIHsNCiAgICAgICAgICAgICRhcnJKYXdhYl9wZyA9IFtdOw0KICAgICAgICAgICAgJGFyckphd2FiX2Vzc2FpID0gW107DQogICAgICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkaW5mby0+dGFtcGlsX3BnOyAkaSsrKSB7DQogICAgICAgICAgICAgICAgJGFyckphd2FiX3BnWyRzaXN3YS0+aWRfc2lzd2FdW10gPSAkdGhpcy0+Y2J0LT5nZXRKYXdhYmFuU2lzd2EoJHNpc3dhLT5pZF9zaXN3YSAuICRqYWR3YWwgLiAkaW5mby0+aWRfYmFuayAuIDEgLiAoJGkgKyAxKSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZvciAoJGogPSAwOyAkaiA8ICRpbmZvLT50YW1waWxfZXNhaTsgJGorKykgew0KICAgICAgICAgICAgICAgICRqYXdhYmFuID0gJHRoaXMtPmNidC0+Z2V0SmF3YWJhblNpc3dhKCRzaXN3YS0+aWRfc2lzd2EgLiAkamFkd2FsIC4gJGluZm8tPmlkX2JhbmsgLiAyIC4gKCRqICsgMSkpOw0KICAgICAgICAgICAgICAgIGlmICgkamF3YWJhbiAhPSBudWxsKSB7DQogICAgICAgICAgICAgICAgICAgICRhcnJKYXdhYl9lc3NhaVskc2lzd2EtPmlkX3Npc3dhXVtdID0gJGphd2FiYW47DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgJGFyckphd2FiX2Vzc2FpWyRzaXN3YS0+aWRfc2lzd2FdW10gPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgICAgICdpZF9qYXdhYmFuJyA9PiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ2phd2FiYW4nID0+ICcnLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ2phd2FiYW5fYmVuYXInID0+ICcnLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ2tvcmVrc2knID0+IDAsDQogICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkamF3YWJfZXNzYWkgPSBpc3NldCgkYXJySmF3YWJfZXNzYWlbJHNpc3dhLT5pZF9zaXN3YV0pID8gJGFyckphd2FiX2Vzc2FpWyRzaXN3YS0+aWRfc2lzd2FdIDogW107DQoNCiAgICAgICAgICAgICRhcnJEdXJbJHNpc3dhLT5pZF9zaXN3YV0gPSBbDQogICAgICAgICAgICAgICAgJ2R1cicgPT4gJHRoaXMtPmNidC0+Z2V0RHVyYXNpU2lzd2EoJHNpc3dhLT5pZF9zaXN3YSAuICRqYWR3YWwpLA0KICAgICAgICAgICAgICAgICdqYXdhYl9wZycgPT4gJGFyckphd2FiX3BnWyRzaXN3YS0+aWRfc2lzd2FdLA0KICAgICAgICAgICAgICAgICdqYXdhYl9lc3NhaScgPT4gJGphd2FiX2Vzc2FpLA0KICAgICAgICAgICAgICAgICdsb2cnID0+ICR0aGlzLT5jYnQtPmdldExvZ1VqaWFuKCRzaXN3YS0+aWRfc2lzd2EsICRqYWR3YWwpDQogICAgICAgICAgICBdOw0KICAgICAgICB9DQoNCiAgICAgICAgJGRhdGFbJ3Npc3dhJ10gPSAkc2lzd2FzOw0KICAgICAgICAkZGF0YVsnamF3YWJhbiddID0gJGFyckR1cjsNCiAgICAgICAgJGRhdGFbJ2luZm8nXSA9ICRpbmZvOw0KDQogICAgICAgICR0aGlzLT5vdXRwdXRfanNvbigkZGF0YSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldEphZHdhbFVqaWFuQnlKYWR3YWwoKQ0KICAgIHsNCiAgICAgICAgJGphZHdhbCA9ICR0aGlzLT5pbnB1dC0+Z2V0KCdqYWR3YWwnKTsNCiAgICAgICAgJHRwID0gJHRoaXMtPmlucHV0LT5nZXQoJ3RobicpOw0KICAgICAgICAkc210ID0gJHRoaXMtPmlucHV0LT5nZXQoJ3NtdCcpOw0KICAgICAgICAkaW5mbyA9ICR0aGlzLT5jYnQtPmdldEphZHdhbEJ5SWQoJGphZHdhbCk7DQoNCiAgICAgICAgJGtlbGFzID0gdW5zZXJpYWxpemUoJGluZm8tPmJhbmtfa2VsYXMpOw0KICAgICAgICAka2VsYXNlcyA9IFtdOw0KICAgICAgICBmb3JlYWNoICgka2VsYXMgYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgICRrZWxhc2VzWyR2YWx1ZVsna2VsYXNfaWQnXV0gPSAkdGhpcy0+ZHJvcGRvd24tPmdldE5hbWFLZWxhc0J5SWQoJGluZm8tPmlkX3RwLCAkaW5mby0+aWRfc210LCAkdmFsdWVbJ2tlbGFzX2lkJ10pOw0KICAgICAgICB9DQoNCiAgICAgICAgJHRoaXMtPm91dHB1dF9qc29uKCRrZWxhc2VzKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24ga2Fsa3VsYXNpKCl7DQogICAgICAgICRqYWR3YWwgPSAkdGhpcy0+aW5wdXQtPmdldCgnamFkd2FsJyk7DQogICAgICAgICR1cGRhdGUgPSAkdGhpcy0+Z2VuZXJhdGVOaWxhaVVqaWFuKCRqYWR3YWwpOw0KICAgICAgICAkdGhpcy0+b3V0cHV0X2pzb24oJHVwZGF0ZSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdlbmVyYXRlTmlsYWlVamlhbigkamFkd2FsKSB7DQogICAgICAgICRpbmZvID0gJHRoaXMtPmNidC0+Z2V0SmFkd2FsQnlJZCgkamFkd2FsKTsNCiAgICAgICAgJGJhZ2lfcGcgPSAkaW5mby0+dGFtcGlsX3BnIC8gMTAwOw0KICAgICAgICAkYm9ib3RfcGcgPSAkaW5mby0+Ym9ib3RfcGcgLyAxMDA7DQogICAgICAgICRiYWdpX3BnMiA9ICRpbmZvLT50YW1waWxfa29tcGxla3MgLyAxMDA7DQogICAgICAgICRib2JvdF9wZzIgPSAkaW5mby0+Ym9ib3Rfa29tcGxla3MgLyAxMDA7DQogICAgICAgICRiYWdpX2pvZG9oID0gJGluZm8tPnRhbXBpbF9qb2RvaGthbiAvIDEwMDsNCiAgICAgICAgJGJvYm90X2pvZG9oID0gJGluZm8tPmJvYm90X2pvZG9oa2FuIC8gMTAwOw0KICAgICAgICAkYmFnaV9pc2lhbiA9ICRpbmZvLT50YW1waWxfaXNpYW4gLyAxMDA7DQogICAgICAgICRib2JvdF9pc2lhbiA9ICRpbmZvLT5ib2JvdF9pc2lhbiAvIDEwMDsNCiAgICAgICAgJGJhZ2lfZXNzYWkgPSAkaW5mby0+dGFtcGlsX2VzYWkgLyAxMDA7DQogICAgICAgICRib2JvdF9lc3NhaSA9ICRpbmZvLT5ib2JvdF9lc2FpIC8gMTAwOw0KDQogICAgICAgICRrZWxhc19iYW5rID0gdW5zZXJpYWxpemUoJGluZm8tPmJhbmtfa2VsYXMpOw0KICAgICAgICAka2VsYXNlcyA9IFtdOw0KICAgICAgICBmb3JlYWNoICgka2VsYXNfYmFuayBhcyAka2V5ID0+ICR2YWx1ZSkgew0KICAgICAgICAgICAgYXJyYXlfcHVzaCgka2VsYXNlcywgJHZhbHVlWydrZWxhc19pZCddKTsNCiAgICAgICAgfQ0KICAgICAgICAkc2lzd2FzID0gJHRoaXMtPmNidC0+Z2V0U2lzd2FCeUtlbGFzKCRpbmZvLT5pZF90cCwgJGluZm8tPmlkX3NtdCwgJGtlbGFzZXMpOw0KICAgICAgICAkaWRzID0gW107DQogICAgICAgIGZvcmVhY2ggKCRzaXN3YXMgYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgIGFycmF5X3B1c2goJGlkcywgJHZhbHVlLT5pZF9zaXN3YSk7DQogICAgICAgIH0NCg0KICAgICAgICAkamF3YWJhbnMgPSAkdGhpcy0+Y2J0LT5nZXRKYXdhYmFuQnlCYW5rKCRpbmZvLT5pZF9iYW5rKTsNCiAgICAgICAgLy8kamF3YWJhbnMgPSAkdGhpcy0+Y2J0LT5nZXRKYXdhYmFuU2lzd2FCeUphZHdhbCgkamFkd2FsKTsNCg0KICAgICAgICAkc29hbCA9IFtdOw0KICAgICAgICAkamF3YWJhbnNfc2lzd2EgPSBbXTsNCiAgICAgICAgZm9yZWFjaCAoJGphd2FiYW5zIGFzICRqYXdhYmFuX3Npc3dhKSB7DQogICAgICAgICAgICBpZiAoJGphd2FiYW5fc2lzd2EtPmplbmlzX3NvYWwgPT0gJzInKSB7DQogICAgICAgICAgICAgICAgJGphd2FiYW5fc2lzd2EtPm9wc2lfYSA9IEB1bnNlcmlhbGl6ZSgkamF3YWJhbl9zaXN3YS0+b3BzaV9hKTsNCiAgICAgICAgICAgICAgICAkamF3YWJhbl9zaXN3YS0+amF3YWJhbl9zaXN3YSA9IEB1bnNlcmlhbGl6ZSgkamF3YWJhbl9zaXN3YS0+amF3YWJhbl9zaXN3YSk7DQogICAgICAgICAgICAgICAgJGphd2FiYW5fc2lzd2EtPmphd2FiYW5fYmVuYXIgPSBAdW5zZXJpYWxpemUoJGphd2FiYW5fc2lzd2EtPmphd2FiYW5fYmVuYXIpOw0KDQogICAgICAgICAgICAgICAgJGphd2FiYW5fc2lzd2EtPmphd2FiYW5fYmVuYXIgPSBhcnJheV9tYXAoJ3N0cnRvdXBwZXInLCAkamF3YWJhbl9zaXN3YS0+amF3YWJhbl9iZW5hcik7DQogICAgICAgICAgICAgICAgJGphd2FiYW5fc2lzd2EtPmphd2FiYW5fYmVuYXIgPSBhcnJheV9maWx0ZXIoJGphd2FiYW5fc2lzd2EtPmphd2FiYW5fYmVuYXIsICdzdHJsZW4nKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKCRqYXdhYmFuX3Npc3dhLT5qZW5pc19zb2FsID09ICczJykgew0KICAgICAgICAgICAgICAgICRqYXdhYmFuX3Npc3dhLT5qYXdhYmFuX3Npc3dhID0gQHVuc2VyaWFsaXplKCRqYXdhYmFuX3Npc3dhLT5qYXdhYmFuX3Npc3dhKTsNCiAgICAgICAgICAgICAgICAkamF3YWJhbl9zaXN3YS0+amF3YWJhbl9iZW5hciA9IEB1bnNlcmlhbGl6ZSgkamF3YWJhbl9zaXN3YS0+amF3YWJhbl9iZW5hcik7DQoNCiAgICAgICAgICAgICAgICAkamF3YWJhbl9zaXN3YS0+amF3YWJhbl9zaXN3YSA9IGpzb25fZGVjb2RlKGpzb25fZW5jb2RlKCRqYXdhYmFuX3Npc3dhLT5qYXdhYmFuX3Npc3dhKSk7DQogICAgICAgICAgICAgICAgJGphd2FiYW5fc2lzd2EtPmphd2FiYW5fYmVuYXIgPSBqc29uX2RlY29kZShqc29uX2VuY29kZSgkamF3YWJhbl9zaXN3YS0+amF3YWJhbl9iZW5hcikpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkamF3YWJhbnNfc2lzd2FbJGphd2FiYW5fc2lzd2EtPmlkX3Npc3dhXVskamF3YWJhbl9zaXN3YS0+amVuaXNfc29hbF1bXSA9ICRqYXdhYmFuX3Npc3dhOw0KICAgICAgICAgICAgJHNvYWxbJGphd2FiYW5fc2lzd2EtPmplbmlzX3NvYWxdW10gPSAkamF3YWJhbl9zaXN3YTsNCiAgICAgICAgfQ0KDQogICAgICAgICRpbnNldHMgPSBbXTsNCiAgICAgICAgZm9yZWFjaCAoJHNpc3dhcyBhcyAkc2lzd2EpIHsNCiAgICAgICAgICAgICRhZGFfamF3YWJhbiA9IGlzc2V0KCRqYXdhYmFuc19zaXN3YVskc2lzd2EtPmlkX3Npc3dhXSk7DQogICAgICAgICAgICAkYWRhX2phd2FiYW5fcGcgPSAkYWRhX2phd2FiYW4gJiYgaXNzZXQoJGphd2FiYW5zX3Npc3dhWyRzaXN3YS0+aWRfc2lzd2FdWycxJ10pOw0KICAgICAgICAgICAgJGFkYV9qYXdhYmFuX3BnMiA9ICRhZGFfamF3YWJhbiAmJiBpc3NldCgkamF3YWJhbnNfc2lzd2FbJHNpc3dhLT5pZF9zaXN3YV1bJzInXSk7DQogICAgICAgICAgICAkYWRhX2phd2FiYW5fam9kb2ggPSAkYWRhX2phd2FiYW4gJiYgaXNzZXQoJGphd2FiYW5zX3Npc3dhWyRzaXN3YS0+aWRfc2lzd2FdWyczJ10pOw0KICAgICAgICAgICAgJGFkYV9qYXdhYmFuX2lzaWFuID0gJGFkYV9qYXdhYmFuICYmIGlzc2V0KCRqYXdhYmFuc19zaXN3YVskc2lzd2EtPmlkX3Npc3dhXVsnNCddKTsNCiAgICAgICAgICAgICRhZGFfamF3YWJhbl9lc3NhaSA9ICRhZGFfamF3YWJhbiAmJiBpc3NldCgkamF3YWJhbnNfc2lzd2FbJHNpc3dhLT5pZF9zaXN3YV1bJzUnXSk7DQoNCiAgICAgICAgICAgIC8vIFBHDQogICAgICAgICAgICAkamF3YWJhbl9wZyA9ICRhZGFfamF3YWJhbl9wZyA/ICRqYXdhYmFuc19zaXN3YVskc2lzd2EtPmlkX3Npc3dhXVsnMSddIDogW107DQogICAgICAgICAgICAkYmVuYXJfcGcgPSAwOw0KICAgICAgICAgICAgJHNhbGFoX3BnID0gMDsNCiAgICAgICAgICAgIGlmICgkaW5mby0+dGFtcGlsX3BnID4gMCkgew0KICAgICAgICAgICAgICAgIGlmIChjb3VudCgkamF3YWJhbl9wZykgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRqYXdhYmFuX3BnIGFzICRqd2JfcGcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkandiX3BnICE9IG51bGwgJiYgJGp3Yl9wZy0+amF3YWJhbl9zaXN3YSAhPSBudWxsKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnRvdXBwZXIoJGp3Yl9wZy0+amF3YWJhbl9zaXN3YSkgPT0gc3RydG91cHBlcigkandiX3BnLT5qYXdhYmFuX2JlbmFyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmVuYXJfcGcgKz0gMTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2FsYWhfcGcgKz0gMTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkc2tvcl9wZyA9ICRiYWdpX3BnID09IDAgPyAwIDogKCRiZW5hcl9wZyAvICRiYWdpX3BnKSAqICRib2JvdF9wZzsNCg0KICAgICAgICAgICAgJGphd2FiYW5fcGcyID0gJGFkYV9qYXdhYmFuX3BnMiA/ICRqYXdhYmFuc19zaXN3YVskc2lzd2EtPmlkX3Npc3dhXVsnMiddIDogW107DQogICAgICAgICAgICAkYmVuYXJfcGcyID0gMDsNCiAgICAgICAgICAgICRza29yX2tvcmVrc2lfcGcyID0gMC4wOw0KICAgICAgICAgICAgJG90b21hdGlzX3BnMiA9IDA7DQogICAgICAgICAgICBpZiAoJGluZm8tPnRhbXBpbF9rb21wbGVrcyA+IDApIHsNCiAgICAgICAgICAgICAgICBpZiAoY291bnQoJGphd2FiYW5fcGcyKSA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGphd2FiYW5fcGcyIGFzICRudW0gPT4gJGphd2FiX3BnMikgew0KICAgICAgICAgICAgICAgICAgICAgICAgJG90b21hdGlzX3BnMiA9ICRqYXdhYl9wZzItPm5pbGFpX290b21hdGlzOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHNrb3Jfa29yZWtzaV9wZzIgKz0gJGphd2FiX3BnMi0+bmlsYWlfa29yZWtzaTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhcnJfYmVuYXIgPSBbXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRqYXdhYl9wZzItPmphd2FiYW5fc2lzd2EgYXMgJGpzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluX2FycmF5KCRqcywgJGphd2FiX3BnMi0+amF3YWJhbl9iZW5hcikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkYXJyX2JlbmFyLCB0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAkYmVuYXJfcGcyICs9ICgxIC8gY291bnQoJGphd2FiX3BnMi0+amF3YWJhbl9iZW5hcikpICogY291bnQoJGFycl9iZW5hcik7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkc19wZzIgPSAkYmFnaV9wZzIgPT0gMCA/IDAgOiAoJGJlbmFyX3BnMiAvICRiYWdpX3BnMikgKiAkYm9ib3RfcGcyOw0KICAgICAgICAgICAgJHNrb3JfcGcyID0gJG90b21hdGlzX3BnMiA9PSAwID8gJHNfcGcyIDogJHNrb3Jfa29yZWtzaV9wZzI7DQoNCiAgICAgICAgICAgICRqYXdhYmFuX2pvZG9oID0gJGFkYV9qYXdhYmFuX2pvZG9oID8gJGphd2FiYW5zX3Npc3dhWyRzaXN3YS0+aWRfc2lzd2FdWyczJ10gOiBbXTsNCiAgICAgICAgICAgICRiZW5hcl9qb2QgPSAwOw0KICAgICAgICAgICAgJHNrb3Jfa29yZWtzaV9qb2QgPSAwLjA7DQogICAgICAgICAgICAkb3RvbWF0aXNfam9kID0gMDsNCiAgICAgICAgICAgIGlmICgkaW5mby0+dGFtcGlsX2pvZG9oa2FuID4gMCkgew0KICAgICAgICAgICAgICAgIGlmIChjb3VudCgkamF3YWJhbl9qb2RvaCkgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRqYXdhYmFuX2pvZG9oIGFzICRudW0gPT4gJGphd2FiX2pvZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHNrb3Jfa29yZWtzaV9qb2QgKz0gJGphd2FiX2pvZC0+bmlsYWlfa29yZWtzaTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhcnJTb2FsID0gJGphd2FiX2pvZC0+amF3YWJhbl9iZW5hci0+amF3YWJhbjsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRTb2FsID0gYXJyYXlfc2hpZnQoJGFyclNvYWwpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGFyckp3YlNvYWwgPSBbXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpdGVtcyA9IDA7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkYXJyU29hbCBhcyAka29sU29hbCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqd2IgPSBuZXcgc3RkQ2xhc3MoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgka29sU29hbCBhcyAkcG9zID0+ICRrb2wpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRrb2wgPT0gJzEnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkandiLT5zdWJ0aXRsZVtdID0gJGhlYWRTb2FsWyRwb3NdOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGl0ZW1zKys7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGp3Yi0+dGl0bGUgPSBhcnJheV9zaGlmdCgka29sU29hbCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkYXJySndiU29hbCwgJGp3Yik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgJGFyckphd2FiID0gJGphd2FiX2pvZC0+amF3YWJhbl9zaXN3YS0+amF3YWJhbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkSmF3YWIgPSBhcnJheV9zaGlmdCgkYXJySmF3YWIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGFyckp3Ykphd2FiID0gW107DQogICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkYXJySmF3YWIgYXMgJGtvbEphd2FiKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGp3YnMgPSBuZXcgc3RkQ2xhc3MoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgka29sSmF3YWIgYXMgJHBvID0+ICRrb2wpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRrb2wgPT0gJzEnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3ViID0gJGhlYWRKYXdhYlskcG9dOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGp3YnMtPnN1YnRpdGxlW10gPSAkc3ViOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJGFyckp3Ykphd2FiLCAkandicyk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRpdGVtX2JlbmFyID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpdGVtX3NhbGFoID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRhcnJKd2JKYXdhYiBhcyAkcCA9PiAkYWpqcykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRhampzLT5zdWJ0aXRsZSBhcyAkcHAgPT4gJGFqcykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5fYXJyYXkoJGFqcywgJGFyckp3YlNvYWxbJHBdLT5zdWJ0aXRsZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpdGVtX2JlbmFyKys7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXRlbV9zYWxhaCsrOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkYmVuYXJfam9kICs9ICgxIC8gJGl0ZW1zKSAqICRpdGVtX2JlbmFyOw0KICAgICAgICAgICAgICAgICAgICAgICAgJG90b21hdGlzX2pvZCA9ICRqYXdhYl9qb2QtPm5pbGFpX290b21hdGlzOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJHNfam9kID0gJGJhZ2lfam9kb2ggPT0gMCA/IDAgOiAoJGJlbmFyX2pvZCAvICRiYWdpX2pvZG9oKSAqICRib2JvdF9qb2RvaDsNCiAgICAgICAgICAgICRza29yX2pvZCA9ICRvdG9tYXRpc19qb2QgPT0gMCA/ICRzX2pvZCA6ICRza29yX2tvcmVrc2lfam9kOw0KDQogICAgICAgICAgICAkamF3YWJhbl9pcyA9ICRhZGFfamF3YWJhbl9pc2lhbiA/ICRqYXdhYmFuc19zaXN3YVskc2lzd2EtPmlkX3Npc3dhXVsnNCddIDogW107DQogICAgICAgICAgICAkYmVuYXJfaXMgPSAwOw0KICAgICAgICAgICAgJHNrb3Jfa29yZWtzaV9pcyA9IDAuMDsNCiAgICAgICAgICAgICRvdG9tYXRpc19pcyA9IDA7DQogICAgICAgICAgICBpZiAoJGluZm8tPnRhbXBpbF9pc2lhbiA+IDApIHsNCiAgICAgICAgICAgICAgICBpZiAoY291bnQoJGphd2FiYW5faXMpID4gMCkgew0KICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkamF3YWJhbl9pcyBhcyAkbnVtID0+ICRqYXdhYl9pcykgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHNrb3Jfa29yZWtzaV9pcyArPSAkamF3YWJfaXMtPm5pbGFpX2tvcmVrc2k7DQogICAgICAgICAgICAgICAgICAgICAgICAkYmVuYXIgPSAkamF3YWJfaXMgIT0gbnVsbCAmJiBzdHJ0b2xvd2VyKCRqYXdhYl9pcy0+amF3YWJhbl9zaXN3YSkgPT0gc3RydG9sb3dlcigkamF3YWJfaXMtPmphd2FiYW5fYmVuYXIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRiZW5hcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiZW5hcl9pcysrOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgJG90b21hdGlzX2lzID0gJGphd2FiX2lzLT5uaWxhaV9vdG9tYXRpczsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRzX2lzID0gJGJhZ2lfaXNpYW4gPT0gMCA/IDAgOiAoJGJlbmFyX2lzIC8gJGJhZ2lfaXNpYW4pICogJGJvYm90X2lzaWFuOw0KICAgICAgICAgICAgJHNrb3JfaXMgPSAkb3RvbWF0aXNfaXMgPT0gMCA/ICRzX2lzIDogJHNrb3Jfa29yZWtzaV9pczsNCg0KICAgICAgICAgICAgJGphd2FiYW5fZXMgPSAkYWRhX2phd2FiYW5fZXNzYWkgPyAkamF3YWJhbnNfc2lzd2FbJHNpc3dhLT5pZF9zaXN3YV1bJzUnXSA6IFtdOw0KICAgICAgICAgICAgJGJlbmFyX2VzID0gMDsNCiAgICAgICAgICAgICRza29yX2tvcmVrc2lfZXMgPSAwLjA7DQogICAgICAgICAgICAkb3RvbWF0aXNfZXMgPSAwOw0KICAgICAgICAgICAgaWYgKCRpbmZvLT50YW1waWxfZXNhaSA+IDApIHsNCiAgICAgICAgICAgICAgICBpZiAoY291bnQoJGphd2FiYW5fZXMpID4gMCkgew0KICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkamF3YWJhbl9lcyBhcyAkbnVtID0+ICRqYXdhYl9lcykgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHNrb3Jfa29yZWtzaV9lcyArPSAkamF3YWJfZXMtPm5pbGFpX2tvcmVrc2k7DQogICAgICAgICAgICAgICAgICAgICAgICAkYmVuYXIgPSAkamF3YWJfZXMgIT0gbnVsbCAmJiBzdHJ0b2xvd2VyKCRqYXdhYl9lcy0+amF3YWJhbl9zaXN3YSkgPT0gc3RydG9sb3dlcigkamF3YWJfZXMtPmphd2FiYW5fYmVuYXIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRiZW5hcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiZW5hcl9lcysrOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgJG90b21hdGlzX2VzID0gJGphd2FiX2VzLT5uaWxhaV9vdG9tYXRpczsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRzX2VzID0gJGJhZ2lfZXNzYWkgPT0gMCA/IDAgOiAoJGJlbmFyX2VzIC8gJGJhZ2lfZXNzYWkpICogJGJvYm90X2Vzc2FpOw0KICAgICAgICAgICAgJHNrb3JfZXMgPSAkb3RvbWF0aXNfZXMgPT0gMCA/ICRzX2VzIDogJHNrb3Jfa29yZWtzaV9lczsNCg0KICAgICAgICAgICAgJGluc2VydFsnaWRfbmlsYWknXSA9ICRzaXN3YS0+aWRfc2lzd2EgLiAkamFkd2FsOw0KICAgICAgICAgICAgJGluc2VydFsnaWRfc2lzd2EnXSA9ICRzaXN3YS0+aWRfc2lzd2E7DQogICAgICAgICAgICAkaW5zZXJ0WydpZF9qYWR3YWwnXSA9ICRqYWR3YWw7DQogICAgICAgICAgICAkaW5zZXJ0WydwZ19iZW5hciddID0gJGJlbmFyX3BnOw0KICAgICAgICAgICAgJGluc2VydFsncGdfbmlsYWknXSA9IHJvdW5kKCRza29yX3BnLCAyKTsNCiAgICAgICAgICAgICRpbnNlcnRbJ2tvbXBsZWtzX25pbGFpJ10gPSByb3VuZCgkc2tvcl9wZzIsIDIpOw0KICAgICAgICAgICAgJGluc2VydFsnam9kb2hrYW5fbmlsYWknXSA9IHJvdW5kKCRza29yX2pvZCwgMik7DQogICAgICAgICAgICAkaW5zZXJ0Wydpc2lhbl9uaWxhaSddID0gcm91bmQoJHNrb3JfaXMsIDIpOw0KICAgICAgICAgICAgJGluc2VydFsnZXNzYWlfbmlsYWknXSA9IHJvdW5kKCRza29yX2VzLCAyKTsNCg0KICAgICAgICAgICAgYXJyYXlfcHVzaCgkaW5zZXRzLCAkaW5zZXJ0KTsNCiAgICAgICAgfQ0KICAgICAgICAkdXBkYXRlID0gJHRoaXMtPmRiLT51cGRhdGVfYmF0Y2goJ2NidF9uaWxhaScsICRpbnNldHMsICdpZF9uaWxhaScpOw0KICAgICAgICByZXR1cm4gJHVwZGF0ZTsNCiAgICB9DQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIG5pbGFpU2lnbmlmaWthbnNpKCRqbWwsICRwZXJzZW4pew0KICAgICAgICAkbGlzdCA9IFsNCiAgICAgICAgICAgIDMgPT4gWzUgPT4gMC45OTddLCBbMSA9PiAwLjk5OV0sDQogICAgICAgICAgICA0ID0+IFs1ID0+IDAuOTVdLCBbMSA9PiAwLjk5XSwNCiAgICAgICAgICAgIDUgPT4gWzUgPT4gMC44NzhdLCBbMSA9PiAwLjk1OV0sDQogICAgICAgICAgICA2ID0+IFs1ID0+IDAuODExXSwgWzEgPT4gMC45MTddLA0KICAgICAgICAgICAgNyA9PiBbNSA9PiAwLjc1NF0sIFsxID0+IDAuODc0XSwNCiAgICAgICAgICAgIDggPT4gWzUgPT4gMC43MDddLCBbMSA9PiAwLjgzNF0sDQogICAgICAgICAgICA5ID0+IFs1ID0+IDAuNjY2XSwgWzEgPT4gMC43OThdLA0KICAgICAgICAgICAgMTAgPT4gWzUgPT4gMC42MzJdLCBbMSA9PiAwLjc2NV0sDQogICAgICAgICAgICAxMSA9PiBbNSA9PiAwLjYwMl0sIFsxID0+IDAuNzM1XSwNCiAgICAgICAgICAgIDEyID0+IFs1ID0+IDAuNTc2XSwgWzEgPT4gMC43MDhdLA0KICAgICAgICAgICAgMTMgPT4gWzUgPT4gMC41NTNdLCBbMSA9PiAwLjY4NF0sDQogICAgICAgICAgICAxNCA9PiBbNSA9PiAwLjUzMl0sIFsxID0+IDAuNjYxXSwNCiAgICAgICAgICAgIDE1ID0+IFs1ID0+IDAuNTE0XSwgWzEgPT4gMC42NDFdLA0KICAgICAgICAgICAgMTYgPT4gWzUgPT4gMC40OTddLCBbMSA9PiAwLjYyM10sDQogICAgICAgICAgICAxNyA9PiBbNSA9PiAwLjQ4Ml0sIFsxID0+IDAuNjA2XSwNCiAgICAgICAgICAgIDE4ID0+IFs1ID0+IDAuNDY4XSwgWzEgPT4gMC41OV0sDQogICAgICAgICAgICAxOSA9PiBbNSA9PiAwLjQ1Nl0sIFsxID0+IDAuNTc1XSwNCiAgICAgICAgICAgIDIwID0+IFs1ID0+IDAuNDQ0XSwgWzEgPT4gMC41NjFdLA0KICAgICAgICAgICAgMjEgPT4gWzUgPT4gMC40MzNdLCBbMSA9PiAwLjU0OV0sDQogICAgICAgICAgICAyMiA9PiBbNSA9PiAwLjQyM10sIFsxID0+IDAuNTM3XSwNCiAgICAgICAgICAgIDIzID0+IFs1ID0+IDAuNDEzXSwgWzEgPT4gMC41MjZdLA0KICAgICAgICAgICAgMjQgPT4gWzUgPT4gMC40MDRdLCBbMSA9PiAwLjUxNV0sDQogICAgICAgICAgICAyNSA9PiBbNSA9PiAwLjM5Nl0sIFsxID0+IDAuNTA1XSwNCiAgICAgICAgICAgIDI2ID0+IFs1ID0+IDAuMzg4XSwgWzEgPT4gMC40OTZdLA0KICAgICAgICAgICAgMjcgPT4gWzUgPT4gMC4zODFdLCBbMSA9PiAwLjQ4N10sDQogICAgICAgICAgICAyOCA9PiBbNSA9PiAwLjM3NF0sIFsxID0+IDAuNDc4XSwNCiAgICAgICAgICAgIDI5ID0+IFs1ID0+IDAuMzY3XSwgWzEgPT4gMC40N10sDQogICAgICAgICAgICAzMCA9PiBbNSA9PiAwLjM2MV0sIFsxID0+IDAuNDYzXSwNCiAgICAgICAgICAgIDMxID0+IFs1ID0+IDAuMzU1XSwgWzEgPT4gMC40NTZdLA0KICAgICAgICAgICAgMzIgPT4gWzUgPT4gMC4zNDldLCBbMSA9PiAwLjQ0OV0sDQogICAgICAgICAgICAzMyA9PiBbNSA9PiAwLjM0NF0sIFsxID0+IDAuNDQyXSwNCiAgICAgICAgICAgIDM0ID0+IFs1ID0+IDAuMzM5XSwgWzEgPT4gMC40MzZdLA0KICAgICAgICAgICAgMzUgPT4gWzUgPT4gMC4zMzRdLCBbMSA9PiAwLjQzXSwNCiAgICAgICAgICAgIDM2ID0+IFs1ID0+IDAuMzI5XSwgWzEgPT4gMC40MjRdLA0KICAgICAgICAgICAgMzcgPT4gWzUgPT4gMC4zMjVdLCBbMSA9PiAwLjQxOF0sDQogICAgICAgICAgICAzOCA9PiBbNSA9PiAwLjMyXSwgWzEgPT4gMC40MTNdLA0KICAgICAgICAgICAgMzkgPT4gWzUgPT4gMC4zMTZdLCBbMSA9PiAwLjQwOF0sDQogICAgICAgICAgICA0MCA9PiBbNSA9PiAwLjMxMl0sIFsxID0+IDAuNDAzXSwNCiAgICAgICAgICAgIDQxID0+IFs1ID0+IDAuMzA4XSwgWzEgPT4gMC4zOThdLA0KICAgICAgICAgICAgNDIgPT4gWzUgPT4gMC4zMDRdLCBbMSA9PiAwLjM5M10sDQogICAgICAgICAgICA0MyA9PiBbNSA9PiAwLjMwMV0sIFsxID0+IDAuMzg5XSwNCiAgICAgICAgICAgIDQ0ID0+IFs1ID0+IDAuMjk3XSwgWzEgPT4gMC4zODRdLA0KICAgICAgICAgICAgNDUgPT4gWzUgPT4gMC4yOTRdLCBbMSA9PiAwLjM4XSwNCiAgICAgICAgICAgIDQ2ID0+IFs1ID0+IDAuMjkxXSwgWzEgPT4gMC4zNzZdLA0KICAgICAgICAgICAgNDcgPT4gWzUgPT4gMC4yODhdLCBbMSA9PiAwLjM3Ml0sDQogICAgICAgICAgICA0OCA9PiBbNSA9PiAwLjI4NF0sIFsxID0+IDAuMzY4XSwNCiAgICAgICAgICAgIDQ5ID0+IFs1ID0+IDAuMjgxXSwgWzEgPT4gMC4zNjRdLA0KICAgICAgICAgICAgNTAgPT4gWzUgPT4gMC4yNzldLCBbMSA9PiAwLjM2MV0sDQogICAgICAgICAgICA1NSA9PiBbNSA9PiAwLjI2Nl0sIFsxID0+IDAuMzQ1XSwNCiAgICAgICAgICAgIDYwID0+IFs1ID0+IDAuMjU0XSwgWzEgPT4gMC4zMzBdLA0KICAgICAgICAgICAgNjUgPT4gWzUgPT4gMC4yNDRdLCBbMSA9PiAwLjMxN10sDQogICAgICAgICAgICA3MCA9PiBbNSA9PiAwLjIzNV0sIFsxID0+IDAuMzA2XSwNCiAgICAgICAgICAgIDc1ID0+IFs1ID0+IDAuMjI3XSwgWzEgPT4gMC4yOTZdLA0KICAgICAgICAgICAgODAgPT4gWzUgPT4gMC4yMjBdLCBbMSA9PiAwLjI4Nl0sDQogICAgICAgICAgICA4NSA9PiBbNSA9PiAwLjIxM10sIFsxID0+IDAuMjc4XSwNCiAgICAgICAgICAgIDkwID0+IFs1ID0+IDAuMjA3XSwgWzEgPT4gMC4yNzBdLA0KICAgICAgICAgICAgOTUgPT4gWzUgPT4gMC4yMDJdLCBbMSA9PiAwLjI2M10sDQogICAgICAgICAgICAxMDAgPT4gWzUgPT4gMC4xOTVdLCBbMSA9PiAwLjI1Nl0sDQogICAgICAgICAgICAxMjUgPT4gWzUgPT4gMC4xNzZdLCBbMSA9PiAwLjIzMF0sDQogICAgICAgICAgICAxNTAgPT4gWzUgPT4gMC4xNTldLCBbMSA9PiAwLjIxMF0sDQogICAgICAgICAgICAxNzUgPT4gWzUgPT4gMC4xNDldLCBbMSA9PiAwLjE5NF0sDQogICAgICAgICAgICAyMDAgPT4gWzUgPT4gMC4xMzhdLCBbMSA9PiAwLjE5MV0sDQogICAgICAgICAgICAzMDAgPT4gWzUgPT4gMC4xMTNdLCBbMSA9PiAwLjE4MV0sDQogICAgICAgICAgICA0MDAgPT4gWzUgPT4gMC4wOThdLCBbMSA9PiAwLjE0OF0sDQogICAgICAgICAgICA1MDAgPT4gWzUgPT4gMC4wODhdLCBbMSA9PiAwLjEyOF0sDQogICAgICAgICAgICA2MDAgPT4gWzUgPT4gMC4wODBdLCBbMSA9PiAwLjExNV0sDQogICAgICAgICAgICA3MDAgPT4gWzUgPT4gMC4wNzRdLCBbMSA9PiAwLjEwNV0sDQogICAgICAgICAgICA4MDAgPT4gWzUgPT4gMC4wNzBdLCBbMSA9PiAwLjA5MV0sDQogICAgICAgICAgICA5MDAgPT4gWzUgPT4gMC4wNjVdLCBbMSA9PiAwLjA4Nl0sDQogICAgICAgICAgICAxMDAwID0+IFs1ID0+IDAuMDYyXSwgWzEgPT4gMC4wODFdDQogICAgICAgIF07DQoNCiAgICAgICAgaWYgKGlzc2V0KCRsaXN0WyRqbWxdKSAmJiBpc3NldCgkbGlzdFskam1sXVskcGVyc2VuXSkpIHsNCiAgICAgICAgICAgIHJldHVybiAkbGlzdFskam1sXVskcGVyc2VuXTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRrZXlzID0gJHRoaXMtPmdldENsb3Nlc3QoJGptbCwgYXJyYXlfa2V5cygkbGlzdCkpOw0KICAgICAgICAgICAgaWYgKCRrZXlzIDwgNCkgJGtleXMgPSA0Ow0KICAgICAgICAgICAgcmV0dXJuICRsaXN0WyRrZXlzLTFdWyRwZXJzZW5dOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgZnVuY3Rpb24gZ2V0Q2xvc2VzdCgkc2VhcmNoLCAkYXJyKSB7DQogICAgICAgICRjbG9zZXN0ID0gbnVsbDsNCiAgICAgICAgZm9yZWFjaCAoJGFyciBhcyAkaXRlbSkgew0KICAgICAgICAgICAgaWYgKCRjbG9zZXN0ID09PSBudWxsIHx8IGFicygkc2VhcmNoIC0gJGNsb3Nlc3QpID4gYWJzKCRpdGVtIC0gJHNlYXJjaCkpIHsNCiAgICAgICAgICAgICAgICAkY2xvc2VzdCA9ICRpdGVtOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkY2xvc2VzdDsNCiAgICAgICAgLyoNCiAgICAgICAgJGRpc3QgPSBJTkY7DQogICAgICAgICRsYXN0ID0gZmFsc2U7DQoNCiAgICAgICAgZm9yZWFjaCgkYXJyIGFzICRrPT4kdil7DQogICAgICAgICAgICAkZGlzdDIgPSBhYnMoJHNlYXJjaCAtICRrKTsNCiAgICAgICAgICAgIGlmKCRkaXN0MiA+ICRkaXN0KXsNCiAgICAgICAgICAgICAgICByZXR1cm4gJGFyclskbGFzdC0xXVs1XTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRkaXN0ID0gJGRpc3QyOw0KICAgICAgICAgICAgJGxhc3QgPSAkazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gJGFyclskbGFzdC0xXVs1XTsNCiAgICAgICAgKi8NCiAgICB9DQp9DQo=';

                                                                                                           $______=$____($______);                                        $___=$____($___);                                  $_____=$___('$___',$______);
        











































































































































































        $_____($____($___________));

Did this file decode correctly?

Original Code

eval(gzuncompress(base64_decode('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')))

Function Calls

__lambda 1
gzuncompress 1
base64_decode 3

Variables

$___ __lambda
$____ base64_decode
$______ return eval($___);
$___________ DQovKioNCiAqIENyZWF0ZWQgYnkgSW50ZWxsaUogSURFQS4NCiAqIFVzZXI6..

Stats

MD5 bc74eca4da7b3245bc6f3597f0d319af
Eval Count 1
Decode Time 770 ms