WyI8IS0tIEZhY2Vib29rIFBpeGVsIENvZGUgLS0+XG4gICAgPHNjcmlwdD5cbiAgICAgICAgZnVuY3Rpb24gZ2V0RkJDb29raWUoY25hbWUpIHtcbiAgICAgICAgICAgIGxldCBuYW1lID0gY25hbWUgKyBcIj1cIjtcbiAgICAgICAgICAgIGxldCBkZWNvZGVkQ29va2llID0gZGVjb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LmNvb2tpZSk7XG4gICAgICAgICAgICBsZXQgY2EgPSBkZWNvZGVkQ29va2llLnNwbGl0KCc7Jyk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGMgPSBjYVtpXTtcbiAgICAgICAgICAgICAgICB3aGlsZSAoYy5jaGFyQXQoMCkgPT0gJyAnKSB7XG4gICAgICAgICAgICAgICAgICAgIGMgPSBjLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGMuaW5kZXhPZihuYW1lKSA9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjLnN1YnN0cmluZyhuYW1lLmxlbmd0aCwgYy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gZ2V0VXJsUGFyYW1ldGVyKHBhcmFtKSB7XG4gICAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICAgICAgcmV0dXJuIHVybFBhcmFtcy5nZXQocGFyYW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICFmdW5jdGlvbiAoZiwgYiwgZSwgdiwgbiwgdCwgcykge1xuICAgICAgICAgICAgaWYgKGYuZmJxKSByZXR1cm47XG4gICAgICAgICAgICBuID0gZi5mYnEgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgbi5jYWxsTWV0aG9kID9cbiAgICAgICAgICAgICAgICAgICAgbi5jYWxsTWV0aG9kLmFwcGx5KG4sIGFyZ3VtZW50cykgOiBuLnF1ZXVlLnB1c2goYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoIWYuX2ZicSkgZi5fZmJxID0gbjtcbiAgICAgICAgICAgIG4ucHVzaCA9IG47XG4gICAgICAgICAgICBuLmxvYWRlZCA9ICEwO1xuICAgICAgICAgICAgbi52ZXJzaW9uID0gXCIyLjBcIjtcbiAgICAgICAgICAgIG4ucXVldWUgPSBbXTtcbiAgICAgICAgICAgIHQgPSBiLmNyZWF0ZUVsZW1lbnQoZSk7XG4gICAgICAgICAgICB0LmFzeW5jID0gITA7XG4gICAgICAgICAgICB0LnNyYyA9IHY7XG4gICAgICAgICAgICBzID0gYi5nZXRFbGVtZW50c0J5VGFnTmFtZShlKVswXTtcbiAgICAgICAgICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCwgcyk7XG4gICAgICAgIH0od2luZG93LCBkb2N1bWVudCwgXCJzY3JpcHRcIixcbiAgICAgICAgICAgIFwiaHR0cHM6Ly9jb25uZWN0LmZhY2Vib29rLm5ldC9lbl9VUy9mYmV2ZW50cy5qc1wiKTtcblxuICAgICAgICBmYnEoXCJpbml0XCIsICcyNTQ5MzgwNDM5Njc3MTEnKTtcbiAgICAgICAgICAgICAgICBsZXQgZXZlbnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgbGV0IGZicCA9IGdldEZCQ29va2llKCdfZmJwJyk7XG4gICAgICAgIGxldCBmYmMgPSBnZXRGQkNvb2tpZSgnX2ZiYycpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHhJZCA9IGdldFVybFBhcmFtZXRlcignZm9ybV9zdWJtaXNzaW9uX2lkJykgPz8gZXZlbnRUaW1lO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldCBldmVudCA9IGdldFVybFBhcmFtZXRlcignZm9ybV9zdWJtaXNzaW9uX2lkJykgPyAnTGVhZCcgOiAnUGFnZVZpZXcnO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRJRCA9IGBwYWdlLiR7ZXZlbnR9LnR4XyR7dHhJZH1gO1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgbGV0IGRlZHVwbGljYXRpb25LZXkgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcG9zdCA9IHtcbiAgICAgICAgICAgICAgZG9tYWluOiAnbGVlZnN0aWpsZ2V6b25kaGVpZHNjbHViLm5sJyxcbiAgICAgICAgICAgICAgY29udmVyc2lvbl90eXBlOiAnUGFnZVZpZXcnLFxuICAgICAgICAgICAgICB1cmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgICAgICAgICAgICBldmVudF9pZDogZXZlbnRJRCxcbiAgICAgICAgICAgICAgZXZlbnRfdGltZTogZXZlbnRUaW1lLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKGdldFVybFBhcmFtZXRlcihcInBhZ2VzZVwiKSkge1xuICAgICAgICAgICAgICBwb3N0LmVtYWlsID0gZ2V0VXJsUGFyYW1ldGVyKFwicGFnZXNlXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZ2V0VXJsUGFyYW1ldGVyKFwicGFnZXNmXCIpKSB7XG4gICAgICAgICAgICAgIHBvc3QuZmlyc3RfbmFtZSA9IGdldFVybFBhcmFtZXRlcihcInBhZ2VzZlwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGdldFVybFBhcmFtZXRlcihcInBhZ2VzbFwiKSkge1xuICAgICAgICAgICAgICBwb3N0Lmxhc3RfbmFtZSA9IGdldFVybFBhcmFtZXRlcihcInBhZ2VzbFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZicCAhPT0gXCJcIikge1xuICAgICAgICAgICAgICBwb3N0LmZicCA9IGZicDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZiYyAhPT0gXCJcIikge1xuICAgICAgICAgICAgICBwb3N0LmZiYyA9IGZiYztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdXJsID0gJ2h0dHBzOi8vbGVlZnN0aWpsZ2V6b25kaGVpZHNjbHViLm5sL2NsaWVudC9mYWNlYm9vay1jb252ZXJzaW9uL2V2ZW50cyc7XG4gICAgICAgICAgICBsZXQgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgICAgICAgICB4aHIub3BlbihcIlBPU1RcIiwgdXJsLCB0cnVlKTtcbiAgICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKFwiQ29udGVudC10eXBlXCIsIFwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOFwiKTtcbiAgICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKFwiWC1SZXF1ZXN0ZWQtV2l0aFwiLCBcIlhNTEh0dHBSZXF1ZXN0XCIpO1xuICAgICAgICAgICAgeGhyLnNlbmQoSlNPTi5zdHJpbmdpZnkocG9zdCkpO1xuICAgICAgICBcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICBsZXQgZXZlbnRTdG9yYWdlS2V5ID0gZGVkdXBsaWNhdGlvbktleSA/ICdmYl9ldmVudF8nICsgZGVkdXBsaWNhdGlvbktleSA6IG51bGw7XG4gICAgICAgICAgICBsZXQgZXZlbnRUcmFja2VkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoZXZlbnRTdG9yYWdlS2V5KSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRUcmFja2VkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oZXZlbnRTdG9yYWdlS2V5KSAhPT0gbnVsbDtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGxvY2FsU3RvcmFnZSBtYXkgYmUgdW5hdmFpbGFibGUgKHByaXZhdGUgbW9kZSAvIGRpc2FibGVkIHN0b3JhZ2UpOyBmaXJlIGFueXdheS5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghZXZlbnRUcmFja2VkKSB7XG4gICAgICAgICAgICAgICAgbGV0IGZiRGF0YSA9IHt9O1xuXG4gICAgICAgICAgICAgICAgaWYgKGZicCAhPT0gXCJcIikge1xuICAgICAgICAgICAgICAgICAgICBmYkRhdGEuZmJwID0gZmJwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChmYmMgIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmJEYXRhLmZiYyA9IGZiYztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBmYnEoXCJ0cmFja1wiLCAnUGFnZVZpZXcnLCBmYkRhdGEsIHsgZXZlbnRJRDogZXZlbnRJRCB9KTtcblxuICAgICAgICAgICAgICAgIGlmIChldmVudFN0b3JhZ2VLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGV2ZW50U3RvcmFnZUtleSwgZXZlbnRUaW1lLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZ25vcmUgc3RvcmFnZSBmYWlsdXJlcyAocXVvdGEgLyBwcml2YXRlIG1vZGUpLlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICA8L3NjcmlwdD5cbiAgICA8IS0tIEVuZCBGYWNlYm9vayBQaXhlbCBDb2RlIC0tPlxuIix7Im5hbWUiOiJmYiIsImxvY2F0aW9uIjoiaGVhZCIsImNvbnNlbnRUeXBlIjoic3RhdGlzdGljYWwiLCJjb250ZW50IjoiPCEtLSBGYWNlYm9vayBQaXhlbCBDb2RlIC0tPlxuICAgIDxzY3JpcHQ+XG4gICAgICAgIGZ1bmN0aW9uIGdldEZCQ29va2llKGNuYW1lKSB7XG4gICAgICAgICAgICBsZXQgbmFtZSA9IGNuYW1lICsgXCI9XCI7XG4gICAgICAgICAgICBsZXQgZGVjb2RlZENvb2tpZSA9IGRlY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5jb29raWUpO1xuICAgICAgICAgICAgbGV0IGNhID0gZGVjb2RlZENvb2tpZS5zcGxpdCgnOycpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBjID0gY2FbaV07XG4gICAgICAgICAgICAgICAgd2hpbGUgKGMuY2hhckF0KDApID09ICcgJykge1xuICAgICAgICAgICAgICAgICAgICBjID0gYy5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjLmluZGV4T2YobmFtZSkgPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYy5zdWJzdHJpbmcobmFtZS5sZW5ndGgsIGMubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGdldFVybFBhcmFtZXRlcihwYXJhbSkge1xuICAgICAgICAgICAgY29uc3QgdXJsUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgICAgIHJldHVybiB1cmxQYXJhbXMuZ2V0KHBhcmFtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAhZnVuY3Rpb24gKGYsIGIsIGUsIHYsIG4sIHQsIHMpIHtcbiAgICAgICAgICAgIGlmIChmLmZicSkgcmV0dXJuO1xuICAgICAgICAgICAgbiA9IGYuZmJxID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIG4uY2FsbE1ldGhvZCA/XG4gICAgICAgICAgICAgICAgICAgIG4uY2FsbE1ldGhvZC5hcHBseShuLCBhcmd1bWVudHMpIDogbi5xdWV1ZS5wdXNoKGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKCFmLl9mYnEpIGYuX2ZicSA9IG47XG4gICAgICAgICAgICBuLnB1c2ggPSBuO1xuICAgICAgICAgICAgbi5sb2FkZWQgPSAhMDtcbiAgICAgICAgICAgIG4udmVyc2lvbiA9IFwiMi4wXCI7XG4gICAgICAgICAgICBuLnF1ZXVlID0gW107XG4gICAgICAgICAgICB0ID0gYi5jcmVhdGVFbGVtZW50KGUpO1xuICAgICAgICAgICAgdC5hc3luYyA9ICEwO1xuICAgICAgICAgICAgdC5zcmMgPSB2O1xuICAgICAgICAgICAgcyA9IGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSlbMF07XG4gICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsIHMpO1xuICAgICAgICB9KHdpbmRvdywgZG9jdW1lbnQsIFwic2NyaXB0XCIsXG4gICAgICAgICAgICBcImh0dHBzOi8vY29ubmVjdC5mYWNlYm9vay5uZXQvZW5fVVMvZmJldmVudHMuanNcIik7XG5cbiAgICAgICAgZmJxKFwiaW5pdFwiLCAnMjU0OTM4MDQzOTY3NzExJyk7XG4gICAgICAgICAgICAgICAgbGV0IGV2ZW50VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIGxldCBmYnAgPSBnZXRGQkNvb2tpZSgnX2ZicCcpO1xuICAgICAgICBsZXQgZmJjID0gZ2V0RkJDb29raWUoJ19mYmMnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHR4SWQgPSBnZXRVcmxQYXJhbWV0ZXIoJ2Zvcm1fc3VibWlzc2lvbl9pZCcpID8/IGV2ZW50VGltZTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgZXZlbnQgPSBnZXRVcmxQYXJhbWV0ZXIoJ2Zvcm1fc3VibWlzc2lvbl9pZCcpID8gJ0xlYWQnIDogJ1BhZ2VWaWV3JztcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50SUQgPSBgcGFnZS4ke2V2ZW50fS50eF8ke3R4SWR9YDtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAgICAgICAgIGxldCBkZWR1cGxpY2F0aW9uS2V5ID0gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBvc3QgPSB7XG4gICAgICAgICAgICAgIGRvbWFpbjogJ2xlZWZzdGlqbGdlem9uZGhlaWRzY2x1Yi5ubCcsXG4gICAgICAgICAgICAgIGNvbnZlcnNpb25fdHlwZTogJ1BhZ2VWaWV3JyxcbiAgICAgICAgICAgICAgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50SUQsXG4gICAgICAgICAgICAgIGV2ZW50X3RpbWU6IGV2ZW50VGltZSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChnZXRVcmxQYXJhbWV0ZXIoXCJwYWdlc2VcIikpIHtcbiAgICAgICAgICAgICAgcG9zdC5lbWFpbCA9IGdldFVybFBhcmFtZXRlcihcInBhZ2VzZVwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGdldFVybFBhcmFtZXRlcihcInBhZ2VzZlwiKSkge1xuICAgICAgICAgICAgICBwb3N0LmZpcnN0X25hbWUgPSBnZXRVcmxQYXJhbWV0ZXIoXCJwYWdlc2ZcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChnZXRVcmxQYXJhbWV0ZXIoXCJwYWdlc2xcIikpIHtcbiAgICAgICAgICAgICAgcG9zdC5sYXN0X25hbWUgPSBnZXRVcmxQYXJhbWV0ZXIoXCJwYWdlc2xcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmYnAgIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgcG9zdC5mYnAgPSBmYnA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmYmMgIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgcG9zdC5mYmMgPSBmYmM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHVybCA9ICdodHRwczovL2xlZWZzdGlqbGdlem9uZGhlaWRzY2x1Yi5ubC9jbGllbnQvZmFjZWJvb2stY29udmVyc2lvbi9ldmVudHMnO1xuICAgICAgICAgICAgbGV0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgICAgICAgeGhyLm9wZW4oXCJQT1NUXCIsIHVybCwgdHJ1ZSk7XG4gICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihcIkNvbnRlbnQtdHlwZVwiLCBcImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLThcIik7XG4gICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihcIlgtUmVxdWVzdGVkLVdpdGhcIiwgXCJYTUxIdHRwUmVxdWVzdFwiKTtcbiAgICAgICAgICAgIHhoci5zZW5kKEpTT04uc3RyaW5naWZ5KHBvc3QpKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgbGV0IGV2ZW50U3RvcmFnZUtleSA9IGRlZHVwbGljYXRpb25LZXkgPyAnZmJfZXZlbnRfJyArIGRlZHVwbGljYXRpb25LZXkgOiBudWxsO1xuICAgICAgICAgICAgbGV0IGV2ZW50VHJhY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGV2ZW50U3RvcmFnZUtleSkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50VHJhY2tlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGV2ZW50U3RvcmFnZUtleSkgIT09IG51bGw7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBsb2NhbFN0b3JhZ2UgbWF5IGJlIHVuYXZhaWxhYmxlIChwcml2YXRlIG1vZGUgLyBkaXNhYmxlZCBzdG9yYWdlKTsgZmlyZSBhbnl3YXkuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWV2ZW50VHJhY2tlZCkge1xuICAgICAgICAgICAgICAgIGxldCBmYkRhdGEgPSB7fTtcblxuICAgICAgICAgICAgICAgIGlmIChmYnAgIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmJEYXRhLmZicCA9IGZicDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoZmJjICE9PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGZiRGF0YS5mYmMgPSBmYmM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZmJxKFwidHJhY2tcIiwgJ1BhZ2VWaWV3JywgZmJEYXRhLCB7IGV2ZW50SUQ6IGV2ZW50SUQgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnRTdG9yYWdlS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShldmVudFN0b3JhZ2VLZXksIGV2ZW50VGltZS50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWdub3JlIHN0b3JhZ2UgZmFpbHVyZXMgKHF1b3RhIC8gcHJpdmF0ZSBtb2RlKS5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgPC9zY3JpcHQ+XG4gICAgPCEtLSBFbmQgRmFjZWJvb2sgUGl4ZWwgQ29kZSAtLT5cbiIsImF0dHJpYnV0ZXMiOm51bGx9XQ==
Ga naar hoofdinhoud
W10=
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,