{"id":"ssc-testnet-reaz","json":{"contractName":"contract","contractAction":"update","contractPayload":{"name":"nftauction","params":"","code":"Y29uc3QgVVRJTElUWV9UT0tFTl9TWU1CT0w9IkJFRSIsTUFYX05VTV9VTklUU19PUEVSQUJMRT01MCxNQVhfQklEX0lOQ1JFTUVOVF9QRVJDRU5UPTFlNCxDT05UUkFDVF9OQU1FPSJuZnRhdWN0aW9uIjthY3Rpb25zLmNyZWF0ZVNTQz1hc3luYygpPT57aWYoITE9PT1hd2FpdCBhcGkuZGIudGFibGVFeGlzdHMoImF1Y3Rpb25zIikpe2F3YWl0IGFwaS5kYi5jcmVhdGVUYWJsZSgiYXVjdGlvbnMiLFsiYXVjdGlvbklkIiwic3ltYm9sIiwibGFzdFZhbGlkTGVhZCIsImV4cGlyeVRpbWVzdGFtcCJdKSxhd2FpdCBhcGkuZGIuY3JlYXRlVGFibGUoInBhcmFtcyIpLGF3YWl0IGFwaS5kYi5jcmVhdGVUYWJsZSgibWFya2V0UGFyYW1zIixbInN5bWJvbCJdKTtjb25zdCBlPXtjcmVhdGlvbkZlZToiMSIsbWluQmlkSW5jcmVtZW50UGVyY2VudDo1MDAsY2FuY2VsTG9ja1RpbWVNaWxsaXM6M2U1LGV4cGlyeVRpbWVNaWxsaXM6ODY0ZTUsbWF4RXhwaXJ5VGltZU1pbGxpczoyNTkyZTYsYXVjdGlvbnNQZXJCbG9jazoxfTthd2FpdCBhcGkuZGIuaW5zZXJ0KCJwYXJhbXMiLGUpfX0sYWN0aW9ucy51cGRhdGVQYXJhbXM9YXN5bmMgZT0+e2lmKGFwaS5hc3NlcnQoYXBpLnNlbmRlcj09PWFwaS5vd25lciwibm90IGF1dGhvcml6ZWQiKSl7dmFye2NyZWF0aW9uRmVlOmksbWluQmlkSW5jcmVtZW50UGVyY2VudDphLGNhbmNlbExvY2tUaW1lTWlsbGlzOnQsZXhwaXJ5VGltZU1pbGxpczpuLG1heEV4cGlyeVRpbWVNaWxsaXM6cyxhdWN0aW9uc1BlckJsb2NrOmV9PWU7Y29uc3Qgcj1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSk7aWYoaSl7aWYoIWFwaS5hc3NlcnQoInN0cmluZyI9PXR5cGVvZiBpJiZhcGkuQmlnTnVtYmVyKGkpLmlzRmluaXRlKCkmJmFwaS5CaWdOdW1iZXIoaSkuZ3RlKDApLCJpbnZhbGlkIGNyZWF0aW9uRmVlIikpcmV0dXJuO3IuY3JlYXRpb25GZWU9aX1pZihhKXtpZighYXBpLmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGEpJiYwPGEmJmE8PU1BWF9CSURfSU5DUkVNRU5UX1BFUkNFTlQsImludmFsaWQgbWluQmlkSW5jcmVtZW50UGVyY2VudCIpKXJldHVybjtyLm1pbkJpZEluY3JlbWVudFBlcmNlbnQ9YX1pZih0KXtpZighYXBpLmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKHQpJiYwPHQsImludmFsaWQgY2FuY2VsTG9ja1RpbWVNaWxsaXMiKSlyZXR1cm47ci5jYW5jZWxMb2NrVGltZU1pbGxpcz10fWlmKG4pe2lmKCFhcGkuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIobikmJjA8biwiaW52YWxpZCBleHBpcnlUaW1lTWlsbGlzIikpcmV0dXJuO3IuZXhwaXJ5VGltZU1pbGxpcz1ufWlmKHMpe2lmKCFhcGkuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIocykmJjA8cywiaW52YWxpZCBtYXhFeHBpcnlUaW1lTWlsbGlzIikpcmV0dXJuO3IubWF4RXhwaXJ5VGltZU1pbGxpcz1zfWlmKGUpe2lmKCFhcGkuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZSkmJjA8ZSwiaW52YWxpZCBhdWN0aW9uc1BlckJsb2NrIikpcmV0dXJuO3IuYXVjdGlvbnNQZXJCbG9jaz1lfWF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscil9fTtjb25zdCBjb3VudERlY2ltYWxzPWU9PmFwaS5CaWdOdW1iZXIoZSkuZHAoKSxnZXRUaW1lc3RhbXA9ZT0+e3RyeXtjb25zdCBpPW5ldyBEYXRlKGAke2V9LjAwWmApO3JldHVybiBpLmdldFRpbWUoKX1jYXRjaChlKXtyZXR1cm4hMX19LHRyYW5zZmVySXNTdWNjZXNzZnVsPShlLGksYSx0LG4scyk9PiEodm9pZCAwIT09ZS5lcnJvcnN8fCFlLmV2ZW50c3x8dm9pZCAwPT09ZS5ldmVudHMuZmluZChlPT4idG9rZW5zIj09PWUuY29udHJhY3QmJmUuZXZlbnQ9PT1pJiZlLmRhdGEuZnJvbT09PWEmJmUuZGF0YS50bz09PXQmJmFwaS5CaWdOdW1iZXIoZS5kYXRhLnF1YW50aXR5KS5lcShzKSYmZS5kYXRhLnN5bWJvbD09PW4pKSxzZW5kTmZ0cz1hc3luYyhlLGkpPT57YXdhaXQgYXBpLmV4ZWN1dGVTbWFydENvbnRyYWN0KCJuZnQiLCJ0cmFuc2ZlciIse2Zyb21UeXBlOiJjb250cmFjdCIsdG86ZSx0b1R5cGU6InVzZXIiLG5mdHM6W2ldLGlzU2lnbmVkV2l0aEFjdGl2ZUtleTohMH0pfSxyZXR1cm5CaWRzPWFzeW5jKGksYSk9Pntmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrPTEpe3ZhcnthY2NvdW50OnQsYmlkOm59PWlbZV07YXdhaXQgYXBpLnRyYW5zZmVyVG9rZW5zKHQsYSxuLCJ1c2VyIil9fSxjYW5jZWxBdWN0aW9uPWFzeW5jIGU9Pnt2YXJ7YXVjdGlvbklkOmksc3ltYm9sOmEsc2VsbGVyOnQsbmZ0SWRzOm4scHJpY2VTeW1ib2w6cyxiaWRzOnJ9PWU7YXdhaXQgcmV0dXJuQmlkcyhyLHMpO249e3N5bWJvbDphLGlkczpufTthd2FpdCBzZW5kTmZ0cyh0LG4pLGF3YWl0IGFwaS5kYi5yZW1vdmUoImF1Y3Rpb25zIixlKSxhcGkuZW1pdCgiY2FuY2VsQXVjdGlvbiIse2F1Y3Rpb25JZDppfSl9LHNldHRsZUF1Y3Rpb249YXN5bmMobixzPW51bGwpPT57Y29uc3R7YXVjdGlvbklkOnIsc3ltYm9sOm8sc2VsbGVyOmMsbmZ0SWRzOmQscHJpY2VTeW1ib2w6cCxiaWRzOm0sY3VycmVudExlYWQ6dX09bixlPW5ldyBEYXRlKGAke2FwaS5oaXZlQmxvY2tUaW1lc3RhbXB9LjAwMFpgKTt2YXIgbD1lLmdldFRpbWUoKSxiPXtzeW1ib2w6byxpZHM6ZH07aWYoMDxtLmxlbmd0aCl7dmFyIGY9bnVsbD09PXM/dTpzLHk9bVtmXTttLnNwbGljZShmLDEpLGF3YWl0IHJldHVybkJpZHMobSxwKTt2YXIgZz1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsInRva2VucyIse3N5bWJvbDpwfSk7Y29uc3QgVD1hcGkuQmlnTnVtYmVyKHkuYmlkKTtzPW4uZmVlUGVyY2VudC8xZTQ7bGV0IGU9VC5tdWx0aXBsaWVkQnkocykuZGVjaW1hbFBsYWNlcyhnLnByZWNpc2lvbixhcGkuQmlnTnVtYmVyLlJPVU5EX0RPV04pO2NvbnN0IHY9VC5taW51cyhlKS5kZWNpbWFsUGxhY2VzKGcucHJlY2lzaW9uLGFwaS5CaWdOdW1iZXIuUk9VTkRfRE9XTik7Zj1hd2FpdCBhcGkuZGIuZmluZE9uZSgibWFya2V0UGFyYW1zIix7c3ltYm9sOm99KTtsZXQgaT1hcGkuQmlnTnVtYmVyKDApO2YmJmYub2ZmaWNpYWxNYXJrZXQmJnZvaWQgMCE9PWYuYWdlbnRGZWVQZXJjZW50JiYwPGYuYWdlbnRGZWVQZXJjZW50JiZlLmd0KDApJiYocz1mLmFnZW50RmVlUGVyY2VudC8xZTQsaT1lLm11bHRpcGxpZWRCeShzKS5kZWNpbWFsUGxhY2VzKGcucHJlY2lzaW9uLGFwaS5CaWdOdW1iZXIuUk9VTkRfRE9XTiksZT1lLm1pbnVzKGkpLmRlY2ltYWxQbGFjZXMoZy5wcmVjaXNpb24sYXBpLkJpZ051bWJlci5ST1VORF9ET1dOKSk7Zj1mJiZmLm9mZmljaWFsTWFya2V0P2Yub2ZmaWNpYWxNYXJrZXQ6eS5tYXJrZXRBY2NvdW50O2xldCBhPSExO2UuZ3QoMCkmJihhPSEwLGU9ZS50b0ZpeGVkKGcucHJlY2lzaW9uLGFwaS5CaWdOdW1iZXIuUk9VTkRfRE9XTiksYXdhaXQgYXBpLnRyYW5zZmVyVG9rZW5zKGYscCxlLCJ1c2VyIikpO2xldCB0PSExO2kuZ3QoMCkmJih0PSEwLGk9aS50b0ZpeGVkKGcucHJlY2lzaW9uLGFwaS5CaWdOdW1iZXIuUk9VTkRfRE9XTiksYXdhaXQgYXBpLnRyYW5zZmVyVG9rZW5zKHkubWFya2V0QWNjb3VudCxwLGksInVzZXIiKSksdi5ndCgwKSYmYXdhaXQgYXBpLnRyYW5zZmVyVG9rZW5zKGMscCx2LCJ1c2VyIiksYXdhaXQgc2VuZE5mdHMoeS5hY2NvdW50LGIpLGF3YWl0IGFwaS5kYi5yZW1vdmUoImF1Y3Rpb25zIixuKTtjb25zdCBOPXthdWN0aW9uSWQ6cixzeW1ib2w6byxzZWxsZXI6YyxuZnRJZHM6ZCxiaWRkZXI6eS5hY2NvdW50LHByaWNlOnkuYmlkLHByaWNlU3ltYm9sOnAsdGltZXN0YW1wOmx9O2EmJihOLm1hcmtldEFjY291bnQ9ZixOLmZlZT1lKSx0JiYoTi5hZ2VudEFjY291bnQ9eS5tYXJrZXRBY2NvdW50LE4uYWdlbnRGZWU9aSksYXBpLmVtaXQoInNldHRsZUF1Y3Rpb24iLE4pfWVsc2UgYXdhaXQgYXBpLmRiLnJlbW92ZSgiYXVjdGlvbnMiLG4pLGF3YWl0IHNlbmROZnRzKGMsYiksYXBpLmVtaXQoImV4cGlyZUF1Y3Rpb24iLHthdWN0aW9uSWQ6cixzeW1ib2w6byxzZWxsZXI6YyxuZnRJZHM6ZCx0aW1lc3RhbXA6bH0pfTthY3Rpb25zLmNyZWF0ZT1hc3luYyBlPT57dmFye3N5bWJvbDppLG5mdHM6YSxtaW5CaWQ6dCxmaW5hbFByaWNlOm4scHJpY2VTeW1ib2w6cyxmZWVQZXJjZW50OnIsZXhwaXJ5Om8saXNTaWduZWRXaXRoQWN0aXZlS2V5OmN9PWU7aWYoYXBpLmFzc2VydChpJiYic3RyaW5nIj09dHlwZW9mIGksImludmFsaWQgc3ltYm9sIikmJmFwaS5hc3NlcnQoITA9PT1jLCJ5b3UgbXVzdCB1c2UgYSBjdXN0b21fanNvbiBzaWduZWQgd2l0aCB5b3VyIGFjdGl2ZSBrZXkiKSl7dmFyIGQ9YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJuZnQiLCJuZnRzIix7c3ltYm9sOml9KTtpZihhcGkuYXNzZXJ0KGQsIk5GVCBzeW1ib2wgZG9lcyBub3QgZXhpc3QiKSYmYXBpLmFzc2VydChhJiYib2JqZWN0Ij09dHlwZW9mIGEmJkFycmF5LmlzQXJyYXkoYSkmJnQmJiJzdHJpbmciPT10eXBlb2YgdCYmYXBpLkJpZ051bWJlcih0KS5pc0Zpbml0ZSgpJiZuJiYic3RyaW5nIj09dHlwZW9mIG4mJmFwaS5CaWdOdW1iZXIobikuaXNGaW5pdGUoKSYmcyYmInN0cmluZyI9PXR5cGVvZiBzJiYibnVtYmVyIj09dHlwZW9mIHImJjA8PXImJnI8PTFlNCYmTnVtYmVyLmlzSW50ZWdlcihyKSYmbyYmInN0cmluZyI9PXR5cGVvZiBvLCJpbnZhbGlkIHBhcmFtcyIpJiZhcGkuYXNzZXJ0KGEubGVuZ3RoPD1NQVhfTlVNX1VOSVRTX09QRVJBQkxFLGBjYW5ub3QgcHJvY2VzcyBtb3JlIHRoYW4gJHtNQVhfTlVNX1VOSVRTX09QRVJBQkxFfSBORlQgaW5zdGFuY2VzIGF0IG9uY2VgKSl7dmFyIHA9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIm1hcmtldFBhcmFtcyIse3N5bWJvbDppfSk7aWYoIXB8fHZvaWQgMD09PXAubWluRmVlUGVyY2VudHx8YXBpLmFzc2VydChyPj1wLm1pbkZlZVBlcmNlbnQsYGZlZVBlcmNlbnQgbXVzdCBiZSA+PSAke3AubWluRmVlUGVyY2VudH1gKSl7dmFyIG09YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJ0b2tlbnMiLHtzeW1ib2w6c30pLGU9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pO2NvbnN0IGI9bmV3IERhdGUoYCR7YXBpLmhpdmVCbG9ja1RpbWVzdGFtcH0uMDAwWmApO2Q9Yi5nZXRUaW1lKCkscD1nZXRUaW1lc3RhbXAobyksbz1hcGkuQmlnTnVtYmVyKGQpLnBsdXMoZS5tYXhFeHBpcnlUaW1lTWlsbGlzKS50b051bWJlcigpO2lmKGFwaS5hc3NlcnQobSwicHJpY2VTeW1ib2wgZG9lcyBub3QgZXhpc3QiKSYmYXBpLmFzc2VydChhcGkuQmlnTnVtYmVyKHQpLmd0KDApJiZjb3VudERlY2ltYWxzKHQpPD1tLnByZWNpc2lvbiwiaW52YWxpZCBtaW5CaWQiKSYmYXBpLmFzc2VydChhcGkuQmlnTnVtYmVyKG4pLmd0KDApJiZjb3VudERlY2ltYWxzKG4pPD1tLnByZWNpc2lvbiwiaW52YWxpZCBmaW5hbFByaWNlIikmJmFwaS5hc3NlcnQocCYmZDxwLCJpbnZhbGlkIGV4cGlyeSIpJiZhcGkuYXNzZXJ0KHA8PW8sImV4cGlyeSBleGNlZWRzIGxpbWl0Iikpe289YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJiYWxhbmNlcyIse2FjY291bnQ6YXBpLnNlbmRlcixzeW1ib2w6VVRJTElUWV9UT0tFTl9TWU1CT0x9KTtpZihhcGkuYXNzZXJ0KG8mJm8uYmFsYW5jZSYmYXBpLkJpZ051bWJlcihvLmJhbGFuY2UpLmd0ZShlLmNyZWF0aW9uRmVlKSwieW91IG11c3QgaGF2ZSBlbm91Z2ggdG9rZW5zIHRvIGNvdmVyIHRoZSBjcmVhdGlvbiBmZWUiKSl7Y29uc3QgZj17c3ltYm9sOmksaWRzOmF9O3ZhciB1PWF3YWl0IGFwaS5leGVjdXRlU21hcnRDb250cmFjdCgibmZ0IiwidHJhbnNmZXIiLHtmcm9tVHlwZToidXNlciIsdG86Q09OVFJBQ1RfTkFNRSx0b1R5cGU6ImNvbnRyYWN0IixuZnRzOltmXSxpc1NpZ25lZFdpdGhBY3RpdmVLZXk6Y30pO2lmKGFwaS5hc3NlcnQodS5ldmVudHMsImZhaWxlZCB0byB0cmFzZmVyIE5GVHMgdG8gdGhlIGNvbnRyYWN0Iikpe2NvbnN0IHk9W107Zm9yKGxldCBlPTA7ZTx1LmV2ZW50cy5sZW5ndGg7ZSs9MSl7dmFyIGw9dS5ldmVudHNbZV07bC5jb250cmFjdCYmbC5ldmVudCYmbC5kYXRhJiYibmZ0Ij09PWwuY29udHJhY3QmJiJ0cmFuc2ZlciI9PT1sLmV2ZW50JiZsLmRhdGEuZnJvbT09PWFwaS5zZW5kZXImJiJ1Ij09PWwuZGF0YS5mcm9tVHlwZSYmbC5kYXRhLnRvPT09Q09OVFJBQ1RfTkFNRSYmImMiPT09bC5kYXRhLnRvVHlwZSYmbC5kYXRhLnN5bWJvbD09PWkmJihsPWwuZGF0YS5pZCx5LnB1c2gobCkpfTA8eS5sZW5ndGgmJihhPWF3YWl0IGFwaS5leGVjdXRlU21hcnRDb250cmFjdCgidG9rZW5zIiwidHJhbnNmZXIiLHt0bzoibnVsbCIsc3ltYm9sOlVUSUxJVFlfVE9LRU5fU1lNQk9MLHF1YW50aXR5OmUuY3JlYXRpb25GZWUsaXNTaWduZWRXaXRoQWN0aXZlS2V5OmN9KSx0cmFuc2ZlcklzU3VjY2Vzc2Z1bChhLCJ0cmFuc2ZlciIsYXBpLnNlbmRlciwibnVsbCIsVVRJTElUWV9UT0tFTl9TWU1CT0wsZS5jcmVhdGlvbkZlZSk/KHA9e2F1Y3Rpb25JZDphcGkudHJhbnNhY3Rpb25JZCxzeW1ib2w6aSxzZWxsZXI6YXBpLnNlbmRlcixuZnRJZHM6eSxwcmljZVN5bWJvbDpzLG1pbkJpZDp0LGZpbmFsUHJpY2U6bixmZWVQZXJjZW50OnIsZXhwaXJ5VGltZXN0YW1wOnAsYmlkczpbXSxjdXJyZW50TGVhZDpudWxsLGxhc3RMZWFkVXBkYXRlOm51bGx9LHA9YXdhaXQgYXBpLmRiLmluc2VydCgiYXVjdGlvbnMiLHApLGFwaS5lbWl0KCJjcmVhdGUiLHthdWN0aW9uSWQ6cC5hdWN0aW9uSWR9KSk6KGYuaWRzPXksYXdhaXQgYXBpLmV4ZWN1dGVTbWFydENvbnRyYWN0KCJuZnQiLCJ0cmFuc2ZlciIse2Zyb21UeXBlOiJjb250cmFjdCIsdG86YXBpLnNlbmRlcix0b1R5cGU6InVzZXIiLG5mdHM6W2ZdLGlzU2lnbmVkV2l0aEFjdGl2ZUtleTpjfSkpKX19fX19fX0sYWN0aW9ucy5zZXR0bGU9YXN5bmMgZT0+e3ZhcnthdWN0aW9uSWQ6aSxhY2NvdW50OmEsaXNTaWduZWRXaXRoQWN0aXZlS2V5OmV9PWU7aWYoYXBpLmFzc2VydCghMD09PWUsInlvdSBtdXN0IHVzZSBhIGN1c3RvbV9qc29uIHNpZ25lZCB3aXRoIHlvdXIgYWN0aXZlIGtleSIpJiZhcGkuYXNzZXJ0KGkmJiJzdHJpbmciPT10eXBlb2YgaSYmKCFhfHxhJiYic3RyaW5nIj09dHlwZW9mIGEmJmFwaS5pc1ZhbGlkQWNjb3VudE5hbWUoYSkpLCJpbnZhbGlkIHBhcmFtcyIpKXtjb25zdCB0PWF3YWl0IGFwaS5kYi5maW5kT25lKCJhdWN0aW9ucyIse2F1Y3Rpb25JZDppfSk7aWYoYXBpLmFzc2VydCh0LCJhdWN0aW9uIGRvZXMgbm90IGV4aXN0IG9yIGhhcyBiZWVuIGV4cGlyZWQiKSYmYXBpLmFzc2VydCh0LnNlbGxlcj09PWFwaS5zZW5kZXIsInlvdSBtdXN0IGJlIHRoZSBvd25lciBvZiB0aGUgYXVjdGlvbiIpJiZhcGkuYXNzZXJ0KDA8dC5iaWRzLmxlbmd0aCwidGhlcmUgYXJlIG5vIGJpZHMgaW4gdGhlIGF1Y3Rpb24iKSl7bGV0IGU9dC5jdXJyZW50TGVhZDthJiYoZT10LmJpZHMuZmluZEluZGV4KGU9PmUuYWNjb3VudD09PWEpLCFhcGkuYXNzZXJ0KHQuYmlkc1tlXSwibm8gYmlkIGZyb20gYWNjb3VudCBmb3VuZCBpbiB0aGUgYXVjdGlvbiIpKXx8YXdhaXQgc2V0dGxlQXVjdGlvbih0LGUpfX19LGFjdGlvbnMuY2FuY2VsPWFzeW5jIGU9Pnt2YXJ7YXVjdGlvbklkOmksaXNTaWduZWRXaXRoQWN0aXZlS2V5OmV9PWU7YXBpLmFzc2VydCghMD09PWUsInlvdSBtdXN0IHVzZSBhIGN1c3RvbV9qc29uIHNpZ25lZCB3aXRoIHlvdXIgYWN0aXZlIGtleSIpJiZhcGkuYXNzZXJ0KGkmJiJzdHJpbmciPT10eXBlb2YgaSwiaW52YWxpZCBwYXJhbXMiKSYmKGk9YXdhaXQgYXBpLmRiLmZpbmRPbmUoImF1Y3Rpb25zIix7YXVjdGlvbklkOml9KSxhcGkuYXNzZXJ0KGksImF1Y3Rpb24gZG9lcyBub3QgZXhpc3Qgb3IgaGFzIGJlZW4gZXhwaXJlZCIpJiZhcGkuYXNzZXJ0KGkuc2VsbGVyPT09YXBpLnNlbmRlciwieW91IG11c3QgYmUgdGhlIG93bmVyIG9mIHRoZSBhdWN0aW9uIikmJmF3YWl0IGNhbmNlbEF1Y3Rpb24oaSkpfSxhY3Rpb25zLmJpZD1hc3luYyBpPT57dmFye2F1Y3Rpb25JZDphLGJpZDp0LG1hcmtldEFjY291bnQ6bixpc1NpZ25lZFdpdGhBY3RpdmVLZXk6c309aTtpZihhcGkuYXNzZXJ0KCEwPT09cywieW91IG11c3QgdXNlIGEgY3VzdG9tX2pzb24gc2lnbmVkIHdpdGggeW91ciBhY3RpdmUga2V5IikmJmFwaS5hc3NlcnQoYSYmInN0cmluZyI9PXR5cGVvZiBhJiZ0JiYic3RyaW5nIj09dHlwZW9mIHQmJmFwaS5CaWdOdW1iZXIodCkuaXNGaW5pdGUoKSYmbiYmInN0cmluZyI9PXR5cGVvZiBuLCJpbnZhbGlkIHBhcmFtcyIpKXtjb25zdCBtPWF3YWl0IGFwaS5kYi5maW5kT25lKCJhdWN0aW9ucyIse2F1Y3Rpb25JZDphfSk7aWYoYXBpLmFzc2VydChtLCJhdWN0aW9uIGRvZXMgbm90IGV4aXN0IG9yIGhhcyBiZWVuIGV4cGlyZWQiKSl7dmFye3NlbGxlcjplLHByaWNlU3ltYm9sOnIsbWluQmlkOm8sZmluYWxQcmljZTpjLGN1cnJlbnRMZWFkOmQsZXhwaXJ5VGltZXN0YW1wOnB9PW0saT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsInRva2VucyIse3N5bWJvbDpyfSk7Y29uc3QgdT1uZXcgRGF0ZShgJHthcGkuaGl2ZUJsb2NrVGltZXN0YW1wfS4wMDBaYCk7cz11LmdldFRpbWUoKTtpZihhcGkuYXNzZXJ0KGFwaS5zZW5kZXIhPT1lLCJhdWN0aW9uIHNlbGxlciBjYW4gbm90IGJpZCIpJiZhcGkuYXNzZXJ0KGFwaS5CaWdOdW1iZXIodCkuZ3QoMCkmJmNvdW50RGVjaW1hbHModCk8PWkucHJlY2lzaW9uLCJpbnZhbGlkIGJpZCIpJiZhcGkuYXNzZXJ0KGFwaS5CaWdOdW1iZXIodCkuZ3RlKG8pLGBiaWQgY2FuIG5vdCBiZSBsZXNzIHRoYW4gJHtvfWApJiZhcGkuYXNzZXJ0KHM8PXAsImF1Y3Rpb24gaGFzIGJlZW4gZXhwaXJlZCIpJiZhcGkuYXNzZXJ0KGFwaS5pc1ZhbGlkQWNjb3VudE5hbWUobiksImludmFsaWQgbWFya2V0QWNjb3VudCIpKXtsZXQgZT1hcGkuQmlnTnVtYmVyKHQpLmd0KGMpP2M6dDtvPW0uYmlkcy5maW5kSW5kZXgoZT0+ZS5hY2NvdW50PT09YXBpLnNlbmRlcikscD1tLmJpZHNbb10sdD17YWNjb3VudDphcGkuc2VuZGVyLGJpZDplLG1hcmtldEFjY291bnQ6bix0aW1lc3RhbXA6c307aWYocCl7aWYoIWFwaS5hc3NlcnQoYXBpLkJpZ051bWJlcihlKS5ndChwLmJpZCksImJpZCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB5b3VyIHByZXZpb3VzIGJpZCIpKXJldHVybjttLmJpZHNbb109dCxlPWFwaS5CaWdOdW1iZXIoZSkubWludXMocC5iaWQpLnRvRml4ZWQoaS5wcmVjaXNpb24pfWVsc2UgbS5iaWRzLnB1c2godCk7bz1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDphcGkuc2VuZGVyLHN5bWJvbDpyfSk7aWYoYXBpLmFzc2VydChvJiZvLmJhbGFuY2UmJmFwaS5CaWdOdW1iZXIoby5iYWxhbmNlKS5ndGUoZSksImluc3VmZmljaWVudCBiYWxhbmNlIGZvciB0aGlzIGJpZCIpKXtvPWF3YWl0IGFwaS5leGVjdXRlU21hcnRDb250cmFjdCgidG9rZW5zIiwidHJhbnNmZXJUb0NvbnRyYWN0Iix7dG86Q09OVFJBQ1RfTkFNRSxzeW1ib2w6cixxdWFudGl0eTplfSk7aWYodHJhbnNmZXJJc1N1Y2Nlc3NmdWwobywidHJhbnNmZXJUb0NvbnRyYWN0IixhcGkuc2VuZGVyLENPTlRSQUNUX05BTUUscixlKSl7cj1tLmJpZHMuZmluZEluZGV4KGU9PmUuYWNjb3VudD09PWFwaS5zZW5kZXIpO2lmKGFwaS5CaWdOdW1iZXIodC5iaWQpLmd0ZShjKSlyZXR1cm4gbS5jdXJyZW50TGVhZD1yLHZvaWQgYXdhaXQgc2V0dGxlQXVjdGlvbihtKTtjPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KTtpZihudWxsIT09ZD8oZD1tLmJpZHNbZF0sYz1jLm1pbkJpZEluY3JlbWVudFBlcmNlbnQvTUFYX0JJRF9JTkNSRU1FTlRfUEVSQ0VOVCxpPWFwaS5CaWdOdW1iZXIoZC5iaWQpLm11bHRpcGxpZWRCeShjKS50b0ZpeGVkKGkucHJlY2lzaW9uKSxhcGkuQmlnTnVtYmVyKHQuYmlkKS5taW51cyhkLmJpZCkuZ3RlKGkpJiYobS5jdXJyZW50TGVhZD1yLG0ubGFzdExlYWRVcGRhdGU9cykpOihtLmN1cnJlbnRMZWFkPXIsbS5sYXN0TGVhZFVwZGF0ZT1zKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJhdWN0aW9ucyIsbSkscCl7Y29uc3QgbD17YXVjdGlvbklkOmEsYWNjb3VudDp0LmFjY291bnQsb2xkQmlkOnAuYmlkLGJpZDp0LmJpZCxtYXJrZXRBY2NvdW50OnQubWFya2V0QWNjb3VudCxvbGRUaW1lc3RhbXA6cC50aW1lc3RhbXAsdGltZXN0YW1wOnQudGltZXN0YW1wfTtwLm1hcmtldEFjY291bnQhPT1uJiYobC5vbGRNYXJrZXRBY2NvdW50PXAubWFya2V0QWNjb3VudCksYXBpLmVtaXQoInVwZGF0ZUJpZCIsbCl9ZWxzZSBhcGkuZW1pdCgiYmlkIix7YXVjdGlvbklkOmEsLi4udH0pfX19fX19LGFjdGlvbnMuY2FuY2VsQmlkPWFzeW5jIGU9Pnt2YXJ7YXVjdGlvbklkOmksaXNTaWduZWRXaXRoQWN0aXZlS2V5OmF9PWU7aWYoYXBpLmFzc2VydCghMD09PWEsInlvdSBtdXN0IHVzZSBhIGN1c3RvbV9qc29uIHNpZ25lZCB3aXRoIHlvdXIgYWN0aXZlIGtleSIpJiZhcGkuYXNzZXJ0KGkmJiJzdHJpbmciPT10eXBlb2YgaSwiaW52YWxpZCBwYXJhbXMiKSl7Y29uc3QgcD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYXVjdGlvbnMiLHthdWN0aW9uSWQ6aX0pO2lmKGFwaS5hc3NlcnQocCwiYXVjdGlvbiBkb2VzIG5vdCBleGlzdCBvciBoYXMgYmVlbiBleHBpcmVkIikpe3ZhcntwcmljZVN5bWJvbDp0LGN1cnJlbnRMZWFkOm4sZXhwaXJ5VGltZXN0YW1wOnMsbGFzdExlYWRVcGRhdGU6cn09cCxvPXAuYmlkcy5maW5kSW5kZXgoZT0+ZS5hY2NvdW50PT09YXBpLnNlbmRlciksYz1wLmJpZHNbb107Y29uc3QgbT1uZXcgRGF0ZShgJHthcGkuaGl2ZUJsb2NrVGltZXN0YW1wfS4wMDBaYCk7ZT1tLmdldFRpbWUoKTtpZihhcGkuYXNzZXJ0KGMsInlvdSBkbyBub3QgaGF2ZSBhIGJpZCBpbiB0aGlzIGF1Y3Rpb24iKSYmYXBpLmFzc2VydChlPD1zLCJhdWN0aW9uIGhhcyBiZWVuIGV4cGlyZWQiKSl7YT1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSk7Y29uc3QgdT1hcGkuQmlnTnVtYmVyKHIpLnBsdXMoYS5leHBpcnlUaW1lTWlsbGlzKS5taW51cyhlKSxsPWFwaS5CaWdOdW1iZXIocykubWludXMoZSk7aWYoYXBpLmFzc2VydCh1Lmd0KGEuY2FuY2VsTG9ja1RpbWVNaWxsaXMpJiZsLmd0KGEuY2FuY2VsTG9ja1RpbWVNaWxsaXMpLCJjYW4gbm90IGNhbmNlbCBiaWQgd2hlbiBhdWN0aW9uIGlzIGFib3V0IHRvIHNldHRsZSIpKXtpZihwLmJpZHMuc3BsaWNlKG8sMSksbj09PW8pe2xldCBpPSIwIixhPW51bGw7Zm9yKGxldCBlPTA7ZTxwLmJpZHMubGVuZ3RoO2UrPTEpe3ZhcntiaWQ6ZH09cC5iaWRzW2VdO2FwaS5CaWdOdW1iZXIoZCkuZ3QoaSkmJihpPWQsYT1lKX1wLmN1cnJlbnRMZWFkPWF9ZWxzZSBvPG4mJi0tcC5jdXJyZW50TGVhZDthd2FpdCBhcGkudHJhbnNmZXJUb2tlbnMoYXBpLnNlbmRlcix0LGMuYmlkLCJ1c2VyIiksYXdhaXQgYXBpLmRiLnVwZGF0ZSgiYXVjdGlvbnMiLHApLGFwaS5lbWl0KCJjYW5jZWxCaWQiLHthdWN0aW9uSWQ6aSwuLi5jfSl9fX19fSxhY3Rpb25zLnVwZGF0ZUF1Y3Rpb25zPWFzeW5jKCk9PntpZihhcGkuYXNzZXJ0KCJudWxsIj09PWFwaS5zZW5kZXIsIm5vdCBhdXRob3JpemVkIikpe3ZhciBlPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KTtjb25zdCBzPW5ldyBEYXRlKGAke2FwaS5oaXZlQmxvY2tUaW1lc3RhbXB9LjAwMFpgKTt2YXIgaT1zLmdldFRpbWUoKSxhPWktZS5leHBpcnlUaW1lTWlsbGlzLHQ9YXdhaXQgYXBpLmRiLmZpbmQoImF1Y3Rpb25zIix7JG9yOlt7bGFzdExlYWRVcGRhdGU6eyRsdGU6YX19LHtleHBpcnlUaW1lc3RhbXA6eyRsdGU6aX19XX0sZS5hdWN0aW9uc1BlckJsb2NrLDAsW3tpbmRleDoiX2lkIixkZXNjZW5kaW5nOiExfV0pO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSs9MSl7dmFyIG49dFtlXTthd2FpdCBzZXR0bGVBdWN0aW9uKG4pfX19LGFjdGlvbnMuc2V0TWFya2V0UGFyYW1zPWFzeW5jIGU9Pnt2YXJ7c3ltYm9sOmEsb2ZmaWNpYWxNYXJrZXQ6dCxhZ2VudEZlZVBlcmNlbnQ6bixtaW5GZWVQZXJjZW50OnMsaXNTaWduZWRXaXRoQWN0aXZlS2V5Oml9PWU7aWYoIWFwaS5hc3NlcnQoYSYmInN0cmluZyI9PXR5cGVvZiBhLCJpbnZhbGlkIHN5bWJvbCIpKXJldHVybiExO2lmKHZvaWQgMD09PXQmJnZvaWQgMD09PW4mJnZvaWQgMD09PXMpcmV0dXJuITE7ZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoIm5mdCIsIm5mdHMiLHtzeW1ib2w6YX0pO2lmKGFwaS5hc3NlcnQoITA9PT1pLCJ5b3UgbXVzdCB1c2UgYSBjdXN0b21fanNvbiBzaWduZWQgd2l0aCB5b3VyIGFjdGl2ZSBrZXkiKSYmYXBpLmFzc2VydChlLCJuZnQgc3ltYm9sIGRvZXMgbm90IGV4aXN0IikmJmFwaS5hc3NlcnQoKHZvaWQgMD09PXR8fHQmJiJzdHJpbmciPT10eXBlb2YgdCYmYXBpLmlzVmFsaWRBY2NvdW50TmFtZSh0KSkmJih2b2lkIDA9PT1ufHwibnVtYmVyIj09dHlwZW9mIG4mJjA8PW4mJm48PTFlNCYmTnVtYmVyLmlzSW50ZWdlcihuKSkmJih2b2lkIDA9PT1zfHwibnVtYmVyIj09dHlwZW9mIHMmJjA8PXMmJnM8PTFlNCYmTnVtYmVyLmlzSW50ZWdlcihzKSksImludmFsaWQgcGFyYW1zIikmJmFwaS5hc3NlcnQoZS5pc3N1ZXI9PT1hcGkuc2VuZGVyLCJtdXN0IGJlIHRoZSBpc3N1ZXIiKSl7bGV0IGU9ITEsaT1hd2FpdCBhcGkuZGIuZmluZE9uZSgibWFya2V0UGFyYW1zIix7c3ltYm9sOmF9KTtyZXR1cm4gaXx8KGU9ITAsaT17c3ltYm9sOmF9KSx2b2lkIDAhPT10JiYoaS5vZmZpY2lhbE1hcmtldD10KSx2b2lkIDAhPT1uJiYoaS5hZ2VudEZlZVBlcmNlbnQ9biksdm9pZCAwIT09cyYmKGkubWluRmVlUGVyY2VudD1zKSxlP2F3YWl0IGFwaS5kYi5pbnNlcnQoIm1hcmtldFBhcmFtcyIsaSk6YXdhaXQgYXBpLmRiLnVwZGF0ZSgibWFya2V0UGFyYW1zIixpKSwhMH1yZXR1cm4hMX07"}}}