1 line
28 KiB
JSON
1 line
28 KiB
JSON
{"remainingRequest":"D:\\办公文件\\前端\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\办公文件\\前端\\src\\views\\DPHome\\DPindexc.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\办公文件\\前端\\src\\views\\DPHome\\DPindexc.vue","mtime":1731490075525},{"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:CmltcG9ydCB7CglnZXRQYXltZW50RGV0YWlscywKCXF1ZXJ5VXNlciwKCXRyYW5zYWN0aW9ucywKCXF1ZXJ5VXNlcklkLAoJZ2V0WlhQYXltZW50RGV0YWlscywKCWdldFJlYXNvbnMsCn0gZnJvbSAnQC9odHRwJzsKaW1wb3J0IHd4IGZyb20gJ3dlaXhpbi1qc2FwaSc7CmltcG9ydCBpbnN0YW5jZSBmcm9tICcuLi8uLi9odHRwL2F4aW9zJzsKZXhwb3J0IGRlZmF1bHQgewoJbmFtZTogJ0hvbWUnLAoJbWV0aG9kczogewoJCS8vIOiwg+i1t+W+ruS/oeaUr+S7mAoKCQl3eFByZXBheSgpIHsKCQkJaWYgKHRoaXMuYW1vdW50ID09IDYwMCkgewoJCQkJaWYgKHRoaXMuYW1vdW50ID09IDApIHsKCQkJCQkvLyDmoLnmja7mnaHku7borr7nva4gYmFzZVVSTAoJCQkJCWlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewoJCQkJCQlpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDA3MycpIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQkJCQl9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzY3OCcpIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTEvJzsKCQkJCQkJfQoJCQkJCX0gZWxzZSBpZiAodGhpcy5hcHBpZCA9PT0gJ3d3ZWI4Yjg1Mjg0NjMzNGMyZicpIHsKCQkJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDUnKSB7CgkJCQkJCQkvLyBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMi8nOwoJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJJ2h0dHA6Ly8xOTIuMTY4LjAuMTEwOjMwMDUvJzsKCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA2JykgewoJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwoJCQkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuMjg6MzAwNS8nOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKCQkJCQl9CgkJCQkJdHJhbnNhY3Rpb25zKAoJCQkJCQknP3VzZXI9JyArCgkJCQkJCQl0aGlzLnVzZXIgKwoJCQkJCQkJJyZwcmljZT0nICsKCQkJCQkJCXRoaXMuYW1vdW50ICsKCQkJCQkJCScmb3B0aW9uPScgKwoJCQkJCQkJdGhpcy52YWx1ZTEgKwoJCQkJCQkJJyZwYXltZW50ZGV0YWlscz0nICsKCQkJCQkJCXRoaXMucGF5bWVudGRldGFpbHMsCgkJCQkJKS50aGVuKHJlcyA9PiB7CgkJCQkJCWFsZXJ0KCfkvZnpop3lt7LmirXmiaMnKTsKCQkJCQl9KTsKCQkJCX0gZWxzZSB7CgkJCQkJLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKCQkJCQlpZiAodGhpcy5hcHBpZCA9PT0gJ3d3YzI3NmY3YTAzNDdjMzEwYicpIHsKCQkJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CgkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CgkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkxLyc7CgkJCQkJCX0KCQkJCQl9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CgkJCQkJCWlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewoJCQkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vMTkyLjE2OC4wLjExMDozMDA1Lyc7CgkJCQkJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTMvJzsKCQkJCQkJCS8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDUvJzsKCQkJCQkJfQoJCQkJCX0gZWxzZSB7CgkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CgkJCQkJfQoJCQkJCXRyYW5zYWN0aW9ucygKCQkJCQkJJz91c2VyPScgKwoJCQkJCQkJdGhpcy51c2VyICsKCQkJCQkJCScmcHJpY2U9JyArCgkJCQkJCQl0aGlzLmFtb3VudCArCgkJCQkJCQknJm9wdGlvbj0nICsKCQkJCQkJCXRoaXMudmFsdWUxICsKCQkJCQkJCScmcGF5bWVudGRldGFpbHM9JyArCgkJCQkJCQl0aGlzLnBheW1lbnRkZXRhaWxzLAoJCQkJCSkudGhlbihyZXMgPT4gewoJCQkJCQljb25zb2xlLmxvZygnc3VjY2VzcycpOwoJCQkJCQkvKiBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwoJCQkJCQlmb3JtLm5hbWUgPSAnZm9ybSc7CgkJCQkJCWZvcm0ubWV0aG9kID0gJ3Bvc3QnOwoJCQkJCQlmb3JtLmFjdGlvbiA9CgkJCQkJCQknaHR0cHM6Ly9hZ2dwY3BheS5mdWlvdXBheS5jb20vYWdnaDVHYXRlLmZ1aW91JzsKCgkJCQkJCWNvbnN0IGlucHV0MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CgkJCQkJCWlucHV0MS50eXBlID0gJ2hpZGRlbic7CgkJCQkJCWlucHV0MS5uYW1lID0gJ21jaG50X2NkJzsKCQkJCQkJaW5wdXQxLnZhbHVlID0gJzAwMDEwMDBGNzE1MjI3OSc7CgkJCQkJCWZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQxKTsKCgkJCQkJCWNvbnN0IGlucHV0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CgkJCQkJCWlucHV0Mi50eXBlID0gJ2hpZGRlbic7CgkJCQkJCWlucHV0Mi5uYW1lID0gJ21lc3NhZ2UnOwoJCQkJCQlpbnB1dDIudmFsdWUgPSByZXMuZGF0YS5tZXNzYWdlOyAvLyDorr7nva7liqDlr4bmtojmga8KCQkJCQkJZm9ybS5hcHBlbmRDaGlsZChpbnB1dDIpOwoKCQkJCQkJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTsKCgkJCQkJCWZvcm0uc3VibWl0KCk7ICovCgkJCQkJfSk7CgkJCQl9CgkJCX0gZWxzZSBpZiAodGhpcy5zdW0pIHsKCQkJCWlmICgKCQkJCQl0aGlzLmFtb3VudCA9PSAnJyB8fAoJCQkJCXRoaXMuYW1vdW50IDwgMCB8fAoJCQkJCXRoaXMuYW1vdW50ID4gdGhpcy5zdW0KCQkJCSkgewoJCQkJCWFsZXJ0KCfor7fovpPlhaXmraPnoa7nmoTph5Hpop0nKTsKCQkJCQlyZXR1cm47CgkJCQl9IGVsc2UgewoJCQkJCWlmICh0aGlzLmFtb3VudCA9PSAwKSB7CgkJCQkJCS8vIOagueaNruadoeS7tuiuvue9riBiYXNlVVJMCgkJCQkJCWlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewoJCQkJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CgkJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CgkJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTEvJzsKCQkJCQkJCX0KCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFwcGlkID09PSAnd3dlYjhiODUyODQ2MzM0YzJmJykgewoJCQkJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDUnKSB7CgkJCQkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKCQkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQkJJ2h0dHA6Ly8xOTIuMTY4LjAuMTEwOjMwMDUvJzsKCQkJCQkJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKCQkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwoJCQkJCQkJCS8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDUvJzsKCQkJCQkJCX0KCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQkJCQl9CgkJCQkJCXRyYW5zYWN0aW9ucygKCQkJCQkJCSc/dXNlcj0nICsKCQkJCQkJCQl0aGlzLnVzZXIgKwoJCQkJCQkJCScmcHJpY2U9JyArCgkJCQkJCQkJdGhpcy5hbW91bnQgKwoJCQkJCQkJCScmb3B0aW9uPScgKwoJCQkJCQkJCXRoaXMudmFsdWUxICsKCQkJCQkJCQknJnBheW1lbnRkZXRhaWxzPScgKwoJCQkJCQkJCXRoaXMucGF5bWVudGRldGFpbHMsCgkJCQkJCSkudGhlbihyZXMgPT4gewoJCQkJCQkJYWxlcnQoJ+S9memineW3suaKteaJoycpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQkvLyDmoLnmja7mnaHku7borr7nva4gYmFzZVVSTAoJCQkJCQlpZiAodGhpcy5hcHBpZCA9PT0gJ3d3YzI3NmY3YTAzNDdjMzEwYicpIHsKCQkJCQkJCWlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDczJykgewoJCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKCQkJCQkJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnNjc4JykgewoJCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkxLyc7CgkJCQkJCQl9CgkJCQkJCX0gZWxzZSBpZiAodGhpcy5hcHBpZCA9PT0gJ3d3ZWI4Yjg1Mjg0NjMzNGMyZicpIHsKCQkJCQkJCWlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewoJCQkJCQkJCS8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkyLyc7CgkJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJCSdodHRwOi8vMTkyLjE2OC4wLjExMDozMDA1Lyc7CgkJCQkJCQl9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDYnKSB7CgkJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTMvJzsKCQkJCQkJCQkvLyBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly8xNzIuMTYuNi4yODozMDA1Lyc7CgkJCQkJCQl9CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKCQkJCQkJfQoJCQkJCQl0cmFuc2FjdGlvbnMoCgkJCQkJCQknP3VzZXI9JyArCgkJCQkJCQkJdGhpcy51c2VyICsKCQkJCQkJCQknJnByaWNlPScgKwoJCQkJCQkJCXRoaXMuYW1vdW50ICsKCQkJCQkJCQknJm9wdGlvbj0nICsKCQkJCQkJCQl0aGlzLnZhbHVlMSArCgkJCQkJCQkJJyZwYXltZW50ZGV0YWlscz0nICsKCQkJCQkJCQl0aGlzLnBheW1lbnRkZXRhaWxzLAoJCQkJCQkpLnRoZW4ocmVzID0+IHsKCQkJCQkJCWNvbnNvbGUubG9nKCdzdWNjZXNzJyk7CgkJCQkJCQkvKiBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwoJCQkJCQkJZm9ybS5uYW1lID0gJ2Zvcm0nOwoJCQkJCQkJZm9ybS5tZXRob2QgPSAncG9zdCc7CgkJCQkJCQlmb3JtLmFjdGlvbiA9CgkJCQkJCQkJJ2h0dHBzOi8vYWdncGNwYXkuZnVpb3VwYXkuY29tL2FnZ2g1R2F0ZS5mdWlvdSc7CgoJCQkJCQkJY29uc3QgaW5wdXQxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKCQkJCQkJCWlucHV0MS50eXBlID0gJ2hpZGRlbic7CgkJCQkJCQlpbnB1dDEubmFtZSA9ICdtY2hudF9jZCc7CgkJCQkJCQlpbnB1dDEudmFsdWUgPSAnMDAwMTAwMEY3MTUyMjc5JzsKCQkJCQkJCWZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQxKTsKCgkJCQkJCQljb25zdCBpbnB1dDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwoJCQkJCQkJaW5wdXQyLnR5cGUgPSAnaGlkZGVuJzsKCQkJCQkJCWlucHV0Mi5uYW1lID0gJ21lc3NhZ2UnOwoJCQkJCQkJaW5wdXQyLnZhbHVlID0gcmVzLmRhdGEubWVzc2FnZTsgLy8g6K6+572u5Yqg5a+G5raI5oGvCgkJCQkJCQlmb3JtLmFwcGVuZENoaWxkKGlucHV0Mik7CgoJCQkJCQkJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTsKCgkJCQkJCQlmb3JtLnN1Ym1pdCgpOyAqLwoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZiAodGhpcy5hbW91bnQgPT0gJycgfHwgdGhpcy5hbW91bnQgPCAwKSB7CgkJCQkJYWxlcnQoJ+ivt+i+k+WFpeato+ehrueahOmHkeminScpOwoJCQkJCXJldHVybjsKCQkJCX0gZWxzZSB7CgkJCQkJaWYgKHRoaXMuYW1vdW50ID09IDApIHsKCQkJCQkJLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKCQkJCQkJaWYgKHRoaXMuYXBwaWQgPT09ICd3d2MyNzZmN2EwMzQ3YzMxMGInKSB7CgkJCQkJCQlpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDA3MycpIHsKCQkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CgkJCQkJCQl9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzY3OCcpIHsKCQkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMS8nOwoJCQkJCQkJfQoJCQkJCQl9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CgkJCQkJCQlpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNScpIHsKCQkJCQkJCQkvLyBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMi8nOwoJCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCQknaHR0cDovLzE5Mi4xNjguMC4xMTA6MzAwNS8nOwoJCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA2JykgewoJCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkzLyc7CgkJCQkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuMjg6MzAwNS8nOwoJCQkJCQkJfQoJCQkJCQl9IGVsc2UgewoJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CgkJCQkJCX0KCQkJCQkJdHJhbnNhY3Rpb25zKAoJCQkJCQkJJz91c2VyPScgKwoJCQkJCQkJCXRoaXMudXNlciArCgkJCQkJCQkJJyZwcmljZT0nICsKCQkJCQkJCQl0aGlzLmFtb3VudCArCgkJCQkJCQkJJyZvcHRpb249JyArCgkJCQkJCQkJdGhpcy52YWx1ZTEgKwoJCQkJCQkJCScmcGF5bWVudGRldGFpbHM9JyArCgkJCQkJCQkJdGhpcy5wYXltZW50ZGV0YWlscywKCQkJCQkJKS50aGVuKHJlcyA9PiB7CgkJCQkJCQlhbGVydCgn5L2Z6aKd5bey5oq15omjJyk7CgkJCQkJCX0pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCS8vIOagueaNruadoeS7tuiuvue9riBiYXNlVVJMCgkJCQkJCWlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewoJCQkJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CgkJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CgkJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTEvJzsKCQkJCQkJCX0KCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFwcGlkID09PSAnd3dlYjhiODUyODQ2MzM0YzJmJykgewoJCQkJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDUnKSB7CgkJCQkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKCQkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQkJJ2h0dHA6Ly8xOTIuMTY4LjAuMTEwOjMwMDUvJzsKCQkJCQkJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKCQkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwoJCQkJCQkJCS8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDUvJzsKCQkJCQkJCX0KCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQkJCQl9CgkJCQkJCXRyYW5zYWN0aW9ucygKCQkJCQkJCSc/dXNlcj0nICsKCQkJCQkJCQl0aGlzLnVzZXIgKwoJCQkJCQkJCScmcHJpY2U9JyArCgkJCQkJCQkJdGhpcy5hbW91bnQgKwoJCQkJCQkJCScmb3B0aW9uPScgKwoJCQkJCQkJCXRoaXMudmFsdWUxICsKCQkJCQkJCQknJnBheW1lbnRkZXRhaWxzPScgKwoJCQkJCQkJCXRoaXMucGF5bWVudGRldGFpbHMsCgkJCQkJCSkudGhlbihyZXMgPT4gewoJCQkJCQkJY29uc29sZS5sb2coJ3N1Y2Nlc3MnKTsKCQkJCQkJCS8qIGNvbnN0IGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7CgkJCQkJCQlmb3JtLm5hbWUgPSAnZm9ybSc7CgkJCQkJCQlmb3JtLm1ldGhvZCA9ICdwb3N0JzsKCQkJCQkJCWZvcm0uYWN0aW9uID0KCQkJCQkJCQknaHR0cHM6Ly9hZ2dwY3BheS5mdWlvdXBheS5jb20vYWdnaDVHYXRlLmZ1aW91JzsKCgkJCQkJCQljb25zdCBpbnB1dDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwoJCQkJCQkJaW5wdXQxLnR5cGUgPSAnaGlkZGVuJzsKCQkJCQkJCWlucHV0MS5uYW1lID0gJ21jaG50X2NkJzsKCQkJCQkJCWlucHV0MS52YWx1ZSA9ICcwMDAxMDAwRjcxNTIyNzknOwoJCQkJCQkJZm9ybS5hcHBlbmRDaGlsZChpbnB1dDEpOwoKCQkJCQkJCWNvbnN0IGlucHV0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CgkJCQkJCQlpbnB1dDIudHlwZSA9ICdoaWRkZW4nOwoJCQkJCQkJaW5wdXQyLm5hbWUgPSAnbWVzc2FnZSc7CgkJCQkJCQlpbnB1dDIudmFsdWUgPSByZXMuZGF0YS5tZXNzYWdlOyAvLyDorr7nva7liqDlr4bmtojmga8KCQkJCQkJCWZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQyKTsKCgkJCQkJCQlkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pOwoKCQkJCQkJCWZvcm0uc3VibWl0KCk7ICovCgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQkvKiBpZiAodGhpcy52YWx1ZTEgPT0gMikgewoJCQkJaWYgKHRoaXMuYW1vdW50ICE9IDYwMCkgewoJCQkJCWFsZXJ0KCfor7fovpPlhaXmraPnoa7nmoTlsaXnuqbmnI3liqHotLnph5Hpop0nKTsKCQkJCQlyZXR1cm47CgkJCQl9IGVsc2UgewoJCQkJCS8vIOagueaNruadoeS7tuiuvue9riBiYXNlVVJMCgkJCQkJaWYgKHRoaXMuYXBwaWQgPT09ICd3d2MyNzZmN2EwMzQ3YzMxMGInKSB7CgkJCQkJCWlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDczJykgewoJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CgkJCQkJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnNjc4JykgewoJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMS8nOwoJCQkJCQl9CgkJCQkJfSBlbHNlIGlmICh0aGlzLmFwcGlkID09PSAnd3dlYjhiODUyODQ2MzM0YzJmJykgewoJCQkJCQlpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNScpIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKCQkJCQkJCS8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDUvJzsKCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA2JykgewoJCQkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTMvJzsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vMTkyLjE2OC4wLjExMDozMDA1Lyc7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQkJCX0KCQkJCQl0cmFuc2FjdGlvbnMoCgkJCQkJCSc/dXNlcj0nICsKCQkJCQkJCXRoaXMudXNlciArCgkJCQkJCQknJnByaWNlPScgKwoJCQkJCQkJdGhpcy5hbW91bnQgKwoJCQkJCQkJJyZvcHRpb249JyArCgkJCQkJCQl0aGlzLnZhbHVlMSwKCQkJCQkpLnRoZW4ocmVzID0+IHsKCQkJCQkJY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKCQkJCQkJZm9ybS5uYW1lID0gJ2Zvcm0nOwoJCQkJCQlmb3JtLm1ldGhvZCA9ICdwb3N0JzsKCQkJCQkJZm9ybS5hY3Rpb24gPQoJCQkJCQkJJ2h0dHBzOi8vYWdncGNwYXkuZnVpb3VwYXkuY29tL2FnZ2g1R2F0ZS5mdWlvdSc7CgoJCQkJCQljb25zdCBpbnB1dDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwoJCQkJCQlpbnB1dDEudHlwZSA9ICdoaWRkZW4nOwoJCQkJCQlpbnB1dDEubmFtZSA9ICdtY2hudF9jZCc7CgkJCQkJCWlucHV0MS52YWx1ZSA9ICcwMDAxMDAwRjcxNTIzNjQnOwoJCQkJCQlmb3JtLmFwcGVuZENoaWxkKGlucHV0MSk7CgoJCQkJCQljb25zdCBpbnB1dDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwoJCQkJCQlpbnB1dDIudHlwZSA9ICdoaWRkZW4nOwoJCQkJCQlpbnB1dDIubmFtZSA9ICdtZXNzYWdlJzsKCQkJCQkJaW5wdXQyLnZhbHVlID0gcmVzLmRhdGEubWVzc2FnZTsgLy8g6K6+572u5Yqg5a+G5raI5oGvCgkJCQkJCWZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQyKTsKCgkJCQkJCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7CgoJCQkJCQlmb3JtLnN1Ym1pdCgpOwoJCQkJCX0pOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJaWYgKHRoaXMuYW1vdW50ID09ICcnIHx8IHRoaXMuYW1vdW50IDwgMCkgewoJCQkJCWFsZXJ0KCfor7fovpPlhaXmraPnoa7nmoTph5Hpop0nKTsKCQkJCQlyZXR1cm47CgkJCQl9IGVsc2UgaWYgKHRoaXMuYW1vdW50ID09IDApIHsKCQkJCQkvLyDmoLnmja7mnaHku7borr7nva4gYmFzZVVSTAoJCQkJCWlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewoJCQkJCQlpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDA3MycpIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQkJCQl9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzY3OCcpIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTEvJzsKCQkJCQkJfQoJCQkJCX0gZWxzZSBpZiAodGhpcy5hcHBpZCA9PT0gJ3d3ZWI4Yjg1Mjg0NjMzNGMyZicpIHsKCQkJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDUnKSB7CgkJCQkJCQkvLyBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMi8nOwoJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJJ2h0dHA6Ly8xOTIuMTY4LjAuMTEwOjMwMDUvJzsKCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA2JykgewoJCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwoJCQkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuMjg6MzAwNS8nOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKCQkJCQl9CgkJCQkJdHJhbnNhY3Rpb25zKAoJCQkJCQknP3VzZXI9JyArCgkJCQkJCQl0aGlzLnVzZXIgKwoJCQkJCQkJJyZwcmljZT0nICsKCQkJCQkJCXRoaXMuYW1vdW50ICsKCQkJCQkJCScmb3B0aW9uPScgKwoJCQkJCQkJdGhpcy52YWx1ZTEsCgkJCQkJKS50aGVuKHJlcyA9PiB7CgkJCQkJCWFsZXJ0KCfkvZnpop3lt7LmirXmiaMnKTsKCQkJCQl9KTsKCQkJCX0gZWxzZSB7CgkJCQkJLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKCQkJCQlpZiAodGhpcy5hcHBpZCA9PT0gJ3d3YzI3NmY3YTAzNDdjMzEwYicpIHsKCQkJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CgkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKCQkJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CgkJCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkxLyc7CgkJCQkJCX0KCQkJCQl9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CgkJCQkJCWlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA1JykgewoJCQkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJzsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vMTkyLjE2OC4wLjExMDozMDA1Lyc7CgkJCQkJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKCQkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTMvJzsKCQkJCQkJCS8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjI4OjMwMDUvJzsKCQkJCQkJfQoJCQkJCX0gZWxzZSB7CgkJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CgkJCQkJfQoJCQkJCXRyYW5zYWN0aW9ucygKCQkJCQkJJz91c2VyPScgKwoJCQkJCQkJdGhpcy51c2VyICsKCQkJCQkJCScmcHJpY2U9JyArCgkJCQkJCQl0aGlzLmFtb3VudCArCgkJCQkJCQknJm9wdGlvbj0nICsKCQkJCQkJCXRoaXMudmFsdWUxLAoJCQkJCSkudGhlbihyZXMgPT4gewoJCQkJCQljb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwoJCQkJCQlmb3JtLm5hbWUgPSAnZm9ybSc7CgkJCQkJCWZvcm0ubWV0aG9kID0gJ3Bvc3QnOwoJCQkJCQlmb3JtLmFjdGlvbiA9CgkJCQkJCQknaHR0cHM6Ly9hZ2dwY3BheS5mdWlvdXBheS5jb20vYWdnaDVHYXRlLmZ1aW91JzsKCgkJCQkJCWNvbnN0IGlucHV0MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CgkJCQkJCWlucHV0MS50eXBlID0gJ2hpZGRlbic7CgkJCQkJCWlucHV0MS5uYW1lID0gJ21jaG50X2NkJzsKCQkJCQkJaW5wdXQxLnZhbHVlID0gJzAwMDEwMDBGNzE1MjI3OSc7CgkJCQkJCWZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQxKTsKCgkJCQkJCWNvbnN0IGlucHV0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CgkJCQkJCWlucHV0Mi50eXBlID0gJ2hpZGRlbic7CgkJCQkJCWlucHV0Mi5uYW1lID0gJ21lc3NhZ2UnOwoJCQkJCQlpbnB1dDIudmFsdWUgPSByZXMuZGF0YS5tZXNzYWdlOyAvLyDorr7nva7liqDlr4bmtojmga8KCQkJCQkJZm9ybS5hcHBlbmRDaGlsZChpbnB1dDIpOwoKCQkJCQkJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTsKCgkJCQkJCWZvcm0uc3VibWl0KCk7CgkJCQkJfSk7CgkJCQl9CgkJCX0gKi8KCQl9LAoJCWdldFJlYXNvbnMoKSB7CgkJCWdldFJlYXNvbnMoKS50aGVuKHJlcyA9PiB7CgkJCQl0aGlzLnJlYXNvbkxpc3QgPSByZXMuZGF0YTsKCQkJCS8qIGZvciAobGV0IGtleSBpbiB0aGlzLnRhYmxlRGF0YSkgewoJCQkJCWNvbnNvbGUubG9nKGtleSk7CgkJCQkJdGhpcy5vdGhlclNob3cgPSB0aGlzLnJlYXNvbkxpc3QuaW5jbHVkZXMoa2V5KTsKCQkJCQljb25zb2xlLmxvZyh0aGlzLm90aGVyU2hvdyk7CgkJCQl9ICovCgkJCX0pOwoJCX0sCgkJY2hhbmdlT3RoZXIoKSB7CgkJCWlmICh0aGlzLmNoZWNrYm94TGlzdC5sZW5ndGgpIHsKCQkJCXRoaXMuZGlzYWJsZV9zZXJ2aWNlID0gdHJ1ZTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMucGF5bWVudGRldGFpbHMgPSBbXTsKCQkJCXRoaXMuZGlzYWJsZV9zZXJ2aWNlID0gZmFsc2U7CgkJCX0KCQl9LAoJCWNoaWNrU2VydmljZSgpIHsKCQkJaWYgKHRoaXMuY2hlY2tlZCA9PSB0cnVlKSB7CgkJCQl0aGlzLmFtb3VudCA9IDYwMDsKCQkJCXRoaXMucGF5bWVudGRldGFpbHMucHVzaCgn5bGl57qm5pyN5Yqh6LS5Jyk7CgkJCQl0aGlzLmRpc2FibGVfb3RoZXIgPSB0cnVlOwoJCQkJdGhpcy5kaXNhYmxlX2Ftb3VudCA9IHRydWU7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLmFtb3VudCA9IDA7CgkJCQl0aGlzLnBheW1lbnRkZXRhaWxzID0gW107CgkJCQl0aGlzLmRpc2FibGVfb3RoZXIgPSBmYWxzZTsKCQkJCXRoaXMuZGlzYWJsZV9hbW91bnQgPSBmYWxzZTsKCQkJfQoJCX0sCgkJZ2V0WlhQYXltZW50RGV0YWlscygpIHsKCQkJZ2V0WlhQYXltZW50RGV0YWlscygpLnRoZW4ocmVzID0+IHsKCQkJCXRoaXMudGFibGVEYXRhID0gcmVzLmRhdGE7CgkJCX0pOwoJCX0sCgkJcXVlcnlVc2VyRGV0YWlscygpIHsKCQkJLy8g5qC55o2u5p2h5Lu26K6+572uIGJhc2VVUkwKCQkJaWYgKHRoaXMuYXBwaWQgPT09ICd3d2MyNzZmN2EwMzQ3YzMxMGInKSB7CgkJCQlpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDA3MycpIHsKCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpLyc7CgkJCQl9IGVsc2UgaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzY3OCcpIHsKCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMS8nOwoJCQkJfQoJCQl9IGVsc2UgaWYgKHRoaXMuYXBwaWQgPT09ICd3d2ViOGI4NTI4NDYzMzRjMmYnKSB7CgkJCQlpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNScpIHsKCQkJCQkvLyBpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0gJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMi8nCgkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuOTA6MzAwMy8nOwoJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICcxMDAwMDA2JykgewoJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPQoJCQkJCQknaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkzLyc7CgkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vMTcyLjE2LjYuMTU6MzAwNi8nOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQl9CgkJCWdldFBheW1lbnREZXRhaWxzKCc/dXNlcj0nICsgdGhpcy51c2VyKS50aGVuKHJlcyA9PiB7CgkJCQlpZiAocmVzLmRhdGEuY29kZSA9PSA1MDApIHsKCQkJCQl0aGlzLmlzU2hvdyA9IGZhbHNlOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLnRhYmxlID0gcmVzLmRhdGE7CgkJCQkJLy90aGlzLmFtb3VudCA9IHRoaXMudGFibGUuYW1vdW50CgkJCQkJdGhpcy5pc1Nob3cgPSB0cnVlOwoJCQkJfQoJCQl9KTsKCQl9LAoJCWNoZWNrQ2xpY2soKSB7CgkJCXRoaXMucHJpY2VMaXN0ID0gW107CgkJCXRoaXMucGF5bWVudGRldGFpbHMgPSBbXTsKCQkJZm9yIChsZXQga2V5IGluIHRoaXMudGFibGVEYXRhKSB7CgkJCQlpZiAodGhpcy50YWJsZURhdGFba2V5XS5kYXRhICE9IHVuZGVmaW5lZCkgewoJCQkJCXRoaXMuY2hlY2tlZExpc3QgPSB0aGlzLnRhYmxlRGF0YVtrZXldLmRhdGE7CgkJCQkJdGhpcy5jaGVja2VkTGlzdC5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4gewoJCQkJCQlpZiAodGhpcy5jaGVja2JveExpc3QuaW5jbHVkZXMoZWxlbWVudC5faWQpKSB7CgkJCQkJCQl0aGlzLnByaWNlTGlzdC5wdXNoKGVsZW1lbnQudW5wYXkpOwoJCQkJCQkJbGV0IGFycmF5ID0gW107CgkJCQkJCQlhcnJheS5wdXNoKGVsZW1lbnQuZnVrdWFuc2hpeW91KTsKCQkJCQkJCXRoaXMucGF5bWVudGRldGFpbHMgPSBbLi4ubmV3IFNldChhcnJheSldOwoJCQkJCQkJLy90aGlzLnBheW1lbnRkZXRhaWxzLnB1c2goZWxlbWVudC5mdWt1YW5zaGl5b3UpOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQl9CgkJCX0KCQkJdGhpcy5hbW91bnQgPSB0aGlzLnN1bTsKCQl9LAoJCXF1ZXJ5VXNlckluZm8oKSB7CgkJCS8vIOagueaNruadoeS7tuiuvue9riBiYXNlVVJMCgkJCWlmICh0aGlzLmFwcGlkID09PSAnd3djMjc2ZjdhMDM0N2MzMTBiJykgewoJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwNzMnKSB7CgkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaS8nOwoJCQkJfSBlbHNlIGlmICh0aGlzLmFnZW50aWQgPT09ICc2NzgnKSB7CgkJCQkJaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9CgkJCQkJCSdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTEvJzsKCQkJCX0KCQkJfSBlbHNlIGlmICh0aGlzLmFwcGlkID09PSAnd3dlYjhiODUyODQ2MzM0YzJmJykgewoJCQkJaWYgKHRoaXMuYWdlbnRpZCA9PT0gJzEwMDAwMDUnKSB7CgkJCQkJLy8gaW5zdGFuY2UuZGVmYXVsdHMuYmFzZVVSTCA9ICdodHRwOi8vd2ViLmppeXVhbmtlc2hhbmcuY29tL2FwaTIvJwoJCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjkwOjMwMDMvJzsKCQkJCX0gZWxzZSBpZiAodGhpcy5hZ2VudGlkID09PSAnMTAwMDAwNicpIHsKCQkJCQlpbnN0YW5jZS5kZWZhdWx0cy5iYXNlVVJMID0KCQkJCQkJJ2h0dHA6Ly93ZWIuaml5dWFua2VzaGFuZy5jb20vYXBpMy8nOwoJCQkJCS8vIGluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovLzE3Mi4xNi42LjE1OjMwMDYvJzsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWluc3RhbmNlLmRlZmF1bHRzLmJhc2VVUkwgPSAnaHR0cDovL3dlYi5qaXl1YW5rZXNoYW5nLmNvbS9hcGkvJzsKCQkJfQoJCQlxdWVyeVVzZXIoJz91c2VyPScgKyB0aGlzLnVzZXIpLnRoZW4ocmVzID0+IHsKCQkJCXRoaXMucGF5TGlzdCA9IHJlcy5kYXRhOwoJCQl9KTsKCQl9LAoJCWFzeW5jIHF1ZXJ5VXNlcklkSW5mbyhjb2RlKSB7CgkJCWF3YWl0IHF1ZXJ5VXNlcklkKCc/Y29kZT0nICsgY29kZSkudGhlbihyZXMgPT4gewoJCQkJdGhpcy51c2VyID0gcmVzLmRhdGE7CgkJCQlyZXR1cm4gcmVzOwoJCQl9KTsKCQl9LAoJfSwKCWFzeW5jIGNyZWF0ZWQoKSB7CgkJLy8gdmFyIGlkID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVsxXQoJCS8vIGlkID0gaWQuc3BsaXQoJz0nKVsxXS5yZXBsYWNlKCcjLycsICcnKQoJCS8vCgkJLy8gdGhpcy51c2VyID0gaWQKCQl2YXIgcXVlcnlTdHJpbmcgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzFdOwoJCS8vIOWwhuafpeivouWPguaVsOmDqOWIhuWGjeasoeS9v+eUqCAuc3BsaXQoKSDmlrnms5XliIblibIKCQl2YXIgcGFyYW1zID0gcXVlcnlTdHJpbmcuc3BsaXQoJyYnKTsKCQkvLyDlrprkuYnlj5jph4/mnaXlrZjlgqjlj4LmlbDlgLwKCQl2YXIgdXNlciwgYXBwaWQsIGFnZW50aWQ7CgkJLy8g5b6q546v6YGN5Y6G5Y+C5pWw5pWw57uECgkJcGFyYW1zLmZvckVhY2gocGFyYW0gPT4gewoJCQl2YXIga2V5VmFsdWUgPSBwYXJhbS5zcGxpdCgnPScpOwoJCQl2YXIga2V5ID0ga2V5VmFsdWVbMF07CgkJCXZhciB2YWx1ZSA9IGtleVZhbHVlWzFdOwoJCQkvLyDmoLnmja7lj4LmlbDlkI3orr7nva7nm7jlupTnmoTlj5jph4/lgLwKCQkJaWYgKGtleSA9PT0gJ3VzZXInKSB7CgkJCQl1c2VyID0gdmFsdWU7CgkJCX0gZWxzZSBpZiAoa2V5ID09PSAnYXBwaWQnKSB7CgkJCQlhcHBpZCA9IHZhbHVlOwoJCQl9IGVsc2UgaWYgKGtleSA9PT0gJ2FnZW50aWQnKSB7CgkJCQlhZ2VudGlkID0gdmFsdWU7CgkJCX0KCQl9KTsKCQkvLyDlsIbojrflj5bliLDnmoTlgLzotYvnu5kgVnVlIOe7hOS7tueahOWxnuaApwoJCXRoaXMudXNlciA9IHVzZXI7CgkJdGhpcy5hcHBpZCA9IGFwcGlkOwoJCXRoaXMuYWdlbnRpZCA9IGFnZW50aWQ7CgkJLyogCWNvbnNvbGUubG9nKCd1c2VyOicsIHRoaXMudXNlcik7CgkJY29uc29sZS5sb2coJ2FwcGlkOicsIHRoaXMuYXBwaWQpOwoJCWNvbnNvbGUubG9nKCdhZ2VudGlkOicsIHRoaXMuYWdlbnRpZCk7ICovCgoJCXRoaXMucXVlcnlVc2VySW5mbygpOwoJCXRoaXMucXVlcnlVc2VyRGV0YWlscygpOwoJCXRoaXMuZ2V0WlhQYXltZW50RGV0YWlscygpOwoJCXRoaXMuZ2V0UmVhc29ucygpOwoJfSwKCWRhdGEoKSB7CgkJcmV0dXJuIHsKCQkJaXNTaG93OiBmYWxzZSwKCQkJaXNTaG93MTogZmFsc2UsCgkJCWRpc2FibGVfb3RoZXI6IGZhbHNlLAoJCQlkaXNhYmxlX2Ftb3VudDogZmFsc2UsCgkJCWRpc2FibGVfc2VydmljZTogZmFsc2UsCgkJCXVzZXI6ICcnLAoJCQlhcHBpZDogJycsCgkJCWFnZW50aWQ6ICcnLAoJCQljaGVja2VkOiAnJywKCQkJY2hlY2tlZDE6ICcnLAoJCQlhY3RpdmVOYW1lOiAxLAoJCQljaGVja2VkTGlzdDogW10sIC8v6L+H5ruk5pWw57uECgkJCWNoZWNrYm94TGlzdDogW10sIC8vIOWtmOWCqOmAieS4remhueeahOWAvAoJCQlwcmljZUxpc3Q6IFtdLAoJCQlyZWFzb25MaXN0OiBbXSwKCQkJYWN0aXZlT3RoZXI6IFswXSwKCQkJYWN0aXZlT3RoZXJfMTogW10sCgkJCWFjdGl2ZU90aGVyXzI6IFtdLAoJCQlhY3RpdmVDb21taXNzaW9uOiBbMF0sCgkJCWFjdGl2ZUNvbW1pc3Npb25fMTogW10sCgkJCWFjdGl2ZUNvbW1pc3Npb25fMjogW10sCgkJCWFjdGl2ZVNlcnZpY2U6IFtdLAoJCQlwYXlMaXN0OiB7fSwKCQkJcGF5bWVudGRldGFpbHM6IFtdLAoJCQlhbW91bnQ6ICcnLAoJCQlhY3RpdmVOYW1lczogWzBdLAoJCQlhY3RpdmVpdGVtMTogWycnXSwKCQkJYWN0aXZlaXRlbTI6IFsnJ10sCgkJCXRhYmxlOiB7fSwKCQkJdGFibGVEYXRhOiBbXSwKCQkJaWQ6ICcnLAoJCQl2YWx1ZTogMCwKCQkJZm9ybTogewoJCQkJZl9udW06ICcnLAoJCQkJY19udW06ICcnLAoJCQkJY19jb250ZW50OiAnJywKCQkJCWZfY29udGVudDogJycsCgkJCQljb250ZW50OiAnJywKCQkJfSwKCQkJZm9ybTE6IHsKCQkJCWZfbnVtOiAnJywKCQkJCWNfbnVtOiAnJywKCQkJCWNfY29udGVudDogJycsCgkJCQlmX2NvbnRlbnQ6ICcnLAoJCQkJY29udGVudDogJycsCgkJCX0sCgkJCS8vIHBheW1lbnRUeXBlOiIiLCAvLyDpgInmi6nnmoTmlK/ku5jnsbvlnosKCQkJLy8gcGF5bWVudE9wdGlvbnM6IFsgLy8g5pSv5LuY57G75Z6L6YCJ6aG5CgkJCS8vICAgeyB2YWx1ZTogJ+aJv+WMhemHkScsIGxhYmVsOiAn5om/5YyF6YeRJyB9LAoJCQkvLyAgIHsgdmFsdWU6ICflsaXnuqbmnI3liqHotLknLCBsYWJlbDogJ+Wxpee6puacjeWKoei0uScgfQoJCQkvLyBdCgkJCXZhbHVlMTogMSwKCQkJb3B0aW9uMTogWwoJCQkJeyB0ZXh0OiAn6LS556iO6YeR6aKdJywgdmFsdWU6IDEgfSwKCQkJCXsgdGV4dDogJ+Wxpee6puacjeWKoei0uScsIHZhbHVlOiAyIH0sCgkJCV0sCgkJfTsKCX0sCgljb21wdXRlZDogewoJCXN1bSgpIHsKCQkJLy8g5L2/55SocmVkdWNl5pa55rOV6K6h566X5pWw57uEbnVtYmVyc+S4reaJgOacieWFg+e0oOeahOaAu+WSjAoJCQlyZXR1cm4gdGhpcy5wcmljZUxpc3QucmVkdWNlKChhY2MsIGN1cikgPT4gYWNjICsgY3VyLCAwKTsKCQl9LAoJfSwKfTsK"},null]} |