{"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\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xcjy-fvue\\src\\components\\layout\\SideMenu\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\components\\layout\\SideMenu\\index.vue","mtime":1741314105159},{"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\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2RlZmluZVByb3BlcnR5LmpzIjsKaW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQtaW5kZXguanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IHsgZ2V0U3dpZnRNZW51cywgcmVtb3ZlU3dpZnRNZW51cywgc2F2ZU1lbnVzLCB1cGRhdGVTZXF1ZW5jZSB9IGZyb20gJ0AvYXBpL3B1YmxpY0xheW91dCc7CmltcG9ydCBjdXN0b21TeXN0ZW1Sb3V0ZXIgZnJvbSAnQC9yb3V0ZXIvY3VzdG9tLXN5c3RlbS1yb3V0ZXInOwppbXBvcnQgU2VydmljZVBvcHVwTGlzdCBmcm9tICdAL2NvbXBvbmVudHMvbGF5b3V0L1NpZGVNZW51L2NvbXBvbmVudHMvU2VydmljZVBvcHVwTGlzdC52dWUnOwppbXBvcnQgcHViU3ViIGZyb20gJ3B1YnN1Yi1qcyc7CmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCc7CmltcG9ydCB7IGZpbmREYXRhQnlGaWVsZCB9IGZyb20gJ0AvdXRpbHMvdHJlZVV0aWxzJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdTaWRlTWVudScsCiAgY29tcG9uZW50czogewogICAgU2VydmljZVBvcHVwTGlzdDogU2VydmljZVBvcHVwTGlzdAogIH0sCiAgcHJvcHM6IHsKICAgIC8vIOS4gOe6p+iPnOWNleWIq+WQjQogICAgY3VycmVudE1lbnU6IHsKICAgICAgZGVmYXVsdDogJycsCiAgICAgIHR5cGU6IFN0cmluZwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHNob3dNZW51OiBmYWxzZSwKICAgICAgbG9uZ01lbnU6IGZhbHNlLAogICAgICBpc1Nob3dQb3B1cExpc3Q6IGZhbHNlLAogICAgICBzd2lmdE1lbnVzRGF0YTogW10sCiAgICAgIGRyYWdJbmRleDogJycsCiAgICAgIGVudGVySW5kZXg6ICcnLAogICAgICBjdXN0b21TeXN0ZW1Sb3V0ZXI6IGN1c3RvbVN5c3RlbVJvdXRlciwKICAgICAgLy8g6Ieq5a6a5LmJ5ZCO5Y+w6Lev55SxCiAgICAgIHB1YkRpcmVjdG9yeTogbnVsbCAvLyDnm67lvZXngrnlh7twdWJTdWLlrp7kvosKICAgIH07CiAgfSwKICBjb21wdXRlZDogX29iamVjdFNwcmVhZCh7CiAgICByb3V0ZXJQYXRoOiBmdW5jdGlvbiByb3V0ZXJQYXRoKCkgewogICAgICByZXR1cm4gdGhpcy4kcm91dGUucGF0aDsKICAgIH0KICB9LCBtYXBTdGF0ZSh7CiAgICAvLyDph43mnoToj5zljZXkv6Hmga8KICAgIGJ1c2luZXNzTWVudTogZnVuY3Rpb24gYnVzaW5lc3NNZW51KHN0YXRlKSB7CiAgICAgIHZhciBfc3RhdGUkbWVudSRmcm9udE1lbnU7CiAgICAgIHJldHVybiAoKF9zdGF0ZSRtZW51JGZyb250TWVudSA9IHN0YXRlLm1lbnUuZnJvbnRNZW51cy5maW5kKGZ1bmN0aW9uIChpKSB7CiAgICAgICAgcmV0dXJuIGkuYWxpYXMgPT09ICdub3JtYWwnOwogICAgICB9KSkgPT09IG51bGwgfHwgX3N0YXRlJG1lbnUkZnJvbnRNZW51ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfc3RhdGUkbWVudSRmcm9udE1lbnUuY2hpbGRyZW4pIHx8IFtdOwogICAgfQogIH0pKSwKICB3YXRjaDogewogICAgLy8g55uR5ZCs6Lev55Sx77yM5aaC5p6c5Li66aaW6aG1562J6Z2e6I+c5Y2V6aG16Z2i77yM5Y+W5raI6I+c5Y2V6YCJ5Lit6aG5CiAgICAkcm91dGU6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcih0bywgZnJvbSkgewogICAgICAgIHRoaXMuY2xvc2VBbGwoKTsKCiAgICAgICAgLy8g6I635Y+W5LiA57qn6I+c5Y2V55qE5Yir5ZCNCiAgICAgICAgdmFyIG5ld0N1cnJlbnRNZW51ID0gdG8ucGF0aC5zcGxpdCgnLycpWzJdIHx8ICcnOwogICAgICAgIHZhciBvbGRDdXJyZW50TWVudSA9IChmcm9tID09PSBudWxsIHx8IGZyb20gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZyb20ucGF0aC5zcGxpdCgnLycpWzJdKSB8fCAnJzsKICAgICAgICBpZiAobmV3Q3VycmVudE1lbnUpIHsKICAgICAgICAgIC8vIOW9k+S4uuWIneasoeWIt+aWsOaXtuaIluS4gOe6p+iPnOWNleWIh+aNouaXtuivt+axguW/q+aNt+iPnOWNlQogICAgICAgICAgaWYgKCFvbGRDdXJyZW50TWVudSB8fCBuZXdDdXJyZW50TWVudSAhPT0gb2xkQ3VycmVudE1lbnUpIHsKICAgICAgICAgICAgdmFyIF9maW5kRGF0YUJ5RmllbGQ7CiAgICAgICAgICAgIHRoaXMuc3dpZnRNZW51c0RhdGEgPSBbXTsKICAgICAgICAgICAgLy8g6YCS5b2S6I+c5Y2V5pWw5o2u5p+l6K+icGF0aAogICAgICAgICAgICB2YXIgcGF0aCA9IChfZmluZERhdGFCeUZpZWxkID0gZmluZERhdGFCeUZpZWxkKHRoaXMuYnVzaW5lc3NNZW51LCBuZXdDdXJyZW50TWVudSwgJ2FsaWFzJykpID09PSBudWxsIHx8IF9maW5kRGF0YUJ5RmllbGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9maW5kRGF0YUJ5RmllbGQucGF0aDsKICAgICAgICAgICAgcGF0aCAmJiB0aGlzLmdldFN3aWZ0TWVudXNEYXRhKHBhdGgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwKICAgICAgaW1tZWRpYXRlOiB0cnVlCiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKICAgIC8v55uR5ZCs6ZSu55uY5oyJ6ZSu5LqL5Lu2CiAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgIHJldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIF90aGlzLmVzY0Nsb3NlKTsKICAgIH0pOwoKICAgIC8v55uR5ZCs5piv5ZCm54K55Ye755uu5b2V77yI5LqM57qn6I+c5Y2V77yJCiAgICB0aGlzLnB1YkRpcmVjdG9yeSA9IHB1YlN1Yi5zdWJzY3JpYmUoJ2RpcmVjdG9yeS1jbGljaycsIGZ1bmN0aW9uIChfKSB7CiAgICAgIF90aGlzLmxvbmdNZW51ID0gdHJ1ZTsKICAgICAgX3RoaXMuaXNTaG93UG9wdXBMaXN0ID0gdHJ1ZTsKICAgIH0pOwogIH0sCiAgbWV0aG9kczogewogICAgLyoqDQogICAgICog6I635Y+W5b+r5o236I+c5Y2V5pWw5o2uDQogICAgICogQHBhcmFtIHtTdHJpbmd9IFtwYXJlbnRNZW51UGF0aF0g5LiA57qn6I+c5Y2VcGF0aA0KICAgICAqIEByZXR1cm4gdmlvZA0KICAgICAqICovCiAgICBnZXRTd2lmdE1lbnVzRGF0YTogZnVuY3Rpb24gZ2V0U3dpZnRNZW51c0RhdGEocGFyZW50TWVudVBhdGgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gZ2V0U3dpZnRNZW51cyhwYXJlbnRNZW51UGF0aCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfdGhpczIuc3dpZnRNZW51c0RhdGEgPSBfY29udGV4dC5zZW50Lm1hcChmdW5jdGlvbiAoaSkgewogICAgICAgICAgICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgaSksIHt9LCB7CiAgICAgICAgICAgICAgICAgIHJvdXRlclBhdGg6IGkucm91dGVyUGF0aC5yZXBsYWNlKCdub3JtYWwnLCAnL3BsYXRMYXlvdXQnKSwKICAgICAgICAgICAgICAgICAgZHJhZ0ljb25QcmVzczogZmFsc2UsCiAgICAgICAgICAgICAgICAgIGlzRHJhZ0VudGVyOiBmYWxzZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDpnaLmnb/lpLTpg6jngrnlh7sKICAgIHBhbmVsSGVhZGVyQ2xpY2s6IGZ1bmN0aW9uIHBhbmVsSGVhZGVyQ2xpY2soKSB7CiAgICAgIGlmICh0aGlzLmxvbmdNZW51KSB7CiAgICAgICAgdGhpcy5pc1Nob3dQb3B1cExpc3QgPSAhdGhpcy5pc1Nob3dQb3B1cExpc3Q7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5sb25nTWVudSA9IHRydWU7CiAgICAgICAgdGhpcy5pc1Nob3dQb3B1cExpc3QgPSB0cnVlOwogICAgICB9CiAgICB9LAogICAgLy8g6Z2i5p2/6byg5qCH56e75Ye6CiAgICBzaWRlYmFyUGFuZWxMZWF2ZTogZnVuY3Rpb24gc2lkZWJhclBhbmVsTGVhdmUoKSB7CiAgICAgIGlmICh0aGlzLmlzU2hvd1BvcHVwTGlzdCkgcmV0dXJuOwogICAgICB0aGlzLmxvbmdNZW51ID0gZmFsc2U7CiAgICB9LAogICAgLy8g5YWz6Zet6Z2i5p2/5ZKM6I+c5Y2V5by55bGCCiAgICBjbG9zZUFsbDogZnVuY3Rpb24gY2xvc2VBbGwoKSB7CiAgICAgIHRoaXMuaXNTaG93UG9wdXBMaXN0ID0gZmFsc2U7CiAgICAgIHRoaXMubG9uZ01lbnUgPSBmYWxzZTsKICAgIH0sCiAgICAvLyDoj5zljZXngrnlh7sKICAgIG1lbnVDbGljazogZnVuY3Rpb24gbWVudUNsaWNrKGl0ZW0pIHsKICAgICAgdGhpcy5jbG9zZUFsbCgpOwogICAgICB0aGlzLiRyb3V0ZXIucHVzaChpdGVtLnJvdXRlclBhdGgpOwogICAgfSwKICAgIC8qKg0KICAgICAqIOaUtuiXj+iPnOWNleaUueWPmA0KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBpdGVtIOS8oOWFpeW9k+WJjeeCueWHu+eahOWvueixoQ0KICAgICAqIEBwYXJhbSB7TnVtYmVyfSBjaGFuZ2VJbmRleCDliKDpmaTntKLlvJUtMeS4uuaWsOWinu+8jOWkp+S6juetieS6jjDkuLrliKDpmaTvvIzkuI3kvKDliJnkvJrliKTmlq3mlLnlj5jnsbvlnosNCiAgICAgKiAqLwogICAgY2hhbmdlQ29sbGVjdDogZnVuY3Rpb24gY2hhbmdlQ29sbGVjdChpdGVtKSB7CiAgICAgIHZhciBfYXJndW1lbnRzID0gYXJndW1lbnRzLAogICAgICAgIF90aGlzMyA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgdmFyIGNoYW5nZUluZGV4LCBfeWllbGQkc2F2ZU1lbnVzLCBfeWllbGQkc2F2ZU1lbnVzJGRhdGEsIHN0YXRlLCB2YWx1ZSwgX3ZhbHVlLCBfeWllbGQkcmVtb3ZlU3dpZnRNZW4sIF9zdGF0ZTsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgY2hhbmdlSW5kZXggPSBfYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgX2FyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gX2FyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDsKICAgICAgICAgICAgICBpZiAodHlwZW9mIGNoYW5nZUluZGV4ID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgY2hhbmdlSW5kZXggPSBfdGhpczMuc3dpZnRNZW51c0RhdGEuZmluZEluZGV4KGZ1bmN0aW9uIChpKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBpLmFsaWFzID09PSBpdGVtLmFsaWFzOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmICghKGNoYW5nZUluZGV4ID09PSAtMSkpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMjA7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX3RoaXMzLnN3aWZ0TWVudXNEYXRhLnB1c2goX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBpdGVtKSwge30sIHsKICAgICAgICAgICAgICAgIGRyYWdJY29uUHJlc3M6IGZhbHNlLAogICAgICAgICAgICAgICAgaXNEcmFnRW50ZXI6IGZhbHNlCiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgIF9jb250ZXh0Mi5wcmV2ID0gNDsKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDc7CiAgICAgICAgICAgICAgcmV0dXJuIHNhdmVNZW51cyhpdGVtLmFsaWFzKTsKICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgIF95aWVsZCRzYXZlTWVudXMgPSBfY29udGV4dDIuc2VudDsKICAgICAgICAgICAgICBfeWllbGQkc2F2ZU1lbnVzJGRhdGEgPSBfeWllbGQkc2F2ZU1lbnVzLmRhdGE7CiAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkc2F2ZU1lbnVzJGRhdGEuc3RhdGU7CiAgICAgICAgICAgICAgdmFsdWUgPSBfeWllbGQkc2F2ZU1lbnVzJGRhdGEudmFsdWU7CiAgICAgICAgICAgICAgaWYgKCFzdGF0ZSkgewogICAgICAgICAgICAgICAgX3RoaXMzLnN3aWZ0TWVudXNEYXRhLnNwbGljZShfdGhpczMuc3dpZnRNZW51c0RhdGEuZmluZEluZGV4KGZ1bmN0aW9uIChpKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBpLmFsaWFzID09PSB2YWx1ZTsKICAgICAgICAgICAgICAgIH0pLCAxKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAxODsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxNDoKICAgICAgICAgICAgICBfY29udGV4dDIucHJldiA9IDE0OwogICAgICAgICAgICAgIF9jb250ZXh0Mi50MCA9IF9jb250ZXh0MlsiY2F0Y2giXSg0KTsKICAgICAgICAgICAgICBfdmFsdWUgPSBfY29udGV4dDIudDAuZGF0YS52YWx1ZTsKICAgICAgICAgICAgICBfdGhpczMuc3dpZnRNZW51c0RhdGEuc3BsaWNlKF90aGlzMy5zd2lmdE1lbnVzRGF0YS5maW5kSW5kZXgoZnVuY3Rpb24gKGkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBpLmFsaWFzID09PSBfdmFsdWU7CiAgICAgICAgICAgICAgfSksIDEpOwogICAgICAgICAgICBjYXNlIDE4OgogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMjU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjA6CiAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAyMjsKICAgICAgICAgICAgICByZXR1cm4gcmVtb3ZlU3dpZnRNZW51cyhpdGVtLmFsaWFzKTsKICAgICAgICAgICAgY2FzZSAyMjoKICAgICAgICAgICAgICBfeWllbGQkcmVtb3ZlU3dpZnRNZW4gPSBfY29udGV4dDIuc2VudDsKICAgICAgICAgICAgICBfc3RhdGUgPSBfeWllbGQkcmVtb3ZlU3dpZnRNZW4uZGF0YS5zdGF0ZTsKICAgICAgICAgICAgICBpZiAoX3N0YXRlKSBfdGhpczMuc3dpZnRNZW51c0RhdGEuc3BsaWNlKGNoYW5nZUluZGV4LCAxKTsKICAgICAgICAgICAgY2FzZSAyNToKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMiwgbnVsbCwgW1s0LCAxNF1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8gIGVzY+WFs+mXrQogICAgZXNjQ2xvc2U6IGZ1bmN0aW9uIGVzY0Nsb3NlKGUpIHsKICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMjcpIHRoaXMuY2xvc2VBbGwoKTsKICAgIH0sCiAgICAvLyDmi5bliqjlvIDlp4sKICAgIGRyYWdzdGFydDogZnVuY3Rpb24gZHJhZ3N0YXJ0KGUsIGluZGV4KSB7CiAgICAgIHRoaXMuZW50ZXJJbmRleCA9IGluZGV4OwogICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CiAgICAgIGltZy5zcmMgPSAnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz1cJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCcgJTNFJTNDcGF0aCAvJTNFJTNDL3N2ZyUzRSc7CiAgICAgIGUuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShpbWcsIDAsIDApOwogICAgfSwKICAgIC8vIOiusOW9leenu+WKqOWIsOWTquS4quebkuWtkAogICAgZHJhZ2VudGVyOiBmdW5jdGlvbiBkcmFnZW50ZXIoZSwgaW5kZXgpIHsKICAgICAgdGhpcy5kcmFnSW5kZXggPSBpbmRleDsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSwKICAgIC8vIOaLluaLveacgOe7iOaTjeS9nAogICAgZHJhZ2VuZDogZnVuY3Rpb24gZHJhZ2VuZChlLCBpbmRleCwgaXRlbSkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMygpIHsKICAgICAgICB2YXIgYXJyLCBkcmFnU3RhcnRJdGVtLCBkcmFnZW50ZXJJdGVtLCBtZW51VHJhbnNwb3NpdGlvbiwgX3lpZWxkJHVwZGF0ZVNlcXVlbmNlLCBzdGF0ZTsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTMkKF9jb250ZXh0MykgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgaXRlbS5kcmFnSWNvblByZXNzID0gZmFsc2U7CiAgICAgICAgICAgICAgaWYgKCEoX3RoaXM0LmRyYWdJbmRleCAhPT0gaW5kZXgpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDE4OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGFyciA9IF90aGlzNC5zd2lmdE1lbnVzRGF0YTsKICAgICAgICAgICAgICBkcmFnU3RhcnRJdGVtID0gYXJyW2luZGV4XTsKICAgICAgICAgICAgICBkcmFnZW50ZXJJdGVtID0gYXJyW190aGlzNC5kcmFnSW5kZXhdOwogICAgICAgICAgICAgIC8qKg0KICAgICAgICAgICAgICAgKiAgQHBhcmFtIHtPYmplY3R9IGNoYW5nSXRlbSDkuqTmjaLkvY3nva7nmoToj5zljZXlr7nosaENCiAgICAgICAgICAgICAgICogKi8KICAgICAgICAgICAgICBtZW51VHJhbnNwb3NpdGlvbiA9IGZ1bmN0aW9uIG1lbnVUcmFuc3Bvc2l0aW9uKGNoYW5nSXRlbSkgewogICAgICAgICAgICAgICAgYXJyLnNwbGljZS5hcHBseShhcnIsIFtfdGhpczQuZHJhZ0luZGV4LCAxXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGFyci5zcGxpY2UoaW5kZXgsIDEsIGNoYW5nSXRlbSkpKSk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBtZW51VHJhbnNwb3NpdGlvbihkcmFnZW50ZXJJdGVtKTsKICAgICAgICAgICAgICBfY29udGV4dDMucHJldiA9IDc7CiAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAxMDsKICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlU2VxdWVuY2UoX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eSh7fSwgZHJhZ1N0YXJ0SXRlbS5zd2lmdElkLCBfdGhpczQuZHJhZ0luZGV4ICsgMSksIGRyYWdlbnRlckl0ZW0uc3dpZnRJZCwgaW5kZXggKyAxKSk7CiAgICAgICAgICAgIGNhc2UgMTA6CiAgICAgICAgICAgICAgX3lpZWxkJHVwZGF0ZVNlcXVlbmNlID0gX2NvbnRleHQzLnNlbnQ7CiAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkdXBkYXRlU2VxdWVuY2UuZGF0YS5zdGF0ZTsKICAgICAgICAgICAgICBpZiAoIXN0YXRlKSBtZW51VHJhbnNwb3NpdGlvbihkcmFnU3RhcnRJdGVtKTsKICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDE4OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDE1OgogICAgICAgICAgICAgIF9jb250ZXh0My5wcmV2ID0gMTU7CiAgICAgICAgICAgICAgX2NvbnRleHQzLnQwID0gX2NvbnRleHQzWyJjYXRjaCJdKDcpOwogICAgICAgICAgICAgIG1lbnVUcmFuc3Bvc2l0aW9uKGRyYWdTdGFydEl0ZW0pOwogICAgICAgICAgICBjYXNlIDE4OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDMuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUzLCBudWxsLCBbWzcsIDE1XV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDmi5bliqjkuovku7bvvIjkuLvopoHmmK/kuLrkuobmi5bliqjml7bpvKDmoIflhYnmoIfkuI3lj5jkuLrnpoHmraLvvIkKICAgIGRyYWdvdmVyOiBmdW5jdGlvbiBkcmFnb3ZlcihlLCBpbmRleCwgaXRlbSkgewogICAgICBpZiAodGhpcy5lbnRlckluZGV4ICE9PSBpbmRleCkgaXRlbS5pc0RyYWdFbnRlciA9IHRydWU7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0sCiAgICBkcmFnbGVhdmU6IGZ1bmN0aW9uIGRyYWdsZWF2ZShlLCBpdGVtLCBpbmRleCkgewogICAgICBpZiAodGhpcy5lbnRlckluZGV4ICE9PSBpbmRleCkgaXRlbS5pc0RyYWdFbnRlciA9IGZhbHNlOwogICAgfQogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHsKICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuZXNjQ2xvc2UpOwogICAgcHViU3ViLnVuc3Vic2NyaWJlKHRoaXMucHViRGlyZWN0b3J5KTsKICB9Cn07"},null]}