{"remainingRequest":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\workflow\\leave\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\workflow\\leave\\index.vue","mtime":1634007171058},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc3BsaXQuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgeyBsaXN0TGVhdmUsIGdldExlYXZlLCBkZWxMZWF2ZSwgYWRkTGVhdmUsIHVwZGF0ZUxlYXZlLCBleHBvcnRMZWF2ZSwgc3VibWl0QXBwbHkgYXMgX3N1Ym1pdEFwcGx5LCB0YXNrRG9uZUxpc3QsIHRhc2tMaXN0IH0gZnJvbSAnQC9hcGkvd29ya2Zsb3cvbGVhdmUnOwppbXBvcnQgeyBjYW5jZWxBcHBseSBhcyBfY2FuY2VsQXBwbHksIHN1c3BlbmRPckFjdGl2ZUFwcGx5IGFzIF9zdXNwZW5kT3JBY3RpdmVBcHBseSwgc2hvd1ZlcmlmeURpYWxvZyBhcyBfc2hvd1ZlcmlmeURpYWxvZywgY29tcGxldGUgfSBmcm9tICdAL2FwaS9hY3Rpdml0aS9wcm9jZXNzJzsKaW1wb3J0IHsgY2FsY1RvdGFsU2Vjb25kLCBmb3JtYXRUb3RhbERhdGVTdWIgfSBmcm9tICdAL3V0aWxzL2RhdGVVdGlsJzsKaW1wb3J0IEFwcHJvdmFsSGlzdG9yeSBmcm9tICdAL2NvbXBvbmVudHMvYWN0aXZpdGkvYXBwcm92YWxIaXN0b3J5JzsKaW1wb3J0IFByb2Nlc3NJbWcgZnJvbSAnQC9jb21wb25lbnRzL2FjdGl2aXRpL3Byb2Nlc3NJbWcnOwpleHBvcnQgZGVmYXVsdCB7CiAgY29tcG9uZW50czogewogICAgQXBwcm92YWxIaXN0b3J5OiBBcHByb3ZhbEhpc3RvcnksCiAgICBQcm9jZXNzSW1nOiBQcm9jZXNzSW1nCiAgfSwKICBuYW1lOiAnTGVhdmUnLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAvLyDlrqHmibnnoa7lrprmjInpkq4KICAgICAgc2hvd0J1dHRvbjogZmFsc2UsCiAgICAgIC8vIOWuoeaJueS6uuaOp+WItuihqOWNlQogICAgICBzaG93VmVyaWZ5OiB7CiAgICAgICAgTW9kaWZ5QXBwbHk6IGZhbHNlLAogICAgICAgIERlcHRMZWFkZXJWZXJpZnk6IGZhbHNlLAogICAgICAgIEhyVmVyaWZ5OiBmYWxzZSwKICAgICAgICBSZXBvcnRCYWNrOiBmYWxzZQogICAgICB9LAogICAgICAvLyDot6/lvoQKICAgICAgcGF0aDogJycsCiAgICAgIC8vIOafpeivouaWueazlQogICAgICBnZXRMZWF2ZUxpc3Q6IG51bGwsCiAgICAgIC8v5rWB56iL5Zu+56qX5Y+j5byA5YWzCiAgICAgIHByb2Nlc3NJbWc6IGZhbHNlLAogICAgICAvL+WuoeaJueWOhuWPsueql+WPo+W8gOWFswogICAgICBkaWFsb2dUYWJsZVZpc2libGU6IGZhbHNlLAogICAgICAvL+WOhuWPsuWuoeaJueeql+WPo+WPguaVsAogICAgICBpbnN0YW5jZUlkOiAnJywKICAgICAgLy8g6K+35YGH5pe26ZW/CiAgICAgIGZvcm1hdERhdGVTdWI6ICcnLAogICAgICBzdGFydEFuZEVuZFRpbWU6IFsnJywgJyddLAogICAgICByZWFkb25seTogZmFsc2UsCiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDpgInkuK3mlbDnu4QKICAgICAgaWRzOiBbXSwKICAgICAgLy8g6Z2e5Y2V5Liq56aB55SoCiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgLy8g6Z2e5aSa5Liq56aB55SoCiAgICAgIG11bHRpcGxlOiB0cnVlLAogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YKICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwKICAgICAgLy8g5oC75p2h5pWwCiAgICAgIHRvdGFsOiAwLAogICAgICAvLyDor7flgYfmtYHnqIvooajmoLzmlbDmja4KICAgICAgbGVhdmVMaXN0OiBbXSwKICAgICAgLy8g5by55Ye65bGC5qCH6aKYCiAgICAgIHRpdGxlOiAnJywKICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGCCiAgICAgIG9wZW46IGZhbHNlLAogICAgICAvLyDmn6Xor6Llj4LmlbAKICAgICAgcXVlcnlQYXJhbXM6IHsKICAgICAgICBwYWdlTnVtOiAxLAogICAgICAgIHBhZ2VTaXplOiAxMCwKICAgICAgICB0eXBlOiBudWxsLAogICAgICAgIHRpdGxlOiBudWxsLAogICAgICAgIHJlYXNvbjogbnVsbCwKICAgICAgICBsZWF2ZVN0YXJ0VGltZTogbnVsbCwKICAgICAgICBsZWF2ZUVuZFRpbWU6IG51bGwsCiAgICAgICAgdG90YWxUaW1lOiBudWxsLAogICAgICAgIGluc3RhbmNlSWQ6IG51bGwsCiAgICAgICAgYXBwbHlVc2VyOiBudWxsLAogICAgICAgIGFwcGx5VGltZTogbnVsbCwKICAgICAgICByZWFsaXR5U3RhcnRUaW1lOiBudWxsLAogICAgICAgIHJlYWxpdHlFbmRUaW1lOiBudWxsCiAgICAgIH0sCiAgICAgIC8vIOihqOWNleWPguaVsAogICAgICBmb3JtOiB7CiAgICAgICAgcHJvY2Vzc1BhcmFtczoge30KICAgICAgfSwKICAgICAgLy8g6KGo5Y2V5qCh6aqMCiAgICAgIHJ1bGVzOiB7CiAgICAgICAgdGl0bGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfnlKjmiLflkI3np7DkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgdG90YWxUaW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+35YGH5pe26Ze05LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHJlYXNvbjogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+WOn+WboOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICByZWFsaXR5U3RhcnRUaW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5Y6f5Zug5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHJlYWxpdHlFbmRUaW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5Y6f5Zug5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dCiAgICAgIH0KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIHBhdGggPSB0aGlzLiRyb3V0ZS5wYXRoLnNwbGl0KCcvJykucG9wKCk7CiAgICB0aGlzLnBhdGggPSBwYXRoOwoKICAgIGlmICgnbGlzdCcgPT0gcGF0aCkgewogICAgICB0aGlzLmdldExlYXZlTGlzdCA9IGxpc3RMZWF2ZTsKICAgIH0gZWxzZSBpZiAoJ3RvZG8nID09IHBhdGgpIHsKICAgICAgdGhpcy5nZXRMZWF2ZUxpc3QgPSB0YXNrTGlzdDsKICAgIH0gZWxzZSBpZiAoJ2RvbmUnID09IHBhdGgpIHsKICAgICAgdGhpcy5nZXRMZWF2ZUxpc3QgPSB0YXNrRG9uZUxpc3Q7CiAgICB9CgogICAgdGhpcy5nZXRMaXN0KCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBzdWJtaXRTaG93VmVyaWZ5RGlhbG9nOiBmdW5jdGlvbiBzdWJtaXRTaG93VmVyaWZ5RGlhbG9nKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgdGhpcy4kcmVmc1snZm9ybSddLnZhbGlkYXRlKGZ1bmN0aW9uICh2YWxpZCkgewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgY29tcGxldGUoX3RoaXMuZm9ybSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmNvZGUgPT09IDIwMCkgewogICAgICAgICAgICAgIGlmIChfdGhpcy5zaG93VmVyaWZ5Lk1vZGlmeUFwcGx5KSB7CiAgICAgICAgICAgICAgICB1cGRhdGVMZWF2ZShfdGhpcy5mb3JtKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuY29kZSA9PT0gMjAwKSB7CiAgICAgICAgICAgICAgICAgICAgX3RoaXMubXNnU3VjY2Vzcygn5L+u5pS55oiQ5YqfJyk7CgogICAgICAgICAgICAgICAgICAgIF90aGlzLm9wZW4gPSBmYWxzZTsKCiAgICAgICAgICAgICAgICAgICAgX3RoaXMuZ2V0TGlzdCgpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgX3RoaXMubXNnU3VjY2Vzcygn5pON5L2c5oiQ5YqfJyk7CgogICAgICAgICAgICAgICAgX3RoaXMub3BlbiA9IGZhbHNlOwoKICAgICAgICAgICAgICAgIF90aGlzLmdldExpc3QoKTsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIF90aGlzLnJlc2V0KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgLy8g5a6h5om56I+c5Y2V5o6n5Yi2CiAgICBzaG93VmVyaWZ5RGlhbG9nOiBmdW5jdGlvbiBzaG93VmVyaWZ5RGlhbG9nKHJvdykgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgIHRoaXMuc2hvd0J1dHRvbiA9IHRydWU7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgZ2V0TGVhdmUocm93LmlkKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzMi5mb3JtID0gcmVzcG9uc2UuZGF0YTsKICAgICAgICBfdGhpczIuc3RhcnRBbmRFbmRUaW1lID0gW190aGlzMi5mb3JtLmxlYXZlU3RhcnRUaW1lLCBfdGhpczIuZm9ybS5sZWF2ZUVuZFRpbWVdOwoKICAgICAgICBfc2hvd1ZlcmlmeURpYWxvZyhyb3cudGFza0lkKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UubXNnKTsKCiAgICAgICAgICBpZiAoJ01vZGlmeUFwcGx5JyA9PT0gcmVzcG9uc2UubXNnKSB7CiAgICAgICAgICAgIF90aGlzMi5yZWFkb25seSA9IGZhbHNlOwogICAgICAgICAgICBfdGhpczIuc2hvd1ZlcmlmeS5Nb2RpZnlBcHBseSA9IHRydWU7CiAgICAgICAgICAgIF90aGlzMi5mb3JtLnByb2Nlc3NQYXJhbXMuQl9yZUFwcGx5ID0gInRydWUiOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKCdIclZlcmlmeScgPT09IHJlc3BvbnNlLm1zZykgewogICAgICAgICAgICAgIF90aGlzMi5zaG93VmVyaWZ5LkhyVmVyaWZ5ID0gdHJ1ZTsKICAgICAgICAgICAgICBfdGhpczIuZm9ybS5wcm9jZXNzUGFyYW1zLkJfaHJBcHByb3ZlZCA9ICJ0cnVlIjsKICAgICAgICAgICAgfSBlbHNlIGlmICgnRGVwdExlYWRlclZlcmlmeScgPT09IHJlc3BvbnNlLm1zZykgewogICAgICAgICAgICAgIF90aGlzMi5zaG93VmVyaWZ5LkRlcHRMZWFkZXJWZXJpZnkgPSB0cnVlOwogICAgICAgICAgICAgIF90aGlzMi5mb3JtLnByb2Nlc3NQYXJhbXMuQl9kZXB0TGVhZGVyQXBwcm92ZWQgPSAidHJ1ZSI7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoJ1JlcG9ydEJhY2snID09PSByZXNwb25zZS5tc2cpIHsKICAgICAgICAgICAgICBfdGhpczIuc2hvd1ZlcmlmeS5SZXBvcnRCYWNrID0gdHJ1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgX3RoaXMyLnJlYWRvbmx5ID0gdHJ1ZTsKICAgICAgICAgIH0KCiAgICAgICAgICBfdGhpczIub3BlbiA9IHRydWU7CiAgICAgICAgICBfdGhpczIudGl0bGUgPSByb3cudGFza05hbWU7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiog5Y6G5Y+y5YiX6KGoICovCiAgICBoaXN0b3J5TGlzdDogZnVuY3Rpb24gaGlzdG9yeUxpc3Qocm93KSB7CiAgICAgIHRoaXMuZGlhbG9nVGFibGVWaXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy5pbnN0YW5jZUlkID0gcm93Lmluc3RhbmNlSWQ7CiAgICB9LAoKICAgIC8qKiDmn6Xor6Lor7flgYfmtYHnqIvliJfooaggKi8KICAgIGdldExpc3Q6IGZ1bmN0aW9uIGdldExpc3QoKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgdGhpcy5nZXRMZWF2ZUxpc3QodGhpcy5xdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczMubGVhdmVMaXN0ID0gcmVzcG9uc2Uucm93czsKICAgICAgICBfdGhpczMudG90YWwgPSByZXNwb25zZS50b3RhbDsKICAgICAgICBfdGhpczMubG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDlj5bmtojmjInpkq4KICAgIGNhbmNlbDogZnVuY3Rpb24gY2FuY2VsKCkgewogICAgICB0aGlzLm9wZW4gPSBmYWxzZTsKICAgICAgdGhpcy5kaWFsb2dUYWJsZVZpc2libGUgPSBmYWxzZTsKICAgICAgdGhpcy5wcm9jZXNzSW1nID0gZmFsc2U7CiAgICAgIHRoaXMuc2hvd0J1dHRvbiA9IGZhbHNlOwogICAgICB0aGlzLnJlc2V0KCk7CiAgICB9LAogICAgLy8g6KGo5Y2V6YeN572uCiAgICByZXNldDogZnVuY3Rpb24gcmVzZXQoKSB7CiAgICAgIHRoaXMuZm9ybSA9IHsKICAgICAgICBpZDogbnVsbCwKICAgICAgICB0eXBlOiBudWxsLAogICAgICAgIHRpdGxlOiBudWxsLAogICAgICAgIHJlYXNvbjogbnVsbCwKICAgICAgICBsZWF2ZVN0YXJ0VGltZTogbnVsbCwKICAgICAgICBsZWF2ZUVuZFRpbWU6IG51bGwsCiAgICAgICAgdG90YWxUaW1lOiBudWxsLAogICAgICAgIGluc3RhbmNlSWQ6IG51bGwsCiAgICAgICAgY3JlYXRlQnk6IG51bGwsCiAgICAgICAgY3JlYXRlVGltZTogbnVsbCwKICAgICAgICB1cGRhdGVCeTogbnVsbCwKICAgICAgICB1cGRhdGVUaW1lOiBudWxsLAogICAgICAgIGFwcGx5VXNlcjogbnVsbCwKICAgICAgICBhcHBseVRpbWU6IG51bGwsCiAgICAgICAgcmVhbGl0eVN0YXJ0VGltZTogbnVsbCwKICAgICAgICByZWFsaXR5RW5kVGltZTogbnVsbCwKICAgICAgICBwcm9jZXNzUGFyYW1zOiB7fQogICAgICB9OwogICAgICB0aGlzLnN0YXJ0QW5kRW5kVGltZSA9IFsnJywgJyddOwogICAgICB0aGlzLmZvcm1hdERhdGVTdWIgPSBudWxsOwogICAgICB0aGlzLnJlc2V0Rm9ybSgnZm9ybScpOwogICAgICB0aGlzLmluc3RhbmNlSWQgPSAnJzsKICAgICAgdGhpcy5zaG93VmVyaWZ5ID0gewogICAgICAgIE1vZGlmeUFwcGx5OiBmYWxzZSwKICAgICAgICBEZXB0TGVhZGVyVmVyaWZ5OiBmYWxzZSwKICAgICAgICBIclZlcmlmeTogZmFsc2UsCiAgICAgICAgUmVwb3J0QmFjazogZmFsc2UKICAgICAgfTsKICAgIH0sCgogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlUXVlcnk6IGZ1bmN0aW9uIGhhbmRsZVF1ZXJ5KCkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCgogICAgLyoqIOmHjee9ruaMiemSruaTjeS9nCAqLwogICAgcmVzZXRRdWVyeTogZnVuY3Rpb24gcmVzZXRRdWVyeSgpIHsKICAgICAgdGhpcy5yZXNldEZvcm0oJ3F1ZXJ5Rm9ybScpOwogICAgICB0aGlzLmhhbmRsZVF1ZXJ5KCk7CiAgICB9LAoKICAgIC8qKiDmlrDlop7mjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUFkZDogZnVuY3Rpb24gaGFuZGxlQWRkKCkgewogICAgICB0aGlzLnJlc2V0KCk7CiAgICAgIHRoaXMub3BlbiA9IHRydWU7CiAgICAgIHRoaXMucmVhZG9ubHkgPSBmYWxzZTsKICAgICAgdGhpcy50aXRsZSA9ICfmt7vliqDor7flgYfmtYHnqIsnOwogICAgfSwKCiAgICAvKiog5L+u5pS55oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVVcGRhdGU6IGZ1bmN0aW9uIGhhbmRsZVVwZGF0ZShyb3cpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICB0aGlzLnJlc2V0KCk7CiAgICAgIGdldExlYXZlKHJvdy5pZCkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczQuZm9ybSA9IHJlc3BvbnNlLmRhdGE7CiAgICAgICAgX3RoaXM0LnN0YXJ0QW5kRW5kVGltZSA9IFtfdGhpczQuZm9ybS5sZWF2ZVN0YXJ0VGltZSwgX3RoaXM0LmZvcm0ubGVhdmVFbmRUaW1lXTsKICAgICAgICBfdGhpczQub3BlbiA9IHRydWU7CiAgICAgICAgX3RoaXM0LnJlYWRvbmx5ID0gZmFsc2U7CiAgICAgICAgX3RoaXM0LnRpdGxlID0gJ+S/ruaUueivt+WBh+a1geeoiyc7CiAgICAgIH0pOwogICAgfSwKICAgIHN1Ym1pdEFwcGx5OiBmdW5jdGlvbiBzdWJtaXRBcHBseShyb3cpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CgogICAgICB0aGlzLiRjb25maXJtKCfnoa7orqTopoHmj5DkuqTnlLPor7flkJc/JywgJ+itpuWRiicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBfc3VibWl0QXBwbHkocm93LmlkKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM1LmdldExpc3QoKTsKCiAgICAgICAgX3RoaXM1Lm1zZ1N1Y2Nlc3MoJ+aPkOS6pOaIkOWKnycpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgY2FuY2VsQXBwbHk6IGZ1bmN0aW9uIGNhbmNlbEFwcGx5KHJvdykgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIHRoaXMuJGNvbmZpcm0oJ+ehruiupOimgeaSpOmUgOeUs+ivt+WQlz8nLCAn6K2m5ZGKJywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIF9jYW5jZWxBcHBseShyb3cuaW5zdGFuY2VJZCk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzNi5nZXRMaXN0KCk7CgogICAgICAgIF90aGlzNi5tc2dTdWNjZXNzKCfmkqTplIDmiJDlip8nKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfSwKICAgIHN1c3BlbmRPckFjdGl2ZUFwcGx5OiBmdW5jdGlvbiBzdXNwZW5kT3JBY3RpdmVBcHBseShyb3cpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CgogICAgICB2YXIgc3VzcGVuZE9yQWN0aXZlID0gcm93LnN1c3BlbmRTdGF0ZSA9PT0gJzInID8gJ+a/gOa0uycgOiAn5oyC6LW3JzsKICAgICAgdGhpcy4kY29uZmlybSgn56Gu6K6k6KaBJyArIHN1c3BlbmRPckFjdGl2ZSArICfnlLPor7flkJc/JywgJ+itpuWRiicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBkYXRhID0gewogICAgICAgICAgJ2luc3RhbmNlSWQnOiByb3cuaW5zdGFuY2VJZCwKICAgICAgICAgICdzdXNwZW5kU3RhdGUnOiByb3cuc3VzcGVuZFN0YXRlCiAgICAgICAgfTsKICAgICAgICByZXR1cm4gX3N1c3BlbmRPckFjdGl2ZUFwcGx5KGRhdGEpOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczcuZ2V0TGlzdCgpOwoKICAgICAgICBfdGhpczcubXNnU3VjY2Vzcygn5pKk6ZSA5oiQ5YqfJyk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsKICAgIH0sCgogICAgLyoqIOihqOWNleaVsOaNruWxleekuiAqLwogICAgZGV0YWlsOiBmdW5jdGlvbiBkZXRhaWwocm93KSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwoKICAgICAgdGhpcy5yZXNldCgpOwogICAgICBnZXRMZWF2ZShyb3cuaWQpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM4LmZvcm0gPSByZXNwb25zZS5kYXRhOwogICAgICAgIF90aGlzOC5zdGFydEFuZEVuZFRpbWUgPSBbX3RoaXM4LmZvcm0ubGVhdmVTdGFydFRpbWUsIF90aGlzOC5mb3JtLmxlYXZlRW5kVGltZV07CiAgICAgICAgX3RoaXM4Lm9wZW4gPSB0cnVlOwogICAgICAgIF90aGlzOC5yZWFkb25seSA9IHRydWU7CiAgICAgICAgX3RoaXM4LnRpdGxlID0gJ+eUs+ivt+ivpuaDhSc7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiog5o+Q5Lqk5oyJ6ZKuICovCiAgICBzdWJtaXRGb3JtOiBmdW5jdGlvbiBzdWJtaXRGb3JtKCkgewogICAgICB2YXIgX3RoaXM5ID0gdGhpczsKCiAgICAgIHRoaXMuJHJlZnNbJ2Zvcm0nXS52YWxpZGF0ZShmdW5jdGlvbiAodmFsaWQpIHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGlmIChfdGhpczkuZm9ybS5pZCAhPSBudWxsKSB7CiAgICAgICAgICAgIHVwZGF0ZUxlYXZlKF90aGlzOS5mb3JtKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgICAgIGlmIChyZXNwb25zZS5jb2RlID09PSAyMDApIHsKICAgICAgICAgICAgICAgIF90aGlzOS5tc2dTdWNjZXNzKCfkv67mlLnmiJDlip8nKTsKCiAgICAgICAgICAgICAgICBfdGhpczkub3BlbiA9IGZhbHNlOwoKICAgICAgICAgICAgICAgIF90aGlzOS5nZXRMaXN0KCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFkZExlYXZlKF90aGlzOS5mb3JtKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgICAgIGlmIChyZXNwb25zZS5jb2RlID09PSAyMDApIHsKICAgICAgICAgICAgICAgIF90aGlzOS5tc2dTdWNjZXNzKCfmlrDlop7miJDlip8nKTsKCiAgICAgICAgICAgICAgICBfdGhpczkub3BlbiA9IGZhbHNlOwoKICAgICAgICAgICAgICAgIF90aGlzOS5nZXRMaXN0KCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiog5Yig6Zmk5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVEZWxldGU6IGZ1bmN0aW9uIGhhbmRsZURlbGV0ZShyb3cpIHsKICAgICAgdmFyIF90aGlzMTAgPSB0aGlzOwoKICAgICAgdmFyIGlkcyA9IHJvdy5pZCB8fCB0aGlzLmlkczsKICAgICAgdGhpcy4kY29uZmlybSgn5piv5ZCm56Gu6K6k5Yig6Zmk6K+35YGH5rWB56iL57yW5Y+35Li6IicgKyBpZHMgKyAnIueahOaVsOaNrumhuT8nLCAn6K2m5ZGKJywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIGRlbExlYXZlKGlkcyk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMTAuZ2V0TGlzdCgpOwoKICAgICAgICBfdGhpczEwLm1zZ1N1Y2Nlc3MoJ+WIoOmZpOaIkOWKnycpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAoKICAgIC8qKiDlr7zlh7rmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUV4cG9ydDogZnVuY3Rpb24gaGFuZGxlRXhwb3J0KCkgewogICAgICB2YXIgX3RoaXMxMSA9IHRoaXM7CgogICAgICB2YXIgcXVlcnlQYXJhbXMgPSB0aGlzLnF1ZXJ5UGFyYW1zOwogICAgICB0aGlzLiRjb25maXJtKCfmmK/lkKbnoa7orqTlr7zlh7rmiYDmnInor7flgYfmtYHnqIvmlbDmja7pobk/JywgJ+itpuWRiicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBleHBvcnRMZWF2ZShxdWVyeVBhcmFtcyk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMxMS5kb3dubG9hZChyZXNwb25zZS5tc2cpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgc2hvd1Byb2Nlc3NJbWdEaWFsb2c6IGZ1bmN0aW9uIHNob3dQcm9jZXNzSW1nRGlhbG9nKHJvdykgewogICAgICB0aGlzLnByb2Nlc3NJbWcgPSB0cnVlOwogICAgICB0aGlzLmluc3RhbmNlSWQgPSByb3cuaW5zdGFuY2VJZDsKICAgIH0sCiAgICBoYW5kbGVTZWxlY3RDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdENoYW5nZSh2YWwpIHsKICAgICAgY29uc29sZS5sb2codGhpcy5mb3JtLnByb2Nlc3NQYXJhbXMuQl9kZXB0TGVhZGVyQXBwcm92ZWQpOwogICAgICB0aGlzLiRmb3JjZVVwZGF0ZSgpOwogICAgfQogIH0sCiAgd2F0Y2g6IHsKICAgIHN0YXJ0QW5kRW5kVGltZTogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKG5ld1ZhbHVlKSB7CiAgICAgICAgdGhpcy5mb3JtLmxlYXZlU3RhcnRUaW1lID0gbmV3VmFsdWVbMF07CiAgICAgICAgdGhpcy5mb3JtLmxlYXZlRW5kVGltZSA9IG5ld1ZhbHVlWzFdOwoKICAgICAgICBpZiAobmV3VmFsdWVbMF0gJiYgbmV3VmFsdWVbMV0pIHsKICAgICAgICAgIHRoaXMuZm9ybS50b3RhbFRpbWUgPSBjYWxjVG90YWxTZWNvbmQobmV3VmFsdWVbMF0sIG5ld1ZhbHVlWzFdKTsKICAgICAgICAgIHRoaXMuZm9ybWF0RGF0ZVN1YiA9IGZvcm1hdFRvdGFsRGF0ZVN1Yih0aGlzLmZvcm0udG90YWxUaW1lKTsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlZXA6IHRydWUKICAgIH0KICB9Cn07"},null]}