1 line
29 KiB
JSON
1 line
29 KiB
JSON
{"remainingRequest":"D:\\办公文件\\前端\\node_modules\\thread-loader\\dist\\cjs.js!D:\\办公文件\\前端\\node_modules\\babel-loader\\lib\\index.js!D:\\办公文件\\前端\\node_modules\\cache-loader\\dist\\cjs.js??ref--1-0!D:\\办公文件\\前端\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\办公文件\\前端\\src\\views\\Home\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\办公文件\\前端\\src\\views\\Home\\index.vue","mtime":1727590274335},{"path":"D:\\办公文件\\前端\\babel.config.js","mtime":1611135168000},{"path":"D:\\办公文件\\前端\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1711099308000},{"path":"D:\\办公文件\\前端\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1711099308000},{"path":"D:\\办公文件\\前端\\node_modules\\babel-loader\\lib\\index.js","mtime":1711099310000},{"path":"D:\\办公文件\\前端\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1711099308000},{"path":"D:\\办公文件\\前端\\node_modules\\vue-loader\\lib\\index.js","mtime":1711099310000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnJlZHVjZS5qcyI7CmltcG9ydCB7IGdldFBheW1lbnREZXRhaWxzLCBnZXRaWFBheW1lbnREZXRhaWxzLCBxdWVyeVVzZXIsIHRyYW5zYWN0aW9ucywgcXVlcnlVc2VySWQsIGdldFJlYXNvbnMgfSBmcm9tICdAL2h0dHAnOwppbXBvcnQgd3ggZnJvbSAnd2VpeGluLWpzYXBpJzsKaW1wb3J0IGluc3RhbmNlIGZyb20gJy4uLy4uL2h0dHAvYXhpb3MnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ0hvbWUnLAogIG1ldGhvZHM6IHsKICAgIGNoZWNrQ2hhbmdlKGUsIGkpIHt9LAogICAgZm9ybWF0dGVyKHZhbHVlKSB7CiAgICAgIC8vIOWPquS/neeVmeS4pOS9jeWwj+aVsAogICAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7CiAgICAgIGNvbnN0IG51bWJlciA9IHBhcnNlRmxvYXQodmFsdWUpOwogICAgICBpZiAoaXNOYU4obnVtYmVyKSkgcmV0dXJuICcnOwogICAgICByZXR1cm4gbnVtYmVyLnRvRml4ZWQoMik7CiAgICB9LAogICAgcGFyc2VyKHZhbHVlKSB7CiAgICAgIHJldHVybiB2YWx1ZSA9PT0gJycgPyAnJyA6IHBhcnNlRmxvYXQodmFsdWUpLnRvRml4ZWQoMik7CiAgICB9LAogICAgY2hlY2tDbGljaygpIHsKICAgICAgLy90aGlzLmFtb3VudCA9IHRoaXMuYW1vdW50LnRvRml4ZWQoMik7CiAgICAgIHRoaXMucHJpY2VMaXN0ID0gW107CiAgICAgIHRoaXMucGF5bWVudGRldGFpbHMgPSBbXTsKICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMudGFibGVEYXRhKSB7CiAgICAgICAgaWYgKHRoaXMudGFibGVEYXRhW2tleV0uZGF0YSAhPSB1bmRlZmluZWQpIHsKICAgICAgICAgIHRoaXMuY2hlY2tlZExpc3QgPSB0aGlzLnRhYmxlRGF0YVtrZXldLmRhdGE7CiAgICAgICAgICB0aGlzLmNoZWNrZWRMaXN0LmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7CiAgICAgICAgICAgIGlmICh0aGlzLmNoZWNrYm94TGlzdC5pbmNsdWRlcyhlbGVtZW50Ll9pZCkpIHsKICAgICAgICAgICAgICB0aGlzLnByaWNlTGlzdC5wdXNoKGVsZW1lbnQudW5wYXkpOwogICAgICAgICAgICAgIHRoaXMucGF5bWVudGRldGFpbHMucHVzaChlbGVtZW50LmZ1a3VhbnNoaXlvdSArIGVsZW1lbnQueXVlZmVuKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICh0aGlzLnByaWNlTGlzdC5sZW5ndGgpIHsKICAgICAgICB0aGlzLmFtb3VudCA9IHRoaXMuc3VtLnRvRml4ZWQoMik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5hbW91bnQgPSAnJzsKICAgICAgfQogICAgfSwKICAgIC8vIOiwg+i1t+W+ruS/oeaUr+S7mAogICAgd3hQcmVwYXkoKSB7CiAgICAgIGlmICghdGhpcy5wYXltZW50ZGV0YWlscy5sZW5ndGgpIHsKICAgICAgICB0aGlzLnBheW1lbnRkZXRhaWxzLnB1c2goJ+mdnuS4k+mhuScpOwogICAgICB9CiAgICAgIGlmICh0aGlzLmFtb3VudCA9PSB0aGlzLnRhYmxlRGF0YS5hbW91bnQpIHsKICAgICAgICBpZiAodGhpcy5hbW91bnQgPT0gMCkgewogICAgICAgICAgLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKICAgICAgICAgIGlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewogICAgICAgICAgICBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDA3MycpIHsKICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CiAgICAgICAgICAgICAgLyogaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CiAgICAgICAgICAgICAgCSdodHRwOi8vMTcyLjE2LjYuOTA6MzAwMy8nOyAqLwogICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzY3OCcpIHsKICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMS8nOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewogICAgICAgICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkyLyc7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwogICAgICAgICAgICAgIC8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDYvJzsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwogICAgICAgICAgICAvL2luc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjkwOjMwMDMvJzsKICAgICAgICAgIH0KICAgICAgICAgIHRyYW5zYWN0aW9ucygnP3VzZXI9JyArIHRoaXMudXNlciArICcmcHJpY2U9JyArIHRoaXMuYW1vdW50ICsgJyZwYXltZW50ZGV0YWlscz0nICsgdGhpcy5wYXltZW50ZGV0YWlscykudGhlbihyZXMgPT4gewogICAgICAgICAgICBhbGVydCgn5L2Z6aKd5bey5oq15omjJyk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKICAgICAgICAgIGlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewogICAgICAgICAgICBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDA3MycpIHsKICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CiAgICAgICAgICAgICAgLyogaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CiAgICAgICAgICAgICAgCSdodHRwOi8vMTcyLjE2LjYuOTA6MzAwMy8nOyAqLwogICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzY3OCcpIHsKICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMS8nOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewogICAgICAgICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkyLyc7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwogICAgICAgICAgICAgIC8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDYvJzsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwogICAgICAgICAgICAvL2luc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjkwOjMwMDMvJzsKICAgICAgICAgIH0KICAgICAgICAgIHRyYW5zYWN0aW9ucygnP3VzZXI9JyArIHRoaXMudXNlciArICcmcHJpY2U9JyArIHRoaXMuYW1vdW50ICsgJyZwYXltZW50ZGV0YWlscz0nICsgdGhpcy5wYXltZW50ZGV0YWlscykudGhlbihyZXMgPT4gewogICAgICAgICAgICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwogICAgICAgICAgICBmb3JtLm5hbWUgPSAnZm9ybSc7CiAgICAgICAgICAgIGZvcm0ubWV0aG9kID0gJ3Bvc3QnOwogICAgICAgICAgICBmb3JtLmFjdGlvbiA9ICdodHRwczovL2FnZ3BjcGF5LmZ1aW91cGF5LmNvbS9hZ2doNUdhdGUuZnVpb3UnOwogICAgICAgICAgICBjb25zdCBpbnB1dDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogICAgICAgICAgICBpbnB1dDEudHlwZSA9ICdoaWRkZW4nOwogICAgICAgICAgICBpbnB1dDEubmFtZSA9ICdtY2hudF9jZCc7CiAgICAgICAgICAgIGlucHV0MS52YWx1ZSA9ICcwMDAxMDAwRjcxNTIyNzknOwogICAgICAgICAgICBmb3JtLmFwcGVuZENoaWxkKGlucHV0MSk7CiAgICAgICAgICAgIGNvbnN0IGlucHV0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICAgICAgICAgIGlucHV0Mi50eXBlID0gJ2hpZGRlbic7CiAgICAgICAgICAgIGlucHV0Mi5uYW1lID0gJ21lc3NhZ2UnOwogICAgICAgICAgICBpbnB1dDIudmFsdWUgPSByZXMuZGF0YS5tZXNzYWdlOyAvLyDorr7nva7liqDlr4bmtojmga8KICAgICAgICAgICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dDIpOwogICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pOwogICAgICAgICAgICBmb3JtLnN1Ym1pdCgpOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuc3VtKSB7CiAgICAgICAgaWYgKHRoaXMuYW1vdW50ID09ICcnIHx8IHRoaXMuYW1vdW50IDwgMCB8fCB0aGlzLmFtb3VudCA+IHRoaXMuc3VtKSB7CiAgICAgICAgICBhbGVydCgn6K+36L6T5YWl5q2j56Gu55qE6YeR6aKdJyk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICh0aGlzLmFtb3VudCA9PSAwKSB7CiAgICAgICAgICAgIC8vIOagueaNruadoeS7tuiuvue9riBiYXNlVVJMCiAgICAgICAgICAgIGlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewogICAgICAgICAgICAgIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDczJykgewogICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwogICAgICAgICAgICAgICAgLyogaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CiAgICAgICAgICAgICAgICAJJ2h0dHA6Ly8xNzIuMTYuNi45MDozMDAzLyc7ICovCiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMS8nOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFwcGlkID09PSAnd3dlYjhiODUyODQ2MzM0YzJmJykgewogICAgICAgICAgICAgIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewogICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDYnKSB7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwogICAgICAgICAgICAgICAgLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuMjg6MzAwNi8nOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CiAgICAgICAgICAgICAgLyogaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CiAgICAgICAgICAgICAgCSdodHRwOi8vMTcyLjE2LjYuOTA6MzAwMy8nOyAqLwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRyYW5zYWN0aW9ucygnP3VzZXI9JyArIHRoaXMudXNlciArICcmcHJpY2U9JyArIHRoaXMuYW1vdW50ICsgJyZwYXltZW50ZGV0YWlscz0nICsgdGhpcy5wYXltZW50ZGV0YWlscykudGhlbihyZXMgPT4gewogICAgICAgICAgICAgIGFsZXJ0KCfkvZnpop3lt7LmirXmiaMnKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyDmoLnmja7mnaHku7borr7nva4gYmFzZVVSTAogICAgICAgICAgICBpZiAodGhpcy5hcHBpZCA9PT0gJ3d3YzI3NmY3YTAzNDdjMzEwYicpIHsKICAgICAgICAgICAgICBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDA3MycpIHsKICAgICAgICAgICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKICAgICAgICAgICAgICAgIC8qIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQogICAgICAgICAgICAgICAgCSdodHRwOi8vMTcyLjE2LjYuOTA6MzAwMy8nOyAqLwogICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnNjc4JykgewogICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTEvJzsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hcHBpZCA9PT0gJ3d3ZWI4Yjg1Mjg0NjMzNGMyZicpIHsKICAgICAgICAgICAgICBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNScpIHsKICAgICAgICAgICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkyLyc7CiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA2JykgewogICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTMvJzsKICAgICAgICAgICAgICAgIC8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDYvJzsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwogICAgICAgICAgICAgIC8qIAlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KICAgICAgICAgICAgICAJJ2h0dHA6Ly8xNzIuMTYuNi45MDozMDAzLyc7ICovCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdHJhbnNhY3Rpb25zKCc/dXNlcj0nICsgdGhpcy51c2VyICsgJyZwcmljZT0nICsgdGhpcy5hbW91bnQgKyAnJnBheW1lbnRkZXRhaWxzPScgKyB0aGlzLnBheW1lbnRkZXRhaWxzKS50aGVuKHJlcyA9PiB7CiAgICAgICAgICAgICAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKICAgICAgICAgICAgICBmb3JtLm5hbWUgPSAnZm9ybSc7CiAgICAgICAgICAgICAgZm9ybS5tZXRob2QgPSAncG9zdCc7CiAgICAgICAgICAgICAgZm9ybS5hY3Rpb24gPSAnaHR0cHM6Ly9hZ2dwY3BheS5mdWlvdXBheS5jb20vYWdnaDVHYXRlLmZ1aW91JzsKICAgICAgICAgICAgICBjb25zdCBpbnB1dDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogICAgICAgICAgICAgIGlucHV0MS50eXBlID0gJ2hpZGRlbic7CiAgICAgICAgICAgICAgaW5wdXQxLm5hbWUgPSAnbWNobnRfY2QnOwogICAgICAgICAgICAgIGlucHV0MS52YWx1ZSA9ICcwMDAxMDAwRjcxNTIyNzknOwogICAgICAgICAgICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQxKTsKICAgICAgICAgICAgICBjb25zdCBpbnB1dDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogICAgICAgICAgICAgIGlucHV0Mi50eXBlID0gJ2hpZGRlbic7CiAgICAgICAgICAgICAgaW5wdXQyLm5hbWUgPSAnbWVzc2FnZSc7CiAgICAgICAgICAgICAgaW5wdXQyLnZhbHVlID0gcmVzLmRhdGEubWVzc2FnZTsgLy8g6K6+572u5Yqg5a+G5raI5oGvCiAgICAgICAgICAgICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dDIpOwogICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7CiAgICAgICAgICAgICAgZm9ybS5zdWJtaXQoKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGlmICh0aGlzLmFtb3VudCA9PSAnJyB8fCB0aGlzLmFtb3VudCA8IDApIHsKICAgICAgICAgIGFsZXJ0KCfor7fovpPlhaXmraPnoa7nmoTph5Hpop0nKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHRoaXMuYW1vdW50ID09IDApIHsKICAgICAgICAgICAgLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKICAgICAgICAgICAgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2MyNzZmN2EwMzQ3YzMxMGInKSB7CiAgICAgICAgICAgICAgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CiAgICAgICAgICAgICAgICAvKiBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KICAgICAgICAgICAgICAgIAknaHR0cDovLzE3Mi4xNi42LjkwOjMwMDMvJzsgKi8KICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzY3OCcpIHsKICAgICAgICAgICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkxLyc7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CiAgICAgICAgICAgICAgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDUnKSB7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMi8nOwogICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKICAgICAgICAgICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkzLyc7CiAgICAgICAgICAgICAgICAvLyBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly8xNzIuMTYuNi4yODozMDA2Lyc7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKICAgICAgICAgICAgICAvKiBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KICAgICAgICAgICAgICAJJ2h0dHA6Ly8xNzIuMTYuNi45MDozMDAzLyc7ICovCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdHJhbnNhY3Rpb25zKCc/dXNlcj0nICsgdGhpcy51c2VyICsgJyZwcmljZT0nICsgdGhpcy5hbW91bnQgKyAnJnBheW1lbnRkZXRhaWxzPScgKyB0aGlzLnBheW1lbnRkZXRhaWxzKS50aGVuKHJlcyA9PiB7CiAgICAgICAgICAgICAgYWxlcnQoJ+S9memineW3suaKteaJoycpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIOagueaNruadoeS7tuiuvue9riBiYXNlVVJMCiAgICAgICAgICAgIGlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewogICAgICAgICAgICAgIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDczJykgewogICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwogICAgICAgICAgICAgICAgLyogaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CiAgICAgICAgICAgICAgICAJJ2h0dHA6Ly8xNzIuMTYuNi45MDozMDAzLyc7ICovCiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMS8nOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFwcGlkID09PSAnd3dlYjhiODUyODQ2MzM0YzJmJykgewogICAgICAgICAgICAgIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewogICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDYnKSB7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwogICAgICAgICAgICAgICAgLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuMjg6MzAwNi8nOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CiAgICAgICAgICAgICAgLyogaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CiAgICAgICAgICAgICAgCSdodHRwOi8vMTcyLjE2LjYuOTA6MzAwMy8nOyAqLwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRyYW5zYWN0aW9ucygnP3VzZXI9JyArIHRoaXMudXNlciArICcmcHJpY2U9JyArIHRoaXMuYW1vdW50ICsgJyZwYXltZW50ZGV0YWlscz0nICsgdGhpcy5wYXltZW50ZGV0YWlscykudGhlbihyZXMgPT4gewogICAgICAgICAgICAgIGNvbnN0IGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7CiAgICAgICAgICAgICAgZm9ybS5uYW1lID0gJ2Zvcm0nOwogICAgICAgICAgICAgIGZvcm0ubWV0aG9kID0gJ3Bvc3QnOwogICAgICAgICAgICAgIGZvcm0uYWN0aW9uID0gJ2h0dHBzOi8vYWdncGNwYXkuZnVpb3VwYXkuY29tL2FnZ2g1R2F0ZS5mdWlvdSc7CiAgICAgICAgICAgICAgY29uc3QgaW5wdXQxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKICAgICAgICAgICAgICBpbnB1dDEudHlwZSA9ICdoaWRkZW4nOwogICAgICAgICAgICAgIGlucHV0MS5uYW1lID0gJ21jaG50X2NkJzsKICAgICAgICAgICAgICBpbnB1dDEudmFsdWUgPSAnMDAwMTAwMEY3MTUyMjc5JzsKICAgICAgICAgICAgICBmb3JtLmFwcGVuZENoaWxkKGlucHV0MSk7CiAgICAgICAgICAgICAgY29uc3QgaW5wdXQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKICAgICAgICAgICAgICBpbnB1dDIudHlwZSA9ICdoaWRkZW4nOwogICAgICAgICAgICAgIGlucHV0Mi5uYW1lID0gJ21lc3NhZ2UnOwogICAgICAgICAgICAgIGlucHV0Mi52YWx1ZSA9IHJlcy5kYXRhLm1lc3NhZ2U7IC8vIOiuvue9ruWKoOWvhua2iOaBrwogICAgICAgICAgICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQyKTsKICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pOwogICAgICAgICAgICAgIGZvcm0uc3VibWl0KCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICAvLy0tLS0tLS0tLS0tLQogICAgICAvKiAJCQlpZiAoCiAgICAgIAl0aGlzLmFtb3VudCA9PSAnJyB8fAogICAgICAJdGhpcy5hbW91bnQgPCAwIHx8CiAgICAgIAl0aGlzLmFtb3VudCA+IHRoaXMuc3VtCiAgICAgICkgewogICAgICAJYWxlcnQoJ+ivt+i+k+WFpeato+ehrueahOmHkeminScpOwogICAgICAJcmV0dXJuOwogICAgICB9IGVsc2UgaWYgKHRoaXMuYW1vdW50ID09IDApIHsKICAgICAgCS8vIOagueaNruadoeS7tuiuvue9riBiYXNlVVJMCiAgICAgIAlpZiAodGhpcy5hcHBpZCA9PT0gJ3d3YzI3NmY3YTAzNDdjMzEwYicpIHsKICAgICAgCQlpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDA3MycpIHsKICAgICAgCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuOTA6MzAwMy8nOwogICAgICAJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnNjc4JykgewogICAgICAJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KICAgICAgCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTEvJzsKICAgICAgCQl9CiAgICAgIAl9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CiAgICAgIAkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDUnKSB7CiAgICAgIAkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQogICAgICAJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMi8nOwogICAgICAJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKICAgICAgCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CiAgICAgIAkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkzLyc7CiAgICAgIAkJCS8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDYvJzsKICAgICAgCQl9CiAgICAgIAl9IGVsc2UgewogICAgICAJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjkwOjMwMDMvJzsKICAgICAgCX0KICAgICAgCXRyYW5zYWN0aW9ucygKICAgICAgCQknP3VzZXI9JyArIHRoaXMudXNlciArICcmcHJpY2U9JyArIHRoaXMuYW1vdW50LAogICAgICAJKS50aGVuKHJlcyA9PiB7CiAgICAgIAkJYWxlcnQoJ+S9memineW3suaKteaJoycpOwogICAgICAJfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgIAkvLyDmoLnmja7mnaHku7borr7nva4gYmFzZVVSTAogICAgICAJaWYgKHRoaXMuYXBwaWQgPT09ICd3d2MyNzZmN2EwMzQ3YzMxMGInKSB7CiAgICAgIAkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CiAgICAgIAkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjkwOjMwMDMvJzsKICAgICAgCQl9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzY3OCcpIHsKICAgICAgCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CiAgICAgIAkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkxLyc7CiAgICAgIAkJfQogICAgICAJfSBlbHNlIGlmICh0aGlzLmFwcGlkID09PSAnd3dlYjhiODUyODQ2MzM0YzJmJykgewogICAgICAJCWlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewogICAgICAJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KICAgICAgCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKICAgICAgCQl9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDYnKSB7CiAgICAgIAkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQogICAgICAJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwogICAgICAJCQkvLyBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly8xNzIuMTYuNi4yODozMDA2Lyc7CiAgICAgIAkJfQogICAgICAJfSBlbHNlIHsKICAgICAgCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly8xNzIuMTYuNi45MDozMDAzLyc7CiAgICAgIAl9CiAgICAgIAl0cmFuc2FjdGlvbnMoCiAgICAgIAkJJz91c2VyPScgKyB0aGlzLnVzZXIgKyAnJnByaWNlPScgKyB0aGlzLmFtb3VudCwKICAgICAgCSkudGhlbihyZXMgPT4gewogICAgICAJCWNvbnN0IGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7CiAgICAgIAkJZm9ybS5uYW1lID0gJ2Zvcm0nOwogICAgICAJCWZvcm0ubWV0aG9kID0gJ3Bvc3QnOwogICAgICAJCWZvcm0uYWN0aW9uID0KICAgICAgCQkJJ2h0dHBzOi8vYWdncGNwYXkuZnVpb3VwYXkuY29tL2FnZ2g1R2F0ZS5mdWlvdSc7CiAgICAgIAkJCWNvbnN0IGlucHV0MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICAgIAkJaW5wdXQxLnR5cGUgPSAnaGlkZGVuJzsKICAgICAgCQlpbnB1dDEubmFtZSA9ICdtY2hudF9jZCc7CiAgICAgIAkJaW5wdXQxLnZhbHVlID0gJzAwMDEwMDBGNzE1MjI3OSc7CiAgICAgIAkJZm9ybS5hcHBlbmRDaGlsZChpbnB1dDEpOwogICAgICAJCQljb25zdCBpbnB1dDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogICAgICAJCWlucHV0Mi50eXBlID0gJ2hpZGRlbic7CiAgICAgIAkJaW5wdXQyLm5hbWUgPSAnbWVzc2FnZSc7CiAgICAgIAkJaW5wdXQyLnZhbHVlID0gcmVzLmRhdGEubWVzc2FnZTsgLy8g6K6+572u5Yqg5a+G5raI5oGvCiAgICAgIAkJZm9ybS5hcHBlbmRDaGlsZChpbnB1dDIpOwogICAgICAJCQlkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pOwogICAgICAJCQlmb3JtLnN1Ym1pdCgpOwogICAgICAJfSk7CiAgICAgIH0gKi8KICAgIH0sCiAgICBjaGlja1NlcnZpY2UoKSB7CiAgICAgIC8qIHRoaXMuY2hlY2tib3hTZXJ2aWNlLmxlbmd0aCAqLwogICAgICBpZiAodGhpcy5jaGVja2VkKSB7CiAgICAgICAgaWYgKHRoaXMuYW1vdW50X2Nvb3JkaW5hdGlvbikgewogICAgICAgICAgdGhpcy5hbW91bnQgPSB0aGlzLmFtb3VudF9jb29yZGluYXRpb24udG9GaXhlZCgyKTsKICAgICAgICB9CiAgICAgICAgdGhpcy5wYXltZW50ZGV0YWlscy5wdXNoKCflronlhajnu5/nrbknICsgdGhpcy5jb29yZGluYXRpb25EYXRhICsgJywnICsgJ+WuieWFqOe7n+etuScgKyB0aGlzLmNvb3JkaW5hdGlvbkRhdGExKTsKICAgICAgICB0aGlzLmRpc2FibGVfb3RoZXIgPSB0cnVlOwogICAgICAgIHRoaXMuZGlzYWJsZV9hbW91bnQgPSB0cnVlOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuYW1vdW50ID0gJyc7CiAgICAgICAgdGhpcy5wYXltZW50ZGV0YWlscyA9IFtdOwogICAgICAgIHRoaXMuZGlzYWJsZV9vdGhlciA9IGZhbHNlOwogICAgICAgIHRoaXMuZGlzYWJsZV9hbW91bnQgPSBmYWxzZTsKICAgICAgfQogICAgfSwKICAgIGdldFJlYXNvbnMoKSB7CiAgICAgIGdldFJlYXNvbnMoKS50aGVuKHJlcyA9PiB7CiAgICAgICAgdGhpcy5yZWFzb25MaXN0ID0gcmVzLmRhdGE7CiAgICAgIH0pOwogICAgfSwKICAgIGNoYW5nZVNlcnZpY2UoKSB7CiAgICAgIGlmICh0aGlzLmNoZWNrYm94U2VydmljZS5sZW5ndGgpIHsKICAgICAgICB0aGlzLmRpc2FibGVfb3RoZXIgPSB0cnVlOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuZGlzYWJsZV9vdGhlciA9IGZhbHNlOwogICAgICAgIHRoaXMucGF5bWVudGRldGFpbHMgPSBbXTsKICAgICAgfQogICAgfSwKICAgIGNoYW5nZU90aGVyKCkgewogICAgICBpZiAodGhpcy5jaGVja2JveExpc3QubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5kaXNhYmxlX3NlcnZpY2UgPSB0cnVlOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuZGlzYWJsZV9zZXJ2aWNlID0gZmFsc2U7CiAgICAgICAgdGhpcy5wYXltZW50ZGV0YWlscyA9IFtdOwogICAgICB9CiAgICB9LAogICAgcXVlcnlVc2VyRGV0YWlscygpIHsKICAgICAgLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKICAgICAgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2MyNzZmN2EwMzQ3YzMxMGInKSB7CiAgICAgICAgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CiAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CiAgICAgICAgICAvL2luc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI0MjozMDAzLyc7CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CiAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMS8nOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmICh0aGlzLmFwcGlkID09PSAnd3dlYjhiODUyODQ2MzM0YzJmJykgewogICAgICAgIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewogICAgICAgICAgaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDYnKSB7CiAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwogICAgICAgICAgLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuMjg6MzAwNi8nOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CiAgICAgICAgLy9pbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly8xNzIuMTYuNi4yNDI6MzAwMy8nOwogICAgICB9CiAgICAgIGdldFBheW1lbnREZXRhaWxzKCc/dXNlcj0nICsgdGhpcy51c2VyKS50aGVuKHJlcyA9PiB7CiAgICAgICAgaWYgKHJlcy5kYXRhLmNvZGUgPT0gNTAwKSB7CiAgICAgICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLnRhYmxlID0gcmVzLmRhdGE7CiAgICAgICAgICAvL3RoaXMuYW1vdW50ID0gdGhpcy50YWJsZS5hbW91bnQKICAgICAgICAgIHRoaXMuaXNTaG93ID0gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0pOwogICAgICBnZXRaWFBheW1lbnREZXRhaWxzKCc/dXNlcj0nICsgdGhpcy51c2VyKS50aGVuKHJlcyA9PiB7CiAgICAgICAgaWYgKHJlcy5kYXRhLmNvZGUgPT0gNTAwKSB7CiAgICAgICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHJlcy5kYXRhOwogICAgICAgICAgaWYgKHRoaXMudGFibGVEYXRhLmFtb3VudCA9PSAwKSB7CiAgICAgICAgICAgIHRoaXMub3RoZXJEYXRhID0gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy50YWJsZURhdGEpIHsKICAgICAgICAgICAgaWYgKGtleSA9PSAn5a6J5YWo57uf5625JykgewogICAgICAgICAgICAgIHRoaXMuc2hvd0Nvb3JkaW5hdGlvbiA9IHRydWU7CiAgICAgICAgICAgICAgdGhpcy5hbW91bnRfY29vcmRpbmF0aW9uID0gdGhpcy50YWJsZURhdGFba2V5XS5fdGhfYW1vdW50OwogICAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7CiAgICAgICAgICAgICAgdGhpcy5jb29yZGluYXRpb25EYXRhID0gdGhpcy50YWJsZURhdGFba2V5XS5kYXRhWzBdLnl1ZWZlbjsKICAgICAgICAgICAgICBpZiAodGhpcy50YWJsZURhdGFba2V5XS5kYXRhLmxlbmd0aCA9PSAyKSB7CiAgICAgICAgICAgICAgICB0aGlzLmNvb3JkaW5hdGlvbkRhdGExID0gdGhpcy50YWJsZURhdGFba2V5XS5kYXRhWzFdLnl1ZWZlbjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgdGhpcy5jaGlja1NlcnZpY2UoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIC8vdGhpcy5hbW91bnQgPSB0aGlzLnRhYmxlLmFtb3VudAogICAgICAgICAgdGhpcy5pc1Nob3cgPSB0cnVlOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgcXVlcnlVc2VySW5mbygpIHsKICAgICAgLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKICAgICAgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2MyNzZmN2EwMzQ3YzMxMGInKSB7CiAgICAgICAgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CiAgICAgICAgICAvL2luc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI0MjozMDAzLyc7CiAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CiAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly8xNzIuMTYuNi45MDozMDAzLyc7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CiAgICAgICAgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDUnKSB7CiAgICAgICAgICBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMi8nOwogICAgICAgIH0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKICAgICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkzLyc7CiAgICAgICAgICAvLyBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly8xNzIuMTYuNi4yODozMDA2Lyc7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKICAgICAgICAvL2luc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI0MjozMDAzLyc7CiAgICAgIH0KICAgICAgcXVlcnlVc2VyKCc/dXNlcj0nICsgdGhpcy51c2VyKS50aGVuKHJlcyA9PiB7CiAgICAgICAgdGhpcy5wYXlMaXN0ID0gcmVzLmRhdGE7CiAgICAgIH0pOwogICAgfSwKICAgIGFzeW5jIHF1ZXJ5VXNlcklkSW5mbyhjb2RlKSB7CiAgICAgIGF3YWl0IHF1ZXJ5VXNlcklkKCc/Y29kZT0nICsgY29kZSkudGhlbihyZXMgPT4gewogICAgICAgIHRoaXMudXNlciA9IHJlcy5kYXRhOwogICAgICAgIHJldHVybiByZXM7CiAgICAgIH0pOwogICAgfQogIH0sCiAgYXN5bmMgY3JlYXRlZCgpIHsKICAgIC8vIHZhciBpZCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCc/JylbMV0KICAgIC8vIGlkID0gaWQuc3BsaXQoJz0nKVsxXS5yZXBsYWNlKCcjLycsICcnKQogICAgLy8KICAgIC8vIHRoaXMudXNlciA9IGlkCiAgICB2YXIgcXVlcnlTdHJpbmcgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzFdOwogICAgLy8g5bCG5p+l6K+i5Y+C5pWw6YOo5YiG5YaN5qyh5L2/55SoIC5zcGxpdCgpIOaWueazleWIhuWJsgogICAgdmFyIHBhcmFtcyA9IHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJyk7CiAgICAvLyDlrprkuYnlj5jph4/mnaXlrZjlgqjlj4LmlbDlgLwKICAgIHZhciB1c2VyLCBhcHBpZCwgYWdlbnRpZDsKICAgIC8vIOW+queOr+mBjeWOhuWPguaVsOaVsOe7hAogICAgcGFyYW1zLmZvckVhY2gocGFyYW0gPT4gewogICAgICB2YXIga2V5VmFsdWUgPSBwYXJhbS5zcGxpdCgnPScpOwogICAgICB2YXIga2V5ID0ga2V5VmFsdWVbMF07CiAgICAgIHZhciB2YWx1ZSA9IGtleVZhbHVlWzFdOwogICAgICAvLyDmoLnmja7lj4LmlbDlkI3orr7nva7nm7jlupTnmoTlj5jph4/lgLwKICAgICAgaWYgKGtleSA9PT0gJ3VzZXInKSB7CiAgICAgICAgdXNlciA9IHZhbHVlOwogICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2FwcGlkJykgewogICAgICAgIGFwcGlkID0gdmFsdWU7CiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnYWdlbnRpZCcpIHsKICAgICAgICBhZ2VudGlkID0gdmFsdWU7CiAgICAgIH0KICAgIH0pOwogICAgLy8g5bCG6I635Y+W5Yiw55qE5YC86LWL57uZIFZ1ZSDnu4Tku7bnmoTlsZ7mgKcKICAgIHRoaXMudXNlciA9IHVzZXI7CiAgICB0aGlzLmFwcGlkID0gYXBwaWQ7CiAgICB0aGlzLmFnZW50aWQgPSBhZ2VudGlkOwogICAgLyogY29uc29sZS5sb2coJ3VzZXI6JywgdGhpcy51c2VyKTsKICAgIGNvbnNvbGUubG9nKCdhcHBpZDonLCB0aGlzLmFwcGlkKTsKICAgIGNvbnNvbGUubG9nKCdhZ2VudGlkOicsIHRoaXMuYWdlbnRpZCk7ICovCgogICAgdGhpcy5xdWVyeVVzZXJJbmZvKCk7CiAgICB0aGlzLnF1ZXJ5VXNlckRldGFpbHMoKTsKICAgIHRoaXMuZ2V0UmVhc29ucygpOwogICAgLy90aGlzLmNoaWNrU2VydmljZSgpOwogICAgLy90aGlzLmdldFpYUGF5bWVudERldGFpbHMoKTsKICAgIC8vCXRoaXMuZ2V0RGF0YSgpOwogIH0sCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGNoZWNrZWRMaXN0OiBbXSwKICAgICAgLy8g6L+H5ruk5pWw5o2uCiAgICAgIGNoZWNrYm94TGlzdDogW10sCiAgICAgIC8v5aSN6YCJ5qGG5omA6YCJ5YC8CiAgICAgIGNoZWNrYm94U2VydmljZTogW10sCiAgICAgIC8v5a6J5YWo57uf5625CiAgICAgIHByaWNlTGlzdDogW10sCiAgICAgIHJlYXNvbkxpc3Q6IFtdLAogICAgICBkaXNhYmxlX290aGVyOiBmYWxzZSwKICAgICAgZGlzYWJsZV9hbW91bnQ6IGZhbHNlLAogICAgICBkaXNhYmxlX3NlcnZpY2U6IGZhbHNlLAogICAgICBjaGVja2VkOiB0cnVlLAogICAgICBpc1Nob3c6IGZhbHNlLAogICAgICBpc1Nob3cxOiBmYWxzZSwKICAgICAgb3RoZXJTaG93OiAnJywKICAgICAgdXNlcjogJycsCiAgICAgIGFwcGlkOiAnJywKICAgICAgYWdlbnRpZDogJycsCiAgICAgIGFjdGl2ZU5hbWU6IDEsCiAgICAgIC8vdGFiCiAgICAgIHBheUxpc3Q6IHt9LAogICAgICBwYXltZW50ZGV0YWlsczogW10sCiAgICAgIGFtb3VudDogJycsCiAgICAgIGFtb3VudF9jb29yZGluYXRpb246ICcnLAogICAgICBhY3RpdmVPdGhlcjogWzBdLAogICAgICBhY3RpdmVPdGhlcl8xOiBbXSwKICAgICAgYWN0aXZlT3RoZXJfMjogW10sCiAgICAgIGFjdGl2ZU90aGVyXzM6IFswXSwKICAgICAgYWN0aXZlQ29tbWlzc2lvbjogW10sCiAgICAgIGFjdGl2ZUNvbW1pc3Npb25fMTogW10sCiAgICAgIGFjdGl2ZUNvbW1pc3Npb25fMjogW10sCiAgICAgIGFjdGl2ZVNlcnZpY2U6IFswXSwKICAgICAgYWN0aXZlU2VydmljZV8xOiBbXSwKICAgICAgYWN0aXZlaXRlbTE6IFsnJ10sCiAgICAgIGFjdGl2ZWl0ZW0yOiBbJyddLAogICAgICB0YWJsZToge30sCiAgICAgIHRhYmxlRGF0YToge30sCiAgICAgIG90aGVyRGF0YTogdHJ1ZSwKICAgICAgc2hvd0Nvb3JkaW5hdGlvbjogZmFsc2UsCiAgICAgIGNvb3JkaW5hdGlvbkRhdGE6ICcnLAogICAgICBjb29yZGluYXRpb25EYXRhMTogJycsCiAgICAgIGlkOiAnJywKICAgICAgdmFsdWU6IDAsCiAgICAgIGZvcm06IHsKICAgICAgICBmX251bTogJycsCiAgICAgICAgY19udW06ICcnLAogICAgICAgIGNfY29udGVudDogJycsCiAgICAgICAgZl9jb250ZW50OiAnJywKICAgICAgICBjb250ZW50OiAnJwogICAgICB9LAogICAgICBmb3JtMTogewogICAgICAgIGZfbnVtOiAnJywKICAgICAgICBjX251bTogJycsCiAgICAgICAgY19jb250ZW50OiAnJywKICAgICAgICBmX2NvbnRlbnQ6ICcnLAogICAgICAgIGNvbnRlbnQ6ICcnCiAgICAgIH0KICAgIH07CiAgfSwKICBjb21wdXRlZDogewogICAgc3VtKCkgewogICAgICAvLyDkvb/nlKhyZWR1Y2Xmlrnms5XorqHnrpfmlbDnu4RudW1iZXJz5Lit5omA5pyJ5YWD57Sg55qE5oC75ZKMCiAgICAgIHJldHVybiB0aGlzLnByaWNlTGlzdC5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKyBjdXIsIDApOwogICAgfQogIH0KfTs="},null]} |