Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@电视直播@eyJmaXJzdEhlYWRlciI6ImNsYXNzIiwibGFzdF9jaGFwdGVyX3J1bGUiOiIiLCJ0aXRsZSI6IueUteinhuebtOaSrSIsImF1dGhvciI6IvCfj4Xkuqzmoqbkv67mlLlb5bCP5qOJ6KKE8J+MniZKb2tlcl0iLCJ1cmwiOiJoaWtlcjovL2VtcHR5IiwidmVyc2lvbiI6OSwiY29sX3R5cGUiOiJpY29uXzJfcm91bmQiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6ImxpdmUiLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczpcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFwiaGlrZXI6Ly9wYWdlL2NvbmZpZ1wiKSkucnVsZSk7IC8vZ2V0Q29uZmlnXG5cbmxldCBkYXRhID0gW10sXG4gICAgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG5jb25maWcuZGF0YSA9IGNvbmZpZy5kYXRhLmZpbHRlcih2ID0+ICF2LmluVmlzaWJsZSk7XG5pZiAoY29uZmlnLmRhdGEubGVuZ3RoIDw9IDApIHtcbiAgICBkYXRhID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvcmVuZGVyU2V0dGluZycpLnJlbmRlclNldHRpbmcoKTtcbn0gZWxzZSB7XG4gICAgbGV0IHNlbGVjdCA9IGdldEl0ZW0oXCJsaXZlLXNlbGVjdFwiLCBjb25maWcuZGF0YVswXS5uYW1lKSxcbiAgICAgICAgaGFzID0gY29uZmlnLmRhdGEubWFwKGkgPT4gaS5uYW1lKS5pbmNsdWRlcyhzZWxlY3QpO1xuICAgIGlmICghaGFzKSB7XG4gICAgICAgIHNlbGVjdCA9IGNvbmZpZy5kYXRhWzBdLm5hbWU7XG4gICAgfVxuICAgIHZhciBpbWcgPSBmZXRjaCgnaHR0cHM6Ly93YW5naHVuLnRvcC9hcGkvbWVpbnZ0dS5waHA/bT0xJyk7XG4gICAgZGF0YS5wdXNoKHtcbiAgICAgICAgdGl0bGU6IFwiXCIsXG4gICAgICAgIGNvbF90eXBlOiBcImNhcmRfcGljXzFcIixcbiAgICAgICAgZGVzYzogXCIwXCIsXG4gICAgICAgIHBpY191cmw6IGltZyxcbiAgICAgICAgdXJsOiAkKFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXCIpLnJ1bGUoKCkgPT4ge1xuICAgICAgICAgICAgYWRkTGlzdGVuZXIoJ29uQ2xvc2UnLCAncmVmcmVzaFBhZ2UoKScpXG4gICAgICAgICAgICBzZXRSZXN1bHQoJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvcmVuZGVyU2V0dGluZycpLnJlbmRlclNldHRpbmcoKSlcbiAgICAgICAgfSlcbiAgICB9KVxuXG4gICAgZGF0YS5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICfmkJzntKInLFxuICAgICAgICBkZXNjOiAn6K+36L6T5YWl5pCc57Si5YWz6ZSu6K+NJyxcbiAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZ2V0VmFyKCdzZWFyY2hfa2V5JywgJycpLFxuICAgICAgICAgICAgb25DaGFuZ2U6ICdwdXRWYXIoXCJzZWFyY2hfa2V5XCIsaW5wdXQpJ1xuICAgICAgICB9LFxuICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcbiAgICAgICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9zZWFyY2g/cnVsZT0nICsgZ2V0TXlWYXIoJ3RpdGxlJykgKyAnJnM9JyArIGdldFZhcignc2VhcmNoX2tleScsICcnKVxuICAgICAgICB9KVxuICAgIH0pXG5cblxuXG4gICAgZm9yIChzb3VyY2Ugb2YgY29uZmlnLmRhdGEpIHtcbiAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBzb3VyY2UubmFtZSA9PSBzZWxlY3QgPyBcIuKAnOKAnOKAneKAnTxzcGFuIHN0eWxlPSdjb2xvcjogIzE5Qjg5RCc+XCIgKyBzZWxlY3QgKyBcIjwvc3Bhbj5cIiA6IHNvdXJjZS5uYW1lLFxuICAgICAgICAgICAgY29sX3R5cGU6IFwic2Nyb2xsX2J1dHRvblwiLFxuICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChhKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXRlbShcImxpdmUtc2VsZWN0XCIsIGEpO1xuICAgICAgICAgICAgICAgIHNldEl0ZW0oJ3NlbGVjdEdyb3VwJywgJycpO1xuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiaGlrZXI6Ly9lbXB0eVwiXG4gICAgICAgICAgICB9LCBzb3VyY2UubmFtZSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBkYXRhLnB1c2goe1xuICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJ1xuICAgIH0pXG5cbiAgICBmb3IgKHNvdXJjZSBvZiBjb25maWcuZGF0YSkge1xuICAgICAgICBpZiAoc291cmNlLm5hbWUgPT0gc2VsZWN0KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBpdGVtcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3JlbmRlckRhdGEnKS5yZW5kZXJMaXZlRGF0YShzb3VyY2UudXJsKTtcbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBzID0gT2JqZWN0LmtleXMoaXRlbXMpO1xuICAgICAgICAgICAgICAgIC8vZ3JvdXBzLnB1c2goZ3JvdXBzLnNwbGljZShncm91cHMuaW5kZXhPZigwKSwgMSlbMF0pO1xuICAgICAgICAgICAgICAgIGxldCBzZWxlY3RHcm91cCA9IGdldEl0ZW0oJ3NlbGVjdEdyb3VwJywgZ3JvdXBzWzBdKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0R3JvdXAgPT0gXCJcIiB8fCAhZ3JvdXBzLmluY2x1ZGVzKHNlbGVjdEdyb3VwKSkgc2VsZWN0R3JvdXAgPSBncm91cHNbMF07XG4gICAgICAgICAgICAgICAgZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChncm91cCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogZ3JvdXAgPT0gc2VsZWN0R3JvdXAgPyBcIuKAnOKAnOKAneKAnTxzcGFuIHN0eWxlPSdjb2xvcjogIzE5Qjg5RCc+XCIgKyBncm91cCArIFwiPC9zcGFuPlwiIDogZ3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChncm91cCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJdGVtKCdzZWxlY3RHcm91cCcsIGdyb3VwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGdyb3VwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGZvciAobGV0IHRpdGxlIGluIGl0ZW1zW3NlbGVjdEdyb3VwXSkge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKHNvdXJjZXVybCxzZWxlY3RHcm91cCx0aXRsZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3JlbmRlckRhdGEnKS5yZW5kZXJMaXZlRGF0YShzb3VyY2V1cmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdXJscyA9IGl0ZW1zW3NlbGVjdEdyb3VwXVt0aXRsZV0udXJsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaGVhZGVycyA9IGl0ZW1zW3NlbGVjdEdyb3VwXVt0aXRsZV0uaGVhZGVycztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBncm91cGkgaW4gaXRlbXMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZ3JvdXAgPSBpdGVtc1tncm91cGldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighZ3JvdXApIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpdGl0bGUgaW4gZ3JvdXApe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoaXRpdGxlID09IHRpdGxlICYmICEhZ3JvdXBbaXRpdGxlXSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVybHMgPSBncm91cFtpdGl0bGVdLnVybDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaGVhZGVycyA9IGdyb3VwW2l0aXRsZV0uaGVhZGVycztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cmxzID0gc3VybHMuY29uY2F0KHVybHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlYWRlcnMgPSBzaGVhZGVycy5jb25jYXQoaGVhZGVycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VybHMgPSBBcnJheS5mcm9tKG5ldyBTZXQoc3VybHMpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVhZGVycyA9IEFycmF5LmZyb20obmV3IFNldChzaGVhZGVycykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybHM6IHN1cmxzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBzaGVhZGVyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9LHNvdXJjZS51cmwsc2VsZWN0R3JvdXAsdGl0bGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xfdHlwZTogJ3RleHRfMycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWc6IFwiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvMjIxLnBuZ1wiXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGRhdGEucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaVsOaNruWKoOi9veWksei0pVxcblwiICsgSlNPTi5zdHJpbmdpZnkoZSksXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcImxvbmdfdGV4dFwiXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbnNldFJlc3VsdChkYXRhKTsiLCJzZWFyY2hfdXJsIjoiaGlrZXI6Ly9lbXB0eT9rZXk9KioiLCJncm91cCI6IvCfjYnnm7Tmkq0iLCJzZWFyY2hGaW5kIjoianM6XG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdChcImhpa2VyOi8vcGFnZS9jb25maWdcIikpLnJ1bGUpO1xubGV0IGNvbmZpZyA9IGdldENvbmZpZygpO1xubGV0IHJ1bGVzID0gY29uZmlnLmRhdGEubWFwKChzb3VyY2UpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogc291cmNlLm5hbWUsXG4gICAgICAgIHNlYXJjaF91cmw6ICdoaWtlcjovL2VtcHR5P2tleT0qKicsXG4gICAgICAgIHNlYXJjaEZpbmQ6ICdqczonICsgJC50b1N0cmluZygodXJsLCBydWxlX3RpdGxlKSA9PiB7XG4gICAgICAgICAgICBsZXQgZCA9IFtdLFxuICAgICAgICAgICAgICAgIGtleSA9IGdldFBhcmFtKCdrZXknKTtcbiAgICAgICAgICAgIGxldCBpdGVtcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3JlbmRlckRhdGE/cnVsZT0nICsgcnVsZV90aXRsZSkucmVuZGVyTGl2ZURhdGEodXJsKTtcbiAgICAgICAgICAgIGZvciAobGV0IGdyb3VwIGluIGl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgdGl0bGUgaW4gaXRlbXNbZ3JvdXBdKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aXRsZS5pbmRleE9mKGtleSkgPj0gMCB8fCB0aXRsZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoa2V5KSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsczogaXRlbXNbZ3JvdXBdW3RpdGxlXS51cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IGl0ZW1zW2dyb3VwXVt0aXRsZV0uaGVhZGVyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0UmVzdWx0KGQpO1xuICAgICAgICB9LCBzb3VyY2UudXJsLCBnZXRNeVZhcigndGl0bGUnKSlcbiAgICB9O1xufSlcbnNldFJlc3VsdChbe1xuICAgIHRpdGxlOiBcIueCueaIkeW8gOWni+iBmuaQnFwiLFxuICAgIHVybDogXCJoaWtlcjovL3NlYXJjaD9zPVwiICsgZ2V0UGFyYW0oXCJrZXlcIiksXG4gICAgZXh0cmE6IHtcbiAgICAgICAgcnVsZXM6ICQudG9TdHJpbmcoKHJ1bGVzKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocnVsZXMpXG4gICAgICAgIH0sIHJ1bGVzKVxuICAgIH1cbn1dKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6InB1dE15VmFyKCd0aXRsZScsTVlfUlVMRS50aXRsZSk7IiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWKoOi9veaVsOaNrlwiLFwicGF0aFwiOlwiY29uZmlnXCIsXCJydWxlXCI6XCJmdW5jdGlvbiBnZXRDb25maWcoKSB7XFxuICAgIHRyeSB7XFxuICAgICAgICBsZXQgY29uZmlnID0gZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMvbGl2ZS9jb25maWcuanNvblxcXCIpO1xcbiAgICAgICAgaWYgKCFjb25maWcgfHwgY29uZmlnID09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgICAgICAgZGF0YTogW10sXFxuICAgICAgICAgICAgICAgIHZlcnNpb246IDBcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGNvbmZpZylcXG4gICAgICAgIH1cXG4gICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICB0b2FzdChcXFwi6YWN572u5paH5Lu25qC85byP5pyJ6K+vXFxcIilcXG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICAgIGRhdGE6IFtdLFxcbiAgICAgICAgICAgIHZlcnNpb246IDBcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaJuemHj+WvvOWFpVwiLFwicGF0aFwiOlwiYmF0Y2hJbVwiLFwicnVsZVwiOlwiZnVuY3Rpb24gYmF0Y2hJbXBvcnQoaW5wdXQsIHJ1bGUpIHtcXG4gICAgaW5wdXQgPSBpbnB1dC50cmltKCk7XFxuICAgIGlmIChpbnB1dC5sZW5ndGggPCAzIHx8IGlucHV0WzBdICE9IFxcXCJ7XFxcIikge1xcbiAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+ivt+i+k+WFpeato+ehrueahOagvOW8j1xcXCJcXG4gICAgfVxcbiAgICBsZXQgaW0gPSBKU09OLnBhcnNlKGlucHV0KTtcXG4gICAgaWYgKGltLmRhdGEgPT0gbnVsbCB8fCBpbS5kYXRhLmxlbmd0aCA8IDEpIHtcXG4gICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/or7fovpPlhaXmraPnoa7nmoTmoLzlvI9cXFwiXFxuICAgIH1cXG4gICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9jb25maWc/cnVsZT1cXFwiICsgcnVsZSkpLnJ1bGUpO1xcbiAgICBsZXQgY29uZmlnID0gZ2V0Q29uZmlnKCk7XFxuICAgIGxldCBjb3VudCA9IDA7XFxuICAgIGxldCBhbGwgPSBjb25maWcuZGF0YS5tYXAoaXQgPT4gaXQudXJsICsgXFxcIiYmJlxcXCIpLmpvaW4oKTtcXG4gICAgZm9yIChsZXQgaSBvZiBpbS5kYXRhKSB7XFxuICAgICAgICBpZiAoYWxsLmluZGV4T2YoaS51cmwgKyBcXFwiJiYmXFxcIikgPj0gMCkge1xcbiAgICAgICAgICAgIC8v6YeN5aSN55qE5LiN6KaBXFxuICAgICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuICAgICAgICBjb3VudCsrO1xcbiAgICAgICAgY29uZmlnLmRhdGEucHVzaChpKVxcbiAgICB9XFxuICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIiwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgIHJldHVybiBcXFwidG9hc3Q6Ly/lt7Llr7zlhaVcXFwiICsgY291bnQgKyBcXFwi5p2h6K6i6ZiF5rqQXFxcIjtcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLnm7Tmkq3mlbDmja5cIixcInBhdGhcIjpcInJlbmRlckRhdGFcIixcInJ1bGVcIjpcImZ1bmN0aW9uIHJlbmRlckxpdmVEYXRhKHVybCkge1xcbiAgICBsZXQgbTN1ID0gXFxcIlxcXCI7XFxuICAgIGlmICh1cmwuc3RhcnRzV2l0aCgnaGlrZXI6Ly8nKSB8fCB1cmwuc3RhcnRzV2l0aCgnZmlsZTovLycpKSB7XFxuICAgICAgICBtM3UgPSBmZXRjaCh1cmwpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgbGV0IGludGVydmFsID0gTnVtYmVyKGdldEl0ZW0oJ2ludGVydmFsJywgJzI0JykpLFxcbiAgICAgICAgICAgIG9sZERhdGEgPSBmZXRjaCgnaGlrZXI6Ly9maWxlcy9saWJzLycgKyBtZDUodXJsKSArICcuanMnKSxcXG4gICAgICAgICAgICByZW1vdGVEYXRhID0gJyc7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIHJlbW90ZURhdGEgPSBmZXRjaENhY2hlKHVybCwgaW50ZXJ2YWwsIHtcXG4gICAgICAgICAgICAgICAgdGltZW91dDogNTAwMDBcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxuICAgICAgICBpZiAoIXJlbW90ZURhdGEuaW5jbHVkZXMoJ2h0dHAnKSB8fCByZW1vdGVEYXRhLmluY2x1ZGVzKCc8Ym9keT4nKSkgeyBcXG4gICAgICAgICAgICBsb2coJ+abtOaWsOWksei0pScpO1xcbiAgICAgICAgICAgIGlmIChvbGREYXRhKSB3cml0ZUZpbGUoJ2hpa2VyOi8vZmlsZXMvbGlicy8nICsgbWQ1KHVybCkgKyAnLmpzJywgb2xkRGF0YSk7XFxuICAgICAgICAgICAgbTN1ID0gb2xkRGF0YTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgbTN1ID0gcmVtb3RlRGF0YTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBsZXQgbW9kZSA9ICBtM3UuaW5kZXhPZignI0VYVE0zVScpID09IDAgLCByZTtcXG4gICAgaWYobW9kZSl7XFxuICAgICAgICByZSA9IC8oLiopLCguKilcXFxccyo/KCg/Omh0dHB8cnRtcClbXiNcXFxcc10qKS9nO1xcbiAgICB9ZWxzZXtcXG4gICAgICAgIHJlID0gLygpKD86XFxcXEJcXFxcJGNfc3RhcnR8XFxcXEIjezEsMn0pPyguKj8pLD8oIyN85aS0I3xcXFxcJGNfZW5kfCw/I2dlbnJlI3woPzpodHRwfHJ0bXApW15cXFxcc10qKS9nO1xcbiAgICB9XFxuICAgICAgICBcXG4gICAgbGV0IGl0ZW1zID0ge30sXFxuICAgICAgICBncm91cCA9ICfmnKrliIbnu4QnO1xcbiAgICBmb3IgKGxldCBpID0gcmUuZXhlYyhtM3UpOyBpICE9IG51bGw7IGkgPSByZS5leGVjKG0zdSkpIHtcXG4gICAgICAgIGlmIChtb2RlKSB7XFxuICAgICAgICAgICAgZ3JvdXAgPSAoaVsxXS5tYXRjaCgvZ3JvdXAtdGl0bGU9XFxcIiguKj8pXFxcIi8pIHx8IFtudWxsLCBncm91cF0pWzFdO1xcbiAgICAgICAgfSBlbHNlIGlmIChbJyNnZW5yZSMnLCcjIycsJ+WktCMnLCckY19lbmQnXS5pbmNsdWRlcyhpWzNdKSkge1xcbiAgICAgICAgICAgIGdyb3VwID0gaVsyXTtcXG4gICAgICAgICAgICBjb250aW51ZTtcXG4gICAgICAgIH1cXG4gICAgICAgIGxldCB0aXRsZSA9IGlbMl0sXFxuICAgICAgICAgICAgdXJsID0gaVszXS5pbmNsdWRlcygnIycpID8gaVszXS5zcGxpdCgnIycpIDogW2lbM11dLFxcbiAgICAgICAgICAgIGhlYWRlcnMgPSBbXTtcXG4gICAgICAgIGlmKCF1cmxbdXJsLmxlbmd0aC0xXSkgdXJsLnBvcCgpO1xcbiAgICAgICAgdXJsLmZvckVhY2goKHYsaW5kZXgsYXJyYXkpPT57XFxuICAgICAgICAgICAgaWYoLztcXFxceyguKilcXFxcfS8udGVzdCh2KSl7XFxuICAgICAgICAgICAgICAgIGxldCBvYmogPSB7fSxcXG4gICAgICAgICAgICAgICAgICAgICBjb24gPSB2Lm1hdGNoKC87XFxcXHsoLiopXFxcXH0vKVsxXSxcXG4gICAgICAgICAgICAgICAgICAgICBhcnIgPSBjb24uc3BsaXQoJyYmJyk7XFxuICAgICAgICAgICAgICAgIGFyci5mb3JFYWNoKChpKT0+e1xcbiAgICAgICAgICAgICAgICAgICAgbGV0IFtrZXksdmFsdWVdID0gaS5zcGxpdCgnQCcpO1xcbiAgICAgICAgICAgICAgICAgICAgb2JqW2tleV0gPSB2YWx1ZS5yZXBsYWNlKC87L2csJ++8m++8mycpO1xcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICBhcnJheVtpbmRleF0gPSB2Lm1hdGNoKC9eKFteO10qKTtcXFxcey8pWzFdXFxuICAgICAgICAgICAgICAgIGhlYWRlcnMucHVzaChvYmopO1xcbiAgICAgICAgICAgIH1lbHNle1xcbiAgICAgICAgICAgICAgICBoZWFkZXJzLnB1c2goeydVc2VyLUFnZW50JyA6IE1PQklMRV9VQS5yZXBsYWNlKC87L2csJ++8m++8mycpfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIGFycmF5W2luZGV4XSA9ICd2aWRlbzovLycgKyBhcnJheVtpbmRleF0ucmVwbGFjZSgvOy9nLCfvvJvvvJsnKTtcXG4gICAgICAgIH0pO1xcbiAgICAgICAgaWYgKGl0ZW1zW2dyb3VwXSkge1xcbiAgICAgICAgICAgIGlmIChpdGVtc1tncm91cF1bdGl0bGVdKSB7XFxuICAgICAgICAgICAgICAgIGl0ZW1zW2dyb3VwXVt0aXRsZV0udXJsID0gaXRlbXNbZ3JvdXBdW3RpdGxlXS51cmwuY29uY2F0KHVybCk7XFxuICAgICAgICAgICAgICAgIGl0ZW1zW2dyb3VwXVt0aXRsZV0uaGVhZGVycyA9IGl0ZW1zW2dyb3VwXVt0aXRsZV0uaGVhZGVycy5jb25jYXQoaGVhZGVycyk7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgaXRlbXNbZ3JvdXBdW3RpdGxlXSA9IHt1cmw6dXJsLGhlYWRlcnM6aGVhZGVyc307XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBpdGVtc1tncm91cF0gPSB7fTtcXG4gICAgICAgICAgICBpdGVtc1tncm91cF1bdGl0bGVdID0ge3VybDp1cmwsaGVhZGVyczpoZWFkZXJzfTtcXG4gICAgICAgIH07XFxuICAgIH1cXG4gICAgcmV0dXJuIGl0ZW1zO1xcbn1cXG5cXG4kLmV4cG9ydHMgPSB7XFxuICAgIHJlbmRlckxpdmVEYXRhOiByZW5kZXJMaXZlRGF0YVxcbn1cXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuiuvue9rumhtVwiLFwicGF0aFwiOlwicmVuZGVyU2V0dGluZ1wiLFwicnVsZVwiOlwiZnVuY3Rpb24gcmVuZGVyU2V0dGluZygpIHtcXG4gICAgZnVuY3Rpb24gZ2V0Q29sb3JlZFRleHQodGV4dCkge1xcbiAgICAgICAgcmV0dXJuICfigJzigJzigJ3igJ08c3BhbiBzdHlsZT1cXFwiY29sb3I6ICMxOUI4OURcXFwiPicgKyB0ZXh0ICsgJzwvc3Bhbj4nO1xcbiAgICB9XFxuICAgIGNvbnN0IGQgPSBbXTtcXG4gICAgdmFyIGltZyA9IGZldGNoKCdodHRwczovL3dhbmdodW4udG9wL2FwaS9tZWludnR1LnBocD9tPTEnKTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwiXFxcIixcXG4gICAgICAgIGNvbF90eXBlOiAnY2FyZF9waWNfMScsXFxuICAgICAgICBkZXNjOiBcXFwiMFxcXCIsXFxuICAgICAgICBwaWNfdXJsOiBpbWcsXFxuICAgICAgICB1cmw6IGltZyArICcjLmpwZycsXFxuICAgIH0pXFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogXFxcImxpbmVcXFwiXFxuICAgIH0pXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIuKAmOKAmOKAmeKAmTxzcGFuIHN0eWxlPSdjb2xvcjojMGFhMzQ0Jz7ms6jmhI/lpIfku70hPC9zcGFuPlxcXCIsXFxuICAgICAgICBkZXNjOiBcXFwi4oCY4oCY4oCZ4oCZPHNwYW4gc3R5bGU9J2NvbG9yOiNmMDU2NTQnPuWvvOWFpeS8muimhuebluWOn+acieeahOaWh+S7tjwvc3Bhbj5cXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIixcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICB9KVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCLkvb/nlKjmj5DnpLpcXFwiLFxcbiAgICAgICAgZGVzYzogXFxcIlxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcImljb25fcm91bmRfNFxcXCIsXFxuICAgICAgICBwaWNfdXJsOiBcXFwiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvMS5wbmdcXFwiLFxcbiAgICAgICAgdXJsOiBcXFwidG9hc3Q6Ly/pppbmrKHkvb/nlKg6MS4g54K55Ye75Zyo57q/6K6i6ZiF77yM5Yi35paw5Y2z55So44CCMi4g5Zyo57q/6K6i6ZiF6ZqP5L2c6ICF5pu05paw6ICM5pu05paw77yM5o6o6I2Q5L2/55So44CCXFxcIixcXG4gICAgfSlcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi5Zyo57q/6K6i6ZiFXFxcIixcXG4gICAgICAgIGRlc2M6IFxcXCJcXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJpY29uX3JvdW5kXzRcXFwiLFxcbiAgICAgICAgcGljX3VybDogXFxcImh0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9tb3JlLzIxLnBuZ1xcXCIsXFxuICAgICAgICB1cmw6IFxcXCLmtbfpmJTop4bnlYzmnKzlnLDmlofku7bliIbkuqvvv6VmaWxlX3VybO+/pWhpa2VyOi8vZmlsZXMvcnVsZXMvbGl2ZS9jb25maWcuanNvbkBodHRwOi8vaGlrZXIubm9raWEucHJlc3MvaGlrZXJ1bGUvcnVsZWxpc3QuanNvbj9pZD01ODUxJmF1dGg9NjFlODU0OTQtNzk5ZC01NTk4LTk4MzItNDg2MjBkZTQwZWE3XFxcIixcXG4gICAgfSlcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi5a+85YWl5pys5ZywXFxcIixcXG4gICAgICAgIGRlc2M6IFxcXCJcXFwiLFxcbiAgICAgICAgcGljX3VybDogXFxcImh0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9tb3JlLzU5LnBuZ1xcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcImljb25fcm91bmRfNFxcXCIsXFxuICAgICAgICB1cmw6IFxcXCLmtbfpmJTop4bnlYzmnKzlnLDmlofku7bliIbkuqvvv6VmaWxlX3VybO+/pWhpa2VyOi8vZmlsZXMvcnVsZXMvbGl2ZS9saXZlLnR4dEBodHRwOi8vaGlrZXIubm9raWEucHJlc3MvaGlrZXJ1bGUvcnVsZWxpc3QuanNvbj9pZD01ODUyJmF1dGg9NzZmZmQyNDQtNjFiMi01NGE3LTg1MTgtYzhiYzRjODFiOTk1XFxcIixcXG4gICAgfSlcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi5a+85YWl6IGa5b2xXFxcIixcXG4gICAgICAgIGRlc2M6IFxcXCJcXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJpY29uX3JvdW5kXzRcXFwiLFxcbiAgICAgICAgcGljX3VybDogXFxcImh0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9tb3JlLzY0LnBuZ1xcXCIsXFxuICAgICAgICB1cmw6IFxcXCLmtbfpmJTop4bnlYzmnKzlnLDmlofku7bliIbkuqvvv6VmaWxlX3VybO+/pWhpa2VyOi8vZmlsZXMvcnVsZXMvU3JjL0p1eWluZy9saXZlY29uZmlnLmpzb25AaHR0cDovL2hpa2VyLm5va2lhLnByZXNzL2hpa2VydWxlL3J1bGVsaXN0Lmpzb24/aWQ9NTg2MSZhdXRoPWUxYjUzM2EwLWQ0OGQtNTQ4Zi1iN2I5LTVkNDliOGU5YTM1NFxcXCIsXFxuICAgIH0pXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIlxcXCIsXFxuICAgICAgICBkZXNjOiBcXFwiXFxcIixcXG4gICAgICAgIGNvbF90eXBlOiBcXFwibGluZVxcXCIsXFxuICAgICAgICB1cmw6IFxcXCInXFxcIixcXG4gICAgfSlcXG5cXG4gICAgbGV0IGludGVydmFsID0gZ2V0SXRlbSgnaW50ZXJ2YWwnLCAnMjQnKTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBpbnRlcnZhbCA9PSAtMSA/ICflt7LnpoHmraLoh6rliqjmm7TmlrAnLmZvbnRjb2xvcihcXFwiIzE5Qjg5RFxcXCIpLmJvbGQoKSA6ICgn5pu05paw6Ze06ZqUOicgKyBpbnRlcnZhbCArICflsI/ml7YnKS5mb250Y29sb3IoXFxcIiMxOUI4OURcXFwiKS5ib2xkKCksXFxuICAgICAgICB1cmw6ICQoaW50ZXJ2YWwsICfovpPlhaVu5Li65q2j5pW05pWw5pe277yM5q+P6ZqUbuWwj+aXtuiHquWKqOabtOaWsFxcXFxu5Li6MOaXtu+8jOavj+asoeaJk+W8gOmDveS8muabtOaWsFxcXFxu5Li6LTHml7bvvIznpoHmraLoh6rliqjmm7TmlrAnKS5pbnB1dCgoKSA9PiB7XFxuICAgICAgICAgICAgaWYgKHBhcnNlSW50KGlucHV0KSA+PSAtMSkge1xcbiAgICAgICAgICAgICAgICBzZXRJdGVtKCdpbnRlcnZhbCcsIGlucHV0KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICB9KSxcXG4gICAgICAgIHBpY191cmw6ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU13QUFBRE1DQVlBQUFBL0lrenlBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBQVpkRVZZZEZOdlpuUjNZWEpsQUhkM2R5NXRiaTF6YjJaMExtTnZiU0JoYWlwQUFBQUpuVWxFUVZSNFh1MmRRWXNkVlJiSCt4dm9KeEMvZ04vQWhiZ1Z3ZDJBUzNjREx0eTVUUEE5ZENFRGdnaURxMFJjeEkwME9ERGpSb0tLSU5ocGd3RlJSeWttZ2s2R3hNU0lLT1B3cGs2OXZvOUs1L1JMOTNsVmRjNjU5ZnZCRDhIdXBFOVYzWC9xM0xxMyt1MEJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF6SzRibUg5dzRYVDl6bndlSzg3dksxOXIrWFZhOHNtOVpWT3JWaldidmZldS94MzNPZTJuTUhsWEw0eXFON2h5ODljM1RoOHc3dW1EYmRPZTBDMVo1ak9kZVFrQzRneXd2ZEJkVXZOSTVuRzZMMjNNczFnTUIwN1pTRVpIRmJ1WWpvWW5zdHV2QzAxd1lDSUwzMFo4c1gyb3ZEblNTK1RYZXRtUDg0SUNkZCttYnVKZ21WdTQ3TWVRak9OQkNVU2p3S0RveUU5TUcwWGpYYU1NY1prblg3dGErY2FLeEp1Y2EwYVR2Q1hXVnVjcmN4czM3NnBaMVVyRjI1OW5CS3VoYXNXM1RVVHliT3cyNzloaFp0Tyt1d2ZLNmVRSnlmTWhZSXpRa1FGdFFrTkFxRUJiZEphSG9RRmp5TmhLYUZzT0Jabkgxb2VCcUdaMVhHekN4aG5RV3R6bTZkWnIyQ3I1OE14Tk00bXgwQjBvT3kzUVYzdDVuSGZJYU5sRGlVTXBhcWhsWU1oN2JxMW94V0RJZTNPUnBkbGRHOUtha2VNT0p1VnZmbVpqZlI1N1ZpSE10MmJGWDFBSUM3QzQ1dE5YY1o3aTQ0aWJYY1pWalJ4Nm1zWWdjQVQ4WndPcE0vTVdQZEJhYzI5Ym9NdTVGeGFsUHZabWF5ajVQYmpybVV5TWNkcUFlRU9MSXBQMnFEZGd5OVRObVc4WFFNL1V6MnRFdyt1azAvRU1ScFRQWHhnY0htTDQ5L2ZYSDE0ZzhmVE80ajExNVg2eGxUK1psYUxXTXI1MWlyeDgxVTg1aGdlOGZrZ3Q1YS9UYTVIb05JZnFaV3k5aktPZGJxY1RQVjNyTDFweFhyQitJZ2dSbmZnSUc1ZkRRYUV4QnN3dThWbUt1LzM1ZzhOQVJtWTZLSnYzNEFibm9GcHZqZTNXOG1tODhRbUo0cDZMYnpLOFU3NmgyWW90VHgwTlZYMVJxSGtzRDBUTEhkUCtDR3l5aUJFWnMvN3F5ZWJmYlZPb2VRd1BSTXNSR1R3SnhLYWRQR21OOFFtSjRFeG1iRXdCVGZ1SGt3YUp0R1lIb1NHSnVSQXlOS216YlVnQ013UFZPc3hSQVlzL0lZK3Fsdkw2bkhjRm9KVE04VWdRbTJ5aTltQ1V4eGw4ZlFCS1luZ2JHWkxUREZsMjk4Y3ViNURZSHBTV0JzWmcyTWVOYkgwQVNtWjRwZlZrNWdSdkhEWDY5M1lkQ09yeStCNlpsaVB4bUJHVlY1REwxdGZrTmdlaElZbXpVRlJpeVBvYlg1RFlIcG1TTXd5OWZVNGgydExUQkY3VEUwZ2VtWjVBNFQ2bDBZc2RiQUZPVXg5R05mdnRrZEs0SHBTV0JzMWg2WW9qeUdsanVPOXJXeEpUQldDTXdzRFJrWU1Ud0VacFlTR0NzRVpwWVNHQ3NFWnBZU0dDc0JmK09sWjJDKyt1K3QxY0Z2UDZwZnEwa0NZMFVyMmxuUHdIejA2L1hWay85OGUvV1gvM3k2dXY2L3UrcjMxQ0NCc2FJVjdXeUV3SWhQZi9mTzZ0MmZ2MUsvTDdzRXhvcFd0TE5SQWxOODdsOS82LzYvOXYxWkpUQld0S0tkalJhWTR1TGZIMWZUcGhFWUsxclJ6a1lOakNodDJscy9mYUgrMlV3U0dDdGEwYzVHRGt3eGU1dEdZS3hvUlR1YklUREZyRzBhZ2JHaUZlMXNwc0NJR2RzMEFtTkZLOXJaYklFcC9xbDVOMDJiUm1Dc2FFVTdtelV3UmFsZmRneG9mMzhVQ1l3VnJXaG5zd2RHbERidHJ6ZXZxRDhqZ2dUR2lsYTBzelVFcGhpMVRTTXdWclNpbmEwcE1FVTVwa2h0R29HeG9oWHRiSTJCRVNPMWFRVEdpbGEwczdVR3BoaWhUU013VnJTaW5hMDlNTVhudjMvZnJVMGpNRmEwb3AyZFMyQ0swcVpOdlZ1QXdGalJpbloyYm9FUnBVMzd4eS9mcVRXTklZR3hvaFh0N0J3RFU1eXFUU013VnJTaW5aMXpZSXBqdDJrRXhvcFd0TE56RDB4NS9FeGdJcUlWN2V5Y0F5UEhUa3NXR2Exb1orY1ltS25YWmdpTUZhMW9aK2NVR0s5M2FRaU1GYTFvWitjU0dNKzNOUW1NRmExb1oyc1BqRHc2OXY3dG1nVEdpbGEwczdVR1J0cXZLTDhZa01CWTBZcDJ0c2JBZUd4LzJTYUJzYUlWN1d4TmdmSGNZTGxOQW1ORks5clpHZ0lUL1JkaUVCZ3JXdEhPWmc1TTlIZjVpd1RHaWxhMHMxa0RJNCtKSTdaZm1nVEdpbGEwczlrQ2svSFh4aElZSzFyUnptWUpqTmNxL1JBU0dDdGEwYzVtQ0V6MlR5Z2pNRmEwb3AyTkhKZ0lxL1JEU0dDc2FFVTdHekV3VTc5Q1BMWUV4b3BXdExQUkFoTnRsWDRJQ1l3VnJXaG5vd1JHNnNqeW1QaXNFaGdyV3RIT2VnY20raXI5RUJJWUsxclJ6bm9HcHJiVzZ5UUpqQld0YUdjOUF6TVhDWXdWcldobkNjejRFaGdyV3RIT0VwanhKVEJXdEtLZEpURGpTMkNzSEN3dXE0VTc2aFdZUDMvLzk5VjdkNzlSdjFhYklRTWpZekU4QkdiajQxOWY3SDcrVTk5ZVdsMzkvWWI2UGJWSVlLd1FtSTBsTVAwNm1qL3VxTitiWFFKamhjQnNQQjRZOFpGcnI2L2V1SG1nZm45bUNZd1ZBck5SQzB4UnZsYlQvSWJBV0NFd0c3Y0ZwdmhzczEvRi9JYkFXRGxZN0t2Rk94bzVNT0pEVjEvdGFzdzh2NGtabU9XRm8xRVptSVBGZWJWNFI2TUhwcGg1ZmhQMERuUCthRlFHaHNCc1BHdGdpdkxuUGt5MnU1bkFXQ0V3RzYyQktjcjhKa3ViUm1Dc0VKaU51d1pHTFBNYjdlK1BKSUd4Y3JoNFFpM2UwY3lCS2NyODV1M2IxOVNmRThHUWdaR3hHQjRDczNISXdCU2p6bThJakJVQ3MzR013QlNqelc4SWpKWERjdytyeFR0YVkyQkVtZCs4Zk9NVDlXZFBiY3pBdEdNeEJWcnhqdFlhbUtMTWI3eTMyWVFNVEJxdUxKdjdpbmUwOXNBVTVlZDViYk1KR0pqbWFEUW1JTmgrc3JrRXBpZ3ZyazA5dndrWG1CVDd5QXJCMW1MbUZoaHg2dmxOd01Ba1dJTXBITDcwakhvUVRzckFsUXM2dFRLMzBPcVowc2UrZkZPdGJXZzkvM0ZRbFRHWWhzTlhIbFVQQW5FcVpReW1JdGpFSDJkbG9nbC9RZDVGMEE4R2NWeFR2QWR6bkdEekdKeVJxZVl2ZmE0c2Jxc0hoRGlhN1poTEMyMFpUbTNLZHF3UWNDTW1WbTZLRFpmYjRHa1pUbWZDcDJQSCtXejVnbkpnaU1Ncll5MDkzWFovSnY4NHR1MFlTN09kLzBFRWZNOGZLelBWM3JFSHdWMEdSN1dtdTB1QnV3eU9aVlYzbHo0OE1jUGhyZURKMkVtd0xvTkRtMzdkNVVFRS9HWGxtRlFaUzlYVFBRQ2dOY09kYmVxYjZKOEVyUm51YXZXdDJISFlBWUJXcTFqUnQ4QnVaanlycVhjajc0cjBvQWZMejlVVGczaGNHU3V6bWJlY0JLSEIwMGhZZWhBYTNDWmhVU0EwcUVsWXRrQm9zQzloT1FYcjBQRDBiTzdLR0NBc1o0QjFtdms2MjNXV1hWbnZDR0Fielh4czVyZUNQelJkaThhR3plcVZhMHdMTmlEY2JXcVZ1OHFvZEc5dThycHpmdHRyV08yYmt0Rll0MmtFSjZWSFFhSDlja0JPK3ZwcEdxMWFmSnZ1V2hHVUlFZ2YzSzNmY05lSm85eE5aRDJGT1VwczVPTU8xb3VmM0htbXQxbUhKT3RIVHN3ZCtlaTJMa0J0Mzd6K2RHZENOSnh0T05wejJzMUoybk9jN21QeTRQUklMeTJ0UW5FZHFKN3R2NUxyd1hDLyt1REpwM1pzYS9kYjd6MGYvWFBGUEFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCbVZ2Ny85SjBxS1pQL3E3UXdBQUFBQkpSVTVFcmtKZ2dnPT0nLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiXFxuICAgIH0pO1xcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6IFxcXCJiaWdfYmxhbmtfYmxvY2tcXFwiXFxuICAgIH0pO1xcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGdldENvbG9yZWRUZXh0KFxcXCLmlrDlu7rorqLpmIVcXFwiKSxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwic2Nyb2xsX2J1dHRvblxcXCIsXFxuICAgICAgICBkZXNjOiBcXFwi6K+36L6T5YWl55u05pKt5rqQ6K6i6ZiF5Zyw5Z2AXFxcIixcXG4gICAgICAgIHVybDogJCgnJywgJ+ivt+i+k+WFpeiuoumYheWcsOWdgCcpLmlucHV0KChydWxlKSA9PiB7XFxuICAgICAgICAgICAgaWYgKGlucHV0ID09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/kuI3og73kuLrnqbpcXFwiXFxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dC5pbmRleE9mKFxcXCJodHRwXFxcIikgIT0gMCAmJiBpbnB1dC5pbmRleE9mKFxcXCJmaWxlXFxcIikgIT0gMCAmJiBpbnB1dC5pbmRleE9mKFxcXCJoaWtlclxcXCIpICE9IDApIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+mTvuaOpeagvOW8j+acieivr1xcXCJcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJCgnJywgXFxcIuivt+i+k+WFpeiuoumYheagh+mimFxcXCIpLmlucHV0KCh1cmwsIHJ1bGUpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL3BhZ2UvY29uZmlnP3J1bGU9XFxcIiArIHJ1bGUpKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb25maWcgPSBnZXRDb25maWcoKTtcXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5kYXRhLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGlucHV0LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdXJsXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIiwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+W3suS/neWtmFxcXCI7XFxuICAgICAgICAgICAgICAgIH0sIGlucHV0LCBydWxlKVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0sIGdldE15VmFyKCd0aXRsZScpKVxcbiAgICB9KTtcXG5cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBnZXRDb2xvcmVkVGV4dChcXFwi5a+85YWl6K6i6ZiFXFxcIiksXFxuICAgICAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiLFxcbiAgICAgICAgdXJsOiAkKCcnLCAn5pSv5oyB5Y6f5aeL5pWw5o2u5ZKM5LqR5Ymq6LS05p2/5YiG5Lqr6ZO+5o6lJykuaW5wdXQoKHJ1bGUpID0+IHtcXG4gICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2JhdGNoSW0/cnVsZT1cXFwiICsgcnVsZSkpLnJ1bGUpO1xcbiAgICAgICAgICAgIGlmIChpbnB1dC5zdGFydHNXaXRoKCfogZrnm7Tmkq3liIbkuqsjIycpKSB7XFxuICAgICAgICAgICAgICAgIGlucHV0ID0gcGFyc2VQYXN0ZShpbnB1dC5zcGxpdCgnIyNcXFxcbicpWzFdKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgcmV0dXJuIGJhdGNoSW1wb3J0KGlucHV0LCBydWxlKTtcXG4gICAgICAgIH0sIGdldE15VmFyKCd0aXRsZScpKVxcbiAgICB9KTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBnZXRDb2xvcmVkVGV4dChcXFwi5a+85YWl5pys5Zyw5rqQXFxcIiksXFxuICAgICAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiLFxcbiAgICAgICAgZGVzYzogXFxcIuivt+i+k+WFpeebtOaSrea6kOWQjeensFxcXCIsXFxuICAgICAgICB1cmw6ICQoJycsICfor7fovpPlhaXnm7Tmkq3mupDlkI3np7AnKS5pbnB1dCgocnVsZSkgPT4ge1xcbiAgICAgICAgICAgIGlmIChpbnB1dCA9PSBcXFwiXFxcIikge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5LiN6IO95Li656m6XFxcIlxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwiZmlsZVNlbGVjdDovL1xcXCIgKyAkLnRvU3RyaW5nKChuYW1lKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBsZXQgcyA9IGlucHV0LnNwbGl0KFxcXCIvXFxcIilcXG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSBcXFwiaGlrZXI6Ly9maWxlcy9jYWNoZS9saXZlL1xcXCIgKyBuYW1lICsgXFxcIi5tM3VcXFwiXFxuICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IGZldGNoKFxcXCJoaWtlcjovL2ZpbGVzL2NhY2hlL1xcXCIgKyBzW3MubGVuZ3RoIC0gMV0pXFxuICAgICAgICAgICAgICAgICAgICBpZiAoIWMuaW5jbHVkZXMoJ2h0dHAnKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/pnZ7ms5Xmlofku7YnXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB3cml0ZUZpbGUodXJsLCBjKVxcbiAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9jb25maWc/cnVsZT3ogZrnm7Tmkq1cXFwiKSkucnVsZSk7XFxuICAgICAgICAgICAgICAgICAgICBsZXQgY29uZmlnID0gZ2V0Q29uZmlnKCk7XFxuICAgICAgICAgICAgICAgICAgICBjb25maWcuZGF0YS5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdXJsXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIiwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3suS/neWtmCdcXG4gICAgICAgICAgICAgICAgfSwgaW5wdXQpXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSlcXG4gICAgfSk7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogZ2V0Q29sb3JlZFRleHQoXFxcIuWIhuS6q+iuoumYhVxcXCIpLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJzY3JvbGxfYnV0dG9uXFxcIixcXG4gICAgICAgIHVybDogJChbXFxcIuWOn+Wni+aVsOaNrlxcXCIsIFxcXCLkupHliarotLTmnb9cXFwiLCBcXFwi5LqR5Y+j5LukXFxcIl0sIDMpLnNlbGVjdCgoKSA9PiB7XFxuICAgICAgICAgICAgcmV0dXJuICQoJ+ehruWumuWvvOWHuu+8n1xcXFxuKOemgeeUqOiuoumYheS4jeS8muWvvOWHuiknKS5jb25maXJtKCh0eXBlKSA9PiB7XFxuICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL3BhZ2UvY29uZmlnXFxcIikpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICBjb25maWcgPSBnZXRDb25maWcoKTtcXG4gICAgICAgICAgICAgICAgY29uZmlnLmRhdGEgPSBjb25maWcuZGF0YS5maWx0ZXIodiA9PiAhdi5pblZpc2libGUpO1xcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PSBcXFwi5LqR5Ymq6LS05p2/XFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSAn6IGa55u05pKt5YiG5LqrIyNcXFxcbicgKyBzaGFyZVBhc3RlKEpTT04uc3RyaW5naWZ5KGNvbmZpZykpO1xcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXFxcIuS6keWPo+S7pFxcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0gJ+iBmuebtOaSreWIhuS6qyzlpI3liLblkI7miZPlvIDova/ku7bljbPlj6/lr7zlhaVcXFxcbicgKyBzaGFyZVBhc3RlKEpTT04uc3RyaW5naWZ5KGNvbmZpZykpICsgJ0BpbXBvcnQ9anM6ZXZhbChKU09OLnBhcnNlKGZldGNoKFxcXCJoaWtlcjovL3BhZ2UvY2xvdWQ/cnVsZT3ogZrnm7Tmkq1cXFwiKSkucnVsZSknO1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSBKU09OLnN0cmluZ2lmeShjb25maWcpO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwiY29weTovL1xcXCIgKyBkYXRhO1xcbiAgICAgICAgICAgIH0sIGlucHV0KVxcbiAgICAgICAgfSlcXG4gICAgfSk7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogZ2V0Q29sb3JlZFRleHQoXFxcIue8lui+keWFqOmDqFxcXCIpLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJzY3JvbGxfYnV0dG9uXFxcIixcXG4gICAgICAgIHVybDogXFxcImVkaXRGaWxlOi8vaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIlxcbiAgICB9KTtcXG5cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgIH0pO1xcblxcbiAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2NvbmZpZ1xcXCIpKS5ydWxlKTtcXG4gICAgY29uZmlnID0gZ2V0Q29uZmlnKCk7XFxuICAgIGxldCBlZGl0TW9kZSA9IGdldE15VmFyKCdlZGl0TW9kZScsICflkK/nlKjnpoHnlKgnKTtcXG4gICAgWyflkK/nlKjnpoHnlKgnLCAn5Yig6Zmk6K6i6ZiFJywgJ+mHjeaWsOaOkuW6jycsICfnvJbovpHorqLpmIUnLCAn5riF6Zmk57yT5a2YJ10uZm9yRWFjaCgodikgPT4ge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogdiA9PSBlZGl0TW9kZSA/ICfigJzigJzigJ3igJ0nICsgdi5ib2xkKCkuZm9udGNvbG9yKCcjMTlCODlEJykgOiB2LFxcbiAgICAgICAgICAgIHVybDogdiA9PSBlZGl0TW9kZSA/ICdoaWtlcjovL2VtcHR5JyA6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHYpID0+IHtcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2VkaXRNb2RlJywgdilcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICB9LCB2KSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgICAgICB9KVxcbiAgICB9KTtcXG4gICAgY29uZmlnLmRhdGEuZm9yRWFjaCgodiwgaSkgPT4ge1xcbiAgICAgICAgbGV0IGVsID0ge1xcbiAgICAgICAgICAgIHRpdGxlOiB2Lm5hbWUsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzNcXFwiXFxuICAgICAgICB9XFxuICAgICAgICBzd2l0Y2ggKGVkaXRNb2RlKSB7XFxuICAgICAgICAgICAgY2FzZSAn5ZCv55So56aB55SoJzpcXG4gICAgICAgICAgICAgICAgZWwudGl0bGUgPSAodi5pblZpc2libGUgPyAn8J+UtCAnIDogJ/Cfn6IgJykgKyBlbC50aXRsZVxcbiAgICAgICAgICAgICAgICBlbC51cmwgPSAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2NvbmZpZ1xcXCIpKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZyA9IGdldENvbmZpZygpO1xcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRhdGFbaV0uaW5WaXNpYmxlID0gIWNvbmZpZy5kYXRhW2ldLmluVmlzaWJsZTtcXG4gICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIiwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgICAgIH0sIGkpXFxuICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgY2FzZSAn5Yig6Zmk6K6i6ZiFJzpcXG4gICAgICAgICAgICAgICAgZWwudXJsID0gXFxcImNvbmZpcm06Ly/noa7orqTliKDpmaTigJxcXFwiICsgdi5uYW1lICsgXFxcIuKAneiuoumYhe+8ny5qczpcXFwiICsgJC50b1N0cmluZygoaSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9jb25maWdcXFwiKSkucnVsZSk7XFxuICAgICAgICAgICAgICAgICAgICBjb25maWcgPSBnZXRDb25maWcoKTtcXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5kYXRhLnNwbGljZShpLCAxKTtcXG4gICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIiwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5bey5Yig6ZmkXFxcIjtcXG4gICAgICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgICAgICBjYXNlICfph43mlrDmjpLluo8nOlxcbiAgICAgICAgICAgICAgICBsZXQgc29ydEZsYWcgPSBwYXJzZUludChnZXRNeVZhcignc29ydEZsYWcnLCAnLTEnKSlcXG4gICAgICAgICAgICAgICAgZWwudGl0bGUgPSAoc29ydEZsYWcgPT0gaSA/ICfwn5SDICAnIDogJycpICsgZWwudGl0bGVcXG4gICAgICAgICAgICAgICAgaWYgKHNvcnRGbGFnID09IC0xKVxcbiAgICAgICAgICAgICAgICAgICAgZWwudXJsID0gJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzb3J0RmxhZycsIGkudG9TdHJpbmcoKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6YCJ5oup6KaB56e75Yqo5Yiw55qE5L2N572uJ1xcbiAgICAgICAgICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICAgICAgZWxzZVxcbiAgICAgICAgICAgICAgICAgICAgZWwudXJsID0gJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgob2xkSW5kZXgsIG5ld0luZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9jb25maWdcXFwiKSkucnVsZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnID0gZ2V0Q29uZmlnKCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRhdGEuc3BsaWNlKG5ld0luZGV4LCAwLCBjb25maWcuZGF0YS5zcGxpY2Uob2xkSW5kZXgsIDEpWzBdKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIiwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NvcnRGbGFnJywgJy0xJylcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgICAgICAgICB9LCBzb3J0RmxhZywgaSlcXG4gICAgICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgICAgICBjYXNlICfnvJbovpHorqLpmIUnOlxcbiAgICAgICAgICAgICAgICBsZXQgYXJyID0gWyfnvJbovpHlkI3np7AnLCAn57yW6L6R5Zyw5Z2AJywgJ+e8lui+keWGheWuuSddO1xcbiAgICAgICAgICAgICAgICBlbC51cmwgPSAkKGFyciwgMykuc2VsZWN0KCh2LCBpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQgPT0gJ+e8lui+keWQjeensCcpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJCh2Lm5hbWUsICfovpPlhaXmlrDlkI3np7AnKS5pbnB1dCgoaSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2NvbmZpZ1xcXCIpKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnID0gZ2V0Q29uZmlnKCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRhdGFbaV0ubmFtZSA9IGlucHV0XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUZpbGUoXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMvbGl2ZS9jb25maWcuanNvblxcXCIsIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5L+u5pS55oiQ5YqfJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+S4jeiDveS4uuepuidcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIGkpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dCA9PSAn57yW6L6R5Zyw5Z2AJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkKHYudXJsLCAn6L6T5YWl5paw5Zyw5Z2AJykuaW5wdXQoKGkpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9jb25maWdcXFwiKSkucnVsZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZyA9IGdldENvbmZpZygpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQgPT0gXFxcIlxcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/kuI3og73kuLrnqbpcXFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQuaW5kZXhPZihcXFwiaHR0cFxcXCIpICE9IDAgJiYgaW5wdXQuaW5kZXhPZihcXFwiZmlsZVxcXCIpICE9IDAgJiYgaW5wdXQuaW5kZXhPZihcXFwiaGlrZXJcXFwiKSAhPSAwKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v6ZO+5o6l5qC85byP5pyJ6K+vXFxcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRhdGFbaV0udXJsID0gaW5wdXRcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIiwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/kv67mlLnmiJDlip8nXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBpKTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQgPT0gJ+e8lui+keWGheWuuScpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodi51cmwuc3RhcnRzV2l0aCgnZmlsZTovLycpIHx8IHYudXJsLnN0YXJ0c1dpdGgoJ2hpa2VyOi8vZmlsZXMnKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2VkaXRGaWxlOi8vJyArIHYudXJsO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2VkaXRGaWxlOi8vaGlrZXI6Ly9maWxlcy9saWJzLycgKyBtZDUodi51cmwpICsgJy5qcydcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSwgdiwgaSk7XFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIGNhc2UgJ+a4hemZpOe8k+WtmCc6XFxuICAgICAgICAgICAgICAgIGVsLnVybCA9ICQoJ+ehruWumua4hemZpOKAnCcgKyB2Lm5hbWUgKyAn4oCd6K6i6ZiF57yT5a2Y77yfXFxcXG4o5Y+v56uL5Y2z5pu05pawKScpLmNvbmZpcm0oKHVybCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlQ2FjaGUodXJsKTtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/muIXpmaTmiJDlip8nXFxuICAgICAgICAgICAgICAgIH0sIHYudXJsKVxcbiAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG4gICAgICAgIGQucHVzaChlbClcXG4gICAgfSk7XFxuICAgIHJldHVybiBkO1xcbn1cXG5cXG4kLmV4cG9ydHMgPSB7XFxuICAgIHJlbmRlclNldHRpbmc6IHJlbmRlclNldHRpbmdcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLkupHlj6Pku6RcIixcInBhdGhcIjpcImNsb3VkXCIsXCJydWxlXCI6XCJldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2JhdGNoSW0/cnVsZT3ogZrnm7Tmkq1cXFwiKSkucnVsZSk7XFxubGV0IGNvbnRlbnQgPSBwYXJzZVBhc3RlKGlucHV0KTtcXG5iYXRjaEltcG9ydChjb250ZW50LCBcXFwi6IGa55u05pKtXFxcIik7XCJ9XSIsImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU13QUFBRE1DQVlBQUFBL0lrenlBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBQVpkRVZZZEZOdlpuUjNZWEpsQUhkM2R5NXRiaTF6YjJaMExtTnZiU0JoYWlwQUFBQU44VWxFUVZSNFh1MmRQNDhieHhuRzlSSDhFZnhSMUJsbkYxYmhQcldSUmtEY0pUQlVwSERod29DVElvVVFOUUpTQllLTGRBNVpHSEhoQVBJZnhBNFUyWkVCMjRtQ0FDSnlPcDEwa3Mzd3g1dlhIdTI5SkhmSm5kbVozZWNCZmpqZWNuYnUzWm4zNGN6c24rTWxTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWktrUHZYcTdNRUxyOHlPTHpjNW1oMWY4M2g1OXZDZGwrY1A1eDVIOCtON3E1L0xDdGwwUExlYXh4KzNFVzBYbWxFYW0xNmFuYjU0TkR1NXNrNzY4MlNvTmJtTEk3VGwvTnhVSjFkbzY5RHNVazBLQnJraGMrU0hObCszL2FvUFFuZElKU3BNcDI2c09tM1I3RVF4R0F2NmhMNEozU1FOcWJBT3VhcVJwSHpvSS9wSzY1OEJSS016YjE1MWhFYVQrbURVdVNialpKS01NaHJXeGduZEt2V3Q5UnBGVTYvUkVhWnFXdVAwcGZYMGEzNTh5MnRzTVI3b1kwM1REcFJHbFdtaDBlWUFjVWJGYTFReGZ1ajdrQWJTTG9VellGeFBjUnRUVEFOeVFGTzBIUXJybFkrOUJoVFRnMXlRYVRaSVpoRWVNbzBqbVVWc1E2YUpKTE9JTnNnMEs4a3NvZ3VUTjQzT2hvbXVrRE1oZmFZbFhXY1Ireks1NnpSY3pmVWFRb2kya0VNaG5jYXRzRzdSN1M3aUlNaWhTYXhuVmdlcUd5bEZMNUJMSWEzR0tVM0ZSTitNZW1xbXFaam9HM0lxcE5lNHhOTjEzZ0VMY1Nqa1ZraXpjWWpGMmVyQTlGaXhTTVZpVkNjQU5McUkxSXhtbE5Ib0lqSXhqbEdHcTdMT3dRblJPK1JhU0x0NnBUTmpJaGZWbnpIVGRSZVJtNnF2eTNCbnFYZFFRcVNDbkF2cFY1OVdCNkRGdnNqTklxUmZYZUxyRHB5REVTSTVWWDdWaHFaallpaXFuSmJwN0pnWWl1ck9sdkhWYmQ2QmpKRzNQbis4L0dUeC9YTHhkTG4rZWYyck03ZmNFQkJMSEJ1eGV1WEdTRlZmSHppVjljdDczejVkSjJNVGt2TzFEMDdjZlhMQTN6YWpOQ0ZtYjUreFVkVTZodnQ2dklNWUUyL2NQblVUMGhqS05Odk1ZaEM3dCsrWUlBZERPcGF2VmNCOGZiVjdJR1BoRDErZnVja1lrOXMwYmN3Q3hPN3RQekxtSVIzTDF4UVcvTy9mZitZbVk1TmNwbWxyRmlCMnI0NHhVZFhDM3p1QXNmSHVuU2R1TW5xa05rMFhzd0N4ZS9XTWpaQ09aU3ZjenU4ZXdKZ2dTYjk3L0lPYmtCNnBUTlBWTE1TYzByd2xVY1h0L2xPNjRmTDFqeDROYXBwOXpFTE1YbDFqcElvYk1hZDJoL0pRcHBGWmRpUERGRXB1MDhnczdaQmhDaWFYYVdTVzlsUnhMV2FxaG9IVXBwRlp1bEdGWWFad2xYOGJxVXdqczNSSGhrbkFtNStkcnUrdjZwS01VNE8yb1kxb0s2OE5TMFdHNlFrK3JibVR0OHRJSU02aHpXaTdMbFBKb1RpcTRaK1ZsMjRZcm5MTEtJZERHMVp3eDBENTk1T1ZhaGcrRWR2ZS95WGFRNXNXUE5ySU1QdlFkY0VzdXRIMnhNVUFsRytZbDJjUDMzRUNIeFNaSlQyMHNkZjJBMU9CWVZaQk5vSWVsRGJQclloK0tQQTVHeG1tQzd1ZWloVDlVOWpUbkRKTUYrNCsxTm13M05EbVhsOE1SVWpMY3JVS3NnakRjSkhONjFDUm5wSXVjSWEwTEZlcklJc3d6TDZua0wvNDMvZkwydzhFMEJaZUcrMmlwRWVnUTFxV3ExV1FneHVHVTV4ZVIyN2pMLzk5dHZ6bHA2ZkxuLy8xa1lpZ1RXZ2JyODIyVWNwcDVwQ1c1YXFFZjREUmRiRi84OTZabXl6aUoyZ2pyKzAyVWNyaVA2Umx1ZktDemczM09ubWQ2TUhVdzBzUWNSSGF5bXREajFMK0EyaEl5M0xsQloyYkxvYTUvdVVUTnpuRVJXZ3JydzA5WkppVzhvTE9UWmVMbFc5LzhkaE5EbkVSMnNwclF3OFpwcVc4b0hQellZZEZxZ3pUSGhrbWdieWdjeVBEcEVHR1NTQXY2TnpJTUdtUVlSTElDem8zTWt3YVpKZ0U4b0xPalF5VEJoa21nYnlnY3lQRHBFR0dTU0F2Nk56SU1HbVFZUkxJQ3pvM01rd2FaSmdFOG9MT3phR0crZFducDh1My8vNzRPWDc5TnhsTGhra2dMK2pjN0dzWVRQSHZIZitDaWZ1cC92ak4wMGthU0laSklDL28zT3hqbU4vKzQvdytLVE9FUVYxczg0eDA3K1NINWMydno1YS91TjN1c1FCR3JqLzk2K202UG43eU43MXlwU0xESkpBWGRHNzJNUXpUTGpOTE0xRU1Fdjc2VjA4dTFJK1oyRytiY1RESEp0UFZNbHJKTUFua0JaMmJmYWRrWGNBOG1DUTJBYSs5VVlPeXZJODVyQ3l2MlovWHhOdmNwMFJrbUFUeWdzNU5Tc00wUndOR2xhWngvbnovMlhPakRhTVg3NXRoN0gzZ2Q2Wm5jWjJsSXNNa2tCZDBibElhWnIzUHlnRE43WXdpVE9tc1hwNkhOOVBZU0FLVVlUdFRPMHdVbHlzZEdTYUJ2S0J6azhvd05yVmloUERlQjA0Q1dOMW1Cc3hoMjJKcU1ndklNQW5rQloyYlZJWmhaR0VmUmdudmZTTTJDTEZnQ3B1T1lSSU10ODhaTXVyMXR2ZUpOM29hTWt3Q2VVSG5KcFZoYlBSZ0tyWHJ6Rlk4RGR0MjZwbnRKQ2xtQUY1dktrdGRtMFkzNG1GZlJzRjRXeGVUMlFmQ3BtT1RZUkxJQ3pvM2ZSdUdCR0poM3R5WDBjSk9SWk9ZelVTM05RMEc0ejNxWVIrcmMxdWNqRUJXeHVxMVVZckU1cjE0eldTWW1URU9yekVyKzFLZnhXcnhOVEhEOE5OOVg0YnBYMTdRdWVuTE1DUmJmQ3A0RnlSb25Hd2txYjJIb1d6VU1lUEUrNUhNUU95VXd5U01KcnpQZHVxejN5bURJZUk2RE1yeXQvako3NVJybWowZWhXSmttQUhrQloyYlBneGpDWWRocUEveldNS3U5MXNsRmR2c3lyMXRwMnhjajIxblh6T01KYWFWWnp0MXNUMGVwV0t6VWdZajhCcUQ4WDRjRC91YkVheCszby9OWXVWalEvRGFvQTZyeTdaaDdoL0x5akQ5eXdzNk4zMFlodmVhQzNOTGVJaTNnNDBtTmhvWVZwN3RscnpVWTFNa2t0L0tHSlFqK1hsdHBySFJ5OHJFbzVkQldmNm1IWDhjTDJZaCtYbE5QWlF6Zyt6Q3lzc3dDZVFGblpzK0RFUFNVay84aWIvTE1Jd0E4U2V5SlQzRUl4SDFrSVR4Q0dMVE1qUFE3Lzk1bnN5eDBlSXBtTVZDZVJ1OXpPRDJkd3oyNHpoc3U0MUViR00vWS9hZjgzYmpwMjNEVkhZOE1rd0NlVUhucGcvREFJbElzdGtuTEFsayt6WExOaUVaNHdTbmp0Z3d2TFpFNXpVUXQ1bklQdjNaVGwzeFNFUVpNeEYxVURmbE54bUdzaFlMZjZNWnEwRTlsTEhqdmZDK0ROTy92S0J6MDVkaHdFeGlDVzM3eFNOSkV4SXVOb3NscVNVeWRWcTlsR043YkFqNDNkM25wM2p4RkN3ZXJacFFidE43R0MwZU1adklNQVBJQ3pvM2ZSb0dTS0I0K2dRa09Oc05FaFVUeEVZQmt0ZVMxQmJ0L09SM3lqZU53dS9VeGJTSjExYlc0c0Fzdkdaa2FlNUhmYnpuR1lhNHRwa2NxSit5L0hUZmwySDZseGQwYnZvMkREU25XTHZBWUhHeUc5NDJNOTJ1aEk0aEhvNFRjMkFVTXlVL0xRWXpYOXQ2MlRkZXN6U1JZUkxJQ3pvM0tRd0RKSjZOQ0RZdGFzSjJrdFRiUHdjMmlsbU1YcGw5a1dFU3lBczZONmtNQTB5VnZGR2lGT0pqM3pTMTJoY1pKb0c4b0hPVDBqQ2xZOGZGU09pOWZ3Z3lUQUo1UWVkbXFvWmh5bWpIUlJ0NFpRNUJoa2tnTCtqY1ROVXc4WUovMitKOVgyU1lCUEtDenMyVXAyUjJ1dG11NXZlSkRKTkFYdEM1bWJKaG9PL0Z2aUhESkpBWGRHNm1icGhVeURBSjVBV2RHeGttRFRKTUFubEI1MGFHU1lNTWswQmUwTG1SWWRJZ3d5U1FGM1J1WkpnMHlEQUo1QVdkR3hrbURUSk1BbmxCNTBhR1NZTU1rMEJlMExsNTc5dWZub3pjaFF6VEhoa21nWTdteHg5N2dlZUV6dkk2MFVPR2FjOXY3bHo4eHh1YktNUXc4NUNXNVlvZ0cwRm5wNHRodUpYRVN3NXhrZVpUbnR1UVlWcUtJQnRCWitldHo5dFBIYURMazQ1VEpiNFR1ZzMwZ2RjM21aRmgydkN6RDAvY1R0d0V6NDdJTkp1Sm56UnRDMzNnOVUxbVpKaTIzSDNZcllPQktjZk5lMmZyZFkxNHZMeis1Wk5PMHpDRHR2ZjZaQUJrbUxaMFdjZUlmaWxrL1FMbEcrWm9mbnpMQ1R3N3IzMXdzdnl1NHpSQ0hBNXRUdHQ3ZlpLYm85bnhqWkNXNVdvVjVEVXYrQ0hRS0pPZmdrWVhESE10cEdXNUtza3dmTkx0czVZUiswRmJseks2Z0F5ekI2OS85RWhUc3d6UXhyUzExd2RESWNQc1NkZnJNcUk3aFZ4M2VZNHFEUFBLN1BpeUYvelEwS0VhYWZxSE5pM1JMRUF1aHJRc1Y2VWFCcGd5ZkxKby8vK1J4WFpveTlLbVlURXlURTl3SmtlanpmN1FkaVdkRGR0RUZZWjVkZmJnQlMvNDB1QnNEbE1KalRqdG9hMW9zNUxPaEcyRFhBeHBXYmE4NEV1R0JIamo5dW55M1R0ODdkN1pYcWVpMmE5a3ZKaTNRUnV3SDIxQzI5UmlrcGlRanVYcmFINTh6enVBV3VpYVlPL2ZmK2JXVXhMRTZNVytDZHJBcTZjV3lNR1FqdVZyRlhBUjk1UHRTOWU3bmQvODdOU3RweVNJMFl0OUU0WGNiWHdJNWQ5SFppcnhXa3hYbUlwNGlkU0V4Nkc5L1V1azdhUGJITHUzZjAxVWNRM0dkRFE3dWVJZFJHM3NtcHJWWkJaamwybHFuNG9aNUdCSXgvTDEwdXowUmU4Z2FvU3BDVWxtWjlOWURQTTdDMkd2ZkEwUU84ZGdKemM0Tm40ZndUVHNSOGpCa0k1MXFQYUZ2NmlYcWhiOHB0VWM4b1ozTUVLa2h0d0xhVmlQeHJLT0VmVlIxZm9sMWlyNFJmTmdoRWpNSXFSZmZkSzBUT1NteXVtWXFZWWJNY1c0cU9LR3kyM1MyVEtSaXlyUGpqVzFjdnhWNytDRTZCdHlMYVJkdlFxMysydnhMMUt6cU9aMi9sM2l2aDduQUlYb0RYSXNwRnY5MGlnakVqT2UwY1drVVVha1lsU2pTeXlkTVJOOU00b3pZNXVrNnpLaWI2cS83ckpMcTArRUl2NVp1YWdmY2ltazFYakY0a3hUTTNFbzVORG9GdnFicEttWk9KVFJUOFdhNHFxczF4QkM3SUxjQ1drMExYRm5xZGNnUW15Q25BbnBNejJGOWN6ZzMrc3Y2b0JjbWN5NlpaTmtHdEVHbVNXU1RDTzJJYk00a21tRWg4eXlSVEtOaUpGWldtaHRHcDA5bXp6a2dNelNRYnBPTTEwbWU1M2xVSEUxZHpVczZ6YWFpVUJmMCtlaCs2VjlGTlkxdW1GejVOREhtb0wxS0kwMjQwU2pTbUx4ZE4ycW9mVzRjLzBzNk12UXJWSktoVE5wTWs2ZHJJMmk2ZGNBb3RFNW82S3BXdm1FcWRkVkdhVVFyZGM0NTlkdk5PcVVBNlBKRGExUkNoZGZkMEJIYWVUSkQyMitidnRhdjNKaTZ1S3IyNEtCV1BQTVphTCtDRzA1cDIxcDQrcStKazlxcjdEK3VXeWNkL3B6TUwzajY5TTkzQVNxRU8vWStGQzUxV3lQdUsyMERwRWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtxVjlkdXZSL2VPSHN1SVlNZDUwQUFBQUFTVVZPUks1Q1lJST0iLCJwcm94eSI6IiJ9
Add Comment
Please, Sign In to add comment