{"remainingRequest":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\xcjy-fvue\\src\\router\\router.js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\router\\router.js","mtime":1741314105206},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\babel.config.js","mtime":1741314102158},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5zb21lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zdGFydHMtd2l0aC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgVnVlIGZyb20gJ3Z1ZSc7CmltcG9ydCBSb3V0ZXIgZnJvbSAndnVlLXJvdXRlcic7CmltcG9ydCBzdG9yZSBmcm9tICdAL3N0b3JlJzsKaW1wb3J0IE5vdEZvdW5kIGZyb20gJ0Avdmlld3MvTm90Rm91bmQudnVlJzsKaW1wb3J0IExvZ2luIGZyb20gJ0Avdmlld3MvTG9naW4vaW5kZXgudnVlJzsKaW1wb3J0IHJlcSBmcm9tICdAL3JlcXVlc3QnOwppbXBvcnQgdWMgZnJvbSAnQC9hcGkvdWMuanMnOwppbXBvcnQgcG9ydGFsIGZyb20gJ0AvYXBpL3BvcnRhbC5qcyc7Ci8v6Lev55SxCmltcG9ydCBtYWluUm91dGVyIGZyb20gJ0Avcm91dGVyL21vZHVsZS1yb3V0ZXInOwppbXBvcnQgY3VzdG9tU3lzdGVtUm91dGVyIGZyb20gJ0Avcm91dGVyL2N1c3RvbS1zeXN0ZW0tcm91dGVyJzsKaW1wb3J0IGJpZ1NjcmVlblJvdXRlciBmcm9tICdAL3JvdXRlci9iaWdTY3JlZW5Sb3V0ZXInOwppbXBvcnQgTGF5b3V0IGZyb20gJ0AvY29tcG9uZW50cy9sYXlvdXQvTGF5b3V0LnZ1ZSc7Ci8vIOa2iOaBr+e7hOS7tgppbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnZWxlbWVudC11aSc7CmltcG9ydCBTcGFya01ENSBmcm9tICdzcGFyay1tZDUnOwpWdWUudXNlKFJvdXRlcik7CnZhciByb3V0ZXIgPSBuZXcgUm91dGVyKHsKICBtb2RlOiAnaGlzdG9yeScsCiAgYmFzZTogcHJvY2Vzcy5lbnYuQkFTRV9VUkwsCiAgcm91dGVzOiBbCiAgLy8g6YeN5a6a5ZCR5YiwbG9naW4KICB7CiAgICBwYXRoOiAnLycsCiAgICByZWRpcmVjdDogewogICAgICBuYW1lOiAnbG9naW4nCiAgICB9CiAgfSwKICAvLyDnmbvlvZXpobXpnaIKICB7CiAgICBwYXRoOiAnL2xvZ2luJywKICAgIG5hbWU6ICdsb2dpbicsCiAgICBjb21wb25lbnQ6IExvZ2luLAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUsCiAgICAgIGFub255bW91czogdHJ1ZQogICAgfQogIH0sCiAgLy8g6YeN572u5a+G56CBCiAgewogICAgcGF0aDogJy9yZXNldFB3ZFZpZXcnLAogICAgbmFtZTogJ3Jlc2V0UHdkVmlld0lubmVyJywKICAgIHByb3BzOiB0cnVlLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0Avdmlld3MvUmVzZXRQd2RWaWV3LnZ1ZScpOwogICAgfQogIH0sCiAgLy8g6Lez6L2s6Ym05p2D562J5b6F6aG16Z2iCiAgewogICAgcGF0aDogJy9zYWZldHknLAogICAgbmFtZTogJ3NhZmV0eScsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC92aWV3cy9Mb2FkaW5nLnZ1ZScpOwogICAgfSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlLAogICAgICBhbm9ueW1vdXM6IHRydWUKICAgIH0KICB9LCB7CiAgICBwYXRoOiAnL3BhdHJvbCcsCiAgICBuYW1lOiAncGF0cm9sJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL3ZpZXdzL0xvYWRpbmcudnVlJyk7CiAgICB9LAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUsCiAgICAgIGFub255bW91czogdHJ1ZQogICAgfQogIH1dLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoYmlnU2NyZWVuUm91dGVyKSwgWwogIC8vIOWQjuWPsOmhtemdogogIHsKICAgIHBhdGg6ICcvcGxhdExheW91dCcsCiAgICBuYW1lOiAncGxhdExheW91dCcsCiAgICBjb21wb25lbnQ6IExheW91dCwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlLAogICAgICBhbm9ueW1vdXM6IHRydWUKICAgIH0sCiAgICBjaGlsZHJlbjogW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShjdXN0b21TeXN0ZW1Sb3V0ZXIpLCBfdG9Db25zdW1hYmxlQXJyYXkobWFpblJvdXRlciksIFsKICAgIC8vIDQwNOmhtemdogogICAgewogICAgICBwYXRoOiAnLzpjYXRjaEFsbCguKiknLAogICAgICBjb21wb25lbnQ6IE5vdEZvdW5kLAogICAgICBtZXRhOiB7CiAgICAgICAgLy8gc2luZ2xlOiB0cnVlCiAgICAgIH0KICAgIH1dKQogIH0sCiAgLy8gNDA06aG16Z2iCiAgewogICAgcGF0aDogJy86Y2F0Y2hBbGwoLiopJywKICAgIGNvbXBvbmVudDogTm90Rm91bmQsCiAgICBtZXRhOiB7CiAgICAgIC8vIHNpbmdsZTogdHJ1ZQogICAgfQogIH1dKQp9KTsKdmFyIGNyZWF0ZVJvdXRlciA9IGZ1bmN0aW9uIGNyZWF0ZVJvdXRlcigpIHsKICByZXR1cm4gbmV3IFJvdXRlcih7CiAgICBtb2RlOiAnaGlzdG9yeScsCiAgICByb3V0ZXM6IFtdCiAgfSk7Cn07CgovL+mHjeWGmeWKqOaAgea3u+WKoOi3r+eUseaWueazlQpyb3V0ZXIuJGFkZFJvdXRlcyA9IGZ1bmN0aW9uIChwYXJhbXMpIHsKICB2YXIgbmV3Um91dGVyID0gY3JlYXRlUm91dGVyKCk7CiAgcm91dGVyLm1hdGNoZXIgPSBuZXdSb3V0ZXIubWF0Y2hlcjsgLy/ph43nva7ot6/nlLHop4TliJkKICByb3V0ZXIuYWRkUm91dGVzKHBhcmFtcyk7IC8vIOa3u+WKoOi3r+eUsQp9OwoKLy/liqjmgIHmlrDlop7kuoznuqfot6/nlLEKcm91dGVyLmFkZExpc3QgPSBmdW5jdGlvbiAoKSB7CiAgcmV0dXJuIGZhbHNlOwp9Owp2YXIgcmVnaXN0ZXJSb3V0ZUZyZXNoID0gdHJ1ZTsKdmFyIHNzb1JlZGlyZWN0ID0gZnVuY3Rpb24gc3NvUmVkaXJlY3QoKSB7CiAgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSA9PT0gJ2NhcycpIHsKICAgIHZhciBzZXJ2aWNlID0gd2luZG93LmxvY2F0aW9uLmhyZWY7CiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc2VydmljZScsIHNlcnZpY2UpOwogICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cuc3NvQ29uZmlnLnVybCArICc/c2VydmljZT0nICsgc2VydmljZTsKICB9IGVsc2UgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSA9PT0gJ29hdXRoJykgewogICAgaWYgKCF3aW5kb3cuc3NvQ29uZmlnLmNsaWVudElkKSB7CiAgICAgIHRocm93ICdvYXV0aOaooeW8j+S4i+W/hemhu+aPkOS+m2NsaWVudElkJzsKICAgIH0KICAgIHZhciBfc2VydmljZSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NlcnZpY2UnLCBfc2VydmljZSk7CiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICIiLmNvbmNhdCh3aW5kb3cuc3NvQ29uZmlnLnVybCwgIj9yZXNwb25zZV90eXBlPWNvZGUmY2xpZW50X2lkPSIpLmNvbmNhdCh3aW5kb3cuc3NvQ29uZmlnLmNsaWVudElkLCAiJnJlZGlyZWN0X3VyaT0iKS5jb25jYXQoX3NlcnZpY2UpOwogIH0KfTsKdmFyIGhhbmRlbFNob3J0VXJsID0gZnVuY3Rpb24gaGFuZGVsU2hvcnRVcmwodG8sIGZyb20sIG5leHQpIHsKICByZXEuZ2V0KCcke3BvcnRhbH0vcG9ydGFsL3Nob3J0dXJsTWFuYWdlL3YxL2dldExvbmdVcmxCeVNob3J0VXJsP3Nob3J0VXJsPScgKyB0by5mdWxsUGF0aC5zdWJzdHIoMSksICcnLCBmYWxzZSkudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgaWYgKHJlc3AgJiYgcmVzcC5kYXRhICYmIHJlc3AuZGF0YS5zdGF0ZSkgewogICAgICBzdG9yZS5kaXNwYXRjaCgnbG9naW4vdmFsaWRBbmRDb21wbGV0ZWRDdXJyZW50JywgcmVzcC5kYXRhLnZhbHVlLmd1ZXN0VG9rZW4pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIG5leHQoewogICAgICAgICAgcGF0aDogcmVzcC5kYXRhLnZhbHVlLnVybAogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgbG9nb3V0QW5kQ2xlYW5VcCh0bywgZnJvbSwgbmV4dCk7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgbmV4dCh7CiAgICAgICAgcGF0aDogJy9tZXNzYWdlRmlsbFBhZ2UvJyArIHJlc3AuZGF0YS5tZXNzYWdlCiAgICAgIH0pOwogICAgfQogIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpOwogIH0pOwp9Owp2YXIgZ2V0QWxsRGljdCA9IGZ1bmN0aW9uIGdldEFsbERpY3QoKSB7CiAgcG9ydGFsLmdldFN5c0RpY3QoKS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7CiAgICBpZiAoZGF0YSkgewogICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdkaWN0X2RhdGEnLCBKU09OLnN0cmluZ2lmeShkYXRhKSk7CiAgICB9CiAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikgewogICAgY29uc29sZS5sb2coZXJyLCAn5a2X5YW4ZXJyJyk7CiAgfSk7Cn07CnZhciBsb2dvdXRBbmRDbGVhblVwID0gZnVuY3Rpb24gbG9nb3V0QW5kQ2xlYW5VcCh0bywgZnJvbSwgbmV4dCkgewogIHN0b3JlLmRpc3BhdGNoKCdsb2dpbi9sb2dvdXRBbmRDbGVhblVwJykudGhlbihmdW5jdGlvbiAoKSB7CiAgICBpZiAod2luZG93LnNzb0NvbmZpZy5tb2RlICYmIHdpbmRvdy5zc29Db25maWcubW9kZSAhPT0gJ2p3dCcpIHsKICAgICAgc3NvUmVkaXJlY3QoKTsKICAgIH0gZWxzZSBpZiAoIXdpbmRvdy5zc29Db25maWcubW9kZSB8fCB3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT09ICdqd3QnKSB7CiAgICAgIG5leHQoewogICAgICAgIHBhdGg6ICcvbG9naW4nCiAgICAgICAgLy8gcXVlcnk6IHsKICAgICAgICAvLyAgICAgcmVkaXJlY3Q6IHRvLmZ1bGxQYXRoCiAgICAgICAgLy8gfQogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIHRocm93ICfnmbvlvZXlpLHotKUnOwogICAgfQogIH0pOwp9Owp2YXIgZGVjb2RlVG9rZW4gPSBmdW5jdGlvbiBkZWNvZGVUb2tlbihrZXkpIHsKICB2YXIgc3BhcmtTdHIgPSAnJzsKICB2YXIgc3BhcmsgPSBuZXcgU3BhcmtNRDUoKTsKICBzcGFyay5hcHBlbmQoa2V5KTsKICBzcGFya1N0ciA9IHNwYXJrLmVuZCgpOwogIGNvbnNvbGUubG9nKCdzcGFya1N0cicsIHNwYXJrU3RyKTsKICB2YXIgQmFzZTY0ID0gcmVxdWlyZSgnanMtYmFzZTY0JykuQmFzZTY0OwogIHZhciB0b2tlbiA9IEJhc2U2NC5lbmNvZGUoc3BhcmtTdHIpOwogIHJldHVybiB0b2tlbjsKfTsKdmFyIHRva2VuTG9naW5CaWdTY3JlZW4gPSBmdW5jdGlvbiB0b2tlbkxvZ2luQmlnU2NyZWVuKHVzZXJJbmZvLCBuZXh0LCBuYW1lKSB7CiAgc3RvcmUuZGlzcGF0Y2goJ2xvZ2luL2xvZ2luQnlQcmluY2lwYWwnLCB1c2VySW5mbykudGhlbihmdW5jdGlvbiAobG9naW5TdGF0dXMpIHsKICAgIGlmIChsb2dpblN0YXR1cyAmJiBsb2dpblN0YXR1cyA9PSB0cnVlKSB7CiAgICAgIGdldEFsbERpY3QoKTsKICAgICAgaWYgKG5hbWUgPT09ICdzYWZldHknKSB7CiAgICAgICAgbmV4dCh7CiAgICAgICAgICBwYXRoOiAnL3NhZmV0eU1hbmFnZVNjcmVlbicKICAgICAgICB9KTsKICAgICAgfQogICAgfQogIH0pOwp9OwoKLy8g57uf5LiA6Zeo5oi36YCa6L+H6LSm5Y+355m75b2VCnZhciBhY2NvdW50TG9naW4gPSBmdW5jdGlvbiBhY2NvdW50TG9naW4odXNlckluZm8sIG5leHQpIHsKICBzdG9yZS5kaXNwYXRjaCgnbG9naW4vbG9naW5CeVByaW5jaXBhbCcsIHVzZXJJbmZvKS50aGVuKGZ1bmN0aW9uIChsb2dpblN0YXR1cykgewogICAgaWYgKGxvZ2luU3RhdHVzICYmIGxvZ2luU3RhdHVzID09IHRydWUpIHsKICAgICAgZ2V0QWxsRGljdCgpOwogICAgICAvLyDojrflj5blvZPliY3nlKjmiLfnmoTmjInpkq7jgIHmlrnms5XmnYPpmZAKICAgICAgc3RvcmUuZGlzcGF0Y2goJ21lbnUvZ2V0Q3VycmVudFVzZXJNZXRob2RBdXRoJyk7CiAgICAgIC8v6I635Y+W5YmN5Y+w6aG16Z2i5omA5pyJ6I+c5Y2VCiAgICAgIHN0b3JlLmRpc3BhdGNoKCdtZW51L2FjdGlvbkZyb250TWVudXMnKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLmxlbmd0aCkgewogICAgICAgICAgc3RvcmUuZGlzcGF0Y2goJ2xvZ2luL2NoZWNrVXNlckluZm9TdGF0ZScpLnRoZW4oZnVuY3Rpb24gKGlzRmluaXNoVXNlckluZm8pIHsKICAgICAgICAgICAgaWYgKCFpc0ZpbmlzaFVzZXJJbmZvKSB7CiAgICAgICAgICAgICAgbmV4dCh7CiAgICAgICAgICAgICAgICBwYXRoOiAnL3BsYXRMYXlvdXQvcGVyc29uYWxJbmZvJwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHZhciBfcmVmID0gcmVzICYmIHJlcy5maW5kKGZ1bmN0aW9uIChpKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBpLmFsaWFzID09PSAnbm9ybWFsJzsKICAgICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuOwogICAgICAgICAgICAgIHZhciBnZXRQYXRoID0gZnVuY3Rpb24gZ2V0UGF0aCh0cmVlRGF0YSkgewogICAgICAgICAgICAgICAgdmFyIHBhdGggPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6ICcnOwogICAgICAgICAgICAgICAgcmV0dXJuIHBhdGggKyAiLyIuY29uY2F0KHRyZWVEYXRhWzBdLmFsaWFzKTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIG5leHQoewogICAgICAgICAgICAgICAgcGF0aDogZ2V0UGF0aChjaGlsZHJlbiwgJy9wbGF0TGF5b3V0JykKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICB9KTsKfTsKcm91dGVyLmJlZm9yZUVhY2goLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICB2YXIgX3JlZjIgPSBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSh0bywgZnJvbSwgbmV4dCkgewogICAgdmFyIGRhdGEsIHRva2VuLCBwdGssIHRpY2tldDsKICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgIGNhc2UgMDoKICAgICAgICAgIC8vIOeUqOaIt+S4reW/g+eZu+W9leWIsOWuieWFqCDmkLrluKZ0b2tlbktleQogICAgICAgICAgaWYgKCh0by5uYW1lID09PSAnc2FmZXR5JyB8fCB0by5uYW1lID09PSAncGF0cm9sJykgJiYgdG8ucXVlcnkudG9rZW5LZXkpIHsKICAgICAgICAgICAgZGVjb2RlVG9rZW4oJ2FkbWluJyArICdBcnRmZXNzQDAyNCcpOwogICAgICAgICAgICBkYXRhID0gewogICAgICAgICAgICAgIGtleTogdG8ucXVlcnkudG9rZW5LZXkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdG9rZW4gPSB7CiAgICAgICAgICAgICAgdG9rZW46ICcnLAogICAgICAgICAgICAgIHRva2VuS2V5OiB0by5xdWVyeS50b2tlbktleQogICAgICAgICAgICB9OwogICAgICAgICAgICB1Yy5hdXRoRm9ybVVzZXJUb2tlbktleShkYXRhKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgIHRva2VuLnRva2VuID0gcmVzLmRhdGE7CiAgICAgICAgICAgICAgICB1Yy5hdXRoVXNlckluZm8odG9rZW4pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgICAgICAvL+WQjOatpeWQjuiOt+WPlueUqOaIt+WQjeWvhueggeeZu+W9lQogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSAiQXJ0ZmVzc0AwMjQiOwogICAgICAgICAgICAgICAgICAgIHZhciBkZWNvZGVUb2tlblN0ciA9IGRlY29kZVRva2VuKHJlcy5kYXRhLnVzZXJDb2RlICsga2V5KTsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkZWNvZGVUb2tlbihyZXMuZGF0YS51c2VyQ29kZSArIGtleSksIGRlY29kZVRva2VuU3RyLCAiZGVjb2RlIik7CiAgICAgICAgICAgICAgICAgICAgdG9rZW5Mb2dpbkJpZ1NjcmVlbih7CiAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50OiByZXMuZGF0YS51c2VyQ29kZSwKICAgICAgICAgICAgICAgICAgICAgIHRva2VuOiBkZWNvZGVUb2tlblN0ciwKICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAnJwogICAgICAgICAgICAgICAgICAgIH0sIG5leHQsIHRvLm5hbWUpOwogICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBNZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgIE1lc3NhZ2UuZXJyb3IoZXJyKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CgogICAgICAgICAgLy8g57uf5LiA6Zeo5oi35Yiw5a6J5YWoIOaQuuW4pnRva2VuS2V5CiAgICAgICAgICBpZiAoKHRvLm5hbWUgPT09ICdzYWZldHknIHx8IHRvLm5hbWUgPT09ICdwYXRyb2wnKSAmJiB0by5xdWVyeS5wdGspIHsKICAgICAgICAgICAgcHRrID0gdG8ucXVlcnkucHRrOwogICAgICAgICAgICB1Yy52YWxpZGF0ZUtleUFuZEdldFVzZXIocHRrKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMpOwogICAgICAgICAgICAgICAgdmFyIGFjY291bnQgPSByZXMudmFsdWUuYWNjb3VudCB8fCAiIjsKICAgICAgICAgICAgICAgIHZhciBrZXkgPSAiQXJ0ZmVzc0AwMjQiOwogICAgICAgICAgICAgICAgdmFyIGRlY29kZVRva2VuU3RyID0gZGVjb2RlVG9rZW4oYWNjb3VudCArIGtleSk7CiAgICAgICAgICAgICAgICBhY2NvdW50TG9naW4oewogICAgICAgICAgICAgICAgICBhY2NvdW50OiBhY2NvdW50LAogICAgICAgICAgICAgICAgICB0b2tlbjogZGVjb2RlVG9rZW5TdHIsCiAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAnJwogICAgICAgICAgICAgICAgfSwgbmV4dCwgdG8ubmFtZSk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIE1lc3NhZ2UuZXJyb3IoJ+mqjOivgeWksei0pScpOwogICAgICAgICAgICAgICAgbmV4dCh7CiAgICAgICAgICAgICAgICAgIHBhdGg6ICcvbG9naW4nCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICBNZXNzYWdlLmVycm9yKGVyciB8fCAn6aqM6K+B5aSx6LSlJyk7CiAgICAgICAgICAgICAgbmV4dCh7CiAgICAgICAgICAgICAgICBwYXRoOiAnL2xvZ2luJwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICAgIHN0b3JlLmRpc3BhdGNoKCdtZW51L2dldEFsbG1lbnVzJywge30pLnRoZW4oZnVuY3Rpb24gKG1lbnVzKSB7CiAgICAgICAgICAgIC8vaHJlZuiPnOWNleS4jei/m+i/meauteS7o+eggQogICAgICAgICAgICBpZiAodG8uZnVsbFBhdGguaW5kZXhPZignaHJlZicpID09PSAtMSkgewogICAgICAgICAgICAgIHZhciBhbGlhcyA9IHRvLmZ1bGxQYXRoLnNwbGl0KCcvJylbMV07CiAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZW51cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKG1lbnVzW2ldLmFsaWFzID09PSBhbGlhcykgewogICAgICAgICAgICAgICAgICBzdG9yZS5kaXNwYXRjaCgnbWVudS9nZXRDdXJyZW50TWVudScsIHsKICAgICAgICAgICAgICAgICAgICBhbGlhczogbWVudXNbaV0uYWxpYXMsCiAgICAgICAgICAgICAgICAgICAgbmFtZTogbWVudXNbaV0ubmFtZQogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIGlmICghdG8uZnVsbFBhdGguc3RhcnRzV2l0aCgnL3N1cmwvJykpIHsKICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDY7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgaGFuZGVsU2hvcnRVcmwodG8sIGZyb20sIG5leHQpOwogICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgY2FzZSA2OgogICAgICAgICAgaWYgKCEodG8ubmFtZSA9PT0gJ2xvZ2luJyAmJiB3aW5kb3cuc3NvQ29uZmlnLm1vZGUgJiYgd2luZG93LnNzb0NvbmZpZy5tb2RlICE9PSAnand0JykpIHsKICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDEzOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGlmICghKCh3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT09ICdjYXMnIHx8IHdpbmRvdy5zc29Db25maWcubW9kZSA9PT0gJ29hdXRoJykgJiYgKHRvLnF1ZXJ5LmNvZGUgfHwgdG8ucXVlcnkudGlja2V0KSkpIHsKICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDEyOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWYucmVwbGFjZSgnL2xvZ2luJywgJycpOwogICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgY2FzZSAxMjoKICAgICAgICAgIHNzb1JlZGlyZWN0KCk7CiAgICAgICAgY2FzZSAxMzoKICAgICAgICAgIGlmIChmcm9tLm5hbWUgIT09ICdkZWZTdGFydCcgfHwgdG8ubmFtZSAhPT0gJ2luc3RTdGFydCcpIHsKICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnZm9ybUltcG9ydFRlbXBSZWZJZCcpOwogICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdmb3JtSW1wb3J0VGVtcEpzb24nKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5tZW51X2FsaWFzICYmIHRvLmZ1bGxQYXRoICYmIHRvLmZ1bGxQYXRoLnNwbGl0KCcvJylbMV0gPT09ICdob21lJykgewogICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5tZW51X2FsaWFzID0gJyc7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAodG8ubWF0Y2hlZC5zb21lKGZ1bmN0aW9uIChyZWNvcmQpIHsKICAgICAgICAgICAgcmV0dXJuICFyZWNvcmQubWV0YS5hbm9ueW1vdXM7CiAgICAgICAgICB9KSkgewogICAgICAgICAgICB0aWNrZXQgPSB0by5xdWVyeS50b2tlbjsgLy8gMi7lvZPliY3lt7Lnu4/ku47ljZXngrnpobXpnaLph43lrprlkJHlm57mnaXkuobvvIzkuJTlnKh1cmzlnLDlnYDkuK3mkLrluKbkuoZ0aWNrZXTmiJZjb2Rl77ybCiAgICAgICAgICAgIGlmICh3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT09ICdjYXMnKSB7CiAgICAgICAgICAgICAgdGlja2V0ID0gdG8ucXVlcnkudGlja2V0OwogICAgICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSA9PT0gJ29hdXRoJykgewogICAgICAgICAgICAgIHRpY2tldCA9IHRvLnF1ZXJ5LmNvZGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3RvcmUKICAgICAgICAgICAgLy8gMy7mkLrluKZ0aWNrZXTlgZrnlKjmiLfpibTmnYPvvJsKICAgICAgICAgICAgLmRpc3BhdGNoKCdsb2dpbi92YWxpZEFuZENvbXBsZXRlZEN1cnJlbnQnLCB0aWNrZXQpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIHN0b3JlLmRpc3BhdGNoKCdtZW51L2FjdGlvbkZyb250TWVudXMnKTsKICAgICAgICAgICAgICBzdG9yZS5fdm0uJHJvb3QuJGVtaXQoJ2xvZ2luLWNvbXBsZXRlZCcpOwogICAgICAgICAgICAgIGlmIChyZWdpc3RlclJvdXRlRnJlc2gpIHsKICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5tZW51X2FsaWFzKSB7CiAgICAgICAgICAgICAgICAgIHZhciBwYXRoID0gJy8nICsgc2Vzc2lvblN0b3JhZ2UubWVudV9hbGlhczsKICAgICAgICAgICAgICAgICAgdmFyIGlzQ2hpbGRyZW4gPSByb3V0ZXIuYWRkTGlzdChwYXRoLCByb3V0ZXIub3B0aW9ucy5yb3V0ZXMpOyAvL+WKqOaAgeaWsOWinuS6jOe6p+i3r+eUsQogICAgICAgICAgICAgICAgICAvL+W9k+WJjeeCueWHu+iPnOWNleeahOi3r+eUseWIq+WQjeS4jeWtmOWcqCByb3V0ZXIuanMg6YeM6Z2iCiAgICAgICAgICAgICAgICAgIC8vIGlmICghaXNDaGlsZHJlbikgewogICAgICAgICAgICAgICAgICAvLyAgIGxldCBhbGlhc19uZXcgPSB7CiAgICAgICAgICAgICAgICAgIC8vICAgICBwYXRoOiBwYXRoLAogICAgICAgICAgICAgICAgICAvLyAgICAgbmFtZTogJ2FsaWFzX25ldycsCiAgICAgICAgICAgICAgICAgIC8vICAgICBjb21wb25lbnQ6IHJlc29sdmUgPT4KICAgICAgICAgICAgICAgICAgLy8gICAgICAgcmVxdWlyZShbJ0Avdmlld3MvbWVudUNvbnRlbnQudnVlJ10sIHJlc29sdmUpLAogICAgICAgICAgICAgICAgICAvLyAgICAgY2hpbGRyZW46IFtdCiAgICAgICAgICAgICAgICAgIC8vICAgfQogICAgICAgICAgICAgICAgICAvLyAgIHJvdXRlci5vcHRpb25zLnJvdXRlcy5wdXNoKGFsaWFzX25ldykKICAgICAgICAgICAgICAgICAgLy8gICByb3V0ZXIuYWRkTGlzdChwYXRoLCByb3V0ZXIub3B0aW9ucy5yb3V0ZXMpIC8v5Yqo5oCB5paw5aKe5LqM57qn6Lev55SxCiAgICAgICAgICAgICAgICAgIC8vIH0KICAgICAgICAgICAgICAgICAgcm91dGVyLnJlcGxhY2UoewogICAgICAgICAgICAgICAgICAgIHBhdGg6IHRvLnBhdGgsCiAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHRvLnF1ZXJ5CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmVnaXN0ZXJSb3V0ZUZyZXNoID0gZmFsc2U7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAvLyB1cmzlnLDlnYDluKZ0b2tlbueahOaWueW8j+iupOivgeaIkOWKn+WQjuWIoOmZpHVybOS4reeahHRva2VuCiAgICAgICAgICAgICAgLy8gcmVtb3ZlVXJsUGFyYW1zKCd0b2tlbktleScpCiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAvLyA0LumJtOadg+Wksei0peaXtuagueaNruW9k+WJjeaooeW8j+mHjeWumuWQkeWIsOWvueW6lOmhtemdouOAggogICAgICAgICAgICAgIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgIH0KICAgICAgICBjYXNlIDE2OgogICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICB9CiAgICB9LCBfY2FsbGVlKTsKICB9KSk7CiAgcmV0dXJuIGZ1bmN0aW9uIChfeCwgX3gyLCBfeDMpIHsKICAgIHJldHVybiBfcmVmMi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogIH07Cn0oKSk7CmV4cG9ydCBkZWZhdWx0IHJvdXRlcjs="},null]}