{"remainingRequest":"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\\order\\manageO\\OrderAdd.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\order\\manageO\\OrderAdd.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\\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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IFJlZ2lvblNlbGVjdCBmcm9tICJAL2NvbXBvbmVudC9jb21tb24vUmVnaW9uU2VsZWN0SlNPTiI7CmltcG9ydCBDb25kaXRpb25TZWxHb29kcyBmcm9tICJAL2NvbXBvbmVudC9jb21tb24vQ29uZGl0aW9uU2VsR29vZHMiOwppbXBvcnQgeyBnZXRPcmRlckluZm9CeUlkLCBuZXdPcmRlckVkaXQsIG5ld0FkZE9yZGVyIH0gZnJvbSAiQC9hcGkvT3JkZXIiOwppbXBvcnQgeyBhZGRTaGlwcGluZ0FkZHJlc3MsIGdldEFsbFNoaXBwaW5nQWRkcmVzcyB9IGZyb20gIkAvYXBpL0N1c3RvbWVyIjsKaW1wb3J0IHsgZ2V0QWxsRGVsaXZlcnksIGdldEFsbFNlbGZFeHByZXNzUnVsZSB9IGZyb20gIkAvYXBpL1N5c3RlbSI7CmltcG9ydCB7IGFkZFBhdXNlU2F2ZSwgZ2V0UGF1c2VTYXZlLCBkZWxQYXVzZVNhdmUgfSBmcm9tICJAL2FwaS9jb21tb24iOwppbXBvcnQgQWNjb3VudFR5cGUgZnJvbSAiQC92aWV3cy9GaW5hbmNlL0FjY291bnRUeXBlIjsKaW1wb3J0IFNlbGVjdEN1c3RvbWVyIGZyb20gIkAvY29tcG9uZW50L2NvbW1vbi9TZWxlY3RDdXN0b21lci52dWUiOwpjb25zdCBnb29kc0l0ZW0gPSB7CiAgc2t1SWQ6IDAsCiAgY29kZTogIiIsCiAgZ29vZHNJZDogMCwKICBidXlOdW06IDEsCiAgc2hvcElkOiAwLAogIGJhc2ljR29vZHNJZDogMCwKICBnb29kc05hbWU6ICIiLAogIHVuaXROYW1lOiAiIiwKICBzcGVjR3JvdXA6ICIiLAogIGludmVudG9yeTogMCwKICBzYWxlUHJpY2U6IDAsCiAgc3ViTW9uZXk6IDAsCiAgc2hvcE5hbWU6ICIiLAogIGdvb2RzSW1hZ2VzOiAiIiwKICBicmFuZElkOiAwLAogIGJyYW5kTmFtZTogIiIsCiAgY2F0ZWdvcnlQYXRoOiAiIiwKICBjYXRlZ29yeU5hbWU6ICIiLAogIGNvbnZlcnNpb246ICIiLAogIGJhckNvZGU6ICIiLAogIHN0b3JhZ2VDb2RlOiAiIiwKICB3YXJlaG91c2VJZDogMCwKICBvcmlnaW5QcmljZTogIiIsCiAgc3BlY1R5cGU6ICIiCn07CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiT3JkZXJBZGQiLAogIGNvbXBvbmVudHM6IHsKICAgIFNlbGVjdEN1c3RvbWVyLAogICAgUmVnaW9uU2VsZWN0LAogICAgQ29uZGl0aW9uU2VsR29vZHMsCiAgICBBY2NvdW50VHlwZQogIH0sCgogIGRhdGEoKSB7CiAgICBjb25zdCB2YWxpZGF0ZU1vYmlsZSA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgY29uc3QgcmUgPSAvXjFbMzQ1Njc4OV1cZHs5fSQvOyAvLyDmraPliJnooajovr7lvI8KCiAgICAgIGlmICh2YWx1ZSA9PT0gIiIpIHsKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoKSk7CiAgICAgIH0gZWxzZSBpZiAoIXJlLnRlc3QodmFsdWUpKSB7CiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCLmiYvmnLrlj7fmoLzlvI/mnInor6/vvIzor7fph43mlrDovpPlhaUhIikpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0KICAgIH07CgogICAgY29uc3QgdmFsaWRhdGVBZGRyZXNzSWQgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7CiAgICAgIGlmICh0aGlzLmFkZF9mb3JtLmRlbGl2ZXJ5VHlwZSAhPT0gMikgewogICAgICAgIGlmICghdmFsdWUpIHsKICAgICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36YCJ5oup5pS26LSn5L+h5oGvIikpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9OwoKICAgIHJldHVybiB7CiAgICAgIGFkZHJlc3NfbmFtZTogIiIsCiAgICAgIHdhcmVob3VzZTogIiIsCiAgICAgIHdhcmVob3VzZV9zaG93OiBmYWxzZSwKICAgICAgYWNjb3VudF9zaG9wSWQ6IDAsCiAgICAgIGFjY291bnRfc2hvdzogZmFsc2UsCiAgICAgIC8vIOe7k+eul+i0puaItwogICAgICAvLyDmlrDlop7lnLDlnYAKICAgICAgQWRkQWRkcmVzczogZmFsc2UsCiAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICB1c2VyQ2VudGVySWQ6ICIiLAogICAgICBkZWxpdmVyeVR5cGVfbGlzdDogW10sCiAgICAgIHNhbGVPcmRlckdvb2RzOiBbXSwKICAgICAgLy/llYblk4HmuIXljZUKICAgICAgZ2l2ZWF3YXlHb29kczogW10sCiAgICAgIC8v6LWg5ZOB5ZOB5riF5Y2VCiAgICAgIGFkZF9ydWxlczogewogICAgICAgIGN1c3RvbWVySWQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLor7fpgInmi6notK3kubDlrqLmiLciLAogICAgICAgICAgdHJpZ2dlcjogImNoYW5nZSIKICAgICAgICB9XSwKICAgICAgICBhZGRyZXNzSWQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVBZGRyZXNzSWQsCiAgICAgICAgICB0cmlnZ2VyOiAiY2hhbmdlIgogICAgICAgIH1dLAogICAgICAgIGRlbGl2ZXJ5VHlwZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuivt+mAieaLqemFjemAgeaWueW8jyIsCiAgICAgICAgICB0cmlnZ2VyOiAiY2hhbmdlIgogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIGZvcm1fcnVsZXM6IHsKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi6K+35aGr5YaZ5pS26LSn5Lq6IiwKICAgICAgICAgIHRyaWdnZXI6ICJjaGFuZ2UiCiAgICAgICAgfV0sCiAgICAgICAgYWRkcmVzczogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuivt+i+k+WFpeivpue7huWcsOWdgCIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICBtb2JpbGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLor7floavlhpnogZTns7vmlrnlvI8iLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfSwgewogICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0ZU1vYmlsZSwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIHByb3ZpbmNlQ29kZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuivt+mAieaLqeaUtui0p+WcsOWdgCIsCiAgICAgICAgICB0cmlnZ2VyOiAiY2hhbmdlIgogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIG1vYmlsZTogIiIsCiAgICAgIGFkZHJlc3M6ICIiLAoKICAgICAgLyoKICAgICAgKgogICAgICAqICdpb3MnICAgICAgICAgPT4gMSwgLy9pb3MKICAgICAgICAnYW5kcm9pZCcgICAgID0+IDIsLy/lronljZMKICAgICAgICAnbWluaVByb2dyYW0nID0+IDMsLy/lsI/nqIvluo8KICAgICAgICAnbWFuYWdlJyAgICAgID0+IDQsIC8v5ZCO5Y+w5Yib5bu6CiAgICAgICAgJ0g1JyAgICAgICAgICA9PiA1LCAvL0g16aG16Z2iCiAgICAgICAgJ1BjJyAgICAgICAgICA9PiA2LCAvL1Bj6aG16Z2iCiAgICAgICogKi8KICAgICAgYWRkcmVzc19saXN0OiBbXSwKICAgICAgLy/mlLbotKflnLDlnYDliJfooagKICAgICAgYWNjb3VudE5hbWU6ICIiLAogICAgICBhZGRfZm9ybTogewogICAgICAgIGN1cnJlbnRBY2NvdW50TmFtZTogIiIsCiAgICAgICAgcmVjZWl2ZWRNb25leTogMCwKICAgICAgICBhY2NvdW50TGlzdDogW10sCiAgICAgICAgZGVsaXZlcnlUeXBlOiAiIiwKICAgICAgICAvL+mFjemAgeaWueW8jwogICAgICAgIGN1c3RvbWVyTmFtZTogIiIsCiAgICAgICAgLy/lrqLmiLflkI3np7AKICAgICAgICBjdXN0b21lcklkOiAiIiwKICAgICAgICByZW1hcms6ICIiLAogICAgICAgIC8vIOWkh+azqAogICAgICAgIGFkZHJlc3NJZDogIiIsCiAgICAgICAgLy8g5pS26LSn5Zyw5Z2ACiAgICAgICAgc2VsZlJ1bGVJZDogW10sCiAgICAgICAgc2VsZlJ1bGVEYXRhOiB7fSwKICAgICAgICBwYXlUeXBlOiAzLAogICAgICAgIC8v5pSv5LuY5pa55byPCiAgICAgICAgcGFydGljdWxhcnNUeXBlOiAiIiAvL+eJqea1geivpuaDhQoKICAgICAgfSwKICAgICAgdG90YWxSZWR1Y2VNb25leTogMCwKICAgICAgLy8g5LyY5oOg6YeR6aKdCiAgICAgIC8vIOaWsOWinuWcsOWdgAogICAgICByZWdpb25OYW1lOiBbXSwKICAgICAgLy/mlrDlop7mlLbotKflnLDlnYAKICAgICAgZm9ybTogewogICAgICAgIG5hbWU6ICIiLAogICAgICAgIHByb3ZpbmNlQ29kZTogIiIsCiAgICAgICAgY2l0eUNvZGU6ICIiLAogICAgICAgIGRpc3RyaWN0Q29kZTogIiIsCiAgICAgICAgYWRkcmVzczogIiIsCiAgICAgICAgbW9iaWxlOiAiIiwKICAgICAgICBkZWZhdWx0U3RhdHVzOiA1CiAgICAgIH0sCiAgICAgIHBhZ2VOYW1lOiAiIiwKICAgICAgb3JkZXJJZDogIiIsCiAgICAgIGdvb2RzX2luZGV4OiAwLAogICAgICBnaXZlX2dvb2RzX2luZGV4OiAwLAogICAgICAvLyDotaDlk4HkuIvmoIcKICAgICAgc3BlY19jaGVjazogW10sCiAgICAgIC8vIOWxnuaApwogICAgICBzZWxmX2V4cHJlc3NfbGlzdDogW10sCiAgICAgIC8v6Ieq5o+Q54K5CiAgICAgIG9yZGVyX2RldGFpbDoge30sCiAgICAgIC8v6K6i5Y2V6K+m5oOFCiAgICAgIGNoYW5nZV9udW06IDAsCiAgICAgIHBheVdheTogMywKICAgICAgLy/mlK/ku5jmlrnlvI8KICAgICAgb3BlcmF0b3JOYW1lOiAiIiwKICAgICAgc2hvcF9pZDogIiIsCiAgICAgIHBheVR5cGVfbGlzdDogW3sKICAgICAgICBsYWJlbDogIui0p+WIsOS7mOasviIsCiAgICAgICAgdmFsdWU6IDMKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAi5YWI5qy+5ZCO6LSnIiwKICAgICAgICB2YWx1ZTogOQogICAgICB9XSwKICAgICAgcGFydGljdWxhcnNUeXBlX2xpc3Q6IFt7CiAgICAgICAgbGFiZWw6ICLnianmtYHkuJPnur8iLAogICAgICAgIHZhbHVlOiA0CiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogIueJqea1geS4k+i9piIsCiAgICAgICAgdmFsdWU6IDUKICAgICAgfV0KICAgIH07CiAgfSwKCiAgY29tcHV0ZWQ6IHsKICAgIC8vIOWVhuWTgeaAu+minQogICAgb3JkZXJBbW91bnQoKSB7CiAgICAgIGlmICghdGhpcy5zYWxlT3JkZXJHb29kcy5sZW5ndGgpIHsKICAgICAgICByZXR1cm4gMDsKICAgICAgfSBlbHNlIGlmICh0aGlzLnNhbGVPcmRlckdvb2RzLmxlbmd0aCA9PT0gMSkgewogICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5zYWxlT3JkZXJHb29kc1swXS5zdWJNb25leSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbGV0IHN1bSA9IDA7CiAgICAgICAgdGhpcy5zYWxlT3JkZXJHb29kcy5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgc3VtID0gdGhpcy4kTlAucGx1cyhzdW0sIE51bWJlcihpdGVtLnN1Yk1vbmV5KSB8fCAwKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gc3VtOwogICAgICB9CiAgICB9LAoKICAgIHBheU1vbmV5KCkgewogICAgICByZXR1cm4gdGhpcy4kTlAubWludXModGhpcy5vcmRlckFtb3VudCB8fCAwLCB0aGlzLnRvdGFsUmVkdWNlTW9uZXkgfHwgMCk7CiAgICB9CgogIH0sCgogIGFzeW5jIGNyZWF0ZWQoKSB7CiAgICAvLyDphY3pgIHmlrnlvI8KICAgIGF3YWl0IHRoaXMuZ2V0QWxsRGVsaXZlcnkoKTsgLy8g6I635Y+W6Ieq5o+Q54K5CgogICAgYXdhaXQgdGhpcy5nZXRBbGxTZWxmRXhwcmVzc1J1bGUoKTsKICAgIHRoaXMucGFnZU5hbWUgPSB0aGlzLiRyb3V0ZS5uYW1lOwogICAgdGhpcy5vcmRlcklkID0gdGhpcy4kcm91dGUucGFyYW1zLmlkOwogICAgdGhpcy51c2VyQ2VudGVySWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMudXNlckNlbnRlcklkOwogICAgdGhpcy5hZGRfZm9ybS5jdXJyZW50QWNjb3VudE5hbWUgPSB0aGlzLnVzZXJOYW1lOwoKICAgIGlmICh0aGlzLm9yZGVySWQpIHsKICAgICAgLy8g6I635Y+W6K6i5Y2V6K+m5oOFCiAgICAgIGF3YWl0IHRoaXMuZ2V0T3JkZXJJbmZvQnlJZCgpOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5wdXNoR29vZHMoKTsgLy8g6I635Y+W5pqC5a2Y5L+h5oGvCgogICAgICBhd2FpdCB0aGlzLmdldFBhdXNlU2F2ZSgpOwogICAgfQogIH0sCgogIG1ldGhvZHM6IHsKICAgIHB1c2hHb29kcygpIHsKICAgICAgdGhpcy5zYWxlT3JkZXJHb29kcyA9IFtdOwoKICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxOyBpKyspIHsKICAgICAgICB0aGlzLnNhbGVPcmRlckdvb2RzLnB1c2godGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUoZ29vZHNJdGVtKSk7CiAgICAgIH0KICAgIH0sCgogICAgLy8g5ou86Z+z5ZWG5ZOB5ZCN56ewCiAgICBnb29kc1Zpc2libGVDaGFuZ2UodmlzaWJsZSwgaW5kZXgpIHsKICAgICAgaWYgKHZpc2libGUpIHsKICAgICAgICB0aGlzLmdvb2RzX2luZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0sCgogICAgZ2l2ZWF3YXlWaXNpYmxlQ2hhbmdlKHZpc2libGUsIGluZGV4KSB7CiAgICAgIGlmICh2aXNpYmxlKSB7CiAgICAgICAgdGhpcy5naXZlX2dvb2RzX2luZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0sCgogICAgc3BlY1NlbENvbmZpcm0ocGFyYW1zKSB7CiAgICAgIGNvbnNvbGUubG9nKHBhcmFtcy5nb29kc0QpOwoKICAgICAgaWYgKHBhcmFtcy5ub3dfZ29vZHNfZGF0YS5pc0VxID09PSA1KSB7CiAgICAgICAgY29uc3QgZ29vZHMgPSB0aGlzLnNhbGVPcmRlckdvb2RzLmZpbmQoaXRlbSA9PiB7CiAgICAgICAgICByZXR1cm4gaXRlbS5nb29kc0lkID09PSBwYXJhbXMubm93X2dvb2RzX2RhdGEuaWQ7CiAgICAgICAgfSk7CgogICAgICAgIGlmIChnb29kcykgewogICAgICAgICAgY29uc3QgcmVwZWF0R29vZHMgPSBwYXJhbXMuZ29vZHNELmZpbmQoZ2YgPT4gZ2Yuc3BlYy51bml0TmFtZSAhPT0gZ29vZHMudW5pdE5hbWUpOwoKICAgICAgICAgIGlmIChyZXBlYXRHb29kcykgewogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoYOOAkCR7cGFyYW1zLm5vd19nb29kc19kYXRhLnRpdGxlfeOAkeS4uuaKhOeggeWVhuWTge+8jOWPquiDvemAieaLqeS4gOS4quWNleS9jei/m+ihjOS4i+WNlWApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGxldCB1bml0SWQgPSBwYXJhbXMuZ29vZHNEWzBdLnNwZWMudW5pdElkOwogICAgICAgICAgbGV0IGlzUmVwZWF0ID0gcGFyYW1zLmdvb2RzRC5ldmVyeShpdGVtID0+IGl0ZW0uc3BlYy51bml0SWQgPT09IHVuaXRJZCk7CgogICAgICAgICAgaWYgKCFpc1JlcGVhdCkgewogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoYOOAkCR7cGFyYW1zLm5vd19nb29kc19kYXRhLnRpdGxlfeOAkeS4uuaKhOeggeWVhuWTge+8jOWPquiDvemAieaLqeS4gOS4quWNleS9jei/m+ihjOS4i+WNlWApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICBjb25zdCBnb29kc0RhdGEgPSBwYXJhbXMuZ29vZHNELm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgc2t1SWQ6IGl0ZW0uc2t1SWQsCiAgICAgICAgICBjb2RlOiBwYXJhbXMubm93X2dvb2RzX2RhdGEuY29kZSwKICAgICAgICAgIGdvb2RzSWQ6IHBhcmFtcy5ub3dfZ29vZHNfZGF0YS5pZCwKICAgICAgICAgIGJ1eU51bTogMSwKICAgICAgICAgIHNob3BJZDogcGFyYW1zLm5vd19nb29kc19kYXRhLnNob3BJZCwKICAgICAgICAgIGJhc2ljR29vZHNJZDogcGFyYW1zLm5vd19nb29kc19kYXRhLmJhc2ljR29vZHNJZCwKICAgICAgICAgIGdvb2RzTmFtZTogcGFyYW1zLm5vd19nb29kc19kYXRhLnRpdGxlLAogICAgICAgICAgdW5pdE5hbWU6IGl0ZW0uc3BlYy51bml0TmFtZSwKICAgICAgICAgIHNwZWNHcm91cDogaXRlbS5zcGVjLnNwZWNHcm91cCwKICAgICAgICAgIGludmVudG9yeTogaXRlbS5zcGVjLmludmVudG9yeSwKICAgICAgICAgIHNhbGVQcmljZTogaXRlbS5zcGVjLnNhbGVQcmljZSwKICAgICAgICAgIHN1Yk1vbmV5OiBpdGVtLnNwZWMuc2FsZVByaWNlLAogICAgICAgICAgc2hvcE5hbWU6IHBhcmFtcy5ub3dfZ29vZHNfZGF0YS5zaG9wTmFtZSwKICAgICAgICAgIGdvb2RzSW1hZ2VzOiBpdGVtLnNwZWMuc3BlY0ltYWdlIHx8IHBhcmFtcy5ub3dfZ29vZHNfZGF0YS5pbWFnZXNbMF0sCiAgICAgICAgICBicmFuZElkOiBwYXJhbXMubm93X2dvb2RzX2RhdGEuYnJhbmRJZCwKICAgICAgICAgIGJyYW5kTmFtZTogcGFyYW1zLm5vd19nb29kc19kYXRhLmJyYW5kTmFtZSwKICAgICAgICAgIGNhdGVnb3J5UGF0aDogcGFyYW1zLm5vd19nb29kc19kYXRhLmNhdGVnb3J5UGF0aCwKICAgICAgICAgIGNhdGVnb3J5TmFtZTogcGFyYW1zLm5vd19nb29kc19kYXRhLmNhdGVnb3J5TmFtZSwKICAgICAgICAgIGNvbnZlcnNpb246IGl0ZW0uc3BlYy5jb252ZXJzaW9uLAogICAgICAgICAgYmFyQ29kZTogaXRlbS5zcGVjLmJhckNvZGUsCiAgICAgICAgICBzdG9yYWdlQ29kZTogcGFyYW1zLm5vd19nb29kc19kYXRhLnN0b3JhZ2UsCiAgICAgICAgICB3YXJlaG91c2VJZDogcGFyYW1zLm5vd19nb29kc19kYXRhLndhcmVob3VzZUlkLAogICAgICAgICAgb3JpZ2luUHJpY2U6IGl0ZW0uc3BlYy5vcmlnaW5QcmljZSwKICAgICAgICAgIHNwZWNUeXBlOiBpdGVtLnNwZWMuc3BlY1R5cGUsCiAgICAgICAgICBzdXBwbGllcklkOiBpdGVtLnN1cHBsaWVySWQsCiAgICAgICAgICBzdXBwbGllck5hbWU6IGl0ZW0uc3VwcGxpZXJOYW1lLAogICAgICAgICAgaXNFcTogaXRlbS5pc0VxLAogICAgICAgICAgaXNNYXN0ZXI6IGl0ZW0uc3BlYy5pc01hc3RlciwKICAgICAgICAgIGlzRGlzdHJpYnV0aW9uOiBpdGVtLmlzRGlzdHJpYnV0aW9uLAogICAgICAgICAgbWVyY2hhbnRJZDogaXRlbS5tZXJjaGFudElkCiAgICAgICAgfTsKICAgICAgfSk7IC8vIHRoaXMuc2FsZU9yZGVyR29vZHMgPSB0aGlzLiRfY29tbW9uLnVuaXF1ZSgKICAgICAgLy8gICBnb29kc0RhdGEuY29uY2F0KHRoaXMuc2FsZU9yZGVyR29vZHMpLAogICAgICAvLyAgIFsiZ29vZHNJZCIsICJza3VJZCJdCiAgICAgIC8vICk7CgogICAgICB0aGlzLnNhbGVPcmRlckdvb2RzID0gZ29vZHNEYXRhLmNvbmNhdCh0aGlzLnNhbGVPcmRlckdvb2RzKTsKICAgIH0sCgogICAgLy8g6LWg5ZOBCiAgICBnaXZlYXdheVNwZWNTZWxDb25maXJtKHBhcmFtcykgewogICAgICBjb25zdCBnb29kc0RhdGEgPSBwYXJhbXMuZ29vZHNELm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgc2t1SWQ6IGl0ZW0uc2t1SWQsCiAgICAgICAgICBjb2RlOiBwYXJhbXMubm93X2dvb2RzX2RhdGEuY29kZSwKICAgICAgICAgIGdvb2RzSWQ6IHBhcmFtcy5ub3dfZ29vZHNfZGF0YS5pZCwKICAgICAgICAgIGJ1eU51bTogMSwKICAgICAgICAgIHNob3BJZDogcGFyYW1zLm5vd19nb29kc19kYXRhLnNob3BJZCwKICAgICAgICAgIGJhc2ljR29vZHNJZDogcGFyYW1zLm5vd19nb29kc19kYXRhLmJhc2ljR29vZHNJZCwKICAgICAgICAgIGdvb2RzTmFtZTogcGFyYW1zLm5vd19nb29kc19kYXRhLnRpdGxlLAogICAgICAgICAgdW5pdE5hbWU6IGl0ZW0uc3BlYy51bml0TmFtZSwKICAgICAgICAgIHNwZWNHcm91cDogaXRlbS5zcGVjLnNwZWNHcm91cCwKICAgICAgICAgIGludmVudG9yeTogaXRlbS5zcGVjLmludmVudG9yeSwKICAgICAgICAgIHNhbGVQcmljZTogaXRlbS5zcGVjLnNhbGVQcmljZSwKICAgICAgICAgIHN1Yk1vbmV5OiBpdGVtLnNwZWMuc2FsZVByaWNlLAogICAgICAgICAgc2hvcE5hbWU6IHBhcmFtcy5ub3dfZ29vZHNfZGF0YS5zaG9wTmFtZSwKICAgICAgICAgIGdvb2RzSW1hZ2VzOiBpdGVtLnNwZWMuc3BlY0ltYWdlIHx8IHBhcmFtcy5ub3dfZ29vZHNfZGF0YS5pbWFnZXNbMF0sCiAgICAgICAgICBicmFuZElkOiBwYXJhbXMubm93X2dvb2RzX2RhdGEuYnJhbmRJZCwKICAgICAgICAgIGJyYW5kTmFtZTogcGFyYW1zLm5vd19nb29kc19kYXRhLmJyYW5kTmFtZSwKICAgICAgICAgIGNhdGVnb3J5UGF0aDogcGFyYW1zLm5vd19nb29kc19kYXRhLmNhdGVnb3J5UGF0aCwKICAgICAgICAgIGNhdGVnb3J5TmFtZTogcGFyYW1zLm5vd19nb29kc19kYXRhLmNhdGVnb3J5TmFtZSwKICAgICAgICAgIGNvbnZlcnNpb246IGl0ZW0uc3BlYy5jb252ZXJzaW9uLAogICAgICAgICAgYmFyQ29kZTogaXRlbS5zcGVjLmJhckNvZGUsCiAgICAgICAgICBzdG9yYWdlQ29kZTogcGFyYW1zLm5vd19nb29kc19kYXRhLnN0b3JhZ2UsCiAgICAgICAgICB3YXJlaG91c2VJZDogcGFyYW1zLm5vd19nb29kc19kYXRhLndhcmVob3VzZUlkLAogICAgICAgICAgb3JpZ2luUHJpY2U6IGl0ZW0uc3BlYy5vcmlnaW5QcmljZSwKICAgICAgICAgIHNwZWNUeXBlOiBpdGVtLnNwZWMuc3BlY1R5cGUsCiAgICAgICAgICBzdXBwbGllcklkOiBpdGVtLnN1cHBsaWVySWQsCiAgICAgICAgICBzdXBwbGllck5hbWU6IGl0ZW0uc3VwcGxpZXJOYW1lLAogICAgICAgICAgaXNFcTogaXRlbS5pc0VxLAogICAgICAgICAgaXNNYXN0ZXI6IGl0ZW0uc3BlYy5pc01hc3RlciwKICAgICAgICAgIGlzRGlzdHJpYnV0aW9uOiBpdGVtLmlzRGlzdHJpYnV0aW9uLAogICAgICAgICAgbWVyY2hhbnRJZDogaXRlbS5tZXJjaGFudElkCiAgICAgICAgfTsKICAgICAgfSk7CiAgICAgIHRoaXMuZ2l2ZWF3YXlHb29kcyA9IGdvb2RzRGF0YS5jb25jYXQodGhpcy5naXZlYXdheUdvb2RzKTsKICAgIH0sCgogICAgc2VsZWN0U2VsR29vZHMoaWQpIHsKICAgICAgdGhpcy5zcGVjX2NoZWNrID0gdGhpcy5zYWxlT3JkZXJHb29kcy5maWx0ZXIoaXRlbSA9PiBpdGVtLmdvb2RzSWQgPT09IGlkKS5tYXAoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIGl0ZW0uc2t1SWQ7CiAgICAgIH0pOwogICAgfSwKCiAgICBnaXZlYXdheVNlbGVjdFNlbEdvb2RzKGlkKSB7CiAgICAgIHRoaXMuc3BlY19jaGVjayA9IHRoaXMuZ2l2ZWF3YXlHb29kcy5maWx0ZXIoaXRlbSA9PiBpdGVtLmdvb2RzSWQgPT09IGlkKS5tYXAoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIGl0ZW0uc2t1SWQ7CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyDmlrDlop7kuIDmnaHllYblk4EKICAgIGFkZExpc3RHb29kcygpIHsKICAgICAgdGhpcy5zYWxlT3JkZXJHb29kcy5wdXNoKHRoaXMuJF9jb21tb24uZGVlcENsb25lKGdvb2RzSXRlbSkpOwogICAgfSwKCiAgICAvLyDmlrDlop7kuIDmnaHotaDlk4EKICAgIGdpdmVhd2F5QWRkTGlzdEdvb2RzKCkgewogICAgICB0aGlzLmdpdmVhd2F5R29vZHMucHVzaCh0aGlzLiRfY29tbW9uLmRlZXBDbG9uZShnb29kc0l0ZW0pKTsKICAgIH0sCgogICAgLy8g5paw5aKe5Zyw5Z2ACiAgICBhc3luYyBhZGRTaGlwcGluZ0FkZHJlc3MoKSB7CiAgICAgIGlmICghdGhpcy5mb3JtLm5hbWUudHJpbSgpIHx8ICF0aGlzLnJlZ2lvbk5hbWUgfHwgIXRoaXMuZm9ybS5tb2JpbGUudHJpbSgpIHx8ICF0aGlzLmZvcm0uYWRkcmVzcy50cmltKCkpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIumDveaYr+W/heWhq+mhueS4jeiDveS4uuepuiIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGFkZFNoaXBwaW5nQWRkcmVzcyh7IC4uLnRoaXMuZm9ybSwKICAgICAgICBjdXN0b21lcklkOiB0aGlzLmFkZF9mb3JtLmN1c3RvbWVySWQKICAgICAgfSk7CiAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICBtZXNzYWdlOiAi5re75Yqg5oiQ5YqfIgogICAgICB9KTsKICAgICAgdGhpcy5BZGRBZGRyZXNzID0gZmFsc2U7CiAgICAgIGF3YWl0IHRoaXMuZ2V0QWxsU2hpcHBpbmdBZGRyZXNzKHRoaXMuYWRkX2Zvcm0uY3VzdG9tZXJJZCk7CiAgICB9LAoKICAgIHJlZ2lvbkNoYW5nZSh2YWwsIHBhcmFtcykgewogICAgICB0aGlzLmZvcm0ucHJvdmluY2VDb2RlID0gdmFsWzBdOwogICAgICB0aGlzLmZvcm0uY2l0eUNvZGUgPSB2YWxbMV07CiAgICAgIHRoaXMuZm9ybS5kaXN0cmljdENvZGUgPSB2YWxbMl07CiAgICB9LAoKICAgIC8vIOWFs+mXreW8ueeqlwogICAgaGFuZGxlQ2xvc2UoKSB7CiAgICAgIHRoaXMuZm9ybSA9IHt9OwogICAgfSwKCiAgICAvLyDojrflj5borqLljZXor6bmg4UKICAgIGFzeW5jIGdldE9yZGVySW5mb0J5SWQoKSB7CiAgICAgIGNvbnN0IHsKICAgICAgICBkYXRhCiAgICAgIH0gPSBhd2FpdCBnZXRPcmRlckluZm9CeUlkKHRoaXMuJHJvdXRlLnBhcmFtcy51c2VyQ2VudGVySWQsIHsKICAgICAgICBvcmRlcklkOiB0aGlzLm9yZGVySWQKICAgICAgfSk7CiAgICAgIHRoaXMub3JkZXJfZGV0YWlsID0gZGF0YTsKICAgICAgdGhpcy5hZGRfZm9ybSA9IHsKICAgICAgICBhY2NvdW50TGlzdDogZGF0YS5hY2NvdW50TGlzdCB8fCBbXSwKICAgICAgICBkZWxpdmVyeVR5cGU6IGRhdGEuZGVsaXZlcnlUeXBlLAogICAgICAgIC8v6YWN6YCB5pa55byPCiAgICAgICAgY3VzdG9tZXJOYW1lOiBkYXRhLmN1c3RvbWVyTmFtZSwKICAgICAgICAvL+WuouaIt+WQjeensAogICAgICAgIGN1c3RvbWVySWQ6IGRhdGEuY3VzdG9tZXJJZCwKICAgICAgICByZW1hcms6IGRhdGEucmVtYXJrLAogICAgICAgIC8vIOWkh+azqAogICAgICAgIGFkZHJlc3NJZDogZGF0YS5yZWNlaXZlRGF0YS5pZCwKICAgICAgICAvLyDmlLbotKflnLDlnYAKICAgICAgICBzZWxmUnVsZUlkOiBkYXRhLnNlbGZSdWxlSWQsCiAgICAgICAgc2VsZlJ1bGVEYXRhOiBkYXRhLnNlbGZSdWxlRGF0YSwKICAgICAgICByZWNlaXZlZE1vbmV5OiBkYXRhLnJlY2VpdmVkTW9uZXksCiAgICAgICAgcGF5VHlwZTogTnVtYmVyKGRhdGEucGF5VHlwZSkKICAgICAgfTsKCiAgICAgIGlmICh0aGlzLmFkZF9mb3JtLmRlbGl2ZXJ5VHlwZSA9PT0gNCkgewogICAgICAgIHRoaXMuYWRkX2Zvcm0uZGVsaXZlcnlUeXBlID0gMzsKICAgICAgICB0aGlzLmFkZF9mb3JtLnBhcnRpY3VsYXJzVHlwZSA9IDQ7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLmFkZF9mb3JtLmRlbGl2ZXJ5VHlwZSA9PT0gNSkgewogICAgICAgIHRoaXMuYWRkX2Zvcm0uZGVsaXZlcnlUeXBlID0gMzsKICAgICAgICB0aGlzLmFkZF9mb3JtLnBhcnRpY3VsYXJzVHlwZSA9IDU7CiAgICAgIH0KCiAgICAgIGlmIChkYXRhLnJlY2VpdmVEYXRhLmFyZWEpIHsKICAgICAgICB0aGlzLmFkZHJlc3NfbmFtZSA9IGRhdGEucmVjZWl2ZURhdGEucmVhbE5hbWUgKyAiICIgKyBkYXRhLnJlY2VpdmVEYXRhLm1vYmlsZSArICIgIiArIGRhdGEucmVjZWl2ZURhdGEuYXJlYS5wcm92aW5jZU5hbWUgKyAiLSIgKyBkYXRhLnJlY2VpdmVEYXRhLmFyZWEuY2l0eU5hbWUgKyAiLSIgKyBkYXRhLnJlY2VpdmVEYXRhLmFyZWEuZGlzdHJpY3ROYW1lICsgIi0iICsgZGF0YS5yZWNlaXZlRGF0YS5hZGRyZXNzOwogICAgICB9CgogICAgICBpZiAoZGF0YS5hY2NvdW50TGlzdCAmJiBkYXRhLmFjY291bnRMaXN0Lmxlbmd0aCkgewogICAgICAgIHRoaXMuYWNjb3VudE5hbWUgPSBkYXRhLmFjY291bnRMaXN0WzBdLmFjY291bnROYW1lOwogICAgICB9CgogICAgICB0aGlzLmFkZF9mb3JtLmN1cnJlbnRBY2NvdW50TmFtZSA9IGRhdGEuY3VycmVudEFjY291bnROYW1lOwogICAgICB0aGlzLnRvdGFsUmVkdWNlTW9uZXkgPSBkYXRhLnRvdGFsUmVkdWNlTW9uZXkgfHwgMDsKICAgICAgdGhpcy51c2VyQ2VudGVySWQgPSBkYXRhLnVzZXJDZW50ZXJJZDsKICAgICAgdGhpcy5zYWxlT3JkZXJHb29kcyA9IGRhdGEuZ29vZHNEYXRhLm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4geyAuLi5pdGVtLAogICAgICAgICAgc3ViTW9uZXk6IGl0ZW0udG90YWxNb25leSwKICAgICAgICAgIHNhbGVQcmljZTogaXRlbS5wcmljZSwKICAgICAgICAgIGNvZGU6IGl0ZW0uZ29vZHNDb2RlLAogICAgICAgICAgZ29vZHNJbWFnZXM6IGl0ZW0uaW1hZ2VzWzBdCiAgICAgICAgfTsKICAgICAgfSk7CgogICAgICBpZiAoZGF0YS5jdXN0b21lcklkKSB7CiAgICAgICAgLy8g6I635Y+W5a6i5oi35pS26LSn5Zyw5Z2A5YiX6KGoCiAgICAgICAgYXdhaXQgdGhpcy5nZXRBbGxTaGlwcGluZ0FkZHJlc3MoZGF0YS5jdXN0b21lcklkKTsKICAgICAgfSAvL+eUseS6juiuouWNleaYr+aMieeFp+W6l+mTuuaLhuWNleeahAogICAgICAvLyDmiYDku6XlnKjnvJbovpHorqLljZXml7bvvIzlop7liqDmraTorqLljZXnmoTllYblk4Hml7blupTor6Xlj6rog73pgInmi6nmnKzlupfpk7rkuIvnmoTllYblk4EKCgogICAgICB0aGlzLnNob3BfaWQgPSBkYXRhLnNob3BJZDsKICAgICAgdGhpcy5hY2NvdW50X3Nob3BJZCA9IGRhdGEuc2hvcElkOwoKICAgICAgaWYgKHRoaXMuYWRkX2Zvcm0uZGVsaXZlcnlUeXBlID09PSAyKSB7CiAgICAgICAgY29uc3Qgc2VsZlJ1bGVEYXRhID0gSlNPTi5wYXJzZShkYXRhLnNlbGZSdWxlRGF0YSk7CiAgICAgICAgdGhpcy5tb2JpbGUgPSBzZWxmUnVsZURhdGEubW9iaWxlOwogICAgICAgIHRoaXMuYWRkcmVzcyA9IHNlbGZSdWxlRGF0YS5wcm92aW5jZU5hbWUgKyAiICIgKyBzZWxmUnVsZURhdGEuY2l0eU5hbWUgKyAiICIgKyBzZWxmUnVsZURhdGEuZGlzdHJpY3ROYW1lICsgIiAiICsgc2VsZlJ1bGVEYXRhLmFkZHJlc3M7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgcmVjZWl2ZURhdGEgPSBkYXRhLnJlY2VpdmVEYXRhOwogICAgICAgIHRoaXMubW9iaWxlID0gcmVjZWl2ZURhdGEubW9iaWxlOwogICAgICAgIHRoaXMuYWRkcmVzcyA9IHJlY2VpdmVEYXRhLmFyZWEucHJvdmluY2VOYW1lICsgIiAiICsgcmVjZWl2ZURhdGEuYXJlYS5jaXR5TmFtZSArICIgIiArIHJlY2VpdmVEYXRhLmFyZWEuZGlzdHJpY3ROYW1lICsgIiAiICsgcmVjZWl2ZURhdGEuYWRkcmVzczsKICAgICAgfQogICAgfSwKCiAgICAvLyDmt7vliqDmmoLlrZgKICAgIGFzeW5jIGFkZFBhdXNlU2F2ZSgpIHsKICAgICAgY29uc3QgcGFyYW1zID0gewogICAgICAgIGFkZF9mb3JtOiB0aGlzLmFkZF9mb3JtLAogICAgICAgIHRvdGFsUmVkdWNlTW9uZXk6IHRoaXMudG90YWxSZWR1Y2VNb25leSwKICAgICAgICBzYWxlT3JkZXJHb29kczogdGhpcy5zYWxlT3JkZXJHb29kcywKICAgICAgICB1c2VyQ2VudGVySWQ6IHRoaXMudXNlckNlbnRlcklkCiAgICAgIH07CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBhZGRQYXVzZVNhdmUoewogICAgICAgIGtleTogdGhpcy5wYWdlTmFtZSwKICAgICAgICBkYXRhOiBwYXJhbXMKICAgICAgfSk7CiAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICBtZXNzYWdlOiAi5pqC5a2Y5oiQ5YqfIgogICAgICB9KTsKCiAgICAgIGlmICh0aGlzLnN5c3RlbVR5cGUgPT09IDIpIHsKICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9TaW5nbGVTdG9yZS9vcmRlci9PcmRlckxpc3Qvd2FpdEF1ZGl0Iik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kY2xvc2VDdXJyZW50R29FZGl0KCIvb3JkZXIvbWFuYWdlTy9vcmRlclF1ZXJ5Iik7CiAgICAgIH0KICAgIH0sCgogICAgLy8g6I635Y+W5pqC5a2Y5L+h5oGvCiAgICBhc3luYyBnZXRQYXVzZVNhdmUoKSB7CiAgICAgIGNvbnN0IHsKICAgICAgICBkYXRhCiAgICAgIH0gPSBhd2FpdCBnZXRQYXVzZVNhdmUoewogICAgICAgIGtleTogdGhpcy5wYWdlTmFtZQogICAgICB9KTsKICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGEpID09PSAie30iKSByZXR1cm47CgogICAgICBpZiAoZGF0YS5hZGRfZm9ybSkgewogICAgICAgIHRoaXMuYWRkX2Zvcm0gPSBkYXRhLmFkZF9mb3JtOwoKICAgICAgICBpZiAoZGF0YS5hZGRfZm9ybS5jdXN0b21lcklkKSB7CiAgICAgICAgICBhd2FpdCB0aGlzLmdldEFsbFNoaXBwaW5nQWRkcmVzcyhkYXRhLmFkZF9mb3JtLmN1c3RvbWVySWQpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy50b3RhbFJlZHVjZU1vbmV5ID0gZGF0YS50b3RhbFJlZHVjZU1vbmV5IHx8IDA7CiAgICAgICAgdGhpcy5zYWxlT3JkZXJHb29kcyA9IGRhdGEuc2FsZU9yZGVyR29vZHMgfHwgW2dvb2RzSXRlbV07CiAgICAgICAgdGhpcy51c2VyQ2VudGVySWQgPSBkYXRhLnVzZXJDZW50ZXJJZCB8fCAwOwogICAgICB9CiAgICB9LAoKICAgIC8vIOiOt+WPlumFjemAgeaWueW8jwogICAgYXN5bmMgZ2V0QWxsRGVsaXZlcnkoKSB7CiAgICAgIGNvbnN0IHsKICAgICAgICBkYXRhCiAgICAgIH0gPSBhd2FpdCBnZXRBbGxEZWxpdmVyeSh7CiAgICAgICAgcGFnZTogMSwKICAgICAgICBwYWdlU2l6ZTogMTAwCiAgICAgIH0pOwogICAgICB0aGlzLmRlbGl2ZXJ5VHlwZV9saXN0ID0gZGF0YTsKICAgICAgY29uc3QgZGVmYXVsdFR5cGUgPSBkYXRhLmZpbmQoaXRlbSA9PiBpdGVtLmRlZmF1bHRTdGF0dXMgPT09IDUpOwoKICAgICAgaWYgKGRlZmF1bHRUeXBlICYmICF0aGlzLmFkZF9mb3JtLmRlbGl2ZXJ5VHlwZSkgewogICAgICAgIHRoaXMuYWRkX2Zvcm0uZGVsaXZlcnlUeXBlID0gZGVmYXVsdFR5cGUuZGVsaXZlcnlUeXBlOwogICAgICB9CiAgICB9LAoKICAgIC8vIOWIoOmZpOaaguWtmOS/oeaBrwogICAgYXN5bmMgZGVsUGF1c2VTYXZlKHR5cGUpIHsKICAgICAgY29uc3QgZGF0YSA9IGRlbFBhdXNlU2F2ZSh7CiAgICAgICAga2V5OiB0aGlzLnBhZ2VOYW1lCiAgICAgIH0pOwoKICAgICAgaWYgKHR5cGUpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgIG1lc3NhZ2U6ICLmuIXpmaTmmoLlrZjmiJDlip8iCiAgICAgICAgfSk7CgogICAgICAgIGlmICh0aGlzLnN5c3RlbVR5cGUgPT09IDIpIHsKICAgICAgICAgIHRoaXMuJGNsb3NlQ3VycmVudEdvRWRpdCgiL1NpbmdsZVN0b3JlL29yZGVyL09yZGVyTGlzdC93YWl0QXVkaXQiKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy4kY2xvc2VDdXJyZW50R29FZGl0KCIvb3JkZXIvbWFuYWdlTy9vcmRlclF1ZXJ5Iik7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIC8vIOaPkOS6pAogICAgc3ViRGF0YSgpIHsKICAgICAgaWYgKHRoaXMuYWRkX2Zvcm0uZGVsaXZlcnlUeXBlID09PSAyICYmICF0aGlzLmFkZF9mb3JtLnNlbGZSdWxlSWQpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeiHquaPkOeCuSIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdGhpcy4kcmVmcy5hZGRfZm9ybS52YWxpZGF0ZShhc3luYyB2YWxpZCA9PiB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5zYWxlT3JkZXJHb29kcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnNrdUlkKTsgLy8g6aqM6K+B5oqE56CB5ZWG5ZOB5pWw6YePCgogICAgICAgICAgY29uc3QgaXNFcU51bSA9IGxpc3QuZXZlcnkoaXRlbSA9PiB7CiAgICAgICAgICAgIGlmIChpdGVtLmlzRXEgPT09IDUgJiYgaXRlbS5pc01hc3RlciA9PT0gNSkgewogICAgICAgICAgICAgIHJldHVybiBpdGVtLm90aGVyTnVtID4gMDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CgogICAgICAgICAgaWYgKCFpc0VxTnVtKSB7CiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi5oqE56CB5ZWG5ZOB5YW25LuW5Y2V5L2N5pWw6YeP5LiN6IO95Li6MCIpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9IC8vIOmqjOivgeWVhuWTgeaVsOmHjwoKCiAgICAgICAgICBjb25zdCBpc0J1eU51bSA9IGxpc3QuZXZlcnkoaXRlbSA9PiBpdGVtLmJ1eU51bSA+IDApOwoKICAgICAgICAgIGlmICghaXNCdXlOdW0pIHsKICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fovpPlhaXlpKfkuo4w55qE5ZWG5ZOB5pWw6YePIik7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0gLy8g6aqM6K+B5ZWG5ZOB5Y2V5Lu3CgoKICAgICAgICAgIGNvbnN0IGlzU2FsZVByaWNlID0gbGlzdC5ldmVyeShpdGVtID0+IGl0ZW0uc2FsZVByaWNlID4gMCk7IC8vIGlmICghaXNTYWxlUHJpY2UpIHsKICAgICAgICAgIC8vICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLllYblk4HljZXku7fkuI3og73kuLowIik7CiAgICAgICAgICAvLyAgIHJldHVybjsKICAgICAgICAgIC8vIH0KICAgICAgICAgIC8vIOmqjOivgeWVhuWTgemHkeminQoKICAgICAgICAgIGNvbnN0IGlzU3ViTW9uZXkgPSBsaXN0LmV2ZXJ5KGl0ZW0gPT4gaXRlbS5zdWJNb25leSA+IDApOyAvLyBpZiAoIWlzU3ViTW9uZXkpIHsKICAgICAgICAgIC8vICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLllYblk4Hph5Hpop3kuI3og73kuLowIik7CiAgICAgICAgICAvLyAgIHJldHVybjsKICAgICAgICAgIC8vIH0KCiAgICAgICAgICBjb25zdCBzYWxlT3JkZXJHb29kcyA9IGxpc3QubWFwKGl0ZW0gPT4gewogICAgICAgICAgICBpZiAoIXRoaXMub3JkZXJJZCkgewogICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmludmVudG9yeTsKICAgICAgICAgICAgICBkZWxldGUgaXRlbS5lbmFibGVkTGFkZGVyOwogICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmxhZGRlclByaWNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gaXRlbTsKICAgICAgICAgIH0pOwoKICAgICAgICAgIGlmICghc2FsZU9yZGVyR29vZHMubGVuZ3RoKSB7CiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup5ZWG5ZOBIik7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAodGhpcy5hZGRfZm9ybS5yZWNlaXZlZE1vbmV5ID4gMCAmJiAhdGhpcy5hZGRfZm9ybS5hY2NvdW50TGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fpgInmi6nnu5PnrpfotKbmiLciKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIGlmICh0aGlzLm9yZGVySWQpIHsKICAgICAgICAgICAgYXdhaXQgdGhpcy5lZGl0T3JkZXIoc2FsZU9yZGVyR29vZHMpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYXdhaXQgdGhpcy5hZGRPcmRlcihzYWxlT3JkZXJHb29kcyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCgogICAgLy8g57yW6L6R6K6i5Y2VCiAgICBhc3luYyBlZGl0T3JkZXIoc2FsZU9yZGVyR29vZHMpIHsKICAgICAgaWYgKHRoaXMuYWRkX2Zvcm0ucGFydGljdWxhcnNUeXBlKSB7CiAgICAgICAgdGhpcy5hZGRfZm9ybS5kZWxpdmVyeVR5cGUgPSB0aGlzLmFkZF9mb3JtLnBhcnRpY3VsYXJzVHlwZTsKICAgICAgfQoKICAgICAgY29uc3QgZ29vZHNEYXRhID0gc2FsZU9yZGVyR29vZHMubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICB0b3RhbE1vbmV5OiBpdGVtLnN1Yk1vbmV5LAogICAgICAgICAgcHJpY2U6IGl0ZW0uc2FsZVByaWNlLAogICAgICAgICAgZ29vZHNDb2RlOiBpdGVtLmNvZGUsCiAgICAgICAgICBpbWFnZXM6IFtpdGVtLmdvb2RzSW1hZ2VzXQogICAgICAgIH07CiAgICAgIH0pOyAvLyBjb25zb2xlLmxvZyhnb29kc0RhdGEpOwogICAgICAvLyByZXR1cm47CgogICAgICB0aGlzLnN1Yl9sb2FkaW5nID0gdHJ1ZTsKCiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG5ld09yZGVyRWRpdCh0aGlzLm9yZGVySWQsIHsgLi4udGhpcy5vcmRlcl9kZXRhaWwsCiAgICAgICAgICBkZWxpdmVyeVR5cGU6IHRoaXMuYWRkX2Zvcm0uZGVsaXZlcnlUeXBlLAogICAgICAgICAgY3VzdG9tZXJOYW1lOiB0aGlzLmFkZF9mb3JtLmN1c3RvbWVyTmFtZSwKICAgICAgICAgIGFkZHJlc3NJZDogdGhpcy5hZGRfZm9ybS5hZGRyZXNzSWQsCiAgICAgICAgICByZW1hcms6IHRoaXMuYWRkX2Zvcm0ucmVtYXJrLAogICAgICAgICAgYWNjb3VudExpc3Q6IHRoaXMuYWRkX2Zvcm0uYWNjb3VudExpc3QsCiAgICAgICAgICB0b3RhbE1vbmV5OiB0aGlzLm9yZGVyQW1vdW50LAogICAgICAgICAgcGF5TW9uZXk6IHRoaXMucGF5TW9uZXksCiAgICAgICAgICB0b3RhbFJlZHVjZU1vbmV5OiB0aGlzLnRvdGFsUmVkdWNlTW9uZXkgfHwgMCwKICAgICAgICAgIHJlY2VpdmVkTW9uZXk6IHRoaXMuYWRkX2Zvcm0ucmVjZWl2ZWRNb25leSwKICAgICAgICAgIGN1cnJlbnRBY2NvdW50TmFtZTogdGhpcy5hZGRfZm9ybS5jdXJyZW50QWNjb3VudE5hbWUsCiAgICAgICAgICB1c2VyQ2VudGVySWQ6IHRoaXMudXNlckNlbnRlcklkLAogICAgICAgICAgY3VzdG9tZXJJZDogdGhpcy5hZGRfZm9ybS5jdXN0b21lcklkLAogICAgICAgICAgc2VsZlJ1bGVJZDogdGhpcy5hZGRfZm9ybS5zZWxmUnVsZUlkLAogICAgICAgICAgc2VsZlJ1bGVEYXRhOiB0aGlzLmFkZF9mb3JtLnNlbGZSdWxlRGF0YSwKICAgICAgICAgIGdvb2RzRGF0YTogZ29vZHNEYXRhLAogICAgICAgICAgcGF5VHlwZTogdGhpcy5hZGRfZm9ybS5wYXlUeXBlCiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5zdWJfbG9hZGluZyA9IGZhbHNlOwogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIuaPkOS6pOaIkOWKnyIKICAgICAgICB9KTsKCiAgICAgICAgaWYgKHRoaXMuc3lzdGVtVHlwZSA9PT0gMikgewogICAgICAgICAgdGhpcy4kY2xvc2VDdXJyZW50R29FZGl0KCIvU2luZ2xlU3RvcmUvb3JkZXIvT3JkZXJMaXN0L3dhaXRBdWRpdCIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9vcmRlci9tYW5hZ2VPL29yZGVyUXVlcnkiKTsKICAgICAgICB9CiAgICAgIH0gZmluYWxseSB7CiAgICAgICAgdGhpcy5zdWJfbG9hZGluZyA9IGZhbHNlOwogICAgICB9CiAgICB9LAoKICAgIC8vIOaWsOWinuiuouWNlQogICAgYXN5bmMgYWRkT3JkZXIoc2FsZU9yZGVyR29vZHMpIHsKICAgICAgaWYgKHRoaXMudG90YWxSZWR1Y2VNb25leSA9PT0gIiIpIHsKICAgICAgICB0aGlzLnRvdGFsUmVkdWNlTW9uZXkgPSAwOwogICAgICB9CgogICAgICBpZiAodGhpcy5hZGRfZm9ybS5wYXJ0aWN1bGFyc1R5cGUpIHsKICAgICAgICB0aGlzLmFkZF9mb3JtLmRlbGl2ZXJ5VHlwZSA9IHRoaXMuYWRkX2Zvcm0ucGFydGljdWxhcnNUeXBlOwogICAgICB9CgogICAgICBsZXQgcGFyYW1zID0gewogICAgICAgIGRlbGl2ZXJ5VHlwZTogdGhpcy5hZGRfZm9ybS5kZWxpdmVyeVR5cGUsCiAgICAgICAgY3VzdG9tZXJOYW1lOiB0aGlzLmFkZF9mb3JtLmN1c3RvbWVyTmFtZSwKICAgICAgICBhZGRyZXNzSWQ6IHRoaXMuYWRkX2Zvcm0uYWRkcmVzc0lkLAogICAgICAgIHJlbWFyazogdGhpcy5hZGRfZm9ybS5yZW1hcmssCiAgICAgICAgYWNjb3VudExpc3Q6IHRoaXMuYWRkX2Zvcm0uYWNjb3VudExpc3QsCiAgICAgICAgY3VycmVudEFjY291bnROYW1lOiB0aGlzLmFkZF9mb3JtLmN1cnJlbnRBY2NvdW50TmFtZSwKICAgICAgICByZWNlaXZlZE1vbmV5OiB0aGlzLmFkZF9mb3JtLnJlY2VpdmVkTW9uZXksCiAgICAgICAgbGlzdHM6IHNhbGVPcmRlckdvb2RzLAogICAgICAgIHRvdGFsTW9uZXk6IHRoaXMub3JkZXJBbW91bnQsCiAgICAgICAgcGF5TW9uZXk6IHRoaXMucGF5TW9uZXksCiAgICAgICAgdG90YWxSZWR1Y2VNb25leTogdGhpcy50b3RhbFJlZHVjZU1vbmV5IHx8IDAsCiAgICAgICAgdXNlckNlbnRlcklkOiB0aGlzLnVzZXJDZW50ZXJJZCwKICAgICAgICBjdXN0b21lcklkOiB0aGlzLmFkZF9mb3JtLmN1c3RvbWVySWQsCiAgICAgICAgc2VsZlJ1bGVJZDogdGhpcy5hZGRfZm9ybS5zZWxmUnVsZUlkLAogICAgICAgIHNlbGZSdWxlRGF0YTogdGhpcy5hZGRfZm9ybS5zZWxmUnVsZURhdGEsCiAgICAgICAgb3BlcmF0b3JOYW1lOiB0aGlzLnVzZXJOYW1lLAogICAgICAgIHBheVR5cGU6IHRoaXMuYWRkX2Zvcm0ucGF5VHlwZQogICAgICB9OwogICAgICB0aGlzLnN1Yl9sb2FkaW5nID0gdHJ1ZTsKCiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG5ld0FkZE9yZGVyKHBhcmFtcyk7CiAgICAgICAgdGhpcy5zdWJfbG9hZGluZyA9IGZhbHNlOwogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIuaPkOS6pOaIkOWKnyIKICAgICAgICB9KTsKICAgICAgICBhd2FpdCB0aGlzLmRlbFBhdXNlU2F2ZSgpOwoKICAgICAgICBpZiAodGhpcy5zeXN0ZW1UeXBlID09PSAyKSB7CiAgICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9TaW5nbGVTdG9yZS9vcmRlci9PcmRlckxpc3Qvd2FpdEF1ZGl0Iik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJGNsb3NlQ3VycmVudEdvRWRpdCgiL29yZGVyL21hbmFnZU8vb3JkZXJRdWVyeSIpOwogICAgICAgIH0KICAgICAgfSBmaW5hbGx5IHsKICAgICAgICB0aGlzLnN1Yl9sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0KICAgIH0sCgogICAgLy8g6YCJ5oup5ZWG5ZOBCiAgICBhc3luYyBzZWxHb29kcyh2YWwpIHsKICAgICAgaWYgKHZhbC5sZW5ndGgpIHsKICAgICAgICAvL+aKhOeggeWVhuWTgeWPquiDvemAieaLqeS4gOS4quWNleS9jei/m+ihjOS4i+WNlQogICAgICAgIGxldCBhcnIgPSBbXTsKICAgICAgICBsZXQgaXNFcU1vcmUgPSBmYWxzZTsKCiAgICAgICAgZm9yIChsZXQgaSBpbiB2YWwpIHsKICAgICAgICAgIGNvbnN0IGl0ZW0gPSB2YWxbaV07CgogICAgICAgICAgaWYgKGl0ZW0uaXNFcSA9PT0gNSkgewogICAgICAgICAgICBpZiAoYXJyLmZpbmQoZmluID0+IGZpbi5pZCA9PT0gaXRlbS5pZCAmJiBmaW4udW5pdElkICE9PSBpdGVtLnVuaXRJZCkpIHsKICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuaKhOeggeWVhuWTgeWPquiDvemAieaLqeS4gOS4quWNleS9jei/m+ihjOS4i+WNle+8jOivt+mHjeaWsOWLvumAiSIpOwogICAgICAgICAgICAgIGlzRXFNb3JlID0gdHJ1ZTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBhcnIucHVzaChpdGVtKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKGlzRXFNb3JlKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBsZXQgZ29vZHNEYXRhID0gdmFsLm1hcChpdGVtID0+IHsKICAgICAgICAgIGxldCBzYWxlUHJpY2UgPSAwOwoKICAgICAgICAgIGlmIChpdGVtLmVuYWJsZWRMYWRkZXIpIHsKICAgICAgICAgICAgc2FsZVByaWNlID0gaXRlbS5sYWRkZXJQcmljZVswXS5wcmljZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHNhbGVQcmljZSA9IGl0ZW0uc2FsZVByaWNlOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGdvb2RzTmFtZTogaXRlbS50aXRsZSwKICAgICAgICAgICAgc2t1SWQ6IGl0ZW0uc2t1SWQsCiAgICAgICAgICAgIGNvZGU6IGl0ZW0uY29kZSwKICAgICAgICAgICAgZ29vZHNJZDogaXRlbS5pZCwKICAgICAgICAgICAgYnV5TnVtOiAxLAogICAgICAgICAgICBvdGhlck51bTogIiIsCiAgICAgICAgICAgIHNob3BJZDogaXRlbS5zaG9wSWQsCiAgICAgICAgICAgIGJhc2ljR29vZHNJZDogaXRlbS5iYXNpY0dvb2RzSWQsCiAgICAgICAgICAgIHVuaXROYW1lOiBpdGVtLnVuaXROYW1lLAogICAgICAgICAgICB1bml0SWQ6IGl0ZW0udW5pdElkLAogICAgICAgICAgICBzcGVjR3JvdXA6IGl0ZW0uc3BlY0dyb3VwLAogICAgICAgICAgICBpbnZlbnRvcnk6IGl0ZW0uaW52ZW50b3J5LAogICAgICAgICAgICBzYWxlUHJpY2U6IHNhbGVQcmljZSwKICAgICAgICAgICAgc3ViTW9uZXk6IGl0ZW0uc2FsZVByaWNlLAogICAgICAgICAgICBzaG9wTmFtZTogaXRlbS5zaG9wTmFtZSwKICAgICAgICAgICAgZ29vZHNJbWFnZXM6IGl0ZW0uaW1hZ2VzWzBdLAogICAgICAgICAgICBicmFuZElkOiBpdGVtLmJyYW5kSWQsCiAgICAgICAgICAgIGJyYW5kTmFtZTogIiIsCiAgICAgICAgICAgIGNhdGVnb3J5UGF0aDogaXRlbS5jYXRlZ29yeVBhdGgsCiAgICAgICAgICAgIGNhdGVnb3J5TmFtZTogaXRlbS5jYXRlZ29yeU5hbWUsCiAgICAgICAgICAgIGNvbnZlcnNpb246IGl0ZW0uY29udmVyc2lvbiwKICAgICAgICAgICAgYmFyQ29kZTogIiIsCiAgICAgICAgICAgIHN0b3JhZ2VDb2RlOiAiIiwKICAgICAgICAgICAgd2FyZWhvdXNlSWQ6IGl0ZW0ud2FyZWhvdXNlSWQsCiAgICAgICAgICAgIG9yaWdpblByaWNlOiBpdGVtLm9yaWdpblByaWNlLAogICAgICAgICAgICBzcGVjVHlwZTogaXRlbS5zcGVjVHlwZSwKICAgICAgICAgICAgZW5hYmxlZExhZGRlcjogaXRlbS5lbmFibGVkTGFkZGVyLAogICAgICAgICAgICBsYWRkZXJQcmljZTogaXRlbS5sYWRkZXJQcmljZSwKICAgICAgICAgICAgc3VwcGxpZXJJZDogaXRlbS5zdXBwbGllcklkLAogICAgICAgICAgICBzdXBwbGllck5hbWU6IGl0ZW0uc3VwcGxpZXJOYW1lLAogICAgICAgICAgICBpc0VxOiBpdGVtLmlzRXEsCiAgICAgICAgICAgIGlzTWFzdGVyOiBpdGVtLmlzTWFzdGVyLAogICAgICAgICAgICBpc0Rpc3RyaWJ1dGlvbjogaXRlbS5pc0Rpc3RyaWJ1dGlvbiwKICAgICAgICAgICAgbWVyY2hhbnRJZDogaXRlbS5tZXJjaGFudElkCiAgICAgICAgICB9OwogICAgICAgIH0pOwogICAgICAgIGNvbnN0IHNhbGVPcmRlckdvb2RzID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy5zYWxlT3JkZXJHb29kcyk7CiAgICAgICAgZ29vZHNEYXRhID0gZ29vZHNEYXRhLmZpbHRlcihpdGVtID0+IHsKICAgICAgICAgIC8vIOaKhOeggeWVhuWTgeWPquiDvemAieaLqeS4gOS4quWNleS9jei/m+ihjOS4i+WNlQogICAgICAgICAgbGV0IGluZGV4RiA9IC0xOwoKICAgICAgICAgIGlmIChpdGVtLmlzRXEgPT09IDUpIHsKICAgICAgICAgICAgaW5kZXhGID0gc2FsZU9yZGVyR29vZHMuZmluZEluZGV4KGl0ZW1GID0+IGl0ZW1GLmdvb2RzSWQgPT09IGl0ZW0uZ29vZHNJZCAmJiBpdGVtRi51bml0SWQgIT09IGl0ZW0udW5pdElkKTsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gaW5kZXhGID09PSAtMTsKICAgICAgICB9KTsKICAgICAgICBjb25zdCBnb29kc0FyciA9IHNhbGVPcmRlckdvb2RzLmZpbHRlcihpdGVtID0+IGl0ZW0uc2t1SWQpOwogICAgICAgIGNvbnN0IG5vU2t1QXJyID0gc2FsZU9yZGVyR29vZHMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uc2t1SWQpOwogICAgICAgIHRoaXMuc2FsZU9yZGVyR29vZHMgPSBbLi4uZ29vZHNBcnIsIC4uLmdvb2RzRGF0YV0uY29uY2F0KG5vU2t1QXJyKTsKICAgICAgfQogICAgfSwKCiAgICAvLyDpgInmi6notaDlk4HllYblk4EKICAgIGFzeW5jIGdpdmVhd2F5U2VsR29vZHModmFsKSB7CiAgICAgIGlmICh2YWwubGVuZ3RoKSB7CiAgICAgICAgY29uc3QgZ29vZHNEYXRhID0gdmFsLm1hcChpdGVtID0+IHsKICAgICAgICAgIGxldCBzYWxlUHJpY2UgPSAwOwoKICAgICAgICAgIGlmIChpdGVtLmVuYWJsZWRMYWRkZXIpIHsKICAgICAgICAgICAgc2FsZVByaWNlID0gaXRlbS5sYWRkZXJQcmljZVswXS5wcmljZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHNhbGVQcmljZSA9IGl0ZW0uc2FsZVByaWNlOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGdvb2RzTmFtZTogaXRlbS50aXRsZSwKICAgICAgICAgICAgc2t1SWQ6IGl0ZW0uc2t1SWQsCiAgICAgICAgICAgIGNvZGU6IGl0ZW0uY29kZSwKICAgICAgICAgICAgZ29vZHNJZDogaXRlbS5pZCwKICAgICAgICAgICAgYnV5TnVtOiAxLAogICAgICAgICAgICBvdGhlck51bTogIiIsCiAgICAgICAgICAgIHNob3BJZDogaXRlbS5zaG9wSWQsCiAgICAgICAgICAgIGJhc2ljR29vZHNJZDogaXRlbS5iYXNpY0dvb2RzSWQsCiAgICAgICAgICAgIHVuaXROYW1lOiBpdGVtLnVuaXROYW1lLAogICAgICAgICAgICBzcGVjR3JvdXA6IGl0ZW0uc3BlY0dyb3VwLAogICAgICAgICAgICBpbnZlbnRvcnk6IGl0ZW0uaW52ZW50b3J5LAogICAgICAgICAgICBzYWxlUHJpY2U6IHNhbGVQcmljZSwKICAgICAgICAgICAgc3ViTW9uZXk6IGl0ZW0uc2FsZVByaWNlLAogICAgICAgICAgICBzaG9wTmFtZTogaXRlbS5zaG9wTmFtZSwKICAgICAgICAgICAgZ29vZHNJbWFnZXM6IGl0ZW0uaW1hZ2VzWzBdLAogICAgICAgICAgICBicmFuZElkOiBpdGVtLmJyYW5kSWQsCiAgICAgICAgICAgIGJyYW5kTmFtZTogIiIsCiAgICAgICAgICAgIGNhdGVnb3J5UGF0aDogaXRlbS5jYXRlZ29yeVBhdGgsCiAgICAgICAgICAgIGNhdGVnb3J5TmFtZTogaXRlbS5jYXRlZ29yeU5hbWUsCiAgICAgICAgICAgIGNvbnZlcnNpb246IGl0ZW0uY29udmVyc2lvbiwKICAgICAgICAgICAgYmFyQ29kZTogIiIsCiAgICAgICAgICAgIHN0b3JhZ2VDb2RlOiAiIiwKICAgICAgICAgICAgd2FyZWhvdXNlSWQ6IGl0ZW0ud2FyZWhvdXNlSWQsCiAgICAgICAgICAgIG9yaWdpblByaWNlOiBpdGVtLm9yaWdpblByaWNlLAogICAgICAgICAgICBzcGVjVHlwZTogaXRlbS5zcGVjVHlwZSwKICAgICAgICAgICAgZW5hYmxlZExhZGRlcjogaXRlbS5lbmFibGVkTGFkZGVyLAogICAgICAgICAgICBsYWRkZXJQcmljZTogaXRlbS5sYWRkZXJQcmljZSwKICAgICAgICAgICAgc3VwcGxpZXJJZDogaXRlbS5zdXBwbGllcklkLAogICAgICAgICAgICBzdXBwbGllck5hbWU6IGl0ZW0uc3VwcGxpZXJOYW1lLAogICAgICAgICAgICBpc0VxOiBpdGVtLmlzRXEsCiAgICAgICAgICAgIGlzRGlzdHJpYnV0aW9uOiBpdGVtLmlzRGlzdHJpYnV0aW9uLAogICAgICAgICAgICBtZXJjaGFudElkOiBpdGVtLm1lcmNoYW50SWQKICAgICAgICAgIH07CiAgICAgICAgfSk7IC8vIHRoaXMuc2FsZU9yZGVyR29vZHMgPSB0aGlzLiRfY29tbW9uLnVuaXF1ZSgKICAgICAgICAvLyAgIGdvb2RzRGF0YS5jb25jYXQodGhpcy5zYWxlT3JkZXJHb29kcyksCiAgICAgICAgLy8gICBbImdvb2RzSWQiLCAic2t1SWQiXQogICAgICAgIC8vICk7CgogICAgICAgIGNvbnN0IGdvb2RzQXJyID0gdGhpcy5naXZlYXdheUdvb2RzLmZpbHRlcihpdGVtID0+IGl0ZW0uc2t1SWQpOwogICAgICAgIGNvbnN0IG5vU2t1QXJyID0gdGhpcy5naXZlYXdheUdvb2RzLmZpbHRlcihpdGVtID0+ICFpdGVtLnNrdUlkKTsgLy8gdGhpcy5zYWxlT3JkZXJHb29kcyA9IHRoaXMuJF9jb21tb24KICAgICAgICAvLyAgIC51bmlxdWUoWy4uLmdvb2RzQXJyLCAuLi5nb29kc0RhdGFdLCBbImdvb2RzSWQiLCAic2t1SWQiXSkKICAgICAgICAvLyAgIC5jb25jYXQobm9Ta3VBcnIpOwoKICAgICAgICB0aGlzLmdpdmVhd2F5R29vZHMgPSBbLi4uZ29vZHNBcnIsIC4uLmdvb2RzRGF0YV0uY29uY2F0KG5vU2t1QXJyKTsKICAgICAgfQogICAgfSwKCiAgICAvLyDkv67mlLnotK3nianovabmlbDph48KICAgIGFzeW5jIHVwZGF0ZUJ1eU51bShpbmRleCkgewogICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0aGlzLnNhbGVPcmRlckdvb2RzKTsKICAgICAgbGV0IHNhbGVQcmljZSA9IHRhcmdldFtpbmRleF0uc2FsZVByaWNlOwogICAgICBsZXQgaW52ZW50b3J5ID0gdGFyZ2V0W2luZGV4XS5pbnZlbnRvcnk7CiAgICAgIGxldCBpc0Rpc3RyaWJ1dGlvbiA9IHRhcmdldFtpbmRleF0uaXNEaXN0cmlidXRpb247CgogICAgICBpZiAoaXNEaXN0cmlidXRpb24gPT09IDQpIHsKICAgICAgICBpZiAodGFyZ2V0W2luZGV4XS5idXlOdW0gPiBpbnZlbnRvcnkpIHsKICAgICAgICAgIHRhcmdldFtpbmRleF0uYnV5TnVtID0gdGFyZ2V0W2luZGV4XS5pbnZlbnRvcnk7CiAgICAgICAgfQogICAgICB9IC8vIOagueaNrumYtuair+S7t+WIpOaWremUgOWUruS7twoKCiAgICAgIGlmICh0YXJnZXRbaW5kZXhdLmVuYWJsZWRMYWRkZXIpIHsKICAgICAgICBsZXQgcHJpY2VPYmogPSB0YXJnZXRbaW5kZXhdLmxhZGRlclByaWNlLmZpbmQoaXRlbSA9PiB0YXJnZXRbaW5kZXhdLmJ1eU51bSA+PSBpdGVtLmZyb20gJiYgdGFyZ2V0W2luZGV4XS5idXlOdW0gPD0gaXRlbS50byk7CiAgICAgICAgc2FsZVByaWNlID0gcHJpY2VPYmogPyBwcmljZU9iai5wcmljZSA6IHRhcmdldFtpbmRleF0uc2FsZVByaWNlOwogICAgICB9CgogICAgICB0YXJnZXRbaW5kZXhdLnN1Yk1vbmV5ID0gdGhpcy4kTlAudGltZXMoc2FsZVByaWNlLCB0YXJnZXRbaW5kZXhdLmJ1eU51bSk7CiAgICAgIHRhcmdldFtpbmRleF0uc2FsZVByaWNlID0gc2FsZVByaWNlOwogICAgICBjb25zb2xlLmxvZyh0YXJnZXQpOwogICAgICB0aGlzLnNhbGVPcmRlckdvb2RzID0gdGFyZ2V0OwogICAgfSwKCiAgICAvLyDkv67mlLnotK3nianovabmlbDph48KICAgIGFzeW5jIGdpdmVhd2F5VXBkYXRlQnV5TnVtKGluZGV4KSB7CiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuJF9jb21tb24uZGVlcENsb25lKHRoaXMuZ2l2ZWF3YXlHb29kcyk7CiAgICAgIGxldCBzYWxlUHJpY2UgPSB0YXJnZXRbaW5kZXhdLnNhbGVQcmljZTsKICAgICAgbGV0IGJ1eU51bSA9IHRhcmdldFtpbmRleF0uYnV5TnVtOwogICAgICBsZXQgaW52ZW50b3J5ID0gdGFyZ2V0W2luZGV4XS5pbnZlbnRvcnk7CiAgICAgIGxldCBpc0Rpc3RyaWJ1dGlvbiA9IHRhcmdldFtpbmRleF0uaXNEaXN0cmlidXRpb247CgogICAgICBpZiAoaXNEaXN0cmlidXRpb24gPT09IDQpIHsKICAgICAgICBpZiAoYnV5TnVtID4gaW52ZW50b3J5KSB7CiAgICAgICAgICB0YXJnZXRbaW5kZXhdLmJ1eU51bSA9IHRhcmdldFtpbmRleF0uaW52ZW50b3J5OwogICAgICAgIH0KICAgICAgfSAvLyDmoLnmja7pmLbmoq/ku7fliKTmlq3plIDllK7ku7cKCgogICAgICBpZiAodGFyZ2V0W2luZGV4XS5lbmFibGVkTGFkZGVyKSB7CiAgICAgICAgbGV0IHByaWNlT2JqID0gdGFyZ2V0W2luZGV4XS5sYWRkZXJQcmljZS5maW5kKGl0ZW0gPT4gYnV5TnVtID49IGl0ZW0uZnJvbSAmJiBidXlOdW0gPD0gaXRlbS50byk7CiAgICAgICAgc2FsZVByaWNlID0gcHJpY2VPYmogPyBwcmljZU9iai5wcmljZSA6IHRhcmdldFtpbmRleF0uc2FsZVByaWNlOwogICAgICB9CgogICAgICB0YXJnZXRbaW5kZXhdLnN1Yk1vbmV5ID0gdGhpcy4kTlAudGltZXMoc2FsZVByaWNlLCBidXlOdW0pOwogICAgICB0YXJnZXRbaW5kZXhdLnNhbGVQcmljZSA9IHNhbGVQcmljZTsKICAgICAgdGhpcy5naXZlYXdheUdvb2RzID0gdGFyZ2V0OwogICAgfSwKCiAgICAvLyDpgInmi6nlrqLmiLcKICAgIGN1c3RvbWVyU2VsKHZhbCwgbGlzdCkgewogICAgICBjb25zdCByb3cgPSBsaXN0WzBdOwogICAgICB0aGlzLmFkZF9mb3JtLmN1c3RvbWVySWQgPSByb3cuaWQ7CiAgICAgIHRoaXMuYWNjb3VudF9zaG9wSWQgPSByb3cuc2hvcElkOwogICAgICB0aGlzLnVzZXJDZW50ZXJJZCA9IHJvdy51c2VyQ2VudGVySWQ7CiAgICAgIHRoaXMuYWRkX2Zvcm0uYWRkcmVzc0lkID0gIiI7CiAgICAgIHRoaXMuYWRkcmVzc19uYW1lID0gIiI7CiAgICAgIHRoaXMuc2FsZU9yZGVyR29vZHMgPSBbdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUoZ29vZHNJdGVtKV07CgogICAgICBpZiAodGhpcy5hZGRfZm9ybS5kZWxpdmVyeVR5cGUgIT09IDIpIHsKICAgICAgICB0aGlzLmdldEFsbFNoaXBwaW5nQWRkcmVzcyh0aGlzLmFkZF9mb3JtLmN1c3RvbWVySWQpOwogICAgICB9CiAgICB9LAoKICAgIC8vIOmAieaLqee7k+eul+i0puaItwogICAgYWNjb3VudHNlbChyb3cpIHsKICAgICAgdGhpcy5hY2NvdW50TmFtZSA9IHJvd1swXS5uYW1lOwogICAgICB0aGlzLmFkZF9mb3JtLmFjY291bnRMaXN0ID0gW3sKICAgICAgICBhY2NvdW50SWQ6IHJvd1swXS5pZCwKICAgICAgICBhY2NvdW50TnVtYmVyOiByb3dbMF0uYWNjb3VudE51bWJlciwKICAgICAgICBhY2NvdW50TmFtZTogcm93WzBdLm5hbWUsCiAgICAgICAgbW9uZXk6IHRoaXMuYWRkX2Zvcm0ucmVjZWl2ZWRNb25leSwKICAgICAgICBkaXNjb3VudE1vbmV5OiAwLAogICAgICAgIGZpbmFsTW9uZXk6IHRoaXMuYWRkX2Zvcm0ucmVjZWl2ZWRNb25leSwKICAgICAgICBwYXlXYXk6IHRoaXMucGF5V2F5LAogICAgICAgIHJlbWFyazogcm93WzBdLnJlbWFyawogICAgICB9XTsKICAgIH0sCgogICAgLy8g6I635Y+W5a6i5oi35pS26LSn5Zyw5Z2A5YiX6KGoCiAgICBhc3luYyBnZXRBbGxTaGlwcGluZ0FkZHJlc3MoaWQpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldEFsbFNoaXBwaW5nQWRkcmVzcyhpZCk7CgogICAgICBpZiAoZGF0YS5sZW5ndGgpIHsKICAgICAgICB0aGlzLmFkZF9mb3JtLmFkZHJlc3NJZCA9IGRhdGFbMF0uaWQ7CiAgICAgICAgdGhpcy5hZGRyZXNzX2xpc3QgPSBkYXRhLm1hcChpdGVtID0+IHsKICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICAgIGFkZHJlc3NOYW1lOiBpdGVtLm5hbWUgKyAiICIgKyBpdGVtLm1vYmlsZSArICIgIiArIGl0ZW0uYXJlYS5wcm92aW5jZU5hbWUgKyAiLSIgKyBpdGVtLmFyZWEuY2l0eU5hbWUgKyAiLSIgKyBpdGVtLmFyZWEuZGlzdHJpY3ROYW1lICsgIi0iICsgaXRlbS5hZGRyZXNzCiAgICAgICAgICB9OwogICAgICAgIH0pOwogICAgICAgIHRoaXMuYWRkcmVzc19uYW1lID0gdGhpcy5hZGRyZXNzX2xpc3RbMF0uYWRkcmVzc05hbWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5hZGRyZXNzX2xpc3QgPSBbXTsKICAgICAgfQogICAgfSwKCiAgICAvLyDnp7vlh7rotK3nianovaYKICAgIGFzeW5jIGRlbGV0ZVJvd0dvb2RzKGluZGV4KSB7CiAgICAgIGlmICh0aGlzLnNhbGVPcmRlckdvb2RzLmxlbmd0aCA+IDEpIHsKICAgICAgICB0aGlzLnNhbGVPcmRlckdvb2RzLnNwbGljZShpbmRleCwgMSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLoh7PlsJHkv53nlZnkuIDmnaHllYblk4EiKTsKICAgICAgfQogICAgfSwKCiAgICAvLyDnp7vlh7rotaDlk4HotK3nianovaYKICAgIGFzeW5jIGdpdmVhd2F5RGVsZXRlUm93R29vZHMoaW5kZXgpIHsKICAgICAgdGhpcy5naXZlYXdheUdvb2RzLnNwbGljZShpbmRleCwgMSk7CiAgICB9LAoKICAgIC8vIOiOt+WPluiHquaPkOeCuQogICAgYXN5bmMgZ2V0QWxsU2VsZkV4cHJlc3NSdWxlKCkgewogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0QWxsU2VsZkV4cHJlc3NSdWxlKCk7CiAgICAgIHRoaXMuc2VsZl9leHByZXNzX2xpc3QgPSBkYXRhLm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4geyAuLi5pdGVtLAogICAgICAgICAgYWRkcmVzc05hbWU6IGl0ZW0uc2V0RGF0YS5uYW1lICsgIiAiICsgaXRlbS5zZXREYXRhLm1vYmlsZSArICIgIiArIGl0ZW0uc2V0RGF0YS5wcm92aW5jZU5hbWUgKyAiLSIgKyBpdGVtLnNldERhdGEuY2l0eU5hbWUgKyAiLSIgKyBpdGVtLnNldERhdGEuZGlzdHJpY3ROYW1lICsgIi0iICsgaXRlbS5zZXREYXRhLmFkZHJlc3MKICAgICAgICB9OwogICAgICB9KTsKCiAgICAgIGlmIChkYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuYWRkX2Zvcm0uc2VsZlJ1bGVJZCA9IGRhdGFbMF0uaWQ7CiAgICAgICAgdGhpcy5hZGRfZm9ybS5zZWxmUnVsZURhdGEgPSBkYXRhWzBdLnNldERhdGE7CiAgICAgIH0KICAgIH0sCgogICAgLy8g6YWN6YCB5pa55byPCiAgICBkZWxpdmVyeVR5cGVDaGFuZ2UodmFsKSB7CiAgICAgIHRoaXMucGF5VHlwZV9saXN0LmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgaWYgKHZhbCA9PT0gaXRlbS52YWx1ZSkgewogICAgICAgICAgdGhpcy5vcmRlcl9kZXRhaWwucGF5VHlwZU1zZyA9IGl0ZW0ubGFiZWw7CiAgICAgICAgfQogICAgICB9KTsKCiAgICAgIGlmICh2YWwgPT09IDEpIHsKICAgICAgICAvLyBjb25zdCB0YXJnZXQgPSB0aGlzLmFkZHJlc3NfbGlzdFswXTsKICAgICAgICAvLyB0aGlzLmFkZF9mb3JtLmFkZHJlc3NJZCA9IHRhcmdldC5pZDsKICAgICAgICB0aGlzLmdldEFsbFNoaXBwaW5nQWRkcmVzcyh0aGlzLmFkZF9mb3JtLmN1c3RvbWVySWQpOwogICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gMikgewogICAgICAgIGlmICh0aGlzLnNlbGZfZXhwcmVzc19saXN0Lmxlbmd0aCkgewogICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5zZWxmX2V4cHJlc3NfbGlzdFswXTsKICAgICAgICAgIHRoaXMuYWRkX2Zvcm0uc2VsZlJ1bGVJZCA9IHRhcmdldC5pZDsKICAgICAgICAgIHRoaXMuYWRkX2Zvcm0uc2VsZlJ1bGVEYXRhID0gdGFyZ2V0LnNldERhdGE7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIGFkZHJlc3NDaGFuZ2UoY29tbWFuZCkgewogICAgICB0aGlzLmFkZF9mb3JtLmFkZHJlc3NJZCA9IGNvbW1hbmQ7CiAgICAgIHRoaXMuYWRkcmVzc19uYW1lID0gdGhpcy5hZGRyZXNzX2xpc3QuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGNvbW1hbmQpLmFkZHJlc3NOYW1lOwogICAgfSwKCiAgICBjbG9zZURpYWxvZyhmb3JtTmFtZSkgewogICAgICB0aGlzLnJlZ2lvbk5hbWUgPSBbXTsKICAgICAgdGhpcy4kcmVmc1tmb3JtTmFtZV0ucmVzZXRGaWVsZHMoKTsKICAgIH0sCgogICAgLy8g6YCJ5oup6Ieq5o+Q54K5CiAgICBzZWxmUnVsZUlkQ2hhbmdlKHZhbCkgewogICAgICBjb25zdCBkYXRhID0gdGhpcy5zZWxmX2V4cHJlc3NfbGlzdC5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdmFsKTsKICAgICAgdGhpcy5hZGRfZm9ybS5zZWxmUnVsZURhdGEgPSBkYXRhID8gZGF0YS5zZXREYXRhIDoge307CiAgICB9CgogIH0KfTs="},{"version":3,"mappings":"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;MAOA,CARA;;MASA;QACA;QACA;MACA,CA7DA,CA8DA;MACA;;;MACA;MACA;;MACA;QACA;QACA;QACA,eACAmD,4BACA,GADA,GAEAA,qBAFA,GAGA,GAHA,GAIAA,yBAJA,GAKA,GALA,GAMAA,oBAPA;MAQA,CAXA,MAWA;QACA;QACA;QACA,eACAoD,gCACA,GADA,GAEAA,yBAFA,GAGA,GAHA,GAIAA,6BAJA,GAKA,GALA,GAMAA,mBAPA;MAQA;IACA,CA7QA;;IA8QA;IACA;MACA;QACA3D,uBADA;QAEAU,uCAFA;QAGA1B,mCAHA;QAIAF;MAJA;MAMA;QACA8E,kBADA;QAEAvF;MAFA;MAIA;QACAmF,eADA;QAEAnE;MAFA;;MAIA;QACA;MACA,CAFA,MAEA;QACA;MACA;IACA,CAnSA;;IAoSA;IACA;MACA;QAAAhB;MAAA;QACAuF;MADA;MAIA;;MACA;QACA;;QACA;UACA;QACA;;QACA;QACA;QACA;MACA;IACA,CApTA;;IAqTA;IACA;MACA;QAAAvF;MAAA;QACAwF,OADA;QAEAC;MAFA;MAKA;MACA;;MACA;QACA;MACA;IACA,CAjUA;;IAkUA;IACA;MACA;QACAF;MADA;;MAIA;QACA;UACAJ,eADA;UAEAnE;QAFA;;QAIA;UACA;QACA,CAFA,MAEA;UACA;QACA;MACA;IACA,CAnVA;;IAoVA;IACA0E;MACA;QACA;QACA;MACA;;MACA;QACA;UACA,4DADA,CAEA;;UACA;YACA;cACA;YACA,CAFA,MAEA;cACA;YACA;UACA,CANA;;UAOA;YACA;YACA;UACA,CAbA,CAcA;;;UACA;;UACA;YACA;YACA;UACA,CAnBA,CAoBA;;;UACA,2DArBA,CAsBA;UACA;UACA;UACA;UACA;;UACA,yDA3BA,CA4BA;UACA;UACA;UACA;;UACA;YACA;cACA;cACA;cACA;YACA;;YACA;UACA,CAPA;;UAQA;YACA;YACA;UACA;;UAEA,IACA,mCACA,iCAFA,EAGA;YACA;YACA;UACA;;UACA;YACA;UACA,CAFA,MAEA;YACA;UACA;QACA;MACA,CA3DA;IA4DA,CAtZA;;IAuZA;IACA;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ACA;MACA;MACA;MACA;MACA;MACA;;MACA;QACA;UACAuC;QACA;MACA,CAVA,CAWA;;;MACA;QACA,8CACArC,gDADA;QAGAzF;MACA;;MACA8H;MACAA;MACA;IACA,CAhsBA;;IAisBA;IACAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MACA;QACA;MACA;IACA,CA7sBA;;IA8sBA;IACAC;MACA;MACA,6BACA;QACAC,oBADA;QAEAC,mCAFA;QAGApF,wBAHA;QAIAqF,kCAJA;QAKAC,gBALA;QAMAC,uCANA;QAOA9D,mBAPA;QAQAnB;MARA,CADA;IAYA,CA7tBA;;IA8tBA;IACA;MACA;QAAAhC;MAAA;;MACA;QACA;QACA;UACA,SACA,OADA;YAEAkH,aACA7C,YACA,GADA,GAEAA,WAFA,GAGA,GAHA,GAIAA,sBAJA,GAKA,GALA,GAMAA,kBANA,GAOA,GAPA,GAQAA,sBARA,GASA,GATA,GAUAA;UAbA;QAeA,CAhBA;QAiBA;MACA,CApBA,MAoBA;QACA;MACA;IACA,CAxvBA;;IAyvBA;IACA;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;IACA,CAhwBA;;IAiwBA;IACA;MACA;IACA,CApwBA;;IAqwBA;IACA;MACA;QAAArE;MAAA;MACA;QACA,SACA,OADA;UAEAkH,aACA7C,oBACA,GADA,GAEAA,mBAFA,GAGA,GAHA,GAIAA,yBAJA,GAKA,GALA,GAMAA,qBANA,GAOA,GAPA,GAQAA,yBARA,GASA,GATA,GAUAA;QAbA;MAeA,CAhBA;;MAkBA;QACA;QACA;MACA;IACA,CA9xBA;;IA+xBA;IACA8C;MACA;QACA;UACA;QACA;MACA,CAJA;;MAKA;QACA;QACA;QACA;MACA,CAJA,MAIA;QACA;UACA;UACA;UACA;QACA;MACA;IACA,CAjzBA;;IAkzBAC;MACA;MACA,2CACA/C,2BADA,EAEA6C,WAFA;IAGA,CAvzBA;;IAwzBAG;MACA;MACA;IACA,CA3zBA;;IA4zBA;IACAC;MACA;MACA;IACA;;EAh0BA;AA7KA","names":["skuId","code","goodsId","buyNum","shopId","basicGoodsId","goodsName","unitName","specGroup","inventory","salePrice","subMoney","shopName","goodsImages","brandId","brandName","categoryPath","categoryName","conversion","barCode","storageCode","warehouseId","originPrice","specType","name","components","SelectCustomer","RegionSelect","ConditionSelGoods","AccountType","data","callback","address_name","warehouse","warehouse_show","account_shopId","account_show","AddAddress","loading","userCenterId","deliveryType_list","saleOrderGoods","giveawayGoods","add_rules","customerId","required","message","trigger","addressId","validator","deliveryType","form_rules","address","mobile","provinceCode","address_list","accountName","add_form","currentAccountName","receivedMoney","accountList","customerName","remark","selfRuleId","selfRuleData","payType","particularsType","totalReduceMoney","regionName","form","cityCode","districtCode","defaultStatus","pageName","orderId","goods_index","give_goods_index","spec_check","self_express_list","order_detail","change_num","payWay","operatorName","shop_id","payType_list","label","value","particularsType_list","computed","orderAmount","sum","payMoney","methods","pushGoods","goodsVisibleChange","giveawayVisibleChange","specSelConfirm","console","gf","item","supplierId","supplierName","isEq","isMaster","isDistribution","merchantId","giveawaySpecSelConfirm","selectSelGoods","filter","map","giveawaySelectSelGoods","addListGoods","giveawayAddListGoods","type","regionChange","handleClose","receiveData","key","page","pageSize","subData","totalMoney","price","goodsCode","images","goodsData","lists","arr","fin","isEqMore","otherNum","unitId","enabledLadder","ladderPrice","indexF","itemF","target","customerSel","accountsel","accountId","accountNumber","money","discountMoney","finalMoney","addressName","deliveryTypeChange","addressChange","closeDialog","selfRuleIdChange"],"sourceRoot":"src/views/order/manageO","sources":["OrderAdd.vue"],"sourcesContent":["\n\n\n\n"]}]}