3c5569cbf1bd6d996a97ad08067e15a5.json 25 KB

1
  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\\Purchase\\ManageP\\PurchaseReturnOrderAdd.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\Purchase\\ManageP\\PurchaseReturnOrderAdd.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:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgR29vZHNXYXJlaG91c2UgZnJvbSAiQC9jb21wb25lbnQvZ29vZHMvR29vZHNXYXJlaG91c2VEYXRhLnZ1ZSI7CmltcG9ydCBPcmRlclJldHVybiBmcm9tICJAL2NvbXBvbmVudC9nb29kcy9PcmRlclJldHVybi52dWUiOwppbXBvcnQgU2VsZWN0U3VwcGxpZXIgZnJvbSAiQC9jb21wb25lbnQvY29tbW9uL1NlbGVjdFN1cHBsaWVyLnZ1ZSI7CmltcG9ydCB7IGdldEFsbFN0YWZmIH0gZnJvbSAiQC9hcGkvRGVwYXJ0bWVudCI7CmltcG9ydCB7IGFkZFBhdXNlU2F2ZSwgZGVsUGF1c2VTYXZlLCBnZXRQYXVzZVNhdmUgfSBmcm9tICJAL2FwaS9jb21tb24iOwppbXBvcnQgeyBlZGl0UHVyY2hhc2VPdXQsIGFkZFB1cmNoYXNlT3V0LCBnZXRQdXJjaGFzZU91dEluZm9CeUlkLCBnZXRQdXJjaGFzZUFuZEJhdGNoSW5mb0J5SWQsIGdldFB1cmNoYXNlSW5mb0J5SWQgfSBmcm9tICJAL2FwaS9QdXJjaGFzZSI7CmltcG9ydCBTZWxlY3RTaG9wIGZyb20gIkAvY29tcG9uZW50L2dvb2RzL1NlbGVjdFNob3AudnVlIjsKaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gInZ1ZXgiOwppbXBvcnQgeyBnZXRBbGxXYXJlaG91c2UgfSBmcm9tICJAL2FwaS9TdG9jayI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiUHVyY2hhc2VPcmRlckFkZCIsCiAgY29tcG9uZW50czogewogICAgR29vZHNXYXJlaG91c2UsCiAgICAvLyBTZWxlY3RTdXBwbGllciwKICAgIE9yZGVyUmV0dXJuCiAgfSwKCiAgZGF0YSgpIHsKICAgIGNvbnN0IHZhbGlkYXRlTm8gPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7CiAgICAgIGlmICghdmFsdWUpIHsKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoIuivt+mAieaLqeWFs+iBlOmHh+i0reWNleWPtyIpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9OwoKICAgIGNvbnN0IHZhbGlkYXRlU2hvcCA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36YCJ5oup6YeH6LSt5LuT5bqTIikpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0KICAgIH07CgogICAgY29uc3QgdmFsaWRhdGVTdXBwbGllciA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36YCJ5oup5L6b5bqU5ZWGIikpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0KICAgIH07CgogICAgY29uc3QgdmFsaWRhdGVCdXllciA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36YCJ5oup6YeH6LSt5Lq65ZGYIikpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0KICAgIH07CgogICAgcmV0dXJuIHsKICAgICAgaWZNZXJjaGFudDogNCwKICAgICAgLy8g5piv5ZCm5ZWG5oi36YeH6LSt5Y2VCiAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICBwdXNyY2hhc2VPdXRfaWQ6ICIiLAogICAgICAvLyDph4fotK3ljZVpZAogICAgICBubzogIiIsCiAgICAgIGF1ZGl0TmFtZTogIiIsCiAgICAgIGF1ZGl0VGltZTogIiIsCiAgICAgIGF1ZGl0SWQ6ICIiLAogICAgICBhdWRpdFN0YXR1czogIiIsCiAgICAgIGxvb2tfcGF0aDogIiIsCiAgICAgIGZvcm06IHsKICAgICAgICBvcmlnaW5JZDogIiIsCiAgICAgICAgb3JpZ2luTm86ICIiLAogICAgICAgIHN1cHBsaWVySWQ6ICIiLAogICAgICAgIHN1cHBsaWVyTmFtZTogIiIsCiAgICAgICAgd2FyZWhvdXNlSWQ6ICIiLAogICAgICAgIHdhcmVob3VzZU5hbWU6ICIiLAogICAgICAgIGJ1eWVySWQ6ICIiLAogICAgICAgIGJ1eWVyTmFtZTogIiIsCiAgICAgICAgb3BlcmF0b3JOYW1lOiAiIiwKICAgICAgICBjb3Vwb25BbW91bnQ6ICIiLAogICAgICAgIG90aGVyQW1vdW50OiAiIiwKICAgICAgICByZW1hcms6ICIiLAogICAgICAgIGdvb2RzRGF0YTogW10sCiAgICAgICAgc2hvcElkOiAiIiwKICAgICAgICBzaG9wTmFtZTogIiIsCiAgICAgICAgbWVyY2hhbnRJZDogIiIsCiAgICAgICAgbWVyY2hhbnROYW1lOiAiIiwKICAgICAgICBwdXJjaGFzZVN0YXR1czogIiIKICAgICAgfSwKICAgICAgcnVsZXM6IHsKICAgICAgICBvcmlnaW5ObzogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0ZU5vCiAgICAgICAgfV0sCiAgICAgICAgd2FyZWhvdXNlTmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0ZVNob3AKICAgICAgICB9XSwKICAgICAgICBzdXBwbGllck5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVTdXBwbGllcgogICAgICAgIH1dLAogICAgICAgIGJ1eWVySWQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVCdXllcgogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIHN1cHBsaWVyX3Nob3c6IGZhbHNlLAogICAgICBzaG93X3NlbGdvb2RzOiBmYWxzZSwKICAgICAgcHVyY2hhc2Vfb3BlbjogZmFsc2UsCiAgICAgIHB1cmNoYXNlX2xpc3Q6IFtdLAogICAgICAvLyDph4fotK3kurrlkZjliJfooagKICAgICAgcHVyY2hhc2VfcnVsZXM6IHt9LAogICAgICBnb29kc19saXN0OiBbXSwKICAgICAgZ29vZHNBcnJEYXRhOiBbXSwKICAgICAgcHVzcmNoYXNlX2lkOiAiIiwKICAgICAgcHVzcmNoYXNlX3Nob3BJZDogIiIsCiAgICAgIGRlbGV0ZUFycmF5OiBbXSwKICAgICAgc3RvY2tfbGlzdDogW10sCiAgICAgIG51bTogIiIsCiAgICAgIGFjdGl2ZU5hbWU6ICJvbmUiCiAgICB9OwogIH0sCgogIGNvbXB1dGVkOiB7CiAgICBwdXJjaGFzZUFtb3VudCgpIHsKICAgICAgbGV0IHN1bSA9IDA7CgogICAgICBpZiAodGhpcy5nb29kc19saXN0Lmxlbmd0aCA+IDEpIHsKICAgICAgICB0aGlzLmdvb2RzX2xpc3QuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICAgIHN1bSA9IHRoaXMuJE5QLnBsdXMoc3VtLCBOdW1iZXIoaXRlbS5zdWJ0b3RhbFByaWNlKSk7CiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5nb29kc19saXN0Lmxlbmd0aCA9PT0gMSkgewogICAgICAgIHN1bSA9IE51bWJlcih0aGlzLmdvb2RzX2xpc3RbMF0uc3VidG90YWxQcmljZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgc3VtID0gMDsKICAgICAgfQoKICAgICAgcmV0dXJuIHRoaXMuJE5QLnBsdXMoc3VtLCB0aGlzLmZvcm0ub3RoZXJBbW91bnQpOwogICAgfSwKCiAgICAuLi5tYXBHZXR0ZXJzKHsKICAgICAgc3RvcmVEYXRhOiAiTVVzZXIvc3RvcmVEYXRhIgogICAgfSkKICB9LAoKICBjcmVhdGVkKCkgewogICAgLy8gdGhpcy5nZXRBbGxTdGFmZigpOwogICAgLy8gdGhpcy5nZXRBbGxXYXJlaG91c2UoKTsKICAgIGlmICh0aGlzLiRyb3V0ZS5wYXJhbXMudHlwZSkgewogICAgICB0aGlzLmlmTWVyY2hhbnQgPSBOdW1iZXIodGhpcy4kcm91dGUucGFyYW1zLnR5cGUpOwogICAgfQoKICAgIHRoaXMubG9va19wYXRoID0gdGhpcy4kcm91dGUubmFtZTsKCiAgICBpZiAodGhpcy4kcm91dGUucXVlcnkucHVyY2hhc2VfaWQpIHsKICAgICAgdGhpcy5pZk1lcmNoYW50ID0gdGhpcy4kcm91dGUucXVlcnkuaWZNZXJjaGFudCA/IHBhcnNlSW50KHRoaXMuJHJvdXRlLnF1ZXJ5LmlmTWVyY2hhbnQpIDogNDsgLy8g6YeH6LSt5Y2V6aG16Z2iLeeCueWHu+mAgOWNleKGkuaWsOWinumHh+i0remAgOi0p+WNlemhtemdogoKICAgICAgdGhpcy5wdXNyY2hhc2VfaWQgPSBwYXJzZUludCh0aGlzLiRyb3V0ZS5xdWVyeS5wdXJjaGFzZV9pZCk7CiAgICAgIHRoaXMuZ2V0UHVyY2hhc2VJbmZvQnlJZDIodGhpcy5wdXNyY2hhc2VfaWQpOwogICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKHRoaXMuJHJvdXRlLnBhcmFtcy5pZCkgewogICAgICB0aGlzLnB1c3JjaGFzZU91dF9pZCA9IHRoaXMuJHJvdXRlLnBhcmFtcy5pZDsKICAgICAgdGhpcy5nZXRQdXJjaGFzZU91dEluZm9CeUlkKCk7CiAgICB9IGVsc2UgewogICAgICB0aGlzLmZvcm0ub3BlcmF0b3JOYW1lID0gdGhpcy51c2VyTmFtZTsKICAgICAgdGhpcy5nZXRQYXVzZVNhdmUoKTsKCiAgICAgIGlmIChbMiwgM10uaW5jbHVkZXModGhpcy5zeXN0ZW1UeXBlKSkgewogICAgICAgIHRoaXMuZm9ybS5zaG9wSWQgPSB0aGlzLnN0b3JlRGF0YS5pZDsgLy8g5bqX6ZO6CgogICAgICAgIHRoaXMuZm9ybS5zaG9wTmFtZSA9IHRoaXMuc3RvcmVEYXRhLm5hbWU7IC8vIOW6l+mTugogICAgICB9CiAgICB9CiAgfSwKCiAgYWN0aXZhdGVkKCkgewogICAgaWYgKHRoaXMuJF9pc0luaXQoKSkgcmV0dXJuOwoKICAgIGlmICh0aGlzLiRyb3V0ZS5xdWVyeS5wdXJjaGFzZV9pZCkgewogICAgICB0aGlzLmlmTWVyY2hhbnQgPSB0aGlzLiRyb3V0ZS5xdWVyeS5pZk1lcmNoYW50ID8gcGFyc2VJbnQodGhpcy4kcm91dGUucXVlcnkuaWZNZXJjaGFudCkgOiA0OyAvLyDph4fotK3ljZXpobXpnaIt54K55Ye76YCA5Y2V4oaS5paw5aKe6YeH6LSt6YCA6LSn5Y2V6aG16Z2iCgogICAgICB0aGlzLnB1c3JjaGFzZV9pZCA9IHBhcnNlSW50KHRoaXMuJHJvdXRlLnF1ZXJ5LnB1cmNoYXNlX2lkKTsKICAgICAgdGhpcy5nZXRQdXJjaGFzZUluZm9CeUlkMih0aGlzLnB1c3JjaGFzZV9pZCk7CiAgICB9CiAgfSwKCiAgbWV0aG9kczogewogICAgYXN5bmMgZ2V0QWxsV2FyZWhvdXNlKCkgewogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0QWxsV2FyZWhvdXNlKHsKICAgICAgICBwYWdlOiAxLAogICAgICAgIHBhZ2VTaXplOiA5OTkKICAgICAgfSk7CiAgICAgIHRoaXMuc3RvY2tfbGlzdCA9IGRhdGE7IC8vIGlmICghdGhpcy5mb3JtLndhcmVob3VzZUlkKSB7CiAgICAgIC8vICAgdGhpcy5mb3JtLndhcmVob3VzZUlkID0gZGF0YVswXS5pZDsKICAgICAgLy8gfQogICAgfSwKCiAgICBzaG9wRGVmYXVsdCh2YWwsIHJvdykgewogICAgICB0aGlzLmZvcm0uc2hvcElkID0gdmFsOwogICAgICB0aGlzLmZvcm0uc2hvcE5hbWUgPSByb3cubmFtZTsKICAgIH0sCgogICAgYXN5bmMgYWRkUGF1c2VTYXZlKCkgewogICAgICBjb25zdCBwYXJhbXMgPSB7IC4uLnRoaXMuZm9ybSwKICAgICAgICBnb29kc0RhdGE6IHRoaXMuJF9jb21tb24uZGVlcENsb25lKHRoaXMuZ29vZHNfbGlzdCkubWFwKGl0ZW0gPT4gewogICAgICAgICAgZGVsZXRlIGl0ZW0ubnVtOwogICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgfSkKICAgICAgfTsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGFkZFBhdXNlU2F2ZSh7CiAgICAgICAga2V5OiB0aGlzLmxvb2tfcGF0aCwKICAgICAgICBkYXRhOiBwYXJhbXMKICAgICAgfSk7CiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgbWVzc2FnZTogIuaaguWtmOaIkOWKnyIKICAgICAgfSk7CiAgICAgIHRoaXMuJGNsb3NlQ3VycmVudEdvRWRpdCgiL1B1cmNoYXNlL01hbmFnZVAvUHVyY2hhc2VSZXR1cm5PcmRlciIpOwogICAgfSwKCiAgICAvLyDmuIXpmaTmmoLlrZgKICAgIGFzeW5jIGRlbFBhdXNlU2F2ZSh0eXBlKSB7CiAgICAgIGNvbnN0IGRhdGEgPSBkZWxQYXVzZVNhdmUoewogICAgICAgIGtleTogdGhpcy5sb29rX3BhdGgKICAgICAgfSk7CgogICAgICBpZiAodHlwZSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIua4hemZpOaaguWtmOaIkOWKnyIKICAgICAgICB9KTsKICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9QdXJjaGFzZS9NYW5hZ2VQL1B1cmNoYXNlUmV0dXJuT3JkZXJBZGQiKTsKICAgICAgfQogICAgfSwKCiAgICAvLyDojrflj5bmmoLlrZjkv6Hmga8KICAgIGFzeW5jIGdldFBhdXNlU2F2ZSgpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldFBhdXNlU2F2ZSh7CiAgICAgICAga2V5OiB0aGlzLmxvb2tfcGF0aAogICAgICB9KTsKICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGEpID09PSAie30iKSByZXR1cm47CiAgICAgIHRoaXMuZm9ybS53YXJlaG91c2VOYW1lID0gZGF0YS53YXJlaG91c2VOYW1lOwogICAgICB0aGlzLmZvcm0ud2FyZWhvdXNlSWQgPSBkYXRhLndhcmVob3VzZUlkOwogICAgICB0aGlzLmZvcm0ub3JpZ2luSWQgPSBkYXRhLm9yaWdpbklkOwogICAgICB0aGlzLmZvcm0ub3JpZ2luTm8gPSBkYXRhLm9yaWdpbk5vOwogICAgICB0aGlzLmZvcm0uc2hvcElkID0gZGF0YS5zaG9wSWQ7CiAgICAgIHRoaXMuZm9ybS5zaG9wTmFtZSA9IGRhdGEuc2hvcE5hbWU7CiAgICAgIHRoaXMuZm9ybS5zdXBwbGllcklkID0gZGF0YS5zdXBwbGllcklkOwogICAgICB0aGlzLmZvcm0uc3VwcGxpZXJOYW1lID0gZGF0YS5zdXBwbGllck5hbWU7CiAgICAgIHRoaXMuZm9ybS5tZXJjaGFudElkID0gZGF0YS5tZXJjaGFudElkOwogICAgICB0aGlzLmZvcm0ubWVyY2hhbnROYW1lID0gZGF0YS5tZXJjaGFudE5hbWU7CiAgICAgIHRoaXMuZm9ybS5idXllcklkID0gZGF0YS5idXllcklkOwogICAgICB0aGlzLmZvcm0uYnV5ZXJOYW1lID0gZGF0YS5idXllck5hbWU7CiAgICAgIHRoaXMuZm9ybS5vcGVyYXRvck5hbWUgPSBkYXRhLm9wZXJhdG9yTmFtZTsgLy8gdGhpcy5wdXJjaGFzZUFtb3VudCA9IGRhdGEucHVyY2hhc2VBbW91bnQKCiAgICAgIHRoaXMuZm9ybS5jb3Vwb25BbW91bnQgPSBkYXRhLmNvdXBvbkFtb3VudDsKICAgICAgdGhpcy5mb3JtLm90aGVyQW1vdW50ID0gZGF0YS5vdGhlckFtb3VudDsKICAgICAgdGhpcy5mb3JtLnJlbWFyayA9IGRhdGEucmVtYXJrOwogICAgICB0aGlzLmF1ZGl0SWQgPSBkYXRhLmF1ZGl0SWQ7CiAgICAgIHRoaXMuYXVkaXROYW1lID0gZGF0YS5hdWRpdE5hbWU7CiAgICAgIHRoaXMuYXVkaXRTdGF0dXMgPSBkYXRhLmF1ZGl0U3RhdHVzOwogICAgICB0aGlzLm5vID0gZGF0YS5ubzsKICAgICAgdGhpcy5nb29kc19saXN0ID0gZGF0YS5nb29kc0RhdGEubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiB7CiAgICAgICAgICBpZDogaXRlbS5pZCwKICAgICAgICAgIGdvb2RzSWQ6IGl0ZW0uZ29vZHNJZCwKICAgICAgICAgIGdvb2RzQ29kZTogaXRlbS5nb29kc0NvZGUsCiAgICAgICAgICBnb29kc05hbWU6IGl0ZW0uZ29vZHNOYW1lLAogICAgICAgICAgdW5pdE5hbWU6IGl0ZW0udW5pdE5hbWUsCiAgICAgICAgICBza3VOYW1lOiBpdGVtLnNrdU5hbWUsCiAgICAgICAgICBidXllck51bTogaXRlbS5idXllck51bSwKICAgICAgICAgIHB1cmNoYXNlTnVtOiBpdGVtLnB1cmNoYXNlTnVtLAogICAgICAgICAgYnV5ZXJVbml0UHJpY2U6IGl0ZW0uYnV5ZXJVbml0UHJpY2UsCiAgICAgICAgICBzdWJ0b3RhbFByaWNlOiB0aGlzLiROUC50aW1lcyhpdGVtLmJ1eWVyVW5pdFByaWNlLCBpdGVtLmJ1eWVyTnVtKSwKICAgICAgICAgIGNvdXBvbkFtb3VudDogaXRlbS5jb3Vwb25BbW91bnQsCiAgICAgICAgICBza3VJZDogaXRlbS5za3VJZCwKICAgICAgICAgIG90aGVyQW1vdW50OiBpdGVtLm90aGVyQW1vdW50CiAgICAgICAgfTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8vICDmt7vliqDph4fotK3pgIDotKfljZUgYWRkUHVyY2hhc2VPdXQKICAgIGFzeW5jIGFkZFB1cmNoYXNlT3JkZXIoKSB7CiAgICAgIGlmICghdGhpcy5mb3JtLm90aGVyQW1vdW50KSB7CiAgICAgICAgdGhpcy5mb3JtLm90aGVyQW1vdW50ID0gMDsKICAgICAgfQoKICAgICAgdGhpcy4kcmVmc1siZm9ybSJdLnZhbGlkYXRlKGFzeW5jIHZhbGlkID0+IHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGxldCB0YXJnZXQgPSB7fTsKCiAgICAgICAgICBpZiAoIXRoaXMuZ29vZHNfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fpgInmi6nllYblk4EiKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIGNvbnN0IGlzQnV5ZXIgPSB0aGlzLmdvb2RzX2xpc3Quc29tZShpdGVtID0+IGl0ZW0uYnV5ZXJOdW0gPD0gMCk7CgogICAgICAgICAgaWYgKGlzQnV5ZXIpIHsKICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLpgIDotKfmlbDph4/kuI3og73kuLow77yM6K+35qOA5p+lIik7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICB0aGlzLmZvcm0ucHVyY2hhc2VTdGF0dXMgPSB0aGlzLmlmTWVyY2hhbnQ7CiAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IC4uLnRoaXMuZm9ybSwKICAgICAgICAgICAgZ29vZHNEYXRhOiB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0aGlzLmdvb2RzX2xpc3QpLm1hcChpdGVtID0+IHsKICAgICAgICAgICAgICBkZWxldGUgaXRlbS5udW07CgogICAgICAgICAgICAgIGlmICghdGhpcy5wdXNyY2hhc2VPdXRfaWQpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmlkOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgICAgIH0pCiAgICAgICAgICB9OwogICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAodGhpcy5wdXNyY2hhc2VPdXRfaWQpIHsKICAgICAgICAgICAgICBwYXJhbXMuZGVsZXRlQXJyYXkgPSB0aGlzLmRlbGV0ZUFycmF5OwoKICAgICAgICAgICAgICBpZiAocGFyYW1zLmJ1eWVyTnVtID49IE51bWJlcih0aGlzLm51bSkpIHsKICAgICAgICAgICAgICAgIHBhcmFtcy5idXllck51bSA9IE51bWJlcih0aGlzLm51bSk7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB0YXJnZXQgPSBhd2FpdCBlZGl0UHVyY2hhc2VPdXQodGhpcy5wdXNyY2hhc2VPdXRfaWQsIHBhcmFtcyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgcGFyYW1zLmRlbGV0ZUFycmF5ID0gdGhpcy5kZWxldGVBcnJheTsKICAgICAgICAgICAgICB0YXJnZXQgPSBhd2FpdCBhZGRQdXJjaGFzZU91dChwYXJhbXMpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBjb25zdCBkYXRhID0gdGFyZ2V0OwogICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgdGhpcy5nb29kc19saXN0ID0gW107CiAgICAgICAgICAgIGF3YWl0IHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgICBtZXNzYWdlOiAi5o+Q5Lqk5oiQ5YqfIgogICAgICAgICAgICB9KTsKICAgICAgICAgICAgYXdhaXQgdGhpcy5kZWxQYXVzZVNhdmUoKTsKICAgICAgICAgICAgYXdhaXQgdGhpcy4kY2xvc2VDdXJyZW50R29FZGl0KCIvUHVyY2hhc2UvbWFuYWdlUC9QdXJjaGFzZVJldHVybk9yZGVyIik7CiAgICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyAg6I635Y+W6K+m5oOFIGdldFB1cmNoYXNlT3V0SW5mb0J5SWQKICAgIGFzeW5jIGdldFB1cmNoYXNlT3V0SW5mb0J5SWQoKSB7CiAgICAgIGNvbnN0IHsKICAgICAgICBkYXRhCiAgICAgIH0gPSBhd2FpdCBnZXRQdXJjaGFzZU91dEluZm9CeUlkKHRoaXMucHVzcmNoYXNlT3V0X2lkKTsKICAgICAgdGhpcy5mb3JtLndhcmVob3VzZU5hbWUgPSBkYXRhLndhcmVob3VzZU5hbWU7CiAgICAgIHRoaXMuZm9ybS53YXJlaG91c2VJZCA9IGRhdGEud2FyZWhvdXNlSWQ7CiAgICAgIHRoaXMuZm9ybS5vcmlnaW5JZCA9IGRhdGEub3JpZ2luSWQ7CiAgICAgIHRoaXMuZm9ybS5vcmlnaW5ObyA9IGRhdGEub3JpZ2luTm87CiAgICAgIHRoaXMuZm9ybS5zaG9wSWQgPSBkYXRhLnNob3BJZDsKICAgICAgdGhpcy5mb3JtLnNob3BOYW1lID0gZGF0YS5zaG9wTmFtZTsKICAgICAgdGhpcy5mb3JtLnN1cHBsaWVySWQgPSBkYXRhLnN1cHBsaWVySWQ7CiAgICAgIHRoaXMuZm9ybS5zdXBwbGllck5hbWUgPSBkYXRhLnN1cHBsaWVyTmFtZTsKICAgICAgdGhpcy5mb3JtLm1lcmNoYW50SWQgPSBkYXRhLm1lcmNoYW50SWQ7CiAgICAgIHRoaXMuZm9ybS5tZXJjaGFudE5hbWUgPSBkYXRhLm1lcmNoYW50TmFtZTsKICAgICAgdGhpcy5mb3JtLmJ1eWVySWQgPSBkYXRhLmJ1eWVySWQ7CiAgICAgIHRoaXMuZm9ybS5idXllck5hbWUgPSBkYXRhLmJ1eWVyTmFtZTsKICAgICAgdGhpcy5mb3JtLm9wZXJhdG9yTmFtZSA9IGRhdGEub3BlcmF0b3JOYW1lOyAvLyB0aGlzLnB1cmNoYXNlQW1vdW50ID0gZGF0YS5wdXJjaGFzZUFtb3VudAoKICAgICAgdGhpcy5mb3JtLmNvdXBvbkFtb3VudCA9IGRhdGEuY291cG9uQW1vdW50OwogICAgICB0aGlzLmZvcm0ub3RoZXJBbW91bnQgPSBkYXRhLm90aGVyQW1vdW50OwogICAgICB0aGlzLmZvcm0ucmVtYXJrID0gZGF0YS5yZW1hcms7CiAgICAgIHRoaXMuYXVkaXRJZCA9IGRhdGEuYXVkaXRJZDsKICAgICAgdGhpcy5hdWRpdE5hbWUgPSBkYXRhLmF1ZGl0TmFtZTsKICAgICAgdGhpcy5hdWRpdFRpbWUgPSBkYXRhLmF1ZGl0VGltZTsKICAgICAgdGhpcy5hdWRpdFN0YXR1cyA9IGRhdGEuYXVkaXRTdGF0dXM7CiAgICAgIHRoaXMubm8gPSBkYXRhLm5vOyAvLyB0aGlzLmdvb2RzX2xpc3QgPSBkYXRhLmRldGFpbHMubWFwKChpdGVtKSA9PiB7CiAgICAgIC8vICAgcmV0dXJuIHsKICAgICAgLy8gICAgIC4uLml0ZW0sCiAgICAgIC8vICAgICBidXllck51bTogaXRlbS5yZXR1cm5Pbk51bSwKICAgICAgLy8gICB9OwogICAgICAvLyB9KTsKCiAgICAgIHRoaXMuZ29vZHNfbGlzdCA9IGRhdGEuZGV0YWlsczsKICAgIH0sCgogICAgLy8gIOWIoOmZpAogICAgZGVsRGF0YShpbmRleCwgcm93KSB7CiAgICAgIGlmIChyb3cuaWQpIHsKICAgICAgICB0aGlzLmRlbGV0ZUFycmF5LnB1c2gocm93LmlkKTsKICAgICAgfQoKICAgICAgdGhpcy5nb29kc19saXN0LnNwbGljZShpbmRleCwgMSk7CiAgICB9LAoKICAgIC8vIOaUueWPmOaVsOmHjwogICAgZWRpdE51bUNoYW5nZShyb3csIGluZGV4KSB7CiAgICAgIGlmICghcm93LmJ1eWVyTnVtKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLpgIDotKfmlbDph4/kuLrnqbrvvIzpu5jorqTlj5jmiJAxIik7CiAgICAgIH0KCiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuJF9jb21tb24uZGVlcENsb25lKHRoaXMuZ29vZHNfbGlzdCk7CiAgICAgIHRhcmdldFtpbmRleF0uc3VidG90YWxQcmljZSA9IHRoaXMuJE5QLnRpbWVzKHRhcmdldFtpbmRleF0uYnV5ZXJOdW0sIHRhcmdldFtpbmRleF0uYnV5ZXJVbml0UHJpY2UpOwoKICAgICAgaWYgKHRhcmdldFtpbmRleF0ucmV0dXJuT25OdW0gPiBOdW1iZXIodGFyZ2V0W2luZGV4Lm51bV0pKSB7CiAgICAgICAgdGFyZ2V0W2luZGV4XS5yZXR1cm5Pbk51bSA9IE51bWJlcih0YXJnZXRbaW5kZXgubnVtXSk7CiAgICAgIH0KCiAgICAgIHRoaXMuZ29vZHNfbGlzdCA9IHRhcmdldDsKICAgIH0sCgogICAgLy8g6YCJ5oup5LiA5Liq5ZWG6ZO6CiAgICBzZWxTaG9wKHZhbCwgcm93KSB7CiAgICAgIHRoaXMuZm9ybS5zaG9wTmFtZSA9IHJvd1swXS5uYW1lOwogICAgfSwKCiAgICAvLyAg6I635Y+W6YeH6LSt5Y2V6K+m5oOFCiAgICBhc3luYyBnZXRQdXJjaGFzZUluZm9CeUlkKGlkLCB3YXJlaG91c2VJZCkgewogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0UHVyY2hhc2VBbmRCYXRjaEluZm9CeUlkKHsKICAgICAgICBpZDogaWQsCiAgICAgICAgd2FyZWhvdXNlSWQ6IHdhcmVob3VzZUlkCiAgICAgIH0pOwogICAgICB0aGlzLmdvb2RzX2xpc3QgPSBkYXRhLm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgaXNFcTogaXRlbS5pc0VxLAogICAgICAgICAgb3RoZXJOdW06IGl0ZW0ub3RoZXJOdW0sCiAgICAgICAgICBpZDogaXRlbS5pZCwKICAgICAgICAgIGdvb2RzSWQ6IGl0ZW0uYmFzaWNHb29kc0lkLAogICAgICAgICAgZ29vZHNDb2RlOiBpdGVtLmdvb2RzQ29kZSwKICAgICAgICAgIGdvb2RzTmFtZTogaXRlbS5nb29kc05hbWUsCiAgICAgICAgICB1bml0TmFtZTogaXRlbS51bml0TmFtZSwKICAgICAgICAgIHNrdU5hbWU6IGl0ZW0uc2t1TmFtZSwKICAgICAgICAgIHNrdUlkOiBpdGVtLnNrdUlkLAogICAgICAgICAgcHVyY2hhc2VOdW06IGl0ZW0uYnV5ZXJOdW0sCiAgICAgICAgICBidXllck51bTogaXRlbS5yZXR1cm5Pbk51bSwKICAgICAgICAgIGluTnVtOiBpdGVtLmluTnVtLAogICAgICAgICAgaW5PZk51bTogaXRlbS5pbk9mTnVtLAogICAgICAgICAgcmV0dXJuT25OdW06IGl0ZW0ucmV0dXJuT25OdW0sCiAgICAgICAgICByZXR1cm5OdW06IGl0ZW0ucmV0dXJuTnVtLAogICAgICAgICAgaW52ZW50b3J5TnVtOiBpdGVtLm51bSwKICAgICAgICAgIGJ1eWVyVW5pdFByaWNlOiBpdGVtLmJ1eWVyVW5pdFByaWNlLAogICAgICAgICAgc3VidG90YWxQcmljZTogdGhpcy4kTlAudGltZXMoaXRlbS5idXllclVuaXRQcmljZSwgaXRlbS5yZXR1cm5Pbk51bSksCiAgICAgICAgICBjb3Vwb25BbW91bnQ6IGl0ZW0uY291cG9uQW1vdW50LAogICAgICAgICAgb3RoZXJBbW91bnQ6IGl0ZW0ub3RoZXJBbW91bnQKICAgICAgICB9OwogICAgICB9KTsKICAgICAgdGhpcy5nb29kc0FyckRhdGEgPSBkYXRhLm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4geyAuLi5pdGVtLAogICAgICAgICAgbWF0ZXJpZWxOYW1lOiBpdGVtLmdvb2RzTmFtZSwKICAgICAgICAgIG1hdGVyaWVsQ29kZTogaXRlbS5nb29kc0NvZGUKICAgICAgICB9OwogICAgICB9KTsKICAgIH0sCgogICAgLy8gICDojrflj5bph4fotK3ljZXor6bmg4UgIOmHh+i0reWNlemhtemdoi3ngrnlh7vpgIDljZXihpLmlrDlop7ph4fotK3pgIDotKfljZXpobXpnaIKICAgIGFzeW5jIGdldFB1cmNoYXNlSW5mb0J5SWQyKCkgewogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0UHVyY2hhc2VJbmZvQnlJZCh0aGlzLnB1c3JjaGFzZV9pZCk7CiAgICAgIHRoaXMuZm9ybS5vcmlnaW5JZCA9IGRhdGEuaWQ7CiAgICAgIHRoaXMuZm9ybS5vcmlnaW5ObyA9IGRhdGEubm87CiAgICAgIHRoaXMuZm9ybS5zaG9wSWQgPSBkYXRhLnNob3BJZDsKICAgICAgdGhpcy5mb3JtLnNob3BOYW1lID0gZGF0YS5zaG9wTmFtZTsKICAgICAgdGhpcy5mb3JtLmJ1eWVySWQgPSBkYXRhLmJ1eWVySWQ7CiAgICAgIHRoaXMuZm9ybS5idXllck5hbWUgPSBkYXRhLmJ1eWVyTmFtZTsKICAgICAgdGhpcy5mb3JtLnJlbWFyayA9IGRhdGEucmVtYXJrOwogICAgICB0aGlzLmZvcm0uc3VwcGxpZXJJZCA9IHRoaXMuaWZNZXJjaGFudCA9PT0gNSA/IDAgOiBkYXRhLnN1cHBsaWVySWQ7CiAgICAgIHRoaXMuZm9ybS5zdXBwbGllck5hbWUgPSB0aGlzLmlmTWVyY2hhbnQgPT09IDUgPyAiIiA6IGRhdGEuc3VwcGxpZXJOYW1lOwogICAgICB0aGlzLmZvcm0ubWVyY2hhbnRJZCA9IHRoaXMuaWZNZXJjaGFudCA9PT0gNSA/IGRhdGEubWVyY2hhbnRJZCA6IDA7CiAgICAgIHRoaXMuZm9ybS5tZXJjaGFudE5hbWUgPSB0aGlzLmlmTWVyY2hhbnQgPT09IDUgPyBkYXRhLm1lcmNoYW50TmFtZSA6ICIiOwogICAgICB0aGlzLmZvcm0ud2FyZWhvdXNlTmFtZSA9IGRhdGEud2FyZWhvdXNlTmFtZTsKICAgICAgdGhpcy5mb3JtLndhcmVob3VzZUlkID0gZGF0YS53YXJlaG91c2VJZDsKICAgICAgdGhpcy5mb3JtLm9wZXJhdG9yTmFtZSA9IGRhdGEub3BlcmF0b3JOYW1lOwogICAgICB0aGlzLmZvcm0ucHVyY2hhc2VTdGF0dXMgPSB0aGlzLmlmTWVyY2hhbnQ7CiAgICAgIGF3YWl0IHRoaXMuZ2V0UHVyY2hhc2VJbmZvQnlJZCh0aGlzLnB1c3JjaGFzZV9pZCwgZGF0YS53YXJlaG91c2VJZCk7CiAgICB9LAoKICAgIC8vIOmAieaLqemHh+i0reWNlSBzZWxwdXJjaGFzZQogICAgc2VscHVyY2hhc2UodmFsKSB7CiAgICAgIGNvbnN0IGlkID0gdmFsWzBdLmlkOwogICAgICBjb25zdCB3YXJlaG91c2VJZCA9IHZhbFswXS53YXJlaG91c2VJZDsKICAgICAgdGhpcy5nZXRQdXJjaGFzZUluZm9CeUlkKGlkLCB3YXJlaG91c2VJZCk7CiAgICAgIHRoaXMuZm9ybS5vcmlnaW5JZCA9IHZhbFswXS5pZDsKICAgICAgdGhpcy5mb3JtLm9yaWdpbk5vID0gdmFsWzBdLm5vOwogICAgICB0aGlzLmZvcm0uc2hvcElkID0gdmFsWzBdLnNob3BJZDsKICAgICAgdGhpcy5mb3JtLnNob3BOYW1lID0gdmFsWzBdLnNob3BOYW1lOwogICAgICB0aGlzLmZvcm0uYnV5ZXJJZCA9IHZhbFswXS5idXllcklkOwogICAgICB0aGlzLmZvcm0uYnV5ZXJOYW1lID0gdmFsWzBdLmJ1eWVyTmFtZTsKICAgICAgdGhpcy5mb3JtLnJlbWFyayA9IHZhbFswXS5yZW1hcms7CiAgICAgIHRoaXMuZm9ybS5zdXBwbGllcklkID0gdGhpcy5pZk1lcmNoYW50ID09PSA1ID8gMCA6IHZhbFswXS5zdXBwbGllcklkOwogICAgICB0aGlzLmZvcm0uc3VwcGxpZXJOYW1lID0gdGhpcy5pZk1lcmNoYW50ID09PSA1ID8gIiIgOiB2YWxbMF0uc3VwcGxpZXJOYW1lOwogICAgICB0aGlzLmZvcm0ubWVyY2hhbnRJZCA9IHRoaXMuaWZNZXJjaGFudCA9PT0gNSA/IHZhbFswXS5tZXJjaGFudElkIDogMDsKICAgICAgdGhpcy5mb3JtLm1lcmNoYW50TmFtZSA9IHRoaXMuaWZNZXJjaGFudCA9PT0gNSA/IHZhbFswXS5tZXJjaGFudE5hbWUgOiAiIjsKICAgICAgdGhpcy5mb3JtLndhcmVob3VzZU5hbWUgPSB2YWxbMF0ud2FyZWhvdXNlTmFtZTsKICAgICAgdGhpcy5mb3JtLndhcmVob3VzZUlkID0gdmFsWzBdLndhcmVob3VzZUlkOwogICAgfSwKCiAgICAvLyDpgInmi6nljZXkuKrkvpvlupTllYYKICAgIHNlbFVuaXRTdXBwbGllcih2YWwsIGxpc3QpIHsKICAgICAgdGhpcy5mb3JtLnN1cHBsaWVyTmFtZSA9IGxpc3RbMF0udGl0bGU7CiAgICB9LAoKICAgIGFzeW5jIGdldEFsbFN0YWZmKCkgewogICAgICBjb25zdCBkYXRhID0gYXdhaXQgZ2V0QWxsU3RhZmYoewogICAgICAgIHBhZ2U6IDEsCiAgICAgICAgcGFnZVNpemU6IDk5OQogICAgICB9KTsKICAgICAgdGhpcy5wdXJjaGFzZV9saXN0ID0gZGF0YS5kYXRhOwogICAgfSwKCiAgICAvLyAg6YCJ5oup5ZWG5ZOBZ29vZERhdGHnmoTmlbDmja4KICAgIHNlbE1vcmVHb29kcyh2YWwpIHsKICAgICAgY29uc3Qgcm93ID0gdmFsLm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgZ29vZHNJZDogaXRlbS5iYXNpY0dvb2RzSWQsCiAgICAgICAgICBnb29kc0NvZGU6IGl0ZW0uZ29vZHNDb2RlLAogICAgICAgICAgZ29vZHNOYW1lOiBpdGVtLmdvb2RzTmFtZSwKICAgICAgICAgIHVuaXROYW1lOiBpdGVtLnVuaXROYW1lLAogICAgICAgICAgc2t1TmFtZTogaXRlbS5za3VOYW1lLAogICAgICAgICAgc2t1SWQ6IGl0ZW0uc2t1SWQsCiAgICAgICAgICBwdXJjaGFzZU51bTogaXRlbS5udW0sCiAgICAgICAgICBidXllck51bTogaXRlbS5udW0sCiAgICAgICAgICBudW06IGl0ZW0ubnVtLAogICAgICAgICAgYnV5ZXJVbml0UHJpY2U6IGl0ZW0uYnV5ZXJVbml0UHJpY2UsCiAgICAgICAgICBzdWJ0b3RhbFByaWNlOiB0aGlzLiROUC50aW1lcyhpdGVtLmJ1eWVyVW5pdFByaWNlLCBpdGVtLm51bSksCiAgICAgICAgICBjb3Vwb25BbW91bnQ6IGl0ZW0uY291cG9uQW1vdW50LAogICAgICAgICAgb3RoZXJBbW91bnQ6IGl0ZW0ub3RoZXJBbW91bnQKICAgICAgICB9OwogICAgICB9KTsKCiAgICAgIGlmICh0aGlzLmdvb2RzX2xpc3QubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5nb29kc19saXN0ID0gdGhpcy4kX2NvbW1vbi51bmlxdWUodGhpcy5nb29kc19saXN0LmNvbmNhdChyb3cpLCBbImdvb2RzSWQiLCAic2t1SWQiXSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5nb29kc19saXN0ID0gcm93OwogICAgICB9CiAgICB9LAoKICAgIC8vICDph4fotK3kurrlkZjnmoRpZAogICAgcHVyY2hhc2VDaGFuZ2UodmFsKSB7CiAgICAgIGNvbnN0IHN0YWZmID0gdGhpcy5wdXJjaGFzZV9saXN0LmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB2YWwpOwogICAgICB0aGlzLmZvcm0uYnV5ZXJJZCA9IHN0YWZmLmlkOwogICAgICB0aGlzLmZvcm0uYnV5ZXJOYW1lID0gc3RhZmYuc3RhZmZOYW1lOwogICAgfSwKCiAgICAvLyAg6YCJ5oup5LuT5bqT55qEaWQKICAgIHdhcmVob3VzZUNoYW5nZSh2YWwpIHsKICAgICAgY29uc3Qgd2FyZWhvdXNlID0gdGhpcy5zdG9ja19saXN0LmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB2YWwpOwogICAgICB0aGlzLmZvcm0ud2FyZWhvdXNlSWQgPSB3YXJlaG91c2UuaWQ7CiAgICAgIHRoaXMuZm9ybS53YXJlaG91c2VOYW1lID0gd2FyZWhvdXNlLndhcmVob3VzZU5hbWU7CiAgICB9LAoKICAgIC8vIOWQiOiuoQogICAgZ2V0U3VtbWFyaWVzKHBhcmFtKSB7CiAgICAgIHJldHVybiB0aGlzLiRfY29tbW9uLmdldFN1bW1hcmllcyhwYXJhbSwgWyLpgIDotKfmlbDph48iLCAi5bCP6K6h6YeR6aKdIl0pOwogICAgfSAvLyBibHVyTnVtKGluZGV4LHJvdykgewogICAgLy8gICBpZiAocm93LnJldHVybk9uTnVtID4gcm93Lm51bSkgewogICAgLy8gICB9CiAgICAvLyAgIHRoaXMuZ29vZHNfbGlzdC5yZXR1cm5Pbk51bSA9IE51bWJlcihudW0pOwogICAgLy8gfSwKCgogIH0KfTs="},null]}