1 |
- {"remainingRequest":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\thread-loader\\dist\\cjs.js!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\stock\\OutIn\\outgoingInfo.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\stock\\OutIn\\outgoingInfo.vue","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js","mtime":1655715099000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IENhbGxJbkxvY2F0aW9uIGZyb20gIkAvY29tcG9uZW50L2NvbW1vbi9DYWxsSW5Mb2NhdGlvbiI7CmltcG9ydCBTdG9yYWdlTG9jYXRpb24gZnJvbSAiQC9jb21wb25lbnQvY29tbW9uL1N0b3JhZ2VMb2NhdGlvbiI7CmltcG9ydCB7IHVwZGF0ZVNhbGVPdXRTdGF0dXMsIGdldFNhbGVPdXRJbmZvIH0gZnJvbSAiQC9hcGkvU3RvY2siOwppbXBvcnQgTG9naXN0aWNzRGF0YSBmcm9tICIuLi8uLi9vcmRlci9jb21wb25lbnRzL0xvZ2lzdGljc0RhdGEiOwppbXBvcnQgeyBtYXBHZXR0ZXJzIH0gZnJvbSAidnVleCI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiT3V0Z29pbmdJbmZvIiwKICBjb21wb25lbnRzOiB7CiAgICBMb2dpc3RpY3NEYXRhLAogICAgLy8gU3RvcmFnZUxvY2F0aW9uLAogICAgQ2FsbEluTG9jYXRpb24KICB9LAogIHByb3BzOiB7CiAgICBvdXRJZDogewogICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLAogICAgICBkZWZhdWx0OiAiIgogICAgfQogIH0sCgogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBsb2dpc3RpY3M6IHt9LAogICAgICBudW06IGZhbHNlLAogICAgICBsb2dpc3RpY3Nfc2hvdzogZmFsc2UsCiAgICAgIG91dF9pZDogMCwKICAgICAgc2hvd19vdXQ6IGZhbHNlLAogICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgb3V0X2RldGFpbDoge30sCiAgICAgIG91dF93YXJlaG91c2VfY29weTogW10sCiAgICAgIG91dF93YXJlaG91c2VfZGF0YTogW10sCiAgICAgIC8vIOWVhuWTgea4heWNle+8jOaMieS7k+W6k+WIhgogICAgICB1bmFzc2lnbmVkX3NrdV9kYXRhOiBbXSwKICAgICAgLy8g5pyq5Ye65bqT5ZWG5ZOBCiAgICAgIHNrdV90b3RhbDoge30sCiAgICAgIHN0b3JhZ2Vfc2hvdzogZmFsc2UsCiAgICAgIHdhcmVob3VzZV9pZDogIiIsCiAgICAgIHNrdUlkOiAiIiwKICAgICAgaXRlbUluZGV4MTogIiIsCiAgICAgIGluZGV4MTogIiIsCiAgICAgIG1hdGVyaWVsSWQ6ICIiLAogICAgICBvdXRfd2FyZWhvdXNlOiB7fSwKICAgICAgYWN0aXZlTmFtZTogIm9uZSIKICAgIH07CiAgfSwKCiAgY29tcHV0ZWQ6IHsgLi4ubWFwR2V0dGVycyh7CiAgICAgIGVuYWJsZUxvY2F0aW9uTWFuYWdlbWVudDogIk1Vc2VyL2VuYWJsZUxvY2F0aW9uTWFuYWdlbWVudCIKICAgIH0pCiAgfSwKCiAgYXN5bmMgbW91bnRlZCgpIHsKICAgIHRoaXMub3V0X2lkID0gdGhpcy5vdXRJZCB8fCB0aGlzLiRyb3V0ZS5wYXJhbXMuaWQ7CiAgICBhd2FpdCB0aGlzLmdldFNhbGVPdXRJbmZvKCk7CiAgfSwKCiAgYXN5bmMgYWN0aXZhdGVkKCkgewogICAgaWYgKHRoaXMuJF9pc0luaXQoKSkgcmV0dXJuOwogICAgdGhpcy5vdXRfaWQgPSB0aGlzLm91dElkIHx8IHRoaXMuJHJvdXRlLnBhcmFtcy5pZDsKICAgIGF3YWl0IHRoaXMuZ2V0U2FsZU91dEluZm8oKTsKICB9LAoKICBtZXRob2RzOiB7CiAgICBsb2dpc3RpY3NDb25maXJtKGRhdGEpIHsKICAgICAgdGhpcy5nZXRTYWxlT3V0SW5mbygpOwogICAgfSwKCiAgICAvLyDmiZPljbAKICAgIG9wZW5VcmwoKSB7CiAgICAgIGxldCByb3V0ZURhdGEgPSB0aGlzLiRyb3V0ZXIucmVzb2x2ZSh7CiAgICAgICAgcGF0aDogYC9PdXRnb2luZ1ByaW50aW5nLyR7dGhpcy5vdXRfZGV0YWlsLmlkfWAKICAgICAgfSk7CiAgICAgIHdpbmRvdy5vcGVuKHJvdXRlRGF0YS5ocmVmLCAiX2JsYW5rIik7CiAgICB9LAoKICAgIC8vIOaPkOS6pOWHuuW6kwogICAgYXN5bmMgc3VibWl0Rm9ybSgpIHsKICAgICAgdGhpcy50aGlzLiRjb25maXJtKCLnoa7lrpropoHmj5DkuqTlh7rlupPlkJfvvJ8iLCAi5o+Q56S6IiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmICghdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEgfHwgIXRoaXMub3V0X3dhcmVob3VzZV9kYXRhLmxlbmd0aCkgewogICAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgICB0eXBlOiAid2FybmluZyIsCiAgICAgICAgICAgICAgbWVzc2FnZTogIuivt+mAieaLqeWHuuW6k+WVhuWTgSIKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICBjb25zdCBvdXRXYXJlaG91c2VEYXRhID0gdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS5kZXRhaWxzICYmIGl0ZW0uZGV0YWlscy5sZW5ndGggPiAwKTsKICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB1cGRhdGVTYWxlT3V0U3RhdHVzKHsKICAgICAgICAgICAgaWQ6IHRoaXMub3V0X2RldGFpbC5pZCwKICAgICAgICAgICAgYXVkaXROYW1lOiB0aGlzLnVzZXJOYW1lLAogICAgICAgICAgICBVbmFzc2lnbmVkU2t1RGF0YTogdGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhLAogICAgICAgICAgICBvdXRXYXJlaG91c2VEYXRhOiBvdXRXYXJlaG91c2VEYXRhCiAgICAgICAgICB9KTsKICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgbWVzc2FnZTogIuWHuuW6k+aIkOWKnyEiCiAgICAgICAgICB9KTsgLy8g5a6h5qC45oiQ5Yqf5aGr5YaZ6LSn6L2m5L+h5oGvCgogICAgICAgICAgdGhpcy5sb2dpc3RpY3Nfc2hvdyA9IHRydWU7CiAgICAgICAgICBhd2FpdCB0aGlzLmdldFNhbGVPdXRJbmZvKCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCgogICAgLy8g6I635Y+W6K+m5oOFCiAgICBhc3luYyBnZXRTYWxlT3V0SW5mbygpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldFNhbGVPdXRJbmZvKHRoaXMub3V0X2lkKTsKICAgICAgdGhpcy5vdXRfZGV0YWlsID0gZGF0YTsKICAgICAgdGhpcy5vdXRfd2FyZWhvdXNlX2NvcHkgPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZShkYXRhLm91dFdhcmVob3VzZURhdGEpOyAvLyDlrZjkuIDkuIvmnKrkv67mlLnnmoTljp/lp4vlh7rlupPmlbDph48KCiAgICAgIGRhdGEub3V0V2FyZWhvdXNlRGF0YS5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgIGl0ZW0uZGV0YWlscy5mb3JFYWNoKGdvb2RzID0+IHsKICAgICAgICAgIGdvb2RzLm51bUNvcHkgPSBOdW1iZXIoZ29vZHMubnVtKTsgLy8g5oqE5Zib5ZWG5ZOB6buY6K6k5Li656m6CgogICAgICAgICAgaWYgKGdvb2RzLmV4dGVuZCAhPT0gIm51bGwiICYmICEhZ29vZHMuZXh0ZW5kKSB7CiAgICAgICAgICAgIGdvb2RzLmV4dGVuZCA9IEpTT04ucGFyc2UoZ29vZHMuZXh0ZW5kKTsKCiAgICAgICAgICAgIGlmICghTnVtYmVyKGdvb2RzLm90aGVyTnVtKSkgewogICAgICAgICAgICAgIGdvb2RzLm90aGVyTnVtID0gdGhpcy4kTlAuZGl2aWRlKGdvb2RzLm51bUNvcHksIGdvb2RzLmV4dGVuZC5jb252ZXJzaW9uKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZ29vZHMubnVtID0gIiI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBnb29kcy5udW0gPSBOdW1iZXIoZ29vZHMubnVtKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSk7CiAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gZGF0YS5vdXRXYXJlaG91c2VEYXRhOwogICAgICB0aGlzLnVuYXNzaWduZWRfc2t1X2RhdGEgPSBkYXRhLlVuYXNzaWduZWRTa3VEYXRhOwogICAgICB0aGlzLnNrdV90b3RhbCA9IGRhdGEuc2t1VG90YWw7CgogICAgICBpZiAoZGF0YS5leHRlbmQgJiYgZGF0YS5leHRlbmQubG9naXN0aWNzKSB7CiAgICAgICAgdGhpcy5sb2dpc3RpY3MgPSBkYXRhLmV4dGVuZC5sb2dpc3RpY3M7CiAgICAgIH0KICAgIH0sCgogICAgLy8g5Ye65bqTIOWuoeaguOeKtuaAgQogICAgb3JkZXJBdWRpdENvbmZpcm0oKSB7CiAgICAgIHRoaXMuZ2V0U2FsZU91dEluZm8oKTsKICAgIH0sCgogICAgYXN5bmMgdXBkYXRlU2FsZU91dFN0YXR1cygpIHsKICAgICAgbGV0IGZsYWcgPSBmYWxzZTsKCiAgICAgIGZvciAobGV0IGkgaW4gdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEpIHsKICAgICAgICBmb3IgKGxldCBqIGluIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhW2ldLmRldGFpbHMpIHsKICAgICAgICAgIGxldCBpdGVtMSA9IHRoaXMub3V0X3dhcmVob3VzZV9kYXRhW2ldLmRldGFpbHNbal07CgogICAgICAgICAgaWYgKCFpdGVtMS5udW0pIHsKICAgICAgICAgICAgZmxhZyA9IHRydWU7CiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi5ZWG5ZOBIiArIGl0ZW0xLm1hdGVyaWVsTmFtZSArICLvvIzop4TmoLwg44CQIiArIGl0ZW0xLnVuaXROYW1lICsgIu+8myIgKyBpdGVtMS5za3VOYW1lICsgIuOAkeeahOWHuuW6k+aVsOmHj+S4jeiDveS4uuepuiIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoaXRlbTEub3RoZXJOdW0gPCAwKSB7CiAgICAgICAgICAgIGZsYWcgPSB0cnVlOwogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuWVhuWTgSIgKyBpdGVtMS5tYXRlcmllbE5hbWUgKyAi77yM6KeE5qC8IOOAkCIgKyBpdGVtMS51bml0TmFtZSArICLvvJsiICsgaXRlbTEuc2t1TmFtZSArICLjgJHnmoTlhbbku5bmlbDph4/kuI3og73lsI/kuo4wIik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGZsYWcpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICghdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEgfHwgIXRoaXMub3V0X3dhcmVob3VzZV9kYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogIndhcm5pbmciLAogICAgICAgICAgbWVzc2FnZTogIuivt+mAieaLqeWHuuW6k+WVhuWTgSIKICAgICAgICB9KTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGxldCBpc051bSA9IHRydWU7IC8vIOi/h+a7pCDlh7rljrvmsqHmnInllYblk4HnmoQKCiAgICAgIGNvbnN0IG91dFdhcmVob3VzZURhdGEgPSB0aGlzLm91dF93YXJlaG91c2VfZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLmRldGFpbHMgJiYgaXRlbS5kZXRhaWxzLmxlbmd0aCA+IDApOwoKICAgICAgaWYgKCFvdXRXYXJlaG91c2VEYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup6KaB5Ye65bqT55qE5ZWG5ZOBIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBmb3IgKGxldCBpIGluIG91dFdhcmVob3VzZURhdGEpIHsKICAgICAgICBsZXQgaXRlbSA9IHRoaXMub3V0X3dhcmVob3VzZV9kYXRhW2ldOwoKICAgICAgICBmb3IgKGxldCBuIGluIGl0ZW0uZGV0YWlscykgewogICAgICAgICAgbGV0IG50ZW0gPSBpdGVtLmRldGFpbHNbbl07CgogICAgICAgICAgaWYgKG50ZW0ubnVtIDw9IDApIHsKICAgICAgICAgICAgaXNOdW0gPSBmYWxzZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoIWlzTnVtKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLplIDllK7ph4/lv4XpobvlpKfkuo4wIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLiRjb25maXJtKCLnoa7lrpropoHlrqHmoLjor6Xlh7rlupPljZXlkJfvvJ8iLCAi5o+Q56S6IiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB1cGRhdGVTYWxlT3V0U3RhdHVzKHsKICAgICAgICAgICAgaWQ6IHRoaXMub3V0X2RldGFpbC5pZCwKICAgICAgICAgICAgYXVkaXROYW1lOiB0aGlzLnVzZXJOYW1lLAogICAgICAgICAgICBVbmFzc2lnbmVkU2t1RGF0YTogdGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhLAogICAgICAgICAgICBvdXRXYXJlaG91c2VEYXRhOiBvdXRXYXJlaG91c2VEYXRhCiAgICAgICAgICB9KTsKICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICAgIG1lc3NhZ2U6ICLmk43kvZzmiJDlip8hIgogICAgICAgICAgfSk7IC8vIOWuoeaguOaIkOWKn+Whq+WGmei0p+i9puS/oeaBrwoKICAgICAgICAgIGlmICh0aGlzLm91dF9kZXRhaWwuZGVsaXZlcnlUeXBlID09PSAzKSB7CiAgICAgICAgICAgIHRoaXMubG9naXN0aWNzX3Nob3cgPSB0cnVlOwogICAgICAgICAgfQoKICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0U2FsZU91dEluZm8oKTsKICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgIH0gY2F0Y2ggewogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgfQogICAgICB9KS5jYXRjaCgoKSA9PiB7CiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKCiAgICBnb090aGVyRGV0YWlsKCkgewogICAgICBzd2l0Y2ggKHRoaXMub3V0X2RldGFpbC50eXBlKSB7CiAgICAgICAgY2FzZSA1OgogICAgICAgICAgLy8g6ZSA5ZSu5Ye65bqTCiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL29yZGVyL21hbmFnZU8vT3JkZXJEZXRhaWxzLzEvIiArIHRoaXMub3V0X2RldGFpbC5zb3VyY2VJZCk7CiAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSA4OgogICAgICAgICAgLy8g6LCD5ouo5Ye65bqTCiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL3N0b2NrL1dhcmVob3VzZU1hbmFnZW1lbnQvRGV0YWlsQWxsb2NhdGlvbkZvcm0vIiArIHRoaXMub3V0X2RldGFpbC5zb3VyY2VJZCk7CiAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAxNDoKICAgICAgICAgIC8vIOmHh+i0remAgOi0pwogICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9QdXJjaGFzZS9NYW5hZ2VQL1B1cmNoYXNlUmV0dXJuT3JkZXJMb29rLyIgKyB0aGlzLm91dF9kZXRhaWwuc291cmNlSWQpOwogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0sCgogICAgd2FyZWhvdXNlQ2hhbmdlKHZhbCwgaW5kZXgsIHJvd0ksIHJvdykgewogICAgICAvLyDmt7Hmi7fotJ3kuIDku73llYblk4HmlbDmja4KICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEpOyAvLyDlnKjopoHlh7rlupPnmoTliJfooajkuK3mn6Xmib7lvZPliY3liIfmjaLnmoTku5PlupPmmK/lkKblrZjlnKgKCiAgICAgIGNvbnN0IHdJbmRleCA9IHRhcmdldC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpOwoKICAgICAgaWYgKHdJbmRleCA+IC0xKSB7CiAgICAgICAgLy8g5b2T5YmN5LuT5bqT5a2Y5ZyoCiAgICAgICAgLy8g5p+l5om+5ZWG5ZOB5piv5ZCm5a2Y5ZyoCiAgICAgICAgY29uc3QgZ0luZGV4ID0gdGFyZ2V0W3dJbmRleF0uZGV0YWlscy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnNrdUlkID09PSByb3cuc2t1SWQpOwoKICAgICAgICBpZiAoZ0luZGV4ID4gLTEpIHsKICAgICAgICAgIC8vIOWVhuWTgeWtmOWcqAogICAgICAgICAgLy8g57Sv5Yqg6ZSA5ZSu6YePCiAgICAgICAgICB0YXJnZXRbd0luZGV4XS5kZXRhaWxzW2dJbmRleF0ubnVtID0gdGhpcy4kTlAucGx1cyh0YXJnZXRbd0luZGV4XS5kZXRhaWxzW2dJbmRleF0ubnVtLCByb3cubnVtKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8g5ZWG5ZOB5LiN5a2Y5Zyo77yM5re75Yqg6K+l5ZWG5ZOBCiAgICAgICAgICB0YXJnZXRbd0luZGV4XS5kZXRhaWxzLnB1c2gocm93KTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8g5LuT5bqT5LiN5a2Y5Zyo77yM5re75Yqg5LiA6aG55LuT5bqT5pWw5o2uCiAgICAgICAgdGFyZ2V0LnB1c2goewogICAgICAgICAgd2FyZWhvdXNlSWQ6IHZhbCwKICAgICAgICAgIHdhcmVob3VzZU5hbWU6IHJvdy53YXJlaG91c2VTZWxlY3QuZmluZChpdGVtID0+IGl0ZW0ud2FyZWhvdXNlSWQgPT09IHZhbCkud2FyZWhvdXNlTmFtZSwKICAgICAgICAgIGRldGFpbHM6IFtyb3ddCiAgICAgICAgfSk7CiAgICAgIH0gLy8g5oqK5b2T5YmN6L+Z5p2h5ZWG5ZOB5LuO5Y6f5p2l55qE5L2N572u5Yig6ZmkCgoKICAgICAgdGFyZ2V0W2luZGV4XS5kZXRhaWxzLnNwbGljZShyb3dJLCAxKTsgLy8g5pyq5byA5ZCv6LSf5bqT5a2YCgogICAgICBpZiAocm93LmlzUHJlU2FsZSA9PT0gNCkgewogICAgICAgIC8vIOafpeaJvuW9k+WJjeWIh+aNouS7k+W6k+aVsOaNrgogICAgICAgIGNvbnN0IHdhcmVob3VzZURhdGEgPSByb3cud2FyZWhvdXNlU2VsZWN0LmZpbmQoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpOyAvLyDmn6Xmib7lvZPliY3ku5PlupPlnKjlh7rlupPliJfooajnmoTmlbDmja4KCiAgICAgICAgY29uc3QgdGFyZ2V0SSA9IHRhcmdldC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpOyAvLyDmn6Xmib7lvZPliY3llYblk4HlnKjor6Xku5PlupPkuIvlh7rlupPliJfooajnmoTmlbDmja4KCiAgICAgICAgY29uc3QgZ29vZHNJID0gdGFyZ2V0W3RhcmdldEldLmRldGFpbHMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5za3VJZCA9PT0gcm93LnNrdUlkKTsgLy8g5aaC5p6c5b2T5YmN5pWw6YeP5aSn5LqO6K+l5LuT5bqT5LiL55qE5bqT5a2Y77yM5o6o5YWl5Yiw5pyq5Ye65bqT5pWw5o2u5LitCgogICAgICAgIGlmICh0YXJnZXRbdGFyZ2V0SV0uZGV0YWlsc1tnb29kc0ldLm51bSA+IHdhcmVob3VzZURhdGEud2FyZWhvdXNlSW52ZW50b3J5TnVtKSB7CiAgICAgICAgICAvLyDmi7fotJ3kuIDku73mnKrlh7rlupPmlbDmja4KICAgICAgICAgIGNvbnN0IHVuYXNzaWduZWREYXRhID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhKTsgLy8g5Yik5pat5b2T5YmN5pyq5Ye65bqT5pWw5o2u5Lit5piv5ZCm5pyJ5b2T5YmN6KeE5qC855qE5ZWG5ZOBCgogICAgICAgICAgY29uc3QgdW5JbmRleCA9IHVuYXNzaWduZWREYXRhLmZpbmRJbmRleCh1bkl0ZW0gPT4gdW5JdGVtLnNrdUlkID09PSByb3cuc2t1SWQpOyAvLyDorr7nva7lvZPliY3mnKrlh7rlupPllYblk4EKCiAgICAgICAgICBjb25zdCBnb29kcyA9IHsgLi4udGFyZ2V0W3RhcmdldEldLmRldGFpbHNbZ29vZHNJXSwKICAgICAgICAgICAgbnVtOiB0aGlzLiROUC5taW51cyh0YXJnZXRbdGFyZ2V0SV0uZGV0YWlsc1tnb29kc0ldLm51bSwgd2FyZWhvdXNlRGF0YS53YXJlaG91c2VJbnZlbnRvcnlOdW0pLAogICAgICAgICAgICB3YXJlaG91c2VJZDogIiIKICAgICAgICAgIH07IC8vIOacquWHuuW6k+WVhuWTgeWIl+ihqOacieivpeWVhuWTge+8jOWImeabv+aNogoKICAgICAgICAgIGlmICh1bkluZGV4ID4gLTEpIHsKICAgICAgICAgICAgdW5hc3NpZ25lZERhdGFbdW5JbmRleF0gPSBnb29kczsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIOayoeacieivpeWVhuWTgeWImeaOqOWFpQogICAgICAgICAgICB1bmFzc2lnbmVkRGF0YS5wdXNoKGdvb2RzKTsKICAgICAgICAgIH0gLy8g57uZ5pyq5Ye65bqT5ZWG5ZOB5YiX6KGo6YeN5paw6LWL5YC8CgoKICAgICAgICAgIHRoaXMudW5hc3NpZ25lZF9za3VfZGF0YSA9IHVuYXNzaWduZWREYXRhOyAvLyDorr7nva7lvZPliY3llYblk4HplIDllK7ph4/kuLror6Xku5PlupPnmoTmnIDlpKflupPlrZgKCiAgICAgICAgICB0YXJnZXRbdGFyZ2V0SV0uZGV0YWlsc1tnb29kc0ldLm51bSA9IHdhcmVob3VzZURhdGEud2FyZWhvdXNlSW52ZW50b3J5TnVtOwogICAgICAgIH0KICAgICAgfSAvLyDnu5nlh7rlupPmlbDmja7ph43mlrDotYvlgLwKCgogICAgICB0aGlzLm91dF93YXJlaG91c2VfZGF0YSA9IHRhcmdldDsKICAgIH0sCgogICAgLy8g6I635Y+W5b2T5YmN5ZCI6K6h6ZSA5ZSu6YePCiAgICB0b3RhbE51bUNoYW5nZSh0YXJnZXQsIHJvdykgewogICAgICAvLyDorr7nva7lj5jph49udW0KICAgICAgbGV0IG51bSA9IDA7CiAgICAgIHRhcmdldC5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgIGNvbnN0IGdvb2RzID0gaXRlbS5kZXRhaWxzLmZpbmQoaXRlbSA9PiBpdGVtLnNrdUlkID09PSByb3cuc2t1SWQpOwoKICAgICAgICBpZiAoZ29vZHMpIHsKICAgICAgICAgIC8vIOWKoOS4iuW9k+WJjeWVhuWTgemUgOWUrumHjwogICAgICAgICAgbnVtID0gdGhpcy4kTlAucGx1cyhudW0sIGdvb2RzLm51bSk7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgcmV0dXJuIG51bTsKICAgIH0sCgogICAgLy8g6ZSA5ZSu6YeP5L+u5pS5CiAgICBzYWxlTnVtQmx1cihlLCByb3dJLCBpbmRleCwgcm93KSB7CiAgICAgIGNvbnN0IHZhbCA9IGUudGFyZ2V0LnZhbHVlOyAvLyDmt7Hmi7fotJ3kuIDku73llYblk4HmlbDmja4KCiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuJF9jb21tb24uZGVlcENsb25lKHRoaXMub3V0X3dhcmVob3VzZV9kYXRhKTsKCiAgICAgIGlmICh2YWwgPT09ICIiKSB7CiAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgICAgdGFyZ2V0W2luZGV4XS5kZXRhaWxzW3Jvd0ldLm51bSA9ICIiOwogICAgICAgIH0pOwogICAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gdGFyZ2V0OwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHRhcmdldFtpbmRleF0uZGV0YWlsc1tyb3dJXS5udW0gPiBOdW1iZXIodGhpcy5za3VfdG90YWxbdGFyZ2V0W2luZGV4XS5kZXRhaWxzW3Jvd0ldLnNrdUlkXSkpIHsKICAgICAgICB0YXJnZXRbaW5kZXhdLmRldGFpbHNbcm93SV0ubnVtID0gTnVtYmVyKHRoaXMuc2t1X3RvdGFsW3RhcmdldFtpbmRleF0uZGV0YWlsc1tyb3dJXS5za3VJZF0pOwogICAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gdGFyZ2V0OwogICAgICAgIHJldHVybjsKICAgICAgfSAvLyDkuI3mlK/mjIHotJ/lupPlrZgKCgogICAgICBpZiAocm93LmlzUHJlU2FsZSA9PT0gNCkgewogICAgICAgIGNvbnN0IHdhcmVob3VzZURhdGEgPSByb3cud2FyZWhvdXNlU2VsZWN0LmZpbmQoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSByb3cud2FyZWhvdXNlSWQpOyAvLyDovpPlhaXlgLzlpKfkuo7lvZPliY3ku5PlupPlupPlrZjmlbAKCiAgICAgICAgaWYgKE51bWJlcih2YWwpID4gTnVtYmVyKHdhcmVob3VzZURhdGEud2FyZWhvdXNlSW52ZW50b3J5TnVtKSkgewogICAgICAgICAgLy8g5oqK5b2T5YmN5ZWG5ZOB55qE6ZSA5ZSu6YeP6L+Y5Y6fCiAgICAgICAgICB0YXJnZXRbaW5kZXhdLmRldGFpbHNbcm93SV0ubnVtID0gdGFyZ2V0W2luZGV4XS5kZXRhaWxzW3Jvd0ldLm51bUNvcHk7CiAgICAgICAgfQogICAgICB9IC8vIOa3seaLt+i0neS4gOS7veacquWHuuW6k+WVhuWTgeaVsOaNrgoKCiAgICAgIGNvbnN0IHVuYXNzaWduZWREYXRhID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhKTsgLy8g5Yik5pat5b2T5YmN5pyq5Ye65bqT5pWw5o2u5Lit5piv5ZCm5pyJ5b2T5YmN6KeE5qC855qE5ZWG5ZOBCgogICAgICBjb25zdCB1bkluZGV4ID0gdW5hc3NpZ25lZERhdGEuZmluZEluZGV4KHVuSXRlbSA9PiB1bkl0ZW0uc2t1SWQgPT09IHJvdy5za3VJZCk7IC8vIOiuvue9ruWPmOmHj251bSAg6I635Y+W5b2T5YmN5ZCI6K6h6ZSA5ZSu6YePCgogICAgICBsZXQgbnVtID0gdGhpcy50b3RhbE51bUNoYW5nZSh0YXJnZXQsIHJvdyk7IC8vIOWIpOaWreW9k+WJjeS/ruaUueWQjueahOWQiOiuoeWVhuWTgemUgOWUrumHj+aYr+WQpuWkp+S6jui0reS5sOaVsOmHj++8jOWkp+S6juWwseaKiuW9k+WJjeWVhuWTgeeahOmUgOWUrumHj+i/mOWOnwoKICAgICAgaWYgKG51bSA+IHRoaXMuc2t1X3RvdGFsW3Jvdy5za3VJZF0pIHsKICAgICAgICAvLyDkv67mlLnlkI7nmoTlkIjorqHllYblk4HplIDllK7ph4/lpKfkuo7otK3kubDmlbDph4/vvIzmiorlvZPliY3llYblk4HnmoTplIDllK7ph4/ov5jljp8KICAgICAgICB0YXJnZXRbaW5kZXhdLmRldGFpbHNbcm93SV0ubnVtID0gdGFyZ2V0W2luZGV4XS5kZXRhaWxzW3Jvd0ldLm51bUNvcHk7CiAgICAgIH0gZWxzZSBpZiAobnVtID09PSBOdW1iZXIodGhpcy5za3VfdG90YWxbcm93LnNrdUlkXSkpIHsKICAgICAgICAvLyDkv67mlLnlkI7nmoTlkIjorqHllYblk4HplIDllK7ph4/nrYnkuo7otK3kubDmlbDph48KICAgICAgICAvLyDmnKrlh7rlupPllYblk4HliJfooajmnInor6XllYblk4HvvIzliJnliKDpmaQKICAgICAgICBpZiAodW5JbmRleCA+IC0xKSB7CiAgICAgICAgICB1bmFzc2lnbmVkRGF0YS5zcGxpY2UodW5JbmRleCwgMSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuJE5QLm1pbnVzKHRoaXMuc2t1X3RvdGFsW3Jvdy5za3VJZF0sIG51bSkgPiAwKSB7CiAgICAgICAgLy8g5b2T5YmN5pyq5Ye65bqT5bqT5a2Y5aSn5LqOMAogICAgICAgIC8vIOiuvue9ruW9k+WJjeacquWHuuW6k+WVhuWTgQogICAgICAgIGNvbnN0IGdvb2RzID0geyAuLi50aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0YXJnZXRbaW5kZXhdLmRldGFpbHNbcm93SV0pLAogICAgICAgICAgbnVtOiB0aGlzLiROUC5taW51cyh0aGlzLnNrdV90b3RhbFtyb3cuc2t1SWRdLCBudW0pLAogICAgICAgICAgd2FyZWhvdXNlSWQ6ICIiCiAgICAgICAgfTsgLy8g5pyq5Ye65bqT5ZWG5ZOB5YiX6KGo5pyJ6K+l5ZWG5ZOB77yM5YiZ5pu/5o2iCgogICAgICAgIGlmICh1bkluZGV4ID4gLTEpIHsKICAgICAgICAgIHVuYXNzaWduZWREYXRhW3VuSW5kZXhdID0gZ29vZHM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIOayoeacieivpeWVhuWTgeWImeaOqOWFpQogICAgICAgICAgdW5hc3NpZ25lZERhdGEucHVzaChnb29kcyk7CiAgICAgICAgfSAvLyDlpoLmnpzovpPlhaXmlbDph4/kuLowIO+8jOWImeaKiuWvueW6lOWHuuW6k+WVhuWTgea4hemZpAoKCiAgICAgICAgaWYgKG51bSA9PT0gMCkgewogICAgICAgICAgdGFyZ2V0W2luZGV4XS5kZXRhaWxzLnNwbGljZShyb3dJLCAxKTsKICAgICAgICB9CiAgICAgIH0gLy8g57uZ5pyq5Ye65bqT5ZWG5ZOB5YiX6KGo6YeN5paw6LWL5YC8CgoKICAgICAgdGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhID0gdW5hc3NpZ25lZERhdGE7IC8vIOe7meWHuuW6k+WVhuWTgeWIl+ihqOmHjeaWsOi1i+WAvAoKICAgICAgdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEgPSB0YXJnZXQ7CiAgICB9LAoKICAgIC8vIOacquWHuuW6k+aVsOaNruS7k+W6k+mAieaLqQogICAgdW5XYXJlaG91c2VDaGFuZ2UodmFsLCByb3csIGluZGV4VW4pIHsKICAgICAgLy8g5rex5ou36LSd5LiA5Lu95ZWG5ZOB5pWw5o2uCiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuJF9jb21tb24uZGVlcENsb25lKHRoaXMub3V0X3dhcmVob3VzZV9kYXRhKTsgLy8g5Zyo5Ye65bqT5ZWG5ZOB5pWw5o2u5Lit5p+l5om+6YCJ5oup5LuT5bqTCgogICAgICBjb25zdCBpbmRleCA9IHRhcmdldC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpOyAvLyDlh7rlupPllYblk4HmlbDmja7kuK3mnInor6XpgInmi6nnmoTku5PlupMKCiAgICAgIGlmIChpbmRleCA+IC0xKSB7CiAgICAgICAgLy8g5om+5Yiw5ZWG5ZOB5omA5Zyo5LiL5qCH77yI5L2N572u77yJCiAgICAgICAgY29uc3QgZ29vZHNJID0gdGFyZ2V0W2luZGV4XS5kZXRhaWxzLmZpbmRJbmRleChnb29kcyA9PiBnb29kcy5za3VJZCA9PT0gcm93LnNrdUlkKTsgLy8g6K+l5LuT5bqT5LiL5YyF5ZCr5b2T5YmN5ZWG5ZOBCgogICAgICAgIGlmIChnb29kc0kgPiAtMSkgewogICAgICAgICAgdGFyZ2V0W2luZGV4XS5kZXRhaWxzW2dvb2RzSV0ubnVtID0gdGhpcy4kTlAucGx1cyh0YXJnZXRbaW5kZXhdLmRldGFpbHNbZ29vZHNJXS5udW0sIHJvdy5udW0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyDor6Xku5PlupPkuIvkuI3ljIXlkKvlvZPliY3llYblk4HvvIzmiorlvZPliY3llYblk4HmjqjliLDor6Xku5PlupPkuIvpnaIKICAgICAgICAgIHRhcmdldFtpbmRleF0uZGV0YWlscy5wdXNoKHJvdyk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIC8vIOWHuuW6k+WVhuWTgeaVsOaNruS4reayoeacieivpemAieaLqeeahOS7k+W6k++8jOa3u+WKoOS4gOmhueS7k+W6k+aVsOaNrgogICAgICAgIHRhcmdldC5wdXNoKHsKICAgICAgICAgIHdhcmVob3VzZUlkOiB2YWwsCiAgICAgICAgICB3YXJlaG91c2VOYW1lOiByb3cud2FyZWhvdXNlU2VsZWN0LmZpbmQoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpLndhcmVob3VzZU5hbWUsCiAgICAgICAgICBkZXRhaWxzOiBbcm93XQogICAgICAgIH0pOwogICAgICB9IC8vIOaKiuW9k+WJjei/meadoeWVhuWTgeS7juWOn+adpeeahOS9jee9ruWIoOmZpAoKCiAgICAgIHRoaXMudW5hc3NpZ25lZF9za3VfZGF0YS5zcGxpY2UoaW5kZXhVbiwgMSk7CiAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gdGFyZ2V0OwogICAgfSwKCiAgICBzZWxTdG9yYWdlKGUpIHsKICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEpOwogICAgICB0YXJnZXRbdGhpcy5pbmRleDFdLmRldGFpbHNbdGhpcy5pdGVtSW5kZXgxXSA9IHsgLi4udGFyZ2V0W3RoaXMuaW5kZXgxXS5kZXRhaWxzW3RoaXMuaXRlbUluZGV4MV0sCiAgICAgICAgYXJlYUlkOiBlWzBdLmFyZWFJZCwKICAgICAgICBhcmVhTmFtZTogZVswXS5hcmVhTmFtZSwKICAgICAgICBhcmVhQ29kZTogZVswXS5hcmVhQ29kZSwKICAgICAgICBzdG9yYWdlTG9jYXRpb25OYW1lOiBlWzBdLnN0b3JhZ2VMb2NhdGlvbk5hbWUsCiAgICAgICAgc3RvcmFnZUxvY2F0aW9uSWQ6IGVbMF0uc3RvcmFnZUxvY2F0aW9uSWQsCiAgICAgICAgc3RvcmFnZUxvY2F0aW9uQ29kZTogZVswXS5zdG9yYWdlTG9jYXRpb25Db2RlCiAgICAgIH07CiAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gdGFyZ2V0OwogICAgfSwKCiAgICBzdG9yYWdlU2hvdyhyb3csIGl0ZW1JbmRleDEsIGluZGV4KSB7CiAgICAgIHRoaXMubWF0ZXJpZWxJZCA9IHJvdy5tYXRlcmllbElkOwogICAgICB0aGlzLml0ZW1JbmRleDEgPSBpdGVtSW5kZXgxOwogICAgICB0aGlzLmluZGV4MSA9IGluZGV4OwogICAgICB0aGlzLndhcmVob3VzZV9pZCA9IHJvdy53YXJlaG91c2VJZDsKICAgICAgdGhpcy5za3VJZCA9IHJvdy5za3VJZDsKICAgICAgdGhpcy5zdG9yYWdlX3Nob3cgPSB0cnVlOwogICAgfQoKICB9Cn07"},null]}
|