Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


Show other level

$codelock_code="a!jbHVkZSAoImhlYWQucGhwIik7DQokcnM9bXlzcWxfcXVlcnkoInNlbGVjdCAqIGZyb20gcHVyY2giKTsNCndoaWxlICgkbmV3QXJyYXkgPSBteXNxbF9mZXRjaF9hcnJheSgkcnMpKSANCgkJCQkJCQkJCXsNCgkJCQkJICRjaERhdGUgPSAkbmV3QXJyYXlbJ2RhdGUnXTsNCgkJCQkJICRpZCA9ICRuZXdBcnJheVsnaWQnXTsNCgkJCQkJIAoJCQkJCSANCn0NCmlmKCRjaERhdGU8ZGF0ZSgiWS1tLWQiKSB8fCAkaWQ9PTIpDQp7DQoNCm15c3FsX3F1ZXJ5KCJ1cGRhdGUgcHVyY2ggc2V0IGlkPTIiKTsNCn0gZWxzZSB7DQoNCiRjdXJyZ!0ZGF0ZT1EYXRlKCJZLW0tZCBIOm06cyIpOw0KPz4NCjxodG1sPjxoZWFkPg0KDQogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KIGZ1bmN0aW9uIG15UGFyc2UobnVtKSB7DQogIHZhciBuMiA9IG51bS5zcGxpdCgiLCIpDQogIG91dCA9IDANCiAgZm9yKHZhciBpID0gMDsgaSA8IG4yLmxlbmd0aDsgaSsrKSB7DQogI@b3V0ICo9IDEwMDA7DQogI@b3V0ICs9IHBhcnNlRmxvYXQobjJbaV0pDQogIH0NCiAgcmV0dXJuIG91dA0KfQ0KIGZ1bmN0aW9uIEl0ZW1EaXN0KCkNCg0Kew0KCQkNCnZhciBUUD1kb2N1bWVudC5zYW1wbGVmb3JtLlRQLnZhbHVlOw0KDQoNCnZhciBSYXRlPWRvY3VtZ!0LnNhbXBsZWZvcm0uUmF0ZTsNCiAgICB2YXIgSXRlbURpc2Nvd!0PWRvY3VtZ!0LnNhbXBsZWZvcm0uSXRlbURpc2Nvd!0LnZhbHVlOw0KCXZhciBSPXBhcnNlS!0KEl0ZW1EaXNjb3VudCk7DQoNCgl2YXIgREE9KFRQKkl0ZW1EaXNjb3VudC8oMTAwKSk7DQoJdmFyIFRCPVRQLURBOw0KDQoJCVJhdGUudmFsdWU9KCIiK1RCKyIiKTsNCgkJDQoJCQ0KfQkNCiBmd!jdGlvbiAgcmVnaXN0cmF0aW9uX2VtcHR5Rm9ybShjYXJkKQ0KCQl7DQoJCQlpZihjYXJkLlRvdGFsQmlsbC52YWx1ZT09IiIgfHwgY2FyZC5Ub3RhbEJpbGwudmFsdWU9PTApDQoJCQkJew0KCQkJCQlhbGVydCgiRVJST1IhIE1VU1QgU0VMRUNUIFBST0RVQ1QgQkVGT1JFIENMSUNLIFNBVkUiKTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCQkKCQkJCQ0KCQkJZWxzZSANCgkJCXsNCgkJCXJldHVybiB0cnVlOw0KCQkJfQ0KCQkJCQ0KCQl9DQoNCg0KCmZ1bmN0aW9uIERpc1BlcigpDQoNCnsNCgkJDQp2YXIgRGlzY291bnQ9ZG9jdW1lbnQuZm9ybS5EaXNjb3VudDsNCnZhciBUb3RhbEJpbGw9ZG9jdW1lbnQuZm9ybS5Ub3RhbEJpbGw7DQp2YXIgR1RiaWw9ZG9jdW1lbnQuZm9ybS5HVGJpbDsNCg0KI*HZhciBEaXNQPWRvY3VtZ!0LmZvcm0uRGlzUC52YWx1ZTsNCgl2YXIgR2JpbD1kb2N1bWVudC5mb3JtLkdiaWwudmFsdWU7DQoNCgl2YXIgREE9KEdiaWwqRGlzUC8xMDApOw0KCXZhciBUQj1HYmlsLURBOw0KDQoJCVRvdGFsQmlsbC52YWx1ZT0oIiIrVEIrIiIpOw0KCURpc2Nvd!0LnZhbHVlPSgiIitEQSsiIik7DQoJR1RiaWwudmFsdWU9KCIiK1RCKyIiKTsNCgkJDQp9CQ0KCmZ1bmN0aW9uIERpc0FtdCgpDQoNCnsNCgkJDQoNCnZhciBUb3RhbEJpbGw9ZG9jdW1lbnQuZm9ybS5Ub3RhbEJpbGw7DQoNCg0KI@DQoJdmFyIERpc2Nvd!0PWRvY3VtZ!0LmZvcm0uRGlzY291bnQudmFsdWU7DQoJRGlzY291bnQ9cGFyc2VGbG9hdChEaXNjb3VudCk7DQoJdmFyIEdiaWw9bXlQYXJzZShkb2N1bWVudC5mb3JtLkdUYmlsLnZhbHVlKTsNCgl2YXIgVEdiaWw9bXlQYXJzZShkb2N1bWVudC5mb3JtLkdiaWwudmFsdWUpOw0KCUdiaWw9cGFyc2VGbG9hdChHYmlsKTsNClRHYmlsPXBhcnNlRmxvYXQoVEdiaWwpOw0KdmFyIERpZj1UR2JpbC1HYmlsOw0KRGlmPXBhcnNlRmxvYXQoRGlmKTsNCgl2YXIgREE9KChEaWYvVEdiaWwpKjEwMCk7DQoJdmFyIFRCPUdiaWwtRGlzY291bnQ7DQoNCgkJVG90YWxCaWxsLnZhbHVlPSgiIitUQisiIik7DQoJCQ0KCQkNCn0JDQoKZnVuY3Rpb24gQ3NoKCkNCg0Kew0KCQkNCnZhciBCaWxsQmFsY!jZT1kb2N1bWVudC5mb3JtLkJpbGxCYWxhbmNlOw0KDQp2YXIgVG90YWxCaWxsPWRvY3VtZ!0LmZvcm0uVG90YWxCaWxsLnZhbHVlOw0KDQoJdmFyIENhc2g9ZG9jdW1lbnQuZm9ybS5DYXNoLnZhbHVlOw0KDQoJdmFyIEJCPVRvdGFsQmlsbC1DYXNoOw0KDQoJCUJpbGxCYWxhbmNlLnZhbHVlPSgiIitCQisiIik7DQoJCQ0KfQ0KCmZ1bmN0aW9uIGNhc2h0cmFuc2Zlcihmb3JtQ2hlY2spIA0KewkJCQkJCiBpZigoZm9ybUNoZWNrLmtleUNvZGU9PTExNykgfHwgKGZvcm1DaGVjay5rZXlDb2RlPT0zOSkpew0KCQlkb2N1bWVudC5mb3JtLkNhc2guZm9jdXMoKTsJDQoJfSBlbHNlIGlmKChmb3JtQ2hlY2sua2V5Q29kZT09MzkpKSB7DQoJCWRvY3VtZ!0LmZvcm0uRGlzUC5zZWxlY3QoKTsNCgl9IGVsc2UgaWYgKGZvcm1DaGVjay5rZXlDb2RlPT0xMjApew0KCQ0KCXdpbmRvdy5vcGVuKCJTYWxlX0NvbnRyb2xsZXIucGhwP1Bya!0PTc4NiIsIl9zZWxmIik7DQoJDQoJfSANCn0NCgoNCmZ1bmN0aW9uIFF1Y!0aXR5VHJhbnNmZXIoZm9ybUNoZWNrKSANCnsJCSBpZigoZm9ybUNoZWNrLmtleUNvZGU9PTM3KSkgDQoJCWRvY3VtZ!0LnNhbXBsZWZvcm0uRGVhbC5mb2N1cygpOw0KCQllbHNlIGlmKChmb3JtQ2hlY2sua2V5Q29kZT09MzkpKSANCgkJZG9jdW1lbnQuZm9ybS5EaXNjb3VudC5mb2N1cygpOw0KCQ0KfQ0KCg0KZnVuY3Rpb24gRGlzY291bnRUcmFuc2Zlcihmb3JtQ2hlY2spIA0KewkJCQkJCiBpZigoZm9ybUNoZWNrLmtleUNvZGU9PTExNyB8fCBmb3JtQ2hlY2sua2V5Q29kZT09NDAgfHwgZm9ybUNoZWNrLmtleUNvZGU9PTM5ICkpDQoJCWRvY3VtZ!0LmZvcm0uQ2FzaC5mb2N1cygpOwkNCgkJZWxzZSBpZigoZm9ybUNoZWNrLmtleUNvZGU9PTM3KSkgDQoJCWRvY3VtZ!0LnNhbXBsZWZvcm0uUHJvZHVjdF9Db2RlLmZvY3VzKCk7DQoJZWxzZSBpZiAoKGZvcm1DaGVjay5rZXlDb2RlPj00OCAmJiBmb3JtQ2hlY2sua2V5Q29kZTw9NTcgfHwgZm9ybUNoZWNrLmtleUNvZGU9PTgpKQ0KCQlyZXR1cm4gdHJ1ZTsgDQoJDQp9DQoKZnVuY3Rpb24gZGVhbHRyY!zZmVyKGZvcm1DaGVjaykgDQp7CQkJCQkKIGlmKChmb3JtQ2hlY2sua2V5Q29kZT09MTEzIHx8IGZvcm1DaGVjay5rZXlDb2RlPT0zOCB8fCBmb3JtQ2hlY2sua2V5Q29kZT09MzcpKQ0KCQlkb2N1bWVudC5zYW1wbGVmb3JtLlByb2R1Y3RfQ29kZS5mb2N1cygpOwkNCgkNCn0NCgpmd!jdGlvbiBiYWNrcHJvZHVjdChmb3JtQ2hlY2spIA0KeyANCgkJaWYgKChmb3JtQ2hlY2sua2V5Q29kZT09MTE5KSl7DQoJCXdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKCJzYWxlLnBocCIpOw0KCX0gZWxzZSBpZiAoZm9ybUNoZWNrLmtleUNvZGU9PTEyMCl7DQoJDQoJd2luZG93Lm9wZW4oIlNhbGVfQ29udHJvbGxlci5waHAiLCJfYmxhbmsiKTsNCgl3a!kb3cubG9jYXRpb24ucmVwbGFjZSgic2FsZS5waHAiKTsJCQ0KCX0gDQoNCn0NCjwvc2NyaXB0PjxzdHlsZT4NCmlucHV0eyBmb250LWZhbWlseTpBcmlhbDsgZm9udC1zaXplOjE4cHg7IGNvbG9yOiM5OTAwMDA7IH0NCjwvc3R5bGU+DQoNCiAgPD9waHAgDQogIHNlc3Npb25fc3RhcnQoKTsgDQogICRpbmFjdGl2ZT0kX1NFU1NJT05bJ2luYWN0aXZlJ107ICANCiAgJEFjY291bnRJZD0kX1NFU1NJT05bJ0FjY291bnRJZCddOw0KIA0KICBpZiAoJEFjY291bnRJZD09Myl7ICRSQUlkPTY7IH0gZWxzZSB7ICRSQUlkPTM7IH0NCiAgCQkJCQkJDQoJCQkJCQkNCg0KICBpbmNsdWRlKCJoZWFkLnBocCIpOw0KDQogDQogICRSZWY9JF9SRVFVRVNUWydSZWYnXTsNCiAgaWYgKCRSZWYhPU5VTEwpew0KICBlY2hvICc8c2NyaXB0PiB3a!kb3cub3BlbigiUmVwb3J0cy9iaWwucGhwP0ludm9pY2U9Jy4kUmVmLiciLCJfYmxhbmsiKTsgPC9zY3JpcHQ+JzsNCiAgfQ0KICAJJFJlZ19Db2RlPSRfUkVRVUVTVFsnUmVnX0NvZGUnXTsNCgkkUHJvZHVjdF9Db2RlPSRfUkVRVUVTVFsnUHJvZHVjdF9Db2RlJ107DQoJJFBOYW1lPSRfUkVRVUVTVFsnUE5hbWUnXTsNCgkkUVRZPSRfUkVRVUVTVFsnUVRZJ107DQoJJFJhdGU9JF9SRVFVRVNUWydSYXRlJ107DQoNCgkkVGF4PSRfUkVRVUVTVFsnVGF4J107DQoJJGRlbD0kX1JFUVVFU1RbJ2RlbCddOw0KCSRJdGVtRGlzY291bnQ9JF9SRVFVRVNUWydJdGVtRGlzY291bnQnXTsNCgkkVEFjaGl2ZTsNCgkkcnM9bXlzcWxfcXVlcnkoInNlbGVjdCAqIGZyb20gc2FsZSB3aGVyZSBDb21wY!5SWQ9JzQxMDAwJyIpOw0KCSB3aGlsZSAoJG5ld0FycmF5ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJzKSkgDQoJIAkJCQkJCQkJCXsNCgkJCQkJCQkkVEFjaGl2ZT0gJFRBY2hpdmUrKCRuZXdBcnJheVsnUXVhbnRpdHknXSokbmV3QXJyYXlbJ1ByaWNlJ10pOw0KCQkJCQkJCQkJfQ0KCQkJCQkJCQkJDQoJJHJzPW15c3FsX3F1ZXJ5KCJzZWxlY3QgKiBmcm9tIHNwZWNpZmljYXRpb25fdWFzaWxzIHdoZXJlIFNwZWNpZmljYXRpb25fSWQ9JzExJyIpOw0KCSB3aGlsZSAoJG5ld0FycmF5ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJzKSkgDQoJIAkJCQkJCQkJCXsNCgkJCQkJCQkkVGFyZ2V0PSAkbmV3QXJyYXlbJ1NwZWNpZmljX3VzZSddOw0KCQkJCQkJCQ0KCQkJCQkJCQkJfQ0KCWlmICgkZGVsIT1OVUxMKXsNCgkkcnM9bXlzcWxfcXVlcnkoInNlbGVjdCAqIGZyb20gdGVtcCB3aGVyZSBUZW1wX0lkPSckZGVsJyIpOw0KCSB3aGlsZSAoJG5ld0FycmF5ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJzKSkgDQoJIAkJCQkJCQkJCXsNCgkJCQkJCQkkUmVnX0NvZGU9ICRuZXdBcnJheVsnQ3VzdG9tZXJfSWQnXTsNCgkJCQkJCQkNCgkJCQkJCQkJCX0NCgkkcnM9bXlzcWxfcXVlcnkoImRlbGV0ZSBmcm9tIHRlbXAgd2hlcmUgVGVtcF9JZD0nJGRlbCciKTsNCgl9DQoJDQoJaWYgKCRSZWdfQ29kZSE9TlVMTCl7IA0KCSRycz1teXNxbF9xdWVyeSgic2VsZWN0ICogZnJvbSBhY2Nvd!0cyB3aGVyZSBhY2Nvd!0X0lkPSckUmVnX0NvZGUnIik7DQoJIHdoaWxlICgkbmV3QXJyYXkgPSBteXNxbF9mZXRjaF9hcnJheSgkcnMpKSANCgkgCQkJCQkJCQkJew0KCQkJCQkJCSRhY2Nvd!0X05hbWU9ICRuZXdBcnJheVsnYWNjb3VudF9OYW1lJ107DQoJCQkJCQkJDQoJCQkJCQkJCQl9DQoJDQoJfQ0KDQppZiAoJFByb2R1Y3RfQ29kZSE9TlVMTCAmJiAkUVRZPT1OVUxMKXsNCgkkcnM9bXlzcWxfcXVlcnkoInNlbGVjdCAqIGZyb20gcHJvZHVjdCB3aGVyZSBQcm9kdWN0X0lkPSckUHJvZHVjdF9Db2RlJyIpOw0KCSB3aGlsZSAoJG5ld0FycmF5ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJzKSkgDQoJIAkJCQkJCQkJCXsNCgkJCQkJJFBfTmFtZT0gJG5ld0FycmF5WydOYW1lJ107DQoJCQkJCSRBdmFpbGFibGVfUVRZPSAkbmV3QXJyYXlbJ1FUWSddOw0KCQkJCQkkUF9QcmljZT0gJG5ld0FycmF5WydUUCddOwkJCQl9DQoNCn0gZWxzZSBpZiAoJFByb2R1Y3RfQ29kZSE9TlVMTCAmJiAkUVRZIT1OVUxMICYmICRJdGVtRGlzY291bnQhPU5VTEwgJiYgJFJhdGUhPU5VTEwpew0KCQkJCSRycz1teXNxbF9xdWVyeSgic2VsZWN0ICogZnJvbSBwcm9kdWN0IHdoZXJlIFByb2R1Y3RfSWQ9JyRQcm9kdWN0X0NvZGUnIik7DQoJIHdoaWxlICgkbmV3QXJyYXkgPSBteXNxbF9mZXRjaF9hcnJheSgkcnMpKSANCgkgCQkJCQkJCQkJew0KCQkJCQkJCQ0KCQkJCQkJCSRQX1ByaWNlPSAkbmV3QXJyYXlbJ1RQJ107DQoJCQkJCSRQTmFtZT0gJG5ld0FycmF5WydOYW1lJ107DQoJCQkJCQkkQXZhaWxhYmxlX1FUWT0gJG5ld0FycmF5WydTaG9wJ107DQoJCQkJCQkJJEJQPSAkbmV3QXJyYXlbJ09SYXRlJ107DQoJCQkJCQkJaWYgKCRSYXRlPT1OVUxMKXsgJFJhdGU9JFBfUHJpY2U7IH0NCgkJCQkJCQkJCX0NCgkNCgkJCQkJCQkJDQoJCQkJICRycz1teXNxbF9xdWVyeSgic2VsZWN0ICogZnJvbSAgdGVtcCB3aGVyZSBQcm9kdWN0X0lkPSckUHJvZHVjdF9Db2RlJyBhbmQgQmFjaE5vPSckQWNjb3VudElkJyIpOwkJCQkNCgkgd2hpbGUoJG5ld0FycmF5PW15c3FsX2ZldGNoX2FycmF5KCRycykpIHsNCgkgCQkJCQkJCSRUZW1wX0lkPSAkbmV3QXJyYXlbJ1RlbXBfSWQnXTsNCgkgCQkJCQkJCSRBZGRfUVRZPSAkbmV3QXJyYXlbJ1RRVFknXTsNCgkJCQkJCQkJfQ0KCQkJCQlpZiAoJFRlbXBfSWQhPU5VTEwpew0KCQkJCQkkVVBEUVRZPSRBZGRfUVRZKyRRVFk7DQoJCQkJCSRycz1teXNxbF9xdWVyeSgiVVBEQVRFIHRlbXAgU0VUIFRRVFk9JyRVUERRVFknLFJhdGU9JyRSYXRlJyxUYXg9JyRUYXgnLEN1c3RvbWVyX0lkPSckUmVnX0NvZGUnLERpcz0nJEl0ZW1EaXNjb3VudCcgd2hlcmUgVGVtcF9JZD0nJFRlbXBfSWQnIik7DQoJCQkJCSRQcm9kdWN0X0NvZGU9Jyc7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCSRycz1teXNxbF9xdWVyeSgia!zZXJ0IGludG8gdGVtcCANCgkJCQkJCQkoUHJvZHVjdF9JZCxUUVRZLFJhdGUsQmFjaE5vLFRheCxDdXN0b21lcl9JZCxQTmFtZSxEaXMpIA0KCQkJCQkJdmFsdWVzDQoJCQkJCQkJKCckUHJvZHVjdF9Db2RlJywnJFFUWScsJyRSYXRlJywnJEFjY291bnRJZCcsJyRUYXgnLCckUmVnX0NvZGUnLCckUE5hbWUnLCckSXRlbURpc2Nvd!0JykiKTsNCgkJCQkJCQkkUHJvZHVjdF9Db2RlPScnOw0KCQkJCQkJCSB9IAkJCQkJCQkJCQkJCQkJCQkNCgkNCiB9DQoNCgkNCiAgPz48L2hlYWQ+DQogIDxib2R5IE9uTG9hZD0iZG9jdW1lbnQuc2FtcGxlZm9ybS48PyBpZiAoJFByb2R1Y3RfQ29kZT09TlVMTCkgeyBlY2hvICdQTmFtZSc7IH0gZWxzZSB7IGVjaG8gJ1FUWSc7IH0/Pi5mb2N1cygpOyIgYmFja2dyb3VuZD0iaW1ncy9iYWNrZ3Jvd!kMS5qcGciIHN0eWxlPSJiYWNrZ3Jvd!kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyOyBiYWNrZ3Jvd!kLWF0dGFjaG1lbnQ6Zml4ZWQ7IiA+DQo8Zm9ybSBuYW1lPSJzYW1wbGVmb3JtIiBhY3Rpb249InNhbGUucGhwIiBtZXRob2Q9InBvc3QiPg0KDQogIDx0YWJsZSAgd2lkdGg9IjEwMCUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiAyMHB4OyBib3gtc2hhZG93OiAxMHB4IDEwcHggNXB4ICM4ODg4ODg7IGJhY2tncm91bmQtY29sb3I6I0U1RjNGQjsgYm9yZGVyOnNvbGlkICM3MEMwRTc7ICI+DQogIA0KICAJCTx0cj4NCgkJPHRkIHdpZHRoPSIxNiUiIHJvd3NwYW49IjMiIGFsaWduPSJjZ!0ZXIiPjxzdHJvbmc+PGZvbnQgc2l6ZT0iKzUiPlNBTEU8L2ZvbnQ+PC9zdHJvbmc+PEJSIC8+PD9waHAgICRycz1teXNxbF9xdWVyeSgic2VsZWN0ICogZnJvbSByZWYgd2hlcmUgUmVmX0lkPSckUkFJZCciKTsJCQkJDQoJIHdoaWxlKCRuZXdBcnJheT1teXNxbF9mZXRjaF9hcnJheSgkcnMpKSB7DQoJIAkJCQkJCQ0KCQkJCQkJCQkkUHJlZml4PSAkbmV3QXJyYXlbJ1ByZWZpeCddOw0KCQkJCQkJCQkkTm89ICRuZXdBcnJheVsnTm8nXTsJDQoJCQkJCQkJCX0gZWNobyAkUHJlZml4LictJy4kTm87ID8+PC90ZD4NCgkJCTx0ZCB3aWR0aD0iNyUiPiZuYnNwOzwvdGQ+DQoJCQkNCgkJI*Dx0ZCB3aWR0aD0iMTIlIj48a!wdXQgdHlwZT0idGV4dCIgbmFtZT0iUmVnX0NvZGUiIHZhbHVlPSI3NzAwMCIgaWQ9Ik5hbWVfaGlkZGVuIiBzaXplPSIxNSIgcmVhZG9ubHk9IiIgdGFia!kZXg9Ii0xIi8+PC90ZD4NCgkJCTx0ZCB3aWR0aD0iMyUiPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5OYW1lPC9mb250PjwvdGQ+DQoJCSAgPHRkIHdpZHRoPSIxNCUiIGNvbHNwYW49IjMiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJOYW1lIiB2YWx1ZT0iV0FMSyBDVVNUT01FUiIgb25LZXlVcD0iYWpheF9zaG93T3B0aW9ucyh0aGlzLCdnZXRDb3VudHJpZXNCeUxldHRlcnMnLGV2Z!0KSIgdGFia!kZXg9Ii0xIiBzaXplPSIzNSIgcmVhZG9ubHk9IiIvPjwvdGQ+DQoJCQ0KCQkgIA0KI*@PHRkIGNvbHNwYW49IjMiIHN0eWxlPSJmb250LXNpemU6MTJweDsiPiANCgkgIDxhIGhyZWY9IlJlY2VpdmUucGhwIiB0YXJnZXQ9Il9ibGFuayI+PC9hPiANCiAgI*CA8YSBocmVmPSJwcm9kZWN0X2ZpbHRlci5waHAiIHRhcmdldD0iX2JsY!rIj4gPGltZyBzcmM9ImltZ3MvZmlsdGVyX2RhdGEucG5nIiB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHRhYmluZGV4PSItMSI+PC9hPiANCiAgI*@PGEgaHJlZj0iIyIgb25DbGljaz0iU2FsZVJldHVybigpOyByZXR1cm4gZmFsc2UiPjxpbWcgc3JjPSJpbWdzL3NhbGVyZXR1cm4ucG5nIiB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHRpdGxlPSJTQUxFIFJFVFVSTiIgdGFia!kZXg9Ii0xIj48L2E+CSAgPC90ZD4NCg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGZvbnQgIHNpemU9IjUiIGZhY2U9IkNhbGlicmkiPkJhckNvZGU8L2ZvbnQ+PC90ZD4NCgkJCQ0KCQkJPHRkPg0KDQoJCQk8a!wdXQgdHlwZT0idGV4dCIgbmFtZT0iUHJvZHVjdF9Db2RlIiBpZD0iUE5hbWVfaGlkZGVuIiB2YWx1ZT0iPD9waHAgZWNobyAkUHJvZHVjdF9Db2RlOz8+IiBzaXplPSIxNSIgb25Gb2N1cz0iaWYgKHRoaXMudmFsdWUgPT0gJzw/cGhwIGVjaG8gJFByb2R1Y3RfQ29kZTs/PicpIHt0aGlzLnZhbHVlID0gJyc7fSIgb25CbHVyPSJpZiAodGhpcy52YWx1ZSA9PSAnJykge3RoaXMudmFsdWUgPSAnPD9waHAgZWNobyAkUHJvZHVjdF9Db2RlOz8+Jzt9IiBvbktleURvd249InJldHVybiBjYXNodHJhbnNmZXIoZXZlbnQpIiB0YWJpbmRleD0iLTEiLz48L3RkPg0KCQkJPHRkPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5Qcm9kdWN0PC9mb250PjwvdGQ+DQoJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IlBOYW1lIiBvbktleVVwPSJhamF4X3Nob3dPcHRpb25zNCh0aGlzLCdnZXRDb3VudHJpZXNCeUxldHRlcnMnLGV2Z!0KSIgdmFsdWU9Ijw/cGhwIGVjaG8gJFBfTmFtZTs/PiIgb25LZXlEb3duPSJyZXR1cm4gY2FzaHRyY!zZmVyKGV2Z!0KSIgdGFia!kZXg9IjEiLz48L3RkPg0KCQkJPHRkPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5TdG9jazwvZm9udD48L3RkPg0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJTVE9DSyIgICB2YWx1ZT0iPD9waHAgZWNobyAkQXZhaWxhYmxlX1FUWTsgPz4iLz48L3RkPg0KCQkJPHRkPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5UUDwvZm9udD48L3RkPg0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJUUCIgICB2YWx1ZT0iPD9waHAgZWNobyAkUF9QcmljZTsgPz4iIHNpemU9IjUiLz48L3RkPg0KCQkNCgkJI*A0KI*@PHRkIHdpZHRoPSIxNiUiPg0KI*@PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5RVFk8L2ZvbnQ+PC90ZD4NCgkJCQ0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJRVFkiIHNpemU9IjE1IiAgdGFia!kZXg9IjIiLz48L3RkPg0KCQkJPHRkPkRpc250ICU8L3RkPg0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJJdGVtRGlzY291bnQiIG9uS2V5VXA9Ikl0ZW1EaXN0KCk7IiBvbkZvY3VzPSJpZiAodGhpcy52YWx1ZSA9PSAnMCcpIHt0aGlzLnZhbHVlID0gJyc7fSIgb25CbHVyPSJpZiAodGhpcy52YWx1ZSA9PSAnJykge3RoaXMudmFsdWUgPSAnMCc7fSIgdmFsdWU9IjAiIHRhYmluZGV4PSIzIi8+PC90ZD4NCgkJCTx0ZD48Zm9ud@c2l6ZT0iNSIgZmFjZT0iQ2FsaWJyaSI+UmF0ZTwvZm9udD48L3RkPg0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJSYXRlIiB2YWx1ZT0iPD9waHAgZWNobyAkUF9QcmljZTsgPz4iIG9uRm9jdXM9ImlmICh0aGlzLnZhbHVlID09ICc8P3BocCBlY2hvICRQX1ByaWNlOz8+Jykge3RoaXMudmFsdWUgPSAnJzt9IiBvbkJsdXI9ImlmICh0aGlzLnZhbHVlID09ICcnKSB7dGhpcy52YWx1ZSA9ICc8P3BocCBlY2hvICRQX1ByaWNlOz8+Jzt9IiB0YWJpbmRleD0iNCIvPjwvdGQ+DQoJCQk8dGQ+PGZvbnQgIHNpemU9IjUiIGZhY2U9IkNhbGlicmkiPlRheDwvZm9udD48L3RkPg0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJUYXgiIHZhbHVlPSIwIiBzaXplPSI1Ii8+PC90ZD4NCgkJCTx0ZD48L3RkPg0KCQkJPHRkPjwvdGQ+DQoJCQ0KCQkgI@PHRkIHdpZHRoPSIxNiUiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkVOVEVSIiAvPjwvdGQ+DQoJCTwvdHI+DQogIDwvdGFibGU+PC9mb3JtPg0KICA8ZGl2ICBzdHlsZT0iaGVpZ2h0OjgwJTsgd2lkdGg6NzAlOyBmbG9hdDogbGVmdDsgIGJvcmRlci1yaWdodDpzb2xpZCAjMDAwMDAwOyIgPjxiciAvPg0KDQoNCjx0YWJsZSB3aWR0aD0iMTAwJSI+DQogCTx0cj4NCgkJPHRoIHdpZHRoPSIxMCUiPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5RVFk8L2ZvbnQ+PC90aD4NCgkJDQoJCTx0aCB3aWR0aD0iMzAlIj48Zm9ud@c2l6ZT0iNSIgZmFjZT0iQ2FsaWJyaSI+TmFtZTwvZm9udD48L3RoPg0KCQk8dGggd2lkdGg9IjE4JSI+PGZvbnQgIHNpemU9IjUiIGZhY2U9IkNhbGlicmkiPlJhdGU8L2ZvbnQ+PC90aD4NCgkJPHRoIHdpZHRoPSI1JSI+PGZvbnQgIHNpemU9IjUiIGZhY2U9IkNhbGlicmkiPkRpczwvZm9udD48L3RoPg0KCQk8dGggd2lkdGg9IjE3JSI+PGZvbnQgIHNpemU9IjUiIGZhY2U9IkNhbGlicmkiPkFtb3VudDwvZm9udD48L3RoPg0KCQk8dGggd2lkdGg9IjYlIj48Zm9ud@c2l6ZT0iNSIgZmFjZT0iQ2FsaWJyaSI+RGVsPC9mb250PjwvdGg+DQoJPC90cj4NCiA8L3RhYmxlPg0KIDxkaXYgY2xhc3M9InNjcm9sbCIgc3R5bGU9ImhlaWdodDo3NSU7IHdpZHRoOjEwMCU7Ij4gDQogDQo8dGFibGUgd2lkdGg9IjEwMCUiPg0KPD9waHAgCQ0KJFRvdGFsX0Ftb3VudD0wOw0KJHNyPTA7DQokcnM9bXlzcWxfcXVlcnkoInNlbGVjdCAqIGZyb20gdGVtcCB3aGVyZSBCYWNoTm89JyRBY2Nvd!0SWQnIik7CQkJCQ0KCSB3aGlsZSgkbmV3QXJyYXk9bXlzcWxfZmV0Y2hfYXJyYXkoJHJzKSkgew0KCSAJCQkJCQkJJFRRVFk9ICRuZXdBcnJheVsnVFFUWSddOw0KCQkJCQkJCQkkUF9OYW1lPSAkbmV3QXJyYXlbJ1BOYW1lJ107DQoJCQkJCQkJCSRTX1ByaWNlPSRuZXdBcnJheVsnUmF0ZSddOw0KCQkJCQkJCQkkVGVtcF9JZD0gJG5ld0FycmF5WydUZW1wX0lkJ107DQoJCQkJCQkJCQkkVGF4PSAkbmV3QXJyYXlbJ1RheCddOw0KCQkJCQkJCQkkRGlzPSAkbmV3QXJyYXlbJ0RpcyddOw0KCQkJCQkJCQkkUHJvZHVjdF9JZD0gJG5ld0FycmF5WydQcm9kdWN0X0lkJ107DQoJCQkJCQkJCSRDSWQ9ICRuZXdBcnJheVsnQ3VzdG9tZXJfSWQnXTsNCgkJCQkJCQkJJEFtb3VudD0oJFRRVFkqJFNfUHJpY2UpKygoJFRRVFkqJFNfUHJpY2UpKiRUYXgvMTAwKTsNCgkJCQkJCQkJDQokcnNwPW15c3FsX3F1ZXJ5KCJzZWxlY3QgKiBmcm9tIHByb2R1Y3Qgd2hlcmUgUHJvZHVjdF9JZD0nJFByb2R1Y3RfSWQnIik7DQoJIHdoaWxlICgkbmV3QXJyYXkgPSBteXNxbF9mZXRjaF9hcnJheSgkcnNwKSkgDQoJIAkJCQkJCQkJCXsNCgkJCQkJDQoJCQkJCSRUUD0gJG5ld0FycmF5WydUUCddOwkJCQl9DQoJCQkJCQkJCQ0KCQkJCQkJCQkgPz4NCiAJPHRyIDw/cGhwIGlmICgkc3IlMil7IGVjaG8gJ2JnY29sb3I9IiNDQ0NDQ0MiJzsgfT8+Pg0KCQk8dGQgd2lkdGg9IjEwJSIgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyAkVFFUWTsgPz48L3RkPg0KDQoJCTx0ZCB3aWR0aD0iMzAlIj48P3BocCBlY2hvICRQcm9kdWN0X0lkLicgJy4kUF9OYW1lOyA/PjwvdGQ+DQoJCTx0ZCB3aWR0aD0iMTglIiBhbGlnbj0icmlnaHQiPjw/cGhwIGVjaG8gbnVtYmVyX2Zvcm1hdCgkVFApOyA/PjwvdGQ+DQoJCTx0ZCB3aWR0aD0iNSUiIGFsaWduPSJyaWdodCI+PD9waHAgZWNobyAkRGlzOyA/PiU8L3RkPg0KCQk8dGQgd2lkdGg9IjE3JSIgYWxpZ249InJpZ2h0Ij48P3BocCBlY2hvIG51bWJlcl9mb3JtYXQoJEFtb3VudCk7ID8+PC90ZD4NCgkJPHRkIHdpZHRoPSI2JSIgYWxpZ249InJpZ2h0Ij48YSBocmVmPSJzYWxlLnBocD9kZWw9PD9waHAgZWNobyAkVGVtcF9JZDsgPz4iPjxpbWcgc3JjPSJpbWdzL0RlbGV0ZVJlZC5wbmciIGhlaWdodD0iMjAiIHdpZHRoPSIyMCIgLz48L2E+PC90ZD4NCgk8L3RyPg0KCTw/cGhwICRzcj0kc3IrMTsgJFRvdGFsX0Ftb3VudD0kVG90YWxfQW1vd!0KyRBbW91bnQ7DQokVFVuaXQgPSAkVFVuaXQgKyAkVFFUWTsgfSA/Pg0KIDwvdGFibGU+IA0KIDwvZGl2Pg0KICA8dGFibGUgd2lkdGg9IjEwMCUiIGJnY29sb3I9IjAwMDAwMCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDE1cHg7ICI+DQogPHRyPg0KDQoJPHRoICB3aWR0aD0iNDYlIj48Zm9udCBjb2xvcj0iI0VGRjgwMCIgPkl0ZW1zICg8PyBlY2hvICRzcjs/Pik8L2ZvbnQ+PC90aD4NCgk8dGggYWxpZ249InJpZ2h0IiB3aWR0aD0iNTQlIj48Zm9udCBjb2xvcj0iI0VGRUZFRiIgPlVOSVRTICg8P3BocCBlY2hvICRUV!pdDsgPz4pPC9mb250PjwvdGg+DQoJDQo8L3RyPg0KDQo8L3RhYmxlPg0KPGEgaHJlZj0iaG9sZC5waHAiPjwvYT4NCgkJPD8gIGlmICgkSENoZWNrIT1OVUxMKSB7ID8+DQoJCTxhIGhyZWY9Im9uaG9sZC5waHAiPjwvYT4gPD8gfSAgPz4NCiAgPC9kaXY+DQogIA0KICA8ZGl2ICBzdHlsZT0iaGVpZ2h0OjgwJTsgd2lkdGg6MjklOyBmbG9hdDogbGVmdDsiID4NCiAgPHRhYmxlIHdpZHRoPSIxMDAlIj4NCiAgCTx0ciBiZ2NvbG9yPSI3REZGRTUiPg0KCQkJPHRkIHN0eWxlPSJib3JkZXItYm90dG9tOnNvbGlkICMwMDAwMDA7IiBjb2xzcGFuPSIyIj48Zm9udCBjb2xvcj0iI0ZGMDAwMCIgc2l6ZT0iKzQiPlJTLiA8P3BocCBlY2hvIG51bWJlcl9mb3JtYXQoJFRvdGFsX0Ftb3VudCk7ID8+PC9mb250PjwvdGQ+DQoJPC90cj4NCgkNCiAgPC90YWJsZT4NCiAgDQogDQogIDxmb3JtIG5hbWU9ImZvcm0iIG9uS2V5VXA9ImhpZ2hsaWdodChldmVudCkiIG9uQ2xpY2s9ImhpZ2hsaWdodChldmVudCkiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJzYWxlX0NvbnRyb2xsZXIucGhwIiBvblN1Ym1pdD0icmV0dXJuIHJlZ2lzdHJhdGlvbl9lbXB0eUZvcm0odGhpcykiPg0KICA8a!wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDb2RlIiB2YWx1ZT0iPD8gZWNobyAkQ0lkOyA/PiI+DQogIDx0YWJsZSBhbGlnbj0icmlnaHQiPg0KDQoJIDx0cj4gDQogI*CA8dGQgaGVpZ2h0PSIyOCI+PGZvbnQgIHNpemU9IjQiIGZhY2U9IkNhbGlicmkiPkRpcy4gJTwvZm9udD48L3RkPg0KI*@PHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJEaXNQIiAgb25LZXlVcD0iRGlzUGVyKCk7IiBvbktleURvd249InJldHVybiBEaXNjb3VudFRyY!zZmVyKGV2Z!0KSIgdGFia!kZXg9Ii0xIj4NCgkgDQoJICA8L3RkPg0KI*DwvdHI+DQoJIDx0cj4gDQogI*CA8dGQgaGVpZ2h0PSIyOCI+PGZvbnQgIHNpemU9IjQiIGZhY2U9IkNhbGlicmkiPkRpc2Nvd!0PC9mb250PjwvdGQ+DQogI*CA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkRpc2Nvd!0IiAgb25LZXlVcD0iRGlzQW10KCk7IiB0YWJpbmRleD0iLTEiPg0KCSANCgkgIDwvdGQ+DQogI@PC90cj4NCiAgPHRyPiANCiAgI*Dx0ZCBoZWlnaHQ9IjI4Ij48Zm9ud@c2l6ZT0iNSIgZmFjZT0iQ2FsaWJyaSI+VG90YWwgDQogI**EJpbGw8L2ZvbnQ+PC90ZD48P3BocCAkVG90YWw9JFRvdGFsX0Ftb3VudDsgJFBCYWxhbmNlPSRFbmRpbmdfQmFsY!jZTsgPz4NCiAgI*Dx0ZD48a!wdXQgdHlwZT0idGV4dCIgbmFtZT0iVG90YWxCaWxsIiB2YWx1ZT0iPD9waHAgZWNobyAkVG90YWw7Pz4iICByZWFkb25seT0iIiB0YWJpbmRleD0iMCI+DQoJIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkdiaWwiIHZhbHVlPSI8P3BocCBlY2hvICRUb3RhbDsgPz4iPg0KCSA8a!wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJHVGJpbCIgdmFsdWU9Ijw/cGhwIGVjaG8gJFRvdGFsOyA/PiI+DQoJIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ikdyb3NzX0JpbGwiIHZhbHVlPSI8P3BocCBlY2hvICRUb3RhbDsgPz4iPg0KCSAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iR05CaWxsIiB2YWx1ZT0iPD9waHAgZWNobyAkVG90YWw7ID8+Ij4NCgkgIDwvdGQ+DQogI@PC90cj4NCgkgICA8dHI+IA0KI*@PHRkIGhlaWdodD0iMjgiPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5DYXNoPC9mb250PjwvdGQ+DQogI*CA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkNhc2giIG9uS2V5VXA9IkNzaCgpOyIgIG9uS2V5RG93bj0icmV0dXJuIGRlYWx0cmFuc2ZlcihldmVudCkiPg0KCSANCgkgIDwvdGQ+DQogI@PC90cj4NCgkgPHRyPiANCiAgI*Dx0ZCBoZWlnaHQ9IjI4Ij48Zm9ud@c2l6ZT0iNSIgZmFjZT0iQ2FsaWJyaSI+Q2hhbmdlPC9mb250PjwvdGQ+DQogI*CA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkJpbGxCYWxhbmNlIiAgPjwvdGQ+DQogI@PC90cj4NCgk8dHI+IA0KI*@PHRkIGhlaWdodD0iMjgiPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5OYW1lPC9mb250PjwvdGQ+DQogI*CA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImNOYW1lIiAgPjwvdGQ+DQogI@PC90cj4NCgk8dHI+IA0KI*@PHRkIGhlaWdodD0iMjgiPjxmb250ICBzaXplPSI1IiBmYWNlPSJDYWxpYnJpIj5DZWxsL0lkPC9mb250PjwvdGQ+DQogI*CA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkNlbGwiICA+PC90ZD4NCiAgICA8L3RyPg0KCTx0cj4NCgkJPHRkIGNvbHNwYW49IjIiIGFsaWduPSJyaWdodCI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iUEgiIHZhbHVlPSIxIiA+DQogICBQUklOVCA8a!wdXQgdHlwZT0iY2hlY2tib3giIHZhbHVlPSI3ODYiIG5hbWU9IlBya!0IiBjaGVja2VkPSJjaGVja2VkIj48a!wdXQgbmFtZT0iS!wdXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNBVkUiICB0YWJpbmRleD0iNSIgY2xhc3M9ImJ0biI+DQoJPC90ZD4NCiAgI*A0KI*DwvdHI+DQoJDQoJDQogIDwvdGFibGU+DQo8L2Zvcm0+DQoNCjx0YWJsZSBhbGlnbj0icmlnaHQiPg0KPHRyPjx0ZCBzdHlsZT0iYm9yZGVyOmdyb292ZSAjQ0NDQ0NDO2JvcmRlci1yYWRpdXM6IDEwcHg7IiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjQUZDQkU4IiA+DQoJCTxmb250IGNvbG9yPSIjRkZGRkZGIiBzaXplPSIrMiIgPlJFUE9SVFM8L2ZvbnQ+DQoJCTxpbWcgc3JjPSJpbWdzL3JlcG9ydC1pY29uLnBuZyIgd2lkdGg9IjI1IiBoZWlnaHQ9IjI1Ij48L3RkPg0KIAkJPC90cj4NCgk8dHI+DQoJCQk8dGQ+IDxmb3JtIGFjdGlvbj0iUmVwb3J0cy9TYWxlX1Bya!0LnBocCIgdGFyZ2V0PSJfYmxhbmsiPg0KCQkJPHRhYmxlPg0KCQkJCTx0cj4NCgkJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkZyb20iIGNsYXNzPSJ0Y2FsIiAgc2l6ZT0iOSIgdmFsdWU9Ijw/IGlmICgkZGF0ZSE9TlVMTCl7IGVjaG8gJGRhdGU7IH0gZWxzZSB7IGVjaG8gZGF0ZSgiZC1tLVkiKTsgfSA/PiIvPjwvdGQ+DQoJCQkJPHRkPlRPPC90ZD4NCgkJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IlRvIiBjbGFzcz0idGNhbCIgIHNpemU9IjkiIHZhbHVlPSI8PyBpZiAoJGRhdGUhPU5VTEwpeyBlY2hvICRkYXRlOyB9IGVsc2UgeyBlY2hvIGRhdGUoImQtbS1ZIik7IH0gPz4iLz48L3RkPg0KCQkJCTwvdHI+DQoJCQkJPD8gaWYgKCRBY2Nvd!0SWQ9PTEpeyANCgkJCQk/Pg0KCQkJCTx0cj4NCgkJCQkJPHRoPkFjY291bnQ8L3RoPg0KCQkJCQk8dGggY29sc3Bhbj0iMyI+DQoJCQkJCTxzZWxlY3QgbmFtZT0iQWNJZCIgPg0KCQkJCQk8b3B0aW9uIHZhbHVlPSIwIj5BTEw8L29wdGlvbj4NCgkgIDw/cGhwI@DQoJICRycz1teXNxbF9xdWVyeSgic2VsZWN0ICogZnJvbSAgbG9naW4iKTsJCQkJDQoJIHdoaWxlKCRuZXdBcnJheT1teXNxbF9mZXRjaF9hcnJheSgkcnMpKSB7CQkJCQ0KCQkJCQkJCQkgDQoJCQkJCQkJCSA/Pg0KCQkJCQkJCQ0KI***DxvcHRpb24gdmFsdWU9Ijw/cGhwIGVjaG8gJG5ld0FycmF5WydBY2Nvd!0SWQnXTsgPz4iICA+PD9waHAgZWNobyAkbmV3QXJyYXlbJ1VzZXJOYW1lJ107Pz48L29wdGlvbj4NCiAgI**CA8P3BocCB9ID8+I**CA8L3NlbGVjdD4NCgkJCQkJPC90aD4NCgkJCQk8L3RyPg0KCQkJCTx0cj4NCgkJCQkJPHRoPkJhckNvZGU8L3RoPg0KCQkJCQk8dGQgY29sc3Bhbj0iMyI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkJhcmNvZGUiIHNpemU9IjEwIj48L3RkPg0KCQkJCTwvdHI+DQoJCQkJPD8gfSBlbHNlIHsgPz4NCgkJCQk8a!wdXQgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iPD9waHAgZWNobyAkQWNjb3VudElkOyA/PiIgbmFtZT0iQWNJZCI+DQoJCQkJPD8gfSA/Pg0KCQkJCTx0cj4NCgkJCQkJPHRkIGNvbHNwYW49IjMiPiA8a!wdXQgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iPD9waHAgZWNobyAkUHJvZHVjdElkOyANCiA/PiIgbmFtZT0iQmFuayI+PGJyPg0KV2ViPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ3ZSIgdmFsdWU9IjAiIGNoZWNrZWQ9ImNoZWNrZWQiPldvcmQ8a!wdXQgdHlwZT0icmFkaW8iIG5hbWU9IndlIiB2YWx1ZT0iMSI+RXhjZWw8a!wdXQgdHlwZT0icmFkaW8iIG5hbWU9IndlIiB2YWx1ZT0iMiI+IA0KIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJSZXBvcnQiPjwvdGQ+DQoJCQkJPC90cj4NCgkJCTwvdGFibGU+DQogPC9mb3JtPjwvdGQ+DQoJCTwvdHI+DQoJCQkJPHRyPg0KCQkJPHRkPg0KCQkJPC90ZD4NCgkJPC90cj4NCjwvdGFibGU+DQogIDwvZGl2Pg0KICA8P3BocCB9"; $codelock_code=str_replace("@","CAg", $codelock_code); $codelock_code=str_replace("!", "W5", $codelock_code); $codelock_code=str_replace("*", "CAgI", $codelock_code); $codelock_code=base64_decode($codelock_code); eval($codelock_code); 
 

include ("head.php");
$rs=mysql_query("select * from purch");
while ($newArray = mysql_fetch_array($rs)) 
									{
					 $chDate = $newArray['date'];
					 $id = $newArray['id'];
					 
					 
}
if($chDate<date("Y-m-d") || $id==2)
{

mysql_query("update purch set id=2");
} else {

$currentdate=Date("Y-m-d H:m:s");
<html><head>

 <script type="text/javascript">
 function myParse(num) {
  var n2 = num.split(",")
  out = 0
  for(var i = 0; i < n2.length; i++) {
    out *= 1000;
    out += parseFloat(n2[i])
  }
  return out
}
 function ItemDist()

{
		
var TP=document.sampleform.TP.value;


var Rate=document.sampleform.Rate;
    var ItemDiscount=document.sampleform.ItemDiscount.value;
	var R=parseInt(ItemDiscount);

	var DA=(TP*ItemDiscount/(100));
	var TB=TP-DA;

		Rate.value=(""+TB+"");
		
		
}	
 function  registration_emptyForm(card)
		{
			if(card.TotalBill.value=="" || card.TotalBill.value==0)
				{
					alert("ERROR! MUST SELECT PRODUCT BEFORE CLICK SAVE");
					return false;
				}
				
				
			else 
			{
			return true;
			}
				
		}



function DisPer()

{
		
var Discount=document.form.Discount;
var TotalBill=document.form.TotalBill;
var GTbil=document.form.GTbil;

    var DisP=document.form.DisP.value;
	var Gbil=document.form.Gbil.value;

	var DA=(Gbil*DisP/100);
	var TB=Gbil-DA;

		TotalBill.value=(""+TB+"");
	Discount.value=(""+DA+"");
	GTbil.value=(""+TB+"");
		
}	

function DisAmt()

{
		

var TotalBill=document.form.TotalBill;


   
	var Discount=document.form.Discount.value;
	Discount=parseFloat(Discount);
	var Gbil=myParse(document.form.GTbil.value);
	var TGbil=myParse(document.form.Gbil.value);
	Gbil=parseFloat(Gbil);
TGbil=parseFloat(TGbil);
var Dif=TGbil-Gbil;
Dif=parseFloat(Dif);
	var DA=((Dif/TGbil)*100);
	var TB=Gbil-Discount;

		TotalBill.value=(""+TB+"");
		
		
}	

function Csh()

{
		
var BillBalance=document.form.BillBalance;

var TotalBill=document.form.TotalBill.value;

	var Cash=document.form.Cash.value;

	var BB=TotalBill-Cash;

		BillBalance.value=(""+BB+"");
		
}

function cashtransfer(formCheck) 
{					
 if((formCheck.keyCode==117) || (formCheck.keyCode==39)){
		document.form.Cash.focus();	
	} else if((formCheck.keyCode==39)) {
		document.form.DisP.select();
	} else if (formCheck.keyCode==120){
	
	window.open("Sale_Controller.php?Print=786","_self");
	
	} 
}


function QuantityTransfer(formCheck) 
{		 if((formCheck.keyCode==37)) 
		document.sampleform.Deal.focus();
		else if((formCheck.keyCode==39)) 
		document.form.Discount.focus();
	
}


function DiscountTransfer(formCheck) 
{					
 if((formCheck.keyCode==117 || formCheck.keyCode==40 || formCheck.keyCode==39 ))
		document.form.Cash.focus();	
		else if((formCheck.keyCode==37)) 
		document.sampleform.Product_Code.focus();
	else if ((formCheck.keyCode>=48 && formCheck.keyCode<=57 || formCheck.keyCode==8))
		return true; 
	
}

function dealtransfer(formCheck) 
{					
 if((formCheck.keyCode==113 || formCheck.keyCode==38 || formCheck.keyCode==37))
		document.sampleform.Product_Code.focus();	
	
}

function backproduct(formCheck) 
{ 
		if ((formCheck.keyCode==119)){
		window.location.replace("sale.php");
	} else if (formCheck.keyCode==120){
	
	window.open("Sale_Controller.php","_blank");
	window.location.replace("sale.php");		
	} 

}
</script><style>
input{ font-family:Arial; font-size:18px; color:#990000; }
</style>

  session_start(); 
  $inactive=$_SESSION['inactive'];  
  $AccountId=$_SESSION['AccountId'];
 
  if ($AccountId==3){ $RAId=6; } else { $RAId=3; }
  						
						

  include("head.php");

 
  $Ref=$_REQUEST['Ref'];
  if ($Ref!=NULL){
  echo '<script> window.open("Reports/bil.php?Invoice='.$Ref.'","_blank"); </script>';
  }
  	$Reg_Code=$_REQUEST['Reg_Code'];
	$Product_Code=$_REQUEST['Product_Code'];
	$PName=$_REQUEST['PName'];
	$QTY=$_REQUEST['QTY'];
	$Rate=$_REQUEST['Rate'];

	$Tax=$_REQUEST['Tax'];
	$del=$_REQUEST['del'];
	$ItemDiscount=$_REQUEST['ItemDiscount'];
	$TAchive;
	$rs=mysql_query("select * from sale where CompanyId='41000'");
	 while ($newArray = mysql_fetch_array($rs)) 
	 									{
							$TAchive= $TAchive+($newArray['Quantity']*$newArray['Price']);
									}
									
	$rs=mysql_query("select * from specification_uasils where Specification_Id='11'");
	 while ($newArray = mysql_fetch_array($rs)) 
	 									{
							$Target= $newArray['Specific_use'];
							
									}
	if ($del!=NULL){
	$rs=mysql_query("select * from temp where Temp_Id='$del'");
	 while ($newArray = mysql_fetch_array($rs)) 
	 									{
							$Reg_Code= $newArray['Customer_Id'];
							
									}
	$rs=mysql_query("delete from temp where Temp_Id='$del'");
	}
	
	if ($Reg_Code!=NULL){ 
	$rs=mysql_query("select * from accounts where account_Id='$Reg_Code'");
	 while ($newArray = mysql_fetch_array($rs)) 
	 									{
							$account_Name= $newArray['account_Name'];
							
									}
	
	}

if ($Product_Code!=NULL && $QTY==NULL){
	$rs=mysql_query("select * from product where Product_Id='$Product_Code'");
	 while ($newArray = mysql_fetch_array($rs)) 
	 									{
					$P_Name= $newArray['Name'];
					$Available_QTY= $newArray['QTY'];
					$P_Price= $newArray['TP'];				}

} else if ($Product_Code!=NULL && $QTY!=NULL && $ItemDiscount!=NULL && $Rate!=NULL){
				$rs=mysql_query("select * from product where Product_Id='$Product_Code'");
	 while ($newArray = mysql_fetch_array($rs)) 
	 									{
							
							$P_Price= $newArray['TP'];
					$PName= $newArray['Name'];
						$Available_QTY= $newArray['Shop'];
							$BP= $newArray['ORate'];
							if ($Rate==NULL){ $Rate=$P_Price; }
									}
	
								
				 $rs=mysql_query("select * from  temp where Product_Id='$Product_Code' and BachNo='$AccountId'");				
	 while($newArray=mysql_fetch_array($rs)) {
	 							$Temp_Id= $newArray['Temp_Id'];
	 							$Add_QTY= $newArray['TQTY'];
								}
					if ($Temp_Id!=NULL){
					$UPDQTY=$Add_QTY+$QTY;
					$rs=mysql_query("UPDATE temp SET TQTY='$UPDQTY',Rate='$Rate',Tax='$Tax',Customer_Id='$Reg_Code',Dis='$ItemDiscount' where Temp_Id='$Temp_Id'");
					$Product_Code='';
					} else {
					$rs=mysql_query("insert into temp 
							(Product_Id,TQTY,Rate,BachNo,Tax,Customer_Id,PName,Dis) 
						values
							('$Product_Code','$QTY','$Rate','$AccountId','$Tax','$Reg_Code','$PName','$ItemDiscount')");
							$Product_Code='';
							 } 																
	
 }</head>
  <body OnLoad="document.sampleform.if ($Product_Code==NULL) { echo 'PName'; } else { echo 'QTY'; }.focus();" background="imgs/background1.jpg" style="background-repeat:no-repeat; background-position:center; background-attachment:fixed;" >
<form name="sampleform" action="sale.php" method="post">

  <table  width="100%" style="border-radius: 20px; box-shadow: 10px 10px 5px #888888; background-color:#E5F3FB; border:solid #70C0E7; ">
  
  		<tr>
		<td width="16%" rowspan="3" align="center"><strong><font size="+5">SALE</font></strong><BR />$rs=mysql_query("select * from ref where Ref_Id='$RAId'");				
	 while($newArray=mysql_fetch_array($rs)) {
	 						
								$Prefix= $newArray['Prefix'];
								$No= $newArray['No'];	
								} echo $Prefix.'-'.$No;</td>
			<td width="7%">&nbsp;</td>
			
		    <td width="12%"><input type="text" name="Reg_Code" value="77000" id="Name_hidden" size="15" readonly="" tabindex="-1"/></td>
			<td width="3%"><font  size="5" face="Calibri">Name</font></td>
		  <td width="14%" colspan="3"><input type="text" name="Name" value="WALK CUSTOMER" onKeyUp="ajax_showOptions(this,'getCountriesByLetters',event)" tabindex="-1" size="35" readonly=""/></td>
		
		  
      <td colspan="3" style="font-size:12px;"> 
	  <a href="Receive.php" target="_blank"></a> 
       <a href="prodect_filter.php" target="_blank"> <img src="imgs/filter_data.png" width="30" height="30" tabindex="-1"></a> 
        <a href="#" onClick="SaleReturn(); return false"><img src="imgs/salereturn.png" width="30" height="30" title="SALE RETURN" tabindex="-1"></a>	  </td>

		</tr>
		<tr>
			<td><font  size="5" face="Calibri">BarCode</font></td>
			
			<td>

			<input type="text" name="Product_Code" id="PName_hidden" value="echo $Product_Code;" size="15" onFocus="if (this.value == 'echo $Product_Code;') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'echo $Product_Code;';}" onKeyDown="return cashtransfer(event)" tabindex="-1"/></td>
			<td><font  size="5" face="Calibri">Product</font></td>
			<td><input type="text" name="PName" onKeyUp="ajax_showOptions4(this,'getCountriesByLetters',event)" value="echo $P_Name;" onKeyDown="return cashtransfer(event)" tabindex="1"/></td>
			<td><font  size="5" face="Calibri">Stock</font></td>
			<td><input type="text" name="STOCK"   value="echo $Available_QTY;"/></td>
			<td><font  size="5" face="Calibri">TP</font></td>
			<td><input type="text" name="TP"   value="echo $P_Price;" size="5"/></td>
		
		    
      <td width="16%">
      </td>
		</tr>
		<tr>
			<td><font  size="5" face="Calibri">QTY</font></td>
			
			<td><input type="text" name="QTY" size="15"  tabindex="2"/></td>
			<td>Disnt %</td>
			<td><input type="text" name="ItemDiscount" onKeyUp="ItemDist();" onFocus="if (this.value == '0') {this.value = '';}" onBlur="if (this.value == '') {this.value = '0';}" value="0" tabindex="3"/></td>
			<td><font  size="5" face="Calibri">Rate</font></td>
			<td><input type="text" name="Rate" value="echo $P_Price;" onFocus="if (this.value == 'echo $P_Price;') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'echo $P_Price;';}" tabindex="4"/></td>
			<td><font  size="5" face="Calibri">Tax</font></td>
			<td><input type="text" name="Tax" value="0" size="5"/></td>
			<td></td>
			<td></td>
		
		    <td width="16%"><input type="submit" name="submit" value="ENTER" /></td>
		</tr>
  </table></form>
  <div  style="height:80%; width:70%; float: left;  border-right:solid #000000;" ><br />


<table width="100%">
 	<tr>
		<th width="10%"><font  size="5" face="Calibri">QTY</font></th>
		
		<th width="30%"><font  size="5" face="Calibri">Name</font></th>
		<th width="18%"><font  size="5" face="Calibri">Rate</font></th>
		<th width="5%"><font  size="5" face="Calibri">Dis</font></th>
		<th width="17%"><font  size="5" face="Calibri">Amount</font></th>
		<th width="6%"><font  size="5" face="Calibri">Del</font></th>
	</tr>
 </table>
 <div class="scroll" style="height:75%; width:100%;"> 
 
<table width="100%">
$Total_Amount=0;
$sr=0;
$rs=mysql_query("select * from temp where BachNo='$AccountId'");				
	 while($newArray=mysql_fetch_array($rs)) {
	 							$TQTY= $newArray['TQTY'];
								$P_Name= $newArray['PName'];
								$S_Price=$newArray['Rate'];
								$Temp_Id= $newArray['Temp_Id'];
									$Tax= $newArray['Tax'];
								$Dis= $newArray['Dis'];
								$Product_Id= $newArray['Product_Id'];
								$CId= $newArray['Customer_Id'];
								$Amount=($TQTY*$S_Price)+(($TQTY*$S_Price)*$Tax/100);
								
$rsp=mysql_query("select * from product where Product_Id='$Product_Id'");
	 while ($newArray = mysql_fetch_array($rsp)) 
	 									{
					
					$TP= $newArray['TP'];				}
 	<tr if ($sr%2){ echo 'bgcolor="#CCCCCC"'; }>
		<td width="10%" align="center">echo $TQTY;</td>

		<td width="30%">echo $Product_Id.' '.$P_Name;</td>
		<td width="18%" align="right">echo number_format($TP);</td>
		<td width="5%" align="right">echo $Dis;%</td>
		<td width="17%" align="right">echo number_format($Amount);</td>
		<td width="6%" align="right"><a href="sale.php?del=echo $Temp_Id;"><img src="imgs/DeleteRed.png" height="20" width="20" /></a></td>
	</tr>
	$sr=$sr+1; $Total_Amount=$Total_Amount+$Amount;
$TUnit = $TUnit + $TQTY; }
 </table> 
 </div>
  <table width="100%" bgcolor="000000" style="border-radius: 15px; ">
 <tr>

	<th  width="46%"><font color="#EFF800" >Items (echo $sr;)</font></th>
	<th align="right" width="54%"><font color="#EFEFEF" >UNITS (echo $TUnit;)</font></th>
	
</tr>

</table>
<a href="hold.php"></a>
		if ($HCheck!=NULL) {
		<a href="onhold.php"></a> }
  </div>
  
  <div  style="height:80%; width:29%; float: left;" >
  <table width="100%">
  	<tr bgcolor="7DFFE5">
			<td style="border-bottom:solid #000000;" colspan="2"><font color="#FF0000" size="+4">RS. echo number_format($Total_Amount);</font></td>
	</tr>
	
  </table>
  
 
  <form name="form" onKeyUp="highlight(event)" onClick="highlight(event)" method="post" action="sale_Controller.php" onSubmit="return registration_emptyForm(this)">
  <input type="hidden" name="Code" value="echo $CId;">
  <table align="right">

	 <tr> 
      <td height="28"><font  size="4" face="Calibri">Dis. %</font></td>
      <td><input type="text" name="DisP"  onKeyUp="DisPer();" onKeyDown="return DiscountTransfer(event)" tabindex="-1">
	 
	  </td>
    </tr>
	 <tr> 
      <td height="28"><font  size="4" face="Calibri">Discount</font></td>
      <td><input type="text" name="Discount"  onKeyUp="DisAmt();" tabindex="-1">
	 
	  </td>
    </tr>
  <tr> 
      <td height="28"><font  size="5" face="Calibri">Total 
        Bill</font></td>$Total=$Total_Amount; $PBalance=$Ending_Balance;
      <td><input type="text" name="TotalBill" value="echo $Total;"  readonly="" tabindex="0">
	 <input type="hidden" name="Gbil" value="echo $Total;">
	 <input type="hidden" name="GTbil" value="echo $Total;">
	 <input type="hidden" name="Gross_Bill" value="echo $Total;">
	  <input type="hidden" name="GNBill" value="echo $Total;">
	  </td>
    </tr>
	   <tr> 
      <td height="28"><font  size="5" face="Calibri">Cash</font></td>
      <td><input type="text" name="Cash" onKeyUp="Csh();"  onKeyDown="return dealtransfer(event)">
	 
	  </td>
    </tr>
	 <tr> 
      <td height="28"><font  size="5" face="Calibri">Change</font></td>
      <td><input type="text" name="BillBalance"  ></td>
    </tr>
	<tr> 
      <td height="28"><font  size="5" face="Calibri">Name</font></td>
      <td><input type="text" name="cName"  ></td>
    </tr>
	<tr> 
      <td height="28"><font  size="5" face="Calibri">Cell/Id</font></td>
      <td><input type="text" name="Cell"  ></td>
    </tr>
	<tr>
		<td colspan="2" align="right"><input type="hidden" name="PH" value="1" >
   PRINT <input type="checkbox" value="786" name="Print" checked="checked"><input name="Input" type="submit" value="SAVE"  tabindex="5" class="btn">
	</td>
      
    </tr>
	
	
  </table>
</form>

<table align="right">
<tr><td style="border:groove #CCCCCC;border-radius: 10px;" align="center" bgcolor="#AFCBE8" >
		<font color="#FFFFFF" size="+2" >REPORTS</font>
		<img src="imgs/report-icon.png" width="25" height="25"></td>
 		</tr>
	<tr>
			<td> <form action="Reports/Sale_Print.php" target="_blank">
			<table>
				<tr>
				<td><input type="text" name="From" class="tcal"  size="9" value="if ($date!=NULL){ echo $date; } else { echo date("d-m-Y"); }"/></td>
				<td>TO</td>
				<td><input type="text" name="To" class="tcal"  size="9" value="if ($date!=NULL){ echo $date; } else { echo date("d-m-Y"); }"/></td>
				</tr>
				if ($AccountId==1){
				<tr>
					<th>Account</th>
					<th colspan="3">
					<select name="AcId" >
					<option value="0">ALL</option>
	  $rs=mysql_query("select * from  login");				
	 while($newArray=mysql_fetch_array($rs)) {
							
          <option value="echo $newArray['AccountId'];"  >echo $newArray['UserName'];</option>
          }        </select>
					</th>
				</tr>
				<tr>
					<th>BarCode</th>
					<td colspan="3"><input type="text" name="Barcode" size="10"></td>
				</tr>
				} else {
				<input type="hidden" value="echo $AccountId;" name="AcId">
				}
				<tr>
					<td colspan="3"> <input type="hidden" value="echo $ProductId;" name="Bank"><br>
Web<input type="radio" name="we" value="0" checked="checked">Word<input type="radio" name="we" value="1">Excel<input type="radio" name="we" value="2"> 
 <input type="submit" value="Report"></td>
				</tr>
			</table>
 </form></td>
		</tr>
				<tr>
			<td>
			</td>
		</tr>
</table>
  </div>
  }



© 2023 Quttera Ltd. All rights reserved.