{"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\\views\\patrolAndRescue\\infoMgmtPatrolsRescues\\PatrolAndRescuePersonnelMgmt\\components\\EditAddPage\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\infoMgmtPatrolsRescues\\PatrolAndRescuePersonnelMgmt\\components\\EditAddPage\\index.vue","mtime":1747731025566},{"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:aW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzLmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKdmFyIF9leGNsdWRlZCA9IFsicG9zdCJdLAogIF9leGNsdWRlZDIgPSBbImFjY291bnQiLCAidGVsIiwgInJvYWRJZCIsICJvcmdJZCIsICJyb2FkTmFtZSJdOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5lcnJvci5jYXVzZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnRlc3QuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IFB1YlN1YiBmcm9tICdwdWJzdWItanMnOwppbXBvcnQgeyB0YWJsZUFkZCwgdGFibGVEZXRhaWwsIHRhYmxlRWRpdCB9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9pbmZvTWdtdFBhdHJvbHNSZXNjdWVzL3BhdHJvbEFuZFJlc2N1ZVBlcnNvbm5lbE1nbXQnOwppbXBvcnQgeyBnZXRDYXNjYWRlRGljdEJ5Q29kZUV2ZW50LCBnZXREaWN0aW9uYXJ5QnlDb2RlIH0gZnJvbSAnQC91dGlscy9kaWN0aW9uYXJ5JzsKaW1wb3J0IHsgb3JnVHJlZSB9IGZyb20gJ0AvYXBpL3N5c3RlbUludGVyZmFjZSc7CmltcG9ydCB7IHRhYmxlRGF0YSBhcyB0ZWFtRGF0YSB9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9pbmZvTWdtdFBhdHJvbHNSZXNjdWVzL3BhdHJvbEFuZFJlc2N1ZVRlYW1zTWdtdCc7CmltcG9ydCB7IGNvbXBhbnlEYXRhIH0gZnJvbSAnQC9hcGkvcGF0cm9sQW5kUmVzY3VlL2luZm9NZ210UGF0cm9sc1Jlc2N1ZXMvb3V0c291cmNpbmdDb21wYW55TWdtdCc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnRWRpdEFkZFBhZ2UnLAogIGNvbXBvbmVudHM6IHt9LAogIHByb3BzOiB7CiAgICBjb21wb25lbnROYW1lOiB7CiAgICAgIGRlZmF1bHQ6ICdUYWJsZVBhZ2UnLAogICAgICB0eXBlOiBTdHJpbmcKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICB2YXIgdmFsaWRhdGVBY2NvdW50VGVsID0gZnVuY3Rpb24gdmFsaWRhdGVBY2NvdW50VGVsKHRleHQsIHZhbHVlLCBjYWxsYmFjaykgewogICAgICB2YXIgcGhvbmVSZWdleCA9IC9eMVszLTldXGR7OX0kLzsKICAgICAgaWYgKHBob25lUmVnZXgudGVzdCh2YWx1ZSkpIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigiIi5jb25jYXQodGV4dCwgIlx1OTcwMFx1NEUzQTExXHU0RjREXHU2MjRCXHU2NzNBXHU1M0Y3IikpKTsKICAgICAgfQogICAgfTsKICAgIHZhciB2YWxpZGF0ZUNvZGUgPSBmdW5jdGlvbiB2YWxpZGF0ZUNvZGUoXywgdmFsdWUsIGNhbGxiYWNrKSB7CiAgICAgIHZhciBpZENhcmRSZWdleCA9IC9eKD86XGR7MTV9fFxkezE3fVtcZFh4XSkkLzsKICAgICAgaWYgKGlkQ2FyZFJlZ2V4LnRlc3QodmFsdWUpKSB7CiAgICAgICAgY2FsbGJhY2soKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+ivt+i+k+WFpeWQiOazleeahOi6q+S7veivgeWPtycpKTsKICAgICAgfQogICAgfTsKICAgIHJldHVybiB7CiAgICAgIGFkZEVkaXRGb3JtOiB7CiAgICAgICAgdHlwZTogJzAnLAogICAgICAgIHBvc3Q6ICcnLAogICAgICAgIGlzT3V0OiAnMScsCiAgICAgICAgcm9hZElkOiAnJywKICAgICAgICByb2FkTmFtZTogJycsCiAgICAgICAgcm9hZEZ1bGxJZDogJycKICAgICAgfSwKICAgICAgZmlsdGVyZWREd2x4OiBbXSwKICAgICAgLy8g55So5LqO5a2Y5YKo6L+H5ruk5ZCO55qE5a2X5YW45YC8CiAgICAgIGFkZEVkaXRSdWxlczogewogICAgICAgIGFjY291bnQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfotKblj7flkI3kuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfSwgewogICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IoXywgdmFsLCBjYikgewogICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVBY2NvdW50VGVsKCfotKblj7flkI0nLCB2YWwsIGNiKTsKICAgICAgICAgIH0sCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICB0ZWw6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfmiYvmnLrlj7fkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfSwgewogICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgdmFsaWRhdG9yOiBmdW5jdGlvbiB2YWxpZGF0b3IoXywgdmFsLCBjYikgewogICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVBY2NvdW50VGVsKCfmiYvmnLrlj7cnLCB2YWwsIGNiKTsKICAgICAgICAgIH0sCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICBjb2RlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6Lqr5Lu96K+B5Y+35LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH0sIHsKICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVDb2RlLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfV0sCiAgICAgICAgbmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+mYn+WRmOWnk+WQjeS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICBvdXRDb21wYW55SWQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICflpJbljIXlhazlj7jkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfV0sCiAgICAgICAgdHlwZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+S6uuWRmOexu+Wei+S4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICBwb3N0OiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5Lq65ZGY6IGM5Yqh5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIHRlYW1JZDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+aJgOWxnumYn+S8jeS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIGlzT3V0OiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5piv5ZCm5aSW5rS+5Lq65ZGY5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJ10KICAgICAgICB9XQogICAgICB9LAogICAgICBzYXZlTG9hZGluZzogZmFsc2UsCiAgICAgIC8vIOS4iuS8oGxvYWRpbmcKICAgICAgaWQ6ICcnLAogICAgICAvLyBpZOagh+ivhuespgogICAgICBwdWJTdWI6IG51bGwsCiAgICAgIG91dENvbXBhbnlEaWFsb2c6IGZhbHNlLAogICAgICAvLyDmmK/lkKblsZXnpLrpgInmi6nlpJbljIXlhazlj7jpgInmi6kKICAgICAgdHJlZURhdGE6IFtdLAogICAgICAvLyDnu4Tnu4fmoJEKICAgICAgdGVhbU9wdGlvbnM6IFtdLAogICAgICBjb21wYW55T3B0aW9uczogW10KICAgIH07CiAgfSwKICBjb21wdXRlZDogewogICAgcG9zdE9wdDogZnVuY3Rpb24gcG9zdE9wdCgpIHsKICAgICAgLy8g6I635Y+W57qn6IGU5a2X5YW4CiAgICAgIHJldHVybiBnZXRDYXNjYWRlRGljdEJ5Q29kZUV2ZW50KCdyeWx4LXhjanlyeScsIHRoaXMuYWRkRWRpdEZvcm0udHlwZSk7CiAgICB9CiAgfSwKICB3YXRjaDogewogICAgY29tcG9uZW50TmFtZTogZnVuY3Rpb24gY29tcG9uZW50TmFtZShuZXdWYWwpIHsKICAgICAgaWYgKG5ld1ZhbCA9PT0gdGhpcy4kb3B0aW9ucy5uYW1lKSB7CiAgICAgICAgdGhpcy5vcGVuUGFnZSgpOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuY2xvc2VQYWdlKCk7CiAgICAgIH0KICAgIH0KICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICAvLyB0aGlzLmdldE9yZ1RyZWVEYXRhKCkKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgLy8g5re75YqgVHJlZUl0ZW1TZWxlY3RlZOiuoumYhQogICAgdGhpcy50cmVlUHViU3ViID0gUHViU3ViLnN1YnNjcmliZSgnVHJlZUl0ZW1TZWxlY3RlZCcsIGZ1bmN0aW9uIChfLCBkYXRhKSB7CiAgICAgIF90aGlzLmFkZEVkaXRGb3JtLnJvYWRJZCA9IGRhdGEuaWQ7CiAgICAgIF90aGlzLmFkZEVkaXRGb3JtLnJvYWROYW1lID0gZGF0YS5uYW1lOwogICAgICBfdGhpcy5hZGRFZGl0Rm9ybS5yb2FkRnVsbElkID0gZGF0YS5wYXRoOwogICAgICBfdGhpcy5hZGRFZGl0Rm9ybS5vcmdJZCA9IGRhdGEub3JnSWQ7CiAgICB9KTsKICAgIHRoaXMucHViU3ViID0gUHViU3ViLnN1YnNjcmliZSgnRWRpdEFkZFBhZ2UnLCBmdW5jdGlvbiAoXywgZGF0YSkgewogICAgICBjb25zb2xlLmxvZyhkYXRhLCAnOTk5OTk5OTk5OTk5Jyk7CiAgICAgIGlmIChkYXRhLnRyZWVJdGVtKSB7CiAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0ucm9hZE5hbWUgPSBkYXRhLnRyZWVJdGVtLm5hbWU7CiAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0ucm9hZElkID0gZGF0YS50cmVlSXRlbS5pZDsKICAgICAgICBfdGhpcy5hZGRFZGl0Rm9ybS5vcmdJZCA9IGRhdGEudHJlZUl0ZW0ub3JnSWQ7CiAgICAgICAgLy8gdGhpcy5hZGRFZGl0Rm9ybS5yb2FkRnVsbElkID0gZGF0YS50cmVlSXRlbS5pZAogICAgICB9CiAgICAgIGlmIChkYXRhLmlkKSB7CiAgICAgICAgX3RoaXMuaWQgPSBkYXRhLmlkOwogICAgICAgIF90aGlzLmdldERldGFpbChkYXRhLmlkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgX2RhdGEkdHJlZUl0ZW0sIF9kYXRhJHRyZWVJdGVtMiwgX2RhdGEkdHJlZUl0ZW0zOwogICAgICAgIF90aGlzLmFkZEVkaXRGb3JtID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBfdGhpcy5hZGRFZGl0Rm9ybSksIHt9LCB7CiAgICAgICAgICByb2FkSWQ6IGRhdGEucm9hZElkIHx8ICgoX2RhdGEkdHJlZUl0ZW0gPSBkYXRhLnRyZWVJdGVtKSA9PT0gbnVsbCB8fCBfZGF0YSR0cmVlSXRlbSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2RhdGEkdHJlZUl0ZW0uaWQpIHx8ICcnLAogICAgICAgICAgLy8g56Gu5L+dIHRlYW1JZCDooqvmraPnoa7otYvlgLwKICAgICAgICAgIHJvYWROYW1lOiBkYXRhLnJvYWROYW1lIHx8ICgoX2RhdGEkdHJlZUl0ZW0yID0gZGF0YS50cmVlSXRlbSkgPT09IG51bGwgfHwgX2RhdGEkdHJlZUl0ZW0yID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZGF0YSR0cmVlSXRlbTIubmFtZSkgfHwgJycsCiAgICAgICAgICAvLyDnoa7kv50gcm9hZE5hbWUg6KKr5q2j56Gu6LWL5YC8CiAgICAgICAgICBvcmdJZDogZGF0YS5vcmdJZCB8fCAoKF9kYXRhJHRyZWVJdGVtMyA9IGRhdGEudHJlZUl0ZW0pID09PSBudWxsIHx8IF9kYXRhJHRyZWVJdGVtMyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2RhdGEkdHJlZUl0ZW0zLm9yZ0lkKSB8fCAnJyAvLyDnoa7kv50gcm9hZE5hbWUg6KKr5q2j56Gu6LWL5YC8CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0pOwogICAgdGhpcy5nZXRUZWFtRGF0YSgpOwogIH0sCiAgbWV0aG9kczogewogICAgLy8g6L+H5ruk5a2X5YW45YC877yM5Y+q5L+d55WZ56ys5LiA5LiqCiAgICBmaWx0ZXJEd2x4OiBmdW5jdGlvbiBmaWx0ZXJEd2x4KCkgewogICAgICB2YXIgZHdseCA9IHRoaXMuZ2V0RGljdGlvbmFyeUJ5Q29kZSgncnlseC14Y2p5cnknKTsKICAgICAgaWYgKGR3bHggJiYgZHdseC5sZW5ndGggPiAwKSB7CiAgICAgICAgdGhpcy5maWx0ZXJlZER3bHggPSBbZHdseFswXV07IC8vIOWPquS/neeVmeesrOS4gOS4quWAvAogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0udHlwZSA9IGR3bHhbMF0udmFsdWU7IC8vIOiuvue9rum7mOiupOWAvAogICAgICB9CiAgICB9LAogICAgZ2V0RGljdGlvbmFyeUJ5Q29kZTogZ2V0RGljdGlvbmFyeUJ5Q29kZSwKICAgIC8v5aSW5YyF5YWs5Y+45p+l6K+iCiAgICBnZXRDb21wYW55YXRhOiBmdW5jdGlvbiBnZXRDb21wYW55YXRhKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgIHZhciBfeWllbGQkY29tcGFueURhdGEsIF95aWVsZCRjb21wYW55RGF0YSRybywgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gY29tcGFueURhdGEoKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCRjb21wYW55RGF0YSA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJGNvbXBhbnlEYXRhJHJvID0gX3lpZWxkJGNvbXBhbnlEYXRhLnJvd3M7CiAgICAgICAgICAgICAgcm93cyA9IF95aWVsZCRjb21wYW55RGF0YSRybyA9PT0gdm9pZCAwID8gW10gOiBfeWllbGQkY29tcGFueURhdGEkcm87CiAgICAgICAgICAgICAgX3RoaXMyLmNvbXBhbnlPcHRpb25zID0gcm93czsKICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyb3dzLCAn5aSW5YyF5YWs5Y+4Jyk7CiAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDpgJrov4fot6/mrrXkv6Hmga/ojrflj5blt6Hmn6XmlZHmj7TpmJ/kvI3kv6Hmga8KICAgIGdldFRlYW1EYXRhOiBmdW5jdGlvbiBnZXRUZWFtRGF0YSgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgdmFyIF95aWVsZCR0ZWFtRGF0YSwgX3lpZWxkJHRlYW1EYXRhJHJvd3MsIHJvd3M7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gdGVhbURhdGEoKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCR0ZWFtRGF0YSA9IF9jb250ZXh0Mi5zZW50OwogICAgICAgICAgICAgIF95aWVsZCR0ZWFtRGF0YSRyb3dzID0gX3lpZWxkJHRlYW1EYXRhLnJvd3M7CiAgICAgICAgICAgICAgcm93cyA9IF95aWVsZCR0ZWFtRGF0YSRyb3dzID09PSB2b2lkIDAgPyBbXSA6IF95aWVsZCR0ZWFtRGF0YSRyb3dzOwogICAgICAgICAgICAgIF90aGlzMy50ZWFtT3B0aW9ucyA9IHJvd3M7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMik7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOaJk+W8gOmhtemdouaJp+ihjAogICAgb3BlblBhZ2U6IGZ1bmN0aW9uIG9wZW5QYWdlKCkgewogICAgICB0aGlzLnR5cGVDaGFuZ2UoKTsKICAgICAgdGhpcy5maWx0ZXJEd2x4KCk7IC8vIOi/h+a7pOWtl+WFuOWAvAogICAgICB0aGlzLmdldENvbXBhbnlhdGEoKTsKICAgIH0sCiAgICAvLyDlhbPpl63pobXpnaLmiafooYwKICAgIGNsb3NlUGFnZTogZnVuY3Rpb24gY2xvc2VQYWdlKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgdmFyIHB1YlN1YiA9IHRoaXMucHViU3ViLAogICAgICAgIGFkZEVkaXRSdWxlcyA9IHRoaXMuYWRkRWRpdFJ1bGVzLAogICAgICAgIHRyZWVEYXRhID0gdGhpcy50cmVlRGF0YSwKICAgICAgICB0ZWFtT3B0aW9ucyA9IHRoaXMudGVhbU9wdGlvbnMsCiAgICAgICAgY29tcGFueU9wdGlvbnMgPSB0aGlzLmNvbXBhbnlPcHRpb25zOwogICAgICAvLyDph43nva7nu4Tku7bmlbDmja4KICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLiRkYXRhLCB0aGlzLiRvcHRpb25zLmRhdGEuY2FsbCh0aGlzKSwgewogICAgICAgIHB1YlN1YjogcHViU3ViLAogICAgICAgIGFkZEVkaXRSdWxlczogYWRkRWRpdFJ1bGVzLAogICAgICAgIHRyZWVEYXRhOiB0cmVlRGF0YSwKICAgICAgICB0ZWFtT3B0aW9uczogdGVhbU9wdGlvbnMsCiAgICAgICAgY29tcGFueU9wdGlvbnM6IGNvbXBhbnlPcHRpb25zCiAgICAgIH0pOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoXykgewogICAgICAgIF90aGlzNC4kcmVmcy5hZGRFZGl0Rm9ybS4kZWwuc2Nyb2xsVG9wID0gMDsKICAgICAgICBfdGhpczQuJHJlZnMuYWRkRWRpdEZvcm0uY2xlYXJWYWxpZGF0ZSgpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDojrflj5bor6bmg4UKICAgIGdldERldGFpbDogZnVuY3Rpb24gZ2V0RGV0YWlsKGlkKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUzKCkgewogICAgICAgIHZhciBfeWllbGQkdGFibGVEZXRhaWwsIF95aWVsZCR0YWJsZURldGFpbCRwbywgcG9zdCwgYWRkRWRpdEZvcm0sIG9sZFBvc3Q7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUzJChfY29udGV4dDMpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0My5wcmV2ID0gX2NvbnRleHQzLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gdGFibGVEZXRhaWwoaWQpOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgX3lpZWxkJHRhYmxlRGV0YWlsID0gX2NvbnRleHQzLnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJHRhYmxlRGV0YWlsJHBvID0gX3lpZWxkJHRhYmxlRGV0YWlsLnBvc3Q7CiAgICAgICAgICAgICAgcG9zdCA9IF95aWVsZCR0YWJsZURldGFpbCRwbyA9PT0gdm9pZCAwID8gJycgOiBfeWllbGQkdGFibGVEZXRhaWwkcG87CiAgICAgICAgICAgICAgYWRkRWRpdEZvcm0gPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3lpZWxkJHRhYmxlRGV0YWlsLCBfZXhjbHVkZWQpOwogICAgICAgICAgICAgIG9sZFBvc3QgPSBwb3N0OyAvLyDkv53mjIHor6bmg4Xljp/lp4twb3N05YaF5a6577yM6YG/5YWN5Zug6KGo5Y2V6LWL5YC85ZCO6Kem5Y+RdHlwZUNoYW5nZeS6i+S7tuiAjOS4ouWksXBvc3TnmoTlgLwKICAgICAgICAgICAgICBfdGhpczUuYWRkRWRpdEZvcm0gPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIGFkZEVkaXRGb3JtKSwge30sIHsKICAgICAgICAgICAgICAgIHBvc3Q6IHBvc3QsCiAgICAgICAgICAgICAgICByb2FkTmFtZTogYWRkRWRpdEZvcm0ucm9hZE5hbWUgfHwgX3RoaXM1LmFkZEVkaXRGb3JtLnJvYWROYW1lIC8vIOehruS/nSByb2FkTmFtZSDooqvotYvlgLwKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICBfdGhpczUuYWRkRWRpdEZvcm0ucG9zdCA9IG9sZFBvc3Q7CiAgICAgICAgICAgIGNhc2UgOToKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMyk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOiOt+WPluWFrOWPuOagkQogICAgZ2V0T3JnVHJlZURhdGE6IGZ1bmN0aW9uIGdldE9yZ1RyZWVEYXRhKCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNCgpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTQkKF9jb250ZXh0NCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ0LnByZXYgPSBfY29udGV4dDQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSAyOwogICAgICAgICAgICAgIHJldHVybiBvcmdUcmVlKCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfdGhpczYudHJlZURhdGEgPSBfY29udGV4dDQuc2VudDsKICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWU0KTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g54K55L2N57G75Z6L5Y+R55Sf5Y+Y5YyWCiAgICB0eXBlQ2hhbmdlOiBmdW5jdGlvbiB0eXBlQ2hhbmdlKCkgewogICAgICB2YXIgX3RoaXMkcG9zdE9wdCQ7CiAgICAgIC8vIOW9k+ihqOWNleS4reeCueS9jeexu+Wei+WPkeeUn+aUueWPmOeahOaXtuWAme+8jOi1i+WAvOWGheWuueWtl+WFuOS4reeahOesrOS4gOmhueWtl+WFuOWAvOe7meihqOWNleS4reWGheWuueWtl+autQogICAgICB0aGlzLmFkZEVkaXRGb3JtLnBvc3QgPSAoKF90aGlzJHBvc3RPcHQkID0gdGhpcy5wb3N0T3B0WzBdKSA9PT0gbnVsbCB8fCBfdGhpcyRwb3N0T3B0JCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkcG9zdE9wdCQudmFsdWUpIHx8ICcnOwogICAgfSwKICAgIC8vIOW3oeafpemYn+S8jeWIh+aNogogICAgdGVhbUlkQ2hhbmdlOiBmdW5jdGlvbiB0ZWFtSWRDaGFuZ2UoKSB7CiAgICAgIHZhciBfdGhpcyQkcmVmcyRjYXNjYWRlcjsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS50ZWFtRnVsbElkID0gKChfdGhpcyQkcmVmcyRjYXNjYWRlciA9IHRoaXMuJHJlZnMuY2FzY2FkZXIpID09PSBudWxsIHx8IF90aGlzJCRyZWZzJGNhc2NhZGVyID09PSB2b2lkIDAgfHwgKF90aGlzJCRyZWZzJGNhc2NhZGVyID0gX3RoaXMkJHJlZnMkY2FzY2FkZXIuZ2V0Q2hlY2tlZE5vZGVzKClbMF0pID09PSBudWxsIHx8IF90aGlzJCRyZWZzJGNhc2NhZGVyID09PSB2b2lkIDAgfHwgKF90aGlzJCRyZWZzJGNhc2NhZGVyID0gX3RoaXMkJHJlZnMkY2FzY2FkZXIuZGF0YSkgPT09IG51bGwgfHwgX3RoaXMkJHJlZnMkY2FzY2FkZXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJCRyZWZzJGNhc2NhZGVyLnBhdGgpIHx8ICcnOwogICAgfSwKICAgIC8vIOS/neWtmAogICAgaGFuZGxlU2F2ZTogZnVuY3Rpb24gaGFuZGxlU2F2ZSgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMuYWRkRWRpdEZvcm0udmFsaWRhdGUoLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZiA9IF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNSh2YWxpZCwgb2JqZWN0KSB7CiAgICAgICAgICB2YXIgbXlJbnRlckZhY2UsIF90aGlzNyRhZGRFZGl0Rm9ybSwgX3RoaXM3JGFkZEVkaXRGb3JtJGFjLCBhY2NvdW50LCBfdGhpczckYWRkRWRpdEZvcm0kdGUsIHRlbCwgX3RoaXM3JGFkZEVkaXRGb3JtJHJvLCByb2FkSWQsIF90aGlzNyRhZGRFZGl0Rm9ybSRvciwgb3JnSWQsIF90aGlzNyRhZGRFZGl0Rm9ybSRybzIsIHJvYWROYW1lLCBhZGRFZGl0Rm9ybSwgX3lpZWxkJG15SW50ZXJGYWNlLCBzdGF0ZSwgbWVzc2FnZTsKICAgICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlNSQoX2NvbnRleHQ1KSB7CiAgICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0NS5wcmV2ID0gX2NvbnRleHQ1Lm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgICAgICAgICAgX2NvbnRleHQ1Lm5leHQgPSA0OwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF90aGlzNy4kbWVzc2FnZS53YXJuaW5nKCJcdTY3MDkiLmNvbmNhdChPYmplY3Qua2V5cyhvYmplY3QpLmxlbmd0aCwgIlx1NEUyQVx1NUI1N1x1NkJCNVx1NjcyQVx1OTAxQVx1OEZDN1x1NjgyMVx1OUE4Q1x1RkYwQ1x1OEJGN1x1NkI2M1x1Nzg2RVx1NTg2Qlx1NTE5OVx1ODg2OFx1NTM1NVx1NTE4NVx1NUJCOVx1MzAwMiIpKTsKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5uZXh0ID0gMTg7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICBfdGhpczcuc2F2ZUxvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgbXlJbnRlckZhY2UgPSBfdGhpczcuaWQgPyB0YWJsZUVkaXQgOiB0YWJsZUFkZDsKICAgICAgICAgICAgICAgIGlmIChfdGhpczcuYWRkRWRpdEZvcm0uaXNPdXQgPT09ICcwJykgewogICAgICAgICAgICAgICAgICBfdGhpczcuYWRkRWRpdEZvcm0ub3V0Q29tcGFueUlkID0gJyc7CiAgICAgICAgICAgICAgICAgIF90aGlzNy5hZGRFZGl0Rm9ybS5vdXRDb21wYW55TmFtZSA9ICcnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgX3RoaXM3JGFkZEVkaXRGb3JtID0gX3RoaXM3LmFkZEVkaXRGb3JtLCBfdGhpczckYWRkRWRpdEZvcm0kYWMgPSBfdGhpczckYWRkRWRpdEZvcm0uYWNjb3VudCwgYWNjb3VudCA9IF90aGlzNyRhZGRFZGl0Rm9ybSRhYyA9PT0gdm9pZCAwID8gJycgOiBfdGhpczckYWRkRWRpdEZvcm0kYWMsIF90aGlzNyRhZGRFZGl0Rm9ybSR0ZSA9IF90aGlzNyRhZGRFZGl0Rm9ybS50ZWwsIHRlbCA9IF90aGlzNyRhZGRFZGl0Rm9ybSR0ZSA9PT0gdm9pZCAwID8gJycgOiBfdGhpczckYWRkRWRpdEZvcm0kdGUsIF90aGlzNyRhZGRFZGl0Rm9ybSRybyA9IF90aGlzNyRhZGRFZGl0Rm9ybS5yb2FkSWQsIHJvYWRJZCA9IF90aGlzNyRhZGRFZGl0Rm9ybSRybyA9PT0gdm9pZCAwID8gJycgOiBfdGhpczckYWRkRWRpdEZvcm0kcm8sIF90aGlzNyRhZGRFZGl0Rm9ybSRvciA9IF90aGlzNyRhZGRFZGl0Rm9ybS5vcmdJZCwgb3JnSWQgPSBfdGhpczckYWRkRWRpdEZvcm0kb3IgPT09IHZvaWQgMCA/ICcnIDogX3RoaXM3JGFkZEVkaXRGb3JtJG9yLCBfdGhpczckYWRkRWRpdEZvcm0kcm8yID0gX3RoaXM3JGFkZEVkaXRGb3JtLnJvYWROYW1lLCByb2FkTmFtZSA9IF90aGlzNyRhZGRFZGl0Rm9ybSRybzIgPT09IHZvaWQgMCA/ICcnIDogX3RoaXM3JGFkZEVkaXRGb3JtJHJvMiwgYWRkRWRpdEZvcm0gPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3RoaXM3JGFkZEVkaXRGb3JtLCBfZXhjbHVkZWQyKTsKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5wcmV2ID0gODsKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5uZXh0ID0gMTE7CiAgICAgICAgICAgICAgICByZXR1cm4gbXlJbnRlckZhY2UoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBhZGRFZGl0Rm9ybSksIHt9LCB7CiAgICAgICAgICAgICAgICAgIHRlbDogdGVsLAogICAgICAgICAgICAgICAgICBhY2NvdW50OiBhY2NvdW50LAogICAgICAgICAgICAgICAgICByb2FkSWQ6IHJvYWRJZCwKICAgICAgICAgICAgICAgICAgb3JnSWQ6IG9yZ0lkLAogICAgICAgICAgICAgICAgICByb2FkTmFtZTogcm9hZE5hbWUKICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICAgICAgX3lpZWxkJG15SW50ZXJGYWNlID0gX2NvbnRleHQ1LnNlbnQ7CiAgICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRteUludGVyRmFjZS5zdGF0ZTsKICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBfeWllbGQkbXlJbnRlckZhY2UubWVzc2FnZTsKICAgICAgICAgICAgICAgIGlmIChzdGF0ZSkgewogICAgICAgICAgICAgICAgICBtZXNzYWdlID0gX3RoaXM3LmlkID8gJ+e8lui+kScgOiAn5paw5aKeJzsKICAgICAgICAgICAgICAgICAgX3RoaXM3LiRtZXNzYWdlLnN1Y2Nlc3MoIlx1NURFMVx1NjdFNVx1NEVCQVx1NTQ1OCIuY29uY2F0KG1lc3NhZ2UsICJcdTYyMTBcdTUyOUYiKSk7CiAgICAgICAgICAgICAgICAgIF90aGlzNy5jaGFuZ2VQYWdlKCdUYWJsZVBhZ2UnLCBfdGhpczcuaWQgPyAnZWRpdCcgOiAnYWRkJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgY2FzZSAxNToKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5wcmV2ID0gMTU7CiAgICAgICAgICAgICAgICBfdGhpczcuc2F2ZUxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDUuZmluaXNoKDE1KTsKICAgICAgICAgICAgICBjYXNlIDE4OgogICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ1LnN0b3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgX2NhbGxlZTUsIG51bGwsIFtbOCwsIDE1LCAxOF1dKTsKICAgICAgICB9KSk7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChfeCwgX3gyKSB7CiAgICAgICAgICByZXR1cm4gX3JlZi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICAgIH0oKSk7CiAgICB9LAogICAgLy8g5bGV56S65by55bGCCiAgICBzaG93RGlhbG9nOiBmdW5jdGlvbiBzaG93RGlhbG9nKGRpYWxvZ05hbWUpIHsKICAgICAgaWYgKCFkaWFsb2dOYW1lKSByZXR1cm47CiAgICAgIHRoaXNbZGlhbG9nTmFtZSArICdEaWFsb2cnXSA9IHRydWU7CiAgICB9LAogICAgLy8g5pS55Y+Y6aG16Z2iCiAgICBjaGFuZ2VQYWdlOiBmdW5jdGlvbiBjaGFuZ2VQYWdlKCkgewogICAgICB2YXIgcGFnZU5hbWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6ICcnOwogICAgICB2YXIgdHlwZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogJyc7CiAgICAgIGlmICghcGFnZU5hbWUpIHJldHVybjsKICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlUGFnZScsIHBhZ2VOYW1lLCBmdW5jdGlvbiAoXykgewogICAgICAgIFB1YlN1Yi5wdWJsaXNoKHBhZ2VOYW1lLCB7CiAgICAgICAgICB0eXBlOiB0eXBlCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHsKICAgIFB1YlN1Yi51bnN1YnNjcmliZSh0aGlzLnRyZWVQdWJTdWIpOyAvLyDmlrDlop7lj5bmtojorqLpmIUKICAgIC8vIOWcqOe7hOS7tumUgOavgeS5i+WJjSDmuIXpmaTorqLpmIXmtojmga8KICAgIFB1YlN1Yi51bnN1YnNjcmliZSh0aGlzLnB1YlN1Yik7CiAgfQp9Ow=="},null]}