{"remainingRequest":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\lixiaobang\\suyi\\suyiScreen\\src\\views\\land\\child\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\src\\views\\land\\child\\index.vue","mtime":1672800558762},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670891604112},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\babel-loader\\lib\\index.js","mtime":1670891602826},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670891604112},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js","mtime":1670891614530}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgY3VzdG9tRHZTY3JvbGxCb2FyZDIgZnJvbSAiQC9jb21wb25lbnRzL2N1c3RvbUR2U2Nyb2xsQm9hcmQyIjsNCmltcG9ydCAqIGFzIG1vY2tEYXRhIGZyb20gIi4vbW9jayI7DQppbXBvcnQgZHJhd01peGluIGZyb20gIkAvdXRpbHMvZHJhd01peGluIjsNCmltcG9ydCBoZWFkZXJJbmRleCBmcm9tICJAL2NvbXBvbmVudHMvbGF5b3V0L2hlYWRlci52dWUiOw0KaW1wb3J0IEJhc2ljQm94NCBmcm9tICJAL2NvbXBvbmVudHMvQmFzaWNCb3g0IjsNCmltcG9ydCBCYXNpY0JveDIgZnJvbSAiQC9jb21wb25lbnRzL0Jhc2ljQm94MiI7DQppbXBvcnQgYXhpb3MgZnJvbSAiYXhpb3MiOw0KaW1wb3J0IEJhc2ljQm94IGZyb20gIkAvY29tcG9uZW50cy9CYXNpY0JveCI7DQppbXBvcnQgQ2VudGVyIGZyb20gIi4uLy4uL2NlbnRlciI7DQppbXBvcnQgdnVlU2VhbWxlc3NTY3JvbGwgZnJvbSAidnVlLXNlYW1sZXNzLXNjcm9sbCI7DQppbXBvcnQgcGRmIGZyb20gJ3Z1ZS1wZGYnDQppbXBvcnQge2dldFNpdGVJbmZvLGdldEVudmlyb25tZW50SW5mbyxnZXRTd2l0Y2hJbmZvLGdldERldmljZVJlY29yZCxnZXREZXZpY2VOdW0sdXBkYXRlRGV2aWNlUmVjb3JkfSBmcm9tICJAL2FwaS9hcGkiOw0KZXhwb3J0IGRlZmF1bHQgew0KICBtaXhpbnM6IFtkcmF3TWl4aW5dLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICByZWNvcmQ6Ww0KICAgICAgICB7DQogICAgICAgICAgaWQ6JycsDQogICAgICAgICAgb3BlcmF0aW9uOicnLA0KICAgICAgICAgIG9wZXJhdGlvbkRhdGU6JycNCiAgICAgICAgfQ0KICAgICAgXSwNCiAgICAgIHNpdGVSZWNvcmQ6Ww0KICAgICAgICB7DQogICAgICAgICAgb3BlcmF0aW9uOicnLA0KICAgICAgICAgIG9wZXJhdGlvbkRhdGU6JycsDQogICAgICAgICAgaWQ6JycsDQogICAgICAgIH0NCiAgICAgIF0sDQogICAgICB5aWNpU3JjOidodHRwOi8vMjIxLjIyNi4xOS44NToxMDEyMy9pbmZvLmh0bWw/cHJpbWFyeUdyYXBoSWQ9MTg3NEU3RDFEMEQwQUUxRicsDQogICAgICBjdXJyZW50UGFnZTogMCwgLy8gcGRm5paH5Lu26aG156CBDQogICAgICBwYWdlQ291bnQ6IDAsIC8vIHBkZuaWh+S7tuaAu+mhteaVsA0KICAgICAgZmlsZVR5cGU6ZmFsc2UsDQogICAgICBmaWxlOiAiIiwNCiAgICAgIG51bVBhZ2VzOiAxLA0KICAgICAgaW5mb3RoaW5nc1Nob3c6dHJ1ZSwNCiAgICAgIGVudmlyb25tZW50U2hvdzp0cnVlLA0KICAgICAgcm91dGVyQWN0aXZlOjAsDQogICAgICBjaGVja0xpc3Q6W10sDQogICAgICB5dW53ZWlBcnIxOlsNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnMScsDQogICAgICAgICAgbGFiZWw6ICLorr7lpIflj7DotKbmn6Xor6IiLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgIHl1bndlaUFycjI6Ww0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6JzInLA0KICAgICAgICAgIGxhYmVsOiAiMTBLVuWPmOWOi+WZqOivlemqjOiusOW9lSIsDQogICAgICAgIH0sDQogICAgICAgICB7DQogICAgICAgICAgdmFsdWU6ICc2JywNCiAgICAgICAgICBsYWJlbDogIjEwS1bnnJ/nqbrmlq3ot6/lmajor5XpqozorrDlvZUiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6ICc3JywNCiAgICAgICAgICBsYWJlbDogIuS9juWOi+S6pOa1geiAkOWOi+ivlemqjOiusOW9lTEiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6ICc4JywNCiAgICAgICAgICBsYWJlbDogIueUtee8huivlemqjOiusOW9lSIsDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgeXVud2VpQXJyMzpbDQogICAgICAgIHsNCiAgICAgICAgICB2YWx1ZTogJzMnLA0KICAgICAgICAgIGxhYmVsOiAi57u05L+u6K6w5b2V5p+l6K+iIiwNCiAgICAgICAgfSwNCiAgICAgICANCiAgICAgIF0sDQogICAgICB5dW53ZWlBcnI0OlsNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnNCcsDQogICAgICAgICAgbGFiZWw6ICLlgLznj63kurrlkZjotYTotKgiLA0KICAgICAgICB9LA0KICAgICAgICANCiAgICAgIF0sDQogICAgICB5dW53ZWlBcnI1OlsNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnNScsDQogICAgICAgICAgbGFiZWw6ICLlt6Hmo4DorrDlvZXmn6Xor6IiLA0KICAgICAgICB9LA0KICAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnNTEnLA0KICAgICAgICAgIGxhYmVsOiAi55S15qOA5p+l57uT5p6c6YCa55+l5LmmIiwNCiAgICAgICAgfSwNCiAgICAgIF0sDQogICAgICBob21lQWN0aXZlOnRydWUsDQogICAgICBpbnB1dDogIiIsDQogICAgICB0ZXh0YXJlYTogIiIsDQogICAgICBvcGVudmFsdWU6J+iuvuWkh+WPsOi0puafpeivoicsDQogICAgICBvcGVudmFsdWUxOifor5XpqozorrDlvZXmn6Xor6InLA0KICAgICAgb3BlbnZhbHVlMjon57u05L+u6K6w5b2V5p+l6K+iJywNCiAgICAgIG9wZW52YWx1ZTM6J+WAvOePreS6uuWRmOi1hOi0qCcsDQogICAgICBvcGVudmFsdWU0Oiflt6Hmo4DorrDlvZXmn6Xor6InLA0KICAgICAgb25lVmFsdWU6MSwNCiAgICAgIGNoYVZhbHVlOicnLA0KICAgICAgcmFkaW86ICIiLA0KICAgICAgcmFkaW9WYWwxOiIxI+i/m+e6v+WkseeUtSIsDQogICAgICByYWRpb1ZhbDI6IjIj6L+b57q/5aSx55S1IiwNCiAgICAgIHJhZGlvVmFsMzoiMSPjgIEyI+i/m+e6v+WQjOaXtuWkseeUtSIsDQogICAgICBvcHRpb25zT3BlbjogWw0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgbGFiZWw6ICIxMDIiLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgIG9uZU9wdGlvbnM6IFsNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgIGxhYmVsOiAiMTBrViDkuIDmrKHns7vnu5/lm74iLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgbGFiZWw6ICI0MDBW5LiA5qyh57O757uf5Zu+IiwNCiAgICAgICAgfSwNCiAgICAgIF0sDQogICAgICB0YWJsZURhdGE6IFsNCiAgICAgIF0sDQogICAgICBjc3NfbGlzdDogWw0KICAgICAgICAiY3NzMSIsDQogICAgICAgICJjc3MyIiwNCiAgICAgICAgImNzczMiLA0KICAgICAgICAiY3NzNCIsDQogICAgICAgICJjc3M1IiwNCiAgICAgICAgImNzczYiLA0KICAgICAgICAiY3NzNyIsDQogICAgICAgICJjc3M4IiwNCiAgICAgIF0sDQogICAgICBtZW51c0FjdGl2ZTogMCwNCiAgICAgIG1lbnViZzogew0KICAgICAgICB1cmw6IHJlcXVpcmUoIkAvYXNzZXRzL25ld2ltZ3MvbW9yZW4ucG5nIiksDQogICAgICAgIGFjdFVybDogcmVxdWlyZSgiQC9hc3NldHMvbmV3aW1ncy94dWFuemhvbmcucG5nIiksDQogICAgICB9LA0KICAgICAgbWVudXNBcnI6IFsNCiAgICAgICAgew0KICAgICAgICAgIHBpYzogcmVxdWlyZSgiQC9hc3NldHMvbmV3aW1ncy/phY3nlLXmiL8t6buY6K6kLnBuZyIpLA0KICAgICAgICAgIGFjdFBpYzogcmVxdWlyZSgiQC9hc3NldHMvbmV3aW1ncy/phY3nlLXmiL8t6YCJ5LitLnBuZyIpLA0KICAgICAgICAgIHRleHQ6ICLphY3nlLXmiL/kv6Hmga8iLA0KICAgICAgICB9LA0KICAgICAgIA0KICAgICAgICB7DQogICAgICAgICAgcGljOiByZXF1aXJlKCJAL2Fzc2V0cy9uZXdpbWdzL+iuvuWkh+WHuue6vy3pu5jorqQucG5nIiksDQogICAgICAgICAgYWN0UGljOiByZXF1aXJlKCJAL2Fzc2V0cy9uZXdpbWdzL+iuvuWkh+WHuue6vy3pgInkuK0ucG5nIiksDQogICAgICAgICAgdGV4dDogIuW8gOWFs+S/oeaBryIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwaWM6IHJlcXVpcmUoIkAvYXNzZXRzL25ld2ltZ3Mv5LiA5qyh57O757ufLem7mOiupC5wbmciKSwNCiAgICAgICAgICBhY3RQaWM6IHJlcXVpcmUoIkAvYXNzZXRzL25ld2ltZ3Mv5LiA5qyh57O757ufLemAieS4rS5wbmciKSwNCiAgICAgICAgICB0ZXh0OiAi5LiA5qyh57O757uf5Zu+IiwNCiAgICAgICAgfSwNCiAgICAgICAgIHsNCiAgICAgICAgICBwaWM6IHJlcXVpcmUoIkAvYXNzZXRzL25ld2ltZ3Mv546v5aKD5L+h5oGvLem7mOiupC5wbmciKSwNCiAgICAgICAgICBhY3RQaWM6IHJlcXVpcmUoIkAvYXNzZXRzL25ld2ltZ3Mv546v5aKD5L+h5oGvLemAieS4rS5wbmciKSwNCiAgICAgICAgICB0ZXh0OiAi546v5aKD5L+h5oGvIiwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBpYzogcmVxdWlyZSgiQC9hc3NldHMvbmV3aW1ncy/ov5Dnu7TmoaPmoYgt6buY6K6kLnBuZyIpLA0KICAgICAgICAgIGFjdFBpYzogcmVxdWlyZSgiQC9hc3NldHMvbmV3aW1ncy/ov5Dnu7TmoaPmoYgt6YCJ5LitLnBuZyIpLA0KICAgICAgICAgIHRleHQ6ICLov5Dnu7TmoaPmoYgiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgcGljOiByZXF1aXJlKCJAL2Fzc2V0cy9uZXdpbWdzL+WRiuitpuS/oeaBry3pu5jorqQucG5nIiksDQogICAgICAgICAgYWN0UGljOiByZXF1aXJlKCJAL2Fzc2V0cy9uZXdpbWdzL+WRiuitpuS/oeaBry3pgInkuK0ucG5nIiksDQogICAgICAgICAgdGV4dDogIuWRiuitpuS/oeaBryIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwaWM6IHJlcXVpcmUoIkAvYXNzZXRzL25ld2ltZ3Mv5LqL5Lu26K6w5b2VLem7mOiupC5wbmciKSwNCiAgICAgICAgICBhY3RQaWM6IHJlcXVpcmUoIkAvYXNzZXRzL25ld2ltZ3Mv5LqL5Lu26K6w5b2VLemAieS4rS5wbmciKSwNCiAgICAgICAgICB0ZXh0OiAi5LqL5Lu26K6w5b2VIiwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBpYzogcmVxdWlyZSgiQC9hc3NldHMvbmV3aW1ncy/mo4Dmn6XpgJrnn6XljZUt6buY6K6kLnBuZyIpLA0KICAgICAgICAgIGFjdFBpYzogcmVxdWlyZSgiQC9hc3NldHMvbmV3aW1ncy/mo4Dmn6XpgJrnn6XljZUt6YCJ5LitLnBuZyIpLA0KICAgICAgICAgIHRleHQ6ICLmo4Dmn6XpgJrnn6XljZUiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgcGljOiByZXF1aXJlKCJAL2Fzc2V0cy9uZXdpbWdzL1ZSLem7mOiupC5wbmciKSwNCiAgICAgICAgICBhY3RQaWM6IHJlcXVpcmUoIkAvYXNzZXRzL25ld2ltZ3MvVlIt6YCJ5LitLnBuZyIpLA0KICAgICAgICAgIHRleHQ6ICJWUuWFqOaZryIsDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgcG9wSW5mb1Nob3c6IGZhbHNlLA0KICAgICAgcG9wSW5mb1Nob3cxOiBmYWxzZSwNCiAgICAgIHBvcEluZm9TaG93MjogZmFsc2UsDQogICAgICBwb3BJbmZvU2hvdzM6IGZhbHNlLA0KICAgICAgcG9wSW5mb1Nob3c0OiBmYWxzZSwNCiAgICAgIHBvcEluZm9TaG93NTogZmFsc2UsDQogICAgICB4aWFuU2hvdzogZmFsc2UsDQogICAgICBtYXBTaG93OiBmYWxzZSwNCiAgICAgIG1hcFNob3cxOiBmYWxzZSwNCiAgICAgIHRhYmxlU2hvdzogZmFsc2UsDQogICAgICBnZXRCZzogWyJsaXN0MSIsICJsaXN0MiIsICJsaXN0MyIsICJsaXN0NCJdLA0KICAgICAgaW5mb0FycjogWw0KICAgICAgICB7DQogICAgICAgICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzMucG5nIiksDQogICAgICAgICAgbmFtZTogIuermeaIv+WQjeensCIsDQogICAgICAgICAgdGV4dDogIuaWsOmmhiIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzMC5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi56uZ5oi/5Zyw5Z2AIiwNCiAgICAgICAgICB0ZXh0OiAi5Y2X5Lqs5biC5bu66YK65Yy65rC06KW/6Zeo5aSn6KGXNDE45Y+3IiwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDMxLnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLlj5jljovlmajmlbDph48iLA0KICAgICAgICAgIHRleHQ6ICIyIiwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDMyLnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLlj5jljovlmajlrrnph48iLA0KICAgICAgICAgIHRleHQ6ICIzMjAwa1ZBIiwNCiAgICAgICAgfSwNCiAgICAgICAgLy8gew0KICAgICAgICAvLyAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDI5LnBuZyIpLA0KICAgICAgICAvLyAgIG5hbWU6ICLov5vnur/lkI3np7AiLA0KICAgICAgICAvLyAgIHRleHQ6ICIxMGt2IiwNCiAgICAgICAgLy8gfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDcucG5nIiksDQogICAgICAgICAgbmFtZTogIueUteawlOiBlOezu+S6uiIsDQogICAgICAgICAgdGV4dDogIuadjuW3pSIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAyNi5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi6IGU57O755S16K+dIiwNCiAgICAgICAgICB0ZXh0OiAiMTgwNjE3NzY4MjQiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMjgucG5nIiksDQogICAgICAgICAgbmFtZTogIuaKlei/kOaXtumXtCIsDQogICAgICAgICAgdGV4dDogIjIwMTUuMTEuMTIiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzMucG5nIiksDQogICAgICAgICAgbmFtZTogIuS4iuasoeivlemqjOaXtumXtCIsDQogICAgICAgICAgdGV4dDogIjIwMTEuMTEuMTIiLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgICBpbmZvQXJyMTogWw0KICAgICAgICB7DQogICAgICAgICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzMucG5nIiksDQogICAgICAgICAgbmFtZTogIuermeaIv+WQjeensCIsDQogICAgICAgICAgdGV4dDogIuaXp+mmhiIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzMC5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi56uZ5oi/5Zyw5Z2AIiwNCiAgICAgICAgICB0ZXh0OiAi5Y2X5Lqs5biC5bu66YK65Yy65rC06KW/6Zeo5aSn6KGXNDE45Y+3IiwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDMxLnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLlj5jljovlmajmlbDph48iLA0KICAgICAgICAgIHRleHQ6ICIyIiwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDMyLnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLlj5jljovlmajlrrnph48iLA0KICAgICAgICAgIHRleHQ6ICIxNjAwa1ZBIiwNCiAgICAgICAgfSwNCiAgICAgICAgLy8gew0KICAgICAgICAvLyAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDI5LnBuZyIpLA0KICAgICAgICAvLyAgIG5hbWU6ICLov5vnur/lkI3np7AiLA0KICAgICAgICAvLyAgIHRleHQ6ICIxMGt2IiwNCiAgICAgICAgLy8gfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDcucG5nIiksDQogICAgICAgICAgbmFtZTogIueUteawlOiBlOezu+S6uiIsDQogICAgICAgICAgdGV4dDogIuadjuW3pSIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAyNi5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi6IGU57O755S16K+dIiwNCiAgICAgICAgICB0ZXh0OiAiMTgwNjE3NzY4MjQiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMjgucG5nIiksDQogICAgICAgICAgbmFtZTogIuaKlei/kOaXtumXtCIsDQogICAgICAgICAgdGV4dDogIjIwMDcuMTEuMTIiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzMucG5nIiksDQogICAgICAgICAgbmFtZTogIuS4iuasoeivlemqjOaXtumXtCIsDQogICAgICAgICAgdGV4dDogIjIwMTEuMTEuMTIiLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgIGVudmlyb25tZW50QXJyOlsNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM3LnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLpl6jnpoExIiwNCiAgICAgICAgfQ0KICAgICAgXSwNCiAgICAgIGVuaW9yQXJyOiBbDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzNy5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi6Zeo56aBMSIsDQogICAgICAgICAgbmFtZXR3bzogIua4qeW6pu+8iOKEg++8iSIsDQogICAgICAgICAgdmFsdWU6ICIyNiIsDQogICAgICAgICAgZmllbGROYW1lOidkb29yU3RhdGUnLA0KICAgICAgICAgIGZpZWxkTmFtZVR3bzondGVtcGVyYXR1cmUnDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzNy5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi6Zeo56aBMiIsDQogICAgICAgICAgbmFtZXR3bzogIua5v+W6pu+8iCVSSO+8iSIsDQogICAgICAgICAgdmFsdWU6ICI0MC41IiwNCiAgICAgICAgICBmaWVsZE5hbWU6J2Rvb3JTdGF0ZScsDQogICAgICAgICAgZmllbGROYW1lVHdvOid0ZW1wZXJhdHVyZScNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM2LnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLng5/mhJ8xIiwNCiAgICAgICAgICBuYW1ldHdvOiAi5rC05rW4IiwNCiAgICAgICAgICB2YWx1ZTogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzUucG5nIiksDQogICAgICAgICAgZmllbGROYW1lOidzbW9rZVNlbnNhdGlvbicsDQogICAgICAgICAgZmllbGROYW1lVHdvOid3YXRlcm91dCcNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM2LnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLng5/mhJ8yIiwNCiAgICAgICAgICBuYW1ldHdvOiAiIiwNCiAgICAgICAgICB2YWx1ZTogIiIsDQogICAgICAgICAgZmllbGROYW1lOidzbW9rZVNlbnNhdGlvbicsDQogICAgICAgICAgZmllbGROYW1lVHdvOicnDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzNi5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi54Of5oSfMyIsDQogICAgICAgICAgbmFtZXR3bzogIiIsDQogICAgICAgICAgdmFsdWU6ICcnLA0KICAgICAgICAgIGZpZWxkTmFtZTonc21va2VTZW5zYXRpb24nLA0KICAgICAgICAgIGZpZWxkTmFtZVR3bzonJw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzYucG5nIiksDQogICAgICAgICAgbmFtZTogIueDn+aEnzQiLA0KICAgICAgICAgIG5hbWV0d286ICIiLA0KICAgICAgICAgIHZhbHVlOiAnJywNCiAgICAgICAgICBmaWVsZE5hbWU6J3Ntb2tlU2Vuc2F0aW9uJywNCiAgICAgICAgfSwNCiAgICAgIF0sDQogICAgICBlbmlvckFycjE6Ww0KICAgICAgICAvLyAgew0KICAgICAgICAvLyAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM3LnBuZyIpLA0KICAgICAgICAvLyAgIG5hbWU6ICLliY3pl6jpl6jnpoEiLA0KICAgICAgICAvLyAgIG5hbWV0d286ICLkvqfpl6jpl6jnpoEiLA0KICAgICAgICAvLyAgIHZhbHVlOnJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM3LnBuZyIpLA0KICAgICAgICAvLyB9LA0KICAgICAgICAvLyB7DQogICAgICAgIC8vICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzYucG5nIiksDQogICAgICAgIC8vICAgbmFtZTogIueDn+aEnzEiLA0KICAgICAgICAvLyAgIG5hbWV0d286ICLng5/mhJ8yIiwNCiAgICAgICAgLy8gICB2YWx1ZTogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzYucG5nIiksDQogICAgICAgIC8vIH0sDQogICAgICAgIC8vICB7DQogICAgICAgIC8vICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzUucG5nIiksDQogICAgICAgIC8vICAgbmFtZTogIuawtOa1uCIsDQogICAgICAgIC8vICAgbmFtZXR3bzogIua4qeW6pu+8iOKEg++8iSIsDQogICAgICAgIC8vICAgdmFsdWU6ICcyNC4xJywNCiAgICAgICAgLy8gfSwNCiAgICAgICAgLy8gew0KICAgICAgICAvLyAgIHBhdGg6ICcyNC4xJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JywNCiAgICAgICAgLy8gICBuYW1lOiAi5rm/5bqmKCVSSCkiLA0KICAgICAgICAvLyAgIG5hbWV0d286ICIiLA0KICAgICAgICAvLyAgIHZhbHVlOiAnJywNCiAgICAgICAgLy8gfSwNCiAgICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzNy5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi6Zeo56aBMSIsDQogICAgICAgICAgbmFtZXR3bzogIumrmOWOi+S+p+a4qeW6pu+8iOKEg++8iSIsDQogICAgICAgICAgdmFsdWU6ICIyNiIsDQogICAgICAgICAgZmllbGROYW1lOidkb29yU3RhdGUnLA0KICAgICAgICAgIGZpZWxkTmFtZVR3bzondGVtcGVyYXR1cmUnDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzNy5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi6Zeo56aBMiIsDQogICAgICAgICAgbmFtZXR3bzogIumrmOWOi+S+p+a5v+W6pu+8iCVSSO+8iSIsDQogICAgICAgICAgdmFsdWU6ICI0MC41IiwNCiAgICAgICAgICBmaWVsZE5hbWU6J2Rvb3JTdGF0ZScsDQogICAgICAgICAgZmllbGROYW1lVHdvOid0ZW1wZXJhdHVyZScNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM2LnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLng5/mhJ8xIiwNCiAgICAgICAgICBuYW1ldHdvOiAi5L2O5Y6L5L6n5rip5bqm77yI4oSD77yJIiwNCiAgICAgICAgICB2YWx1ZTogIjI0LjEiLA0KICAgICAgICAgIGZpZWxkTmFtZTonZG9vclN0YXRlJywNCiAgICAgICAgICBmaWVsZE5hbWVUd286J3RlbXBlcmF0dXJlJw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgcGF0aDogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzYucG5nIiksDQogICAgICAgICAgbmFtZTogIueDn+aEnzIiLA0KICAgICAgICAgIG5hbWV0d286ICLkvY7ljovkvqfmub/luqbvvIglUkjvvIkiLA0KICAgICAgICAgIHZhbHVlOiAiNDQuNyIsDQogICAgICAgICAgZmllbGROYW1lOidzbW9rZVNlbnNhdGlvbicsDQogICAgICAgICAgZmllbGROYW1lVHdvOid0ZW1wZXJhdHVyZScNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM2LnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLng5/mhJ8zIiwNCiAgICAgICAgICBuYW1ldHdvOiAi5rC05rW4IiwNCiAgICAgICAgICB2YWx1ZTogcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzUucG5nIiksDQogICAgICAgICAgZmllbGROYW1lOidzbW9rZVNlbnNhdGlvbicsDQogICAgICAgICAgZmllbGROYW1lVHdvOid3YXRlcm91dCcNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHBhdGg6IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM2LnBuZyIpLA0KICAgICAgICAgIG5hbWU6ICLng5/mhJ80IiwNCiAgICAgICAgICBuYW1ldHdvOiAiIiwNCiAgICAgICAgICB2YWx1ZTogJycsDQogICAgICAgICAgZmllbGROYW1lOidzbW9rZVNlbnNhdGlvbicsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBwYXRoOiByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzNi5wbmciKSwNCiAgICAgICAgICBuYW1lOiAi54Of5oSfNCIsDQogICAgICAgICAgbmFtZXR3bzogIiIsDQogICAgICAgICAgdmFsdWU6ICcnLA0KICAgICAgICAgIGZpZWxkTmFtZTonc21va2VTZW5zYXRpb24nLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgIGZ1emFpQXJyOiBbDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAi5oC76LSf6I23IiwNCiAgICAgICAgICB2bGF1ZTogIjE5OCIsDQogICAgICAgICAgaWNvbjogIiIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAi6L+b57q/55S15Y6L5L+h5oGvIiwNCiAgICAgICAgICB2bGF1ZTogIjUuODQiLA0KICAgICAgICAgIGljb246ICIiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgbmFtZTogIue0r+iuoeeUtemHjyIsDQogICAgICAgICAgdmxhdWU6ICIxODM5MzUiLA0KICAgICAgICAgIGljb246ICIiLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgbmFtZTogIuWKn+eOh+WboOaVsCIsDQogICAgICAgICAgdmxhdWU6ICIwLjk4IiwNCiAgICAgICAgICBpY29uOiAiIiwNCiAgICAgICAgfSwNCiAgICAgIF0sDQogICAgICBmdXphaUFycjE6IFsNCiAgICAgICAgew0KICAgICAgICAgIG5hbWU6ICLmgLvotJ/ojbciLA0KICAgICAgICAgIHZsYXVlOiAiMTk4IiwNCiAgICAgICAgICBpY29uOiAiIiwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIG5hbWU6ICLov5vnur/nlLXljovkv6Hmga8iLA0KICAgICAgICAgIHZsYXVlOiAiNS44NCIsDQogICAgICAgICAgaWNvbjogIiIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAi57Sv6K6h55S16YePIiwNCiAgICAgICAgICB2bGF1ZTogIjE4MzkzNSIsDQogICAgICAgICAgaWNvbjogIiIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAi5Yqf546H5Zug5pWwIiwNCiAgICAgICAgICB2bGF1ZTogIjAuOTgiLA0KICAgICAgICAgIGljb246ICIiLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgIHRocmVlVXJsOiAiIiwNCiAgICAgIGh0U3RhdHVzOiAxLA0KICAgICAgcGVyU29uOiAiMSIsDQogICAgICBzZWxlY3RBcnI6IFsi5paw6aaGIiwgIuaXp+mmhiJdLA0KICAgICAgYWxhcm1MaXN0RGF0YTogWw0KICAgICAgICAvLyB7DQogICAgICAgIC8vICAgdGltZTogIjIwMjItMTEtMDQgMDg6MTY6NDYiLA0KICAgICAgICAvLyAgIGJpYW53ZWk6ICLkvqfpl6jpl6jnpoEy5oql6K2m5Y+Y5L2NIiwNCiAgICAgICAgLy8gICBkaXpoaTogIuWNl+S6rOi9r+S7tuWbreenkeaKgOWPkeWxleaciemZkOWFrOWPuO+8iOiFvumjnuWkp+WOpuS4reW/g+erme+8iSIsDQogICAgICAgIC8vICAgemhhbjogIuiFvumjnuWkp+WOpuS4reW/g+ermSIsDQogICAgICAgIC8vICAgZnN6OiAiMSIsDQogICAgICAgIC8vICAgY2VtZW5nOiAiMiIsDQogICAgICAgIC8vIH0sDQogICAgICAgIC8vIHsNCiAgICAgICAgLy8gICB0aW1lOiAiMjAyMi0xMS0wNCAwODoxNjo0NiIsDQogICAgICAgIC8vICAgYmlhbndlaTogIuS+p+mXqOmXqOemgTLmiqXorablj5jkvY0iLA0KICAgICAgICAvLyAgIGRpemhpOiAi5Y2X5Lqs6L2v5Lu25Zut56eR5oqA5Y+R5bGV5pyJ6ZmQ5YWs5Y+477yI6IW+6aOe5aSn5Y6m5Lit5b+D56uZ77yJIiwNCiAgICAgICAgLy8gICB6aGFuOiAi6IW+6aOe5aSn5Y6m5Lit5b+D56uZIiwNCiAgICAgICAgLy8gICBmc3o6ICIxIiwNCiAgICAgICAgLy8gICBjZW1lbmc6ICIyIiwNCiAgICAgICAgLy8gfSwNCiAgICAgICAgLy8gew0KICAgICAgICAvLyAgIHRpbWU6ICIyMDIyLTExLTA0IDA4OjE2OjQ2IiwNCiAgICAgICAgLy8gICBiaWFud2VpOiAi5L6n6Zeo6Zeo56aBMuaKpeitpuWPmOS9jSIsDQogICAgICAgIC8vICAgZGl6aGk6ICLljZfkuqzova/ku7blm63np5HmioDlj5HlsZXmnInpmZDlhazlj7jvvIjohb7po57lpKfljqbkuK3lv4Pnq5nvvIkiLA0KICAgICAgICAvLyAgIHpoYW46ICLohb7po57lpKfljqbkuK3lv4Pnq5kiLA0KICAgICAgICAvLyAgIGZzejogIjEiLA0KICAgICAgICAvLyAgIGNlbWVuZzogIjIiLA0KICAgICAgICAvLyB9LA0KICAgICAgICAvLyB7DQogICAgICAgIC8vICAgdGltZTogIjIwMjItMTEtMDQgMDg6MTY6NDYiLA0KICAgICAgICAvLyAgIGJpYW53ZWk6ICLkvqfpl6jpl6jnpoEy5oql6K2m5Y+Y5L2NIiwNCiAgICAgICAgLy8gICBkaXpoaTogIuWNl+S6rOi9r+S7tuWbreenkeaKgOWPkeWxleaciemZkOWFrOWPuO+8iOiFvumjnuWkp+WOpuS4reW/g+erme+8iSIsDQogICAgICAgIC8vICAgemhhbjogIuiFvumjnuWkp+WOpuS4reW/g+ermSIsDQogICAgICAgIC8vICAgZnN6OiAiMSIsDQogICAgICAgIC8vICAgY2VtZW5nOiAiMiIsDQogICAgICAgIC8vIH0sDQogICAgICAgIC8vIHsNCiAgICAgICAgLy8gICB0aW1lOiAiMjAyMi0xMS0wNCAwODoxNjo0NiIsDQogICAgICAgIC8vICAgYmlhbndlaTogIuS+p+mXqOmXqOemgTLmiqXorablj5jkvY0iLA0KICAgICAgICAvLyAgIGRpemhpOiAi5Y2X5Lqs6L2v5Lu25Zut56eR5oqA5Y+R5bGV5pyJ6ZmQ5YWs5Y+477yI6IW+6aOe5aSn5Y6m5Lit5b+D56uZ77yJIiwNCiAgICAgICAgLy8gICB6aGFuOiAi6IW+6aOe5aSn5Y6m5Lit5b+D56uZIiwNCiAgICAgICAgLy8gICBmc3o6ICIxIiwNCiAgICAgICAgLy8gICBjZW1lbmc6ICIyIiwNCiAgICAgICAgLy8gfSwNCiAgICAgIF0sDQogICAgICBjbGFzc09wdGlvbjogew0KICAgICAgICBzdGVwOiAwLjUsIC8vIOaVsOWAvOi2iuWkp+mAn+W6pua7muWKqOi2iuW/qw0KICAgICAgICAvLyBsaW1pdE1vdmVOdW06IDEwLCAvLyDlvIDlp4vml6DnvJ3mu5rliqjnmoTmlbDmja7ph48gdGhpcy5kYXRhTGlzdC5sZW5ndGgNCiAgICAgICAgLy8gaG92ZXJTdG9wOiB0cnVlLCAvLyDmmK/lkKblvIDlkK/pvKDmoIfmgqzlgZxzdG9wDQogICAgICAgIC8vIGRpcmVjdGlvbjogMSwgLy8gMOWQkeS4iyAx5ZCR5LiKIDLlkJHlt6YgM+WQkeWPsw0KICAgICAgICAvLyBvcGVuV2F0Y2g6IHRydWUsIC8vIOW8gOWQr+aVsOaNruWunuaXtuebkeaOp+WIt+aWsGRvbQ0KICAgICAgICAvLyBzaW5nbGVIZWlnaHQ6IDAsIC8vIOWNleatpei/kOWKqOWBnOatoueahOmrmOW6pijpu5jorqTlgLww5piv5peg57yd5LiN5YGc5q2i55qE5rua5YqoKSBkaXJlY3Rpb24gPT4gMC8xDQogICAgICAgIC8vIHNpbmdsZVdpZHRoOiAwLCAvLyDljZXmraXov5DliqjlgZzmraLnmoTlrr3luqYo6buY6K6k5YC8MOaYr+aXoOe8neS4jeWBnOatoueahOa7muWKqCkgZGlyZWN0aW9uID0+IDIvMw0KICAgICAgICB3YWl0VGltZTogMTAwMCwgLy8g5Y2V5q2l6L+Q5Yqo5YGc5q2i55qE5pe26Ze0KOm7mOiupOWAvDEwMDBtcykNCiAgICAgIH0sDQogICAgICAvLyB1bml0eVVybDoiaHR0cHM6Ly9teS5tYXR0ZXJwb3J0dnIuY24vc2hvdy8/bT1oRW5NZkZuaWQ4MiZzcj0tMy4wNCZzcz0zMiIsDQogICAgICB1bml0eVVybDogIiIsDQogICAgICB0b3VrdWlTaG93OiBmYWxzZSwNCiAgICAgIHVuaXR5Q2hhbmdlOiAwLA0KICAgICAgdGl0bGVEYXRhOiAiIiwNCiAgICAgIHZhbHVlRGF0YTogIjM4IiwNCiAgICAgIGJhY2tncm91bmRQaWM6IHsNCiAgICAgICAgaW5kZXg6ICJsYW5kUmVzMi9iZyIsDQogICAgICB9LA0KICAgICAgb3B0aW9uczogW10sDQogICAgICBjYXJDaGFuZ2VTaG93OiBmYWxzZSwNCiAgICAgIGxvY2FuaW9uSXA6JycsDQogICAgICAvL+S4jeWKqOS6p+aVsOaNrg0KICAgICAgd29ya0xpc3Q6IFtdLA0KICAgICAgd29ya0xpc3REYXRhOiBbXSwNCiAgICAgIHdvcmtMaXN0RGF0YWZjejogW10sDQogICAgICAvL+Wcn+WcsOaVsOaNrg0KICAgICAgd29ya0xpc3ROZXc6IFtdLA0KICAgICAgd29ya0xpc3RGQ1o6IFtdLA0KICAgICAgZmN6U2hvdzogZmFsc2UsDQogICAgICBjb25maWc0OiB7DQogICAgICAgIGhlYWRlcjogWyLpg6jpl6giLCAi5qW85bGCIiwgIuaIv+WPtyIsICLlkI3np7AiXSwNCiAgICAgICAgcm93TnVtOiAxMiwNCiAgICAgICAgZGF0YToNCiAgICAgICAgICAvLyBbWycyMDE5JywgJzInLCAnMTYuNjclJ10sDQogICAgICAgICAgLy8gWycyMDIxJywgJzInLCAnMTYuNjclJ10sDQogICAgICAgICAgLy8gWycyMDIyJywgJzUnLCAnNjYuNjclJ10sWyfml6AnLCAn5pegJywgJ+aXoCddLF0NCiAgICAgICAgICBbXSwNCiAgICAgICAgY29sdW1uV2lkdGg6IFs2MF0sDQogICAgICB9LA0KICAgICAgdHlwZTogIiIsDQoNCiAgICAgIHRpdDogIuS4jeWKqOS6p+S6p+adg+ivgeS/oeaBryIsDQogICAgICBsb2FkaW5nOiBmYWxzZSwNCg0KICAgICAgLi4ubW9ja0RhdGEuZGVmYXVsdCwNCiAgICB9Ow0KICB9LA0KICBjb21wb25lbnRzOiB7DQogICAgSGVhZGVySW5kZXg6IGhlYWRlckluZGV4LA0KICAgIEJhc2ljQm94NCwNCiAgICBCYXNpY0JveDIsDQogICAgQmFzaWNCb3gsDQogICAgY3VzdG9tRHZTY3JvbGxCb2FyZDIsDQogICAgQ2VudGVyLA0KICAgIHZ1ZVNlYW1sZXNzU2Nyb2xsLA0KICAgIHBkZg0KICB9LA0KICB3YXRjaDogew0KICAgIHVuaXR5Q2hhbmdlOiB7DQogICAgICBoYW5kbGVyKG5ld1YpIHsNCiAgICAgICAgaWYgKG5ld1YgPT0gMCkgew0KICAgICAgICAgIHRoaXMudW5pdHlVcmwgPSAiL2h0V2ViL3VuaXR5Lmh0bWw/c3JjPTEiOw0KICAgICAgICAgIHRoaXMudGhyZWVVcmw9Imh0dHA6Ly8yMjEuMjI2LjE5Ljg1OjEwMTMzL2Jkel8zNjBfMjJfMTJfOC9pbmRleC5odG1sIg0KICAgICAgICAgIHRoaXMuc2VhcmNoSGFuZGxlKCcyJykNCiAgICAgICAgICB0aGlzLnJlYWNodGFibGVEYXRhKCcyJykNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLnVuaXR5VXJsID0gIi9odFdlYi91bml0eS5odG1sP3NyYz0yIjsNCiAgICAgICAgdGhpcy50aHJlZVVybD0iaHR0cDovLzIyMS4yMjYuMTkuODU6MTAxMzMvYmR6XzM2MF8yMl8xMV8xMS9pbmRleC5odG1sIg0KICAgICAgICB0aGlzLnNlYXJjaEhhbmRsZSgnMScpDQogICAgICAgIHRoaXMucmVhY2h0YWJsZURhdGEoJzEnKQ0KICAgICAgICB9DQogICAgICANCiAgICAgIH0sDQogICAgICBpbW1lZGlhdGU6IHRydWUsDQogICAgfSwNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICB0aGlzLmluaXQoKQ0KICAgIC8vIC8v5p+l6K+i5a6e5pe26K6w5b2VDQogICAgd2luZG93LnNldEludGVydmFsKCgpPT57DQogICAgICBnZXRFbnZpcm9ubWVudEluZm8oeyBzaXRlSWQ6ICIyIn0pLnRoZW4oKHJlcyk9PnsNCiAgICAgIC8vIHRoaXMuZW5pb3JBcnINCiAgICAgIGZvciAoY29uc3Qga2V5IGluIHJlcy5kYXRhLmRhdGEpIHsNCiAgICAgICAgaWYgKGtleSA9PSAnZG9vclN0YXRlJykgew0KICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzLmRhdGEuZGF0YS5kb29yU3RhdGUubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIHRoaXMuZW5pb3JBcnJbaV0ubmFtZSA9IHJlcy5kYXRhLmRhdGEuZG9vclN0YXRlW2ldLmRvb3JOYW1lDQogICAgICAgICAgICBpZiAocmVzLmRhdGEuZGF0YS5kb29yU3RhdGVbaV0uaXNPcGVuID09IDApIHsNCiAgICAgICAgICAgICAgdGhpcy5lbmlvckFycltpXS5wYXRoID0gIHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM4LnBuZyIpDQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgdGhpcy5lbmlvckFycltpXS5wYXRoID0gIHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM3LnBuZyIpDQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICAgDQogICAgICAgIH0NCiAgICAgICAgaWYgKGtleSA9PSAnc21va2VTZW5zYXRpb24nKSB7DQogICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXMuZGF0YS5kYXRhLnNtb2tlU2Vuc2F0aW9uLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICB0aGlzLmVuaW9yQXJyW2kgKyByZXMuZGF0YS5kYXRhLmRvb3JTdGF0ZS5sZW5ndGhdLm5hbWUgPSByZXMuZGF0YS5kYXRhLnNtb2tlU2Vuc2F0aW9uW2ldLmRvb3JOYW1lDQogICAgICAgICAgICBpZiAocmVzLmRhdGEuZGF0YS5zbW9rZVNlbnNhdGlvbltpXS5pc09wZW4gPT0gMCkgew0KICAgICAgICAgICAgICB0aGlzLmVuaW9yQXJyW2krcmVzLmRhdGEuZGF0YS5kb29yU3RhdGUubGVuZ3RoXS5wYXRoID0gIHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM2LnBuZyIpDQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgdGhpcy5lbmlvckFycltpK3Jlcy5kYXRhLmRhdGEuZG9vclN0YXRlLmxlbmd0aF0ucGF0aCA9ICByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCA0MC5wbmciKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBpZiAoa2V5ID09ICd3YXRlcm91dCcpIHsNCiAgICAgICAgICBpZiAocmVzLmRhdGEuZGF0YS53YXRlcm91dCA9PSAwKSB7DQogICAgICAgICAgICB0aGlzLmVuaW9yQXJyWzJdLnZhbHVlID0gcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzUucG5nIikNCiAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIHRoaXMuZW5pb3JBcnJbMl0udmFsdWUgPSByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCAzOS5wbmciKQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBpZiAoa2V5ID09ICd0ZW1wZXJhdHVyZScpIHsNCiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlcy5kYXRhLmRhdGEudGVtcGVyYXR1cmUubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmIChyZXMuZGF0YS5kYXRhLnRlbXBlcmF0dXJlW2ldLnR5cGUgPT0gMykgew0KICAgICAgICAgICAgICB0aGlzLmVuaW9yQXJyWzBdLnZhbHVlID0gcmVzLmRhdGEuZGF0YS50ZW1wZXJhdHVyZVtpXS52YWx1ZS5zdWJzdHJpbmcoMCxyZXMuZGF0YS5kYXRhLnRlbXBlcmF0dXJlW2ldLnZhbHVlLmluZGV4T2YoIi4iKSsyKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8gaWYgKHJlcy5kYXRhLmRhdGEudGVtcGVyYXR1cmVbaV0udHlwZSA9PSAyKSB7DQogICAgICAgICAgICAvLyAgIHRoaXMuZW5pb3JBcnJbMl0udmFsdWUgPSByZXMuZGF0YS5kYXRhLnRlbXBlcmF0dXJlW2ldLnZhbHVlDQogICAgICAgICAgICAvLyB9DQogICAgICAgICAgICAvLyBpZiAocmVzLmRhdGEuZGF0YS50ZW1wZXJhdHVyZVtpXS50eXBlID09IDMpIHsNCiAgICAgICAgICAgIC8vICAgdGhpcy5lbmlvckFycjFbMl0udmFsdWUgPSByZXMuZGF0YS5kYXRhLnRlbXBlcmF0dXJlW2ldLnZhbHVlDQogICAgICAgICAgICAvLyB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGlmIChrZXkgPT0gJ2h1bWlkaXR5Jykgew0KICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzLmRhdGEuZGF0YS5odW1pZGl0eS5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmRhdGEuaHVtaWRpdHlbaV0udHlwZSA9PSAzKSB7DQogICAgICAgICAgICAgIHRoaXMuZW5pb3JBcnJbMV0udmFsdWUgPSAgcmVzLmRhdGEuZGF0YS5odW1pZGl0eVtpXS52YWx1ZS5zdWJzdHJpbmcoMCxyZXMuZGF0YS5kYXRhLmh1bWlkaXR5W2ldLnZhbHVlLmluZGV4T2YoIi4iKSsyKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8gaWYgKHJlcy5kYXRhLmRhdGEuaHVtaWRpdHlbaV0udHlwZSA9PSAyKSB7DQogICAgICAgICAgICAvLyAgIHRoaXMuZW5pb3JBcnJbM10udmFsdWUgPSByZXMuZGF0YS5kYXRhLmh1bWlkaXR5W2ldLnZhbHVlDQogICAgICAgICAgICAvLyB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgfSkNCiAgICBnZXRFbnZpcm9ubWVudEluZm8oeyBzaXRlSWQ6ICIxIn0pLnRoZW4oKHJlcyk9PnsNCiAgICAgIC8vIHRoaXMuZW5pb3JBcnINCiAgICAgIGZvciAoY29uc3Qga2V5IGluIHJlcy5kYXRhLmRhdGEpIHsNCiAgICAgICAgaWYgKGtleSA9PSAnZG9vclN0YXRlJykgew0KICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzLmRhdGEuZGF0YS5kb29yU3RhdGUubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIHRoaXMuZW5pb3JBcnIxW2ldLm5hbWUgPSByZXMuZGF0YS5kYXRhLmRvb3JTdGF0ZVtpXS5kb29yTmFtZQ0KICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmRhdGEuZG9vclN0YXRlW2ldLmlzT3BlbiA9PSAwKSB7DQogICAgICAgICAgICAgIHRoaXMuZW5pb3JBcnIxW2ldLnBhdGggPSAgcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzgucG5nIikNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICB0aGlzLmVuaW9yQXJyMVtpXS5wYXRoID0gIHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM3LnBuZyIpDQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICAgDQogICAgICAgIH0NCiAgICAgICAgaWYgKGtleSA9PSAnc21va2VTZW5zYXRpb24nKSB7DQogICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXMuZGF0YS5kYXRhLnNtb2tlU2Vuc2F0aW9uLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICB0aGlzLmVuaW9yQXJyMVtpICsgcmVzLmRhdGEuZGF0YS5kb29yU3RhdGUubGVuZ3RoXS5uYW1lID0gcmVzLmRhdGEuZGF0YS5zbW9rZVNlbnNhdGlvbltpXS5kb29yTmFtZQ0KICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmRhdGEuc21va2VTZW5zYXRpb25baV0uaXNPcGVuID09IDApIHsNCiAgICAgICAgICAgICAgdGhpcy5lbmlvckFycjFbaStyZXMuZGF0YS5kYXRhLmRvb3JTdGF0ZS5sZW5ndGhdLnBhdGggPSAgcmVxdWlyZSgiQC9hc3NldHMvbWFwSW5mby/otYTmupAgMzYucG5nIikNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICB0aGlzLmVuaW9yQXJyMVtpK3Jlcy5kYXRhLmRhdGEuZG9vclN0YXRlLmxlbmd0aF0ucGF0aCA9ICByZXF1aXJlKCJAL2Fzc2V0cy9tYXBJbmZvL+i1hOa6kCA0MC5wbmciKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBpZiAoa2V5ID09ICd3YXRlcm91dCcpIHsNCiAgICAgICAgICBpZiAocmVzLmRhdGEuZGF0YS53YXRlcm91dCA9PSAwKSB7DQogICAgICAgICAgICB0aGlzLmVuaW9yQXJyMVs0XS52YWx1ZSA9IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM1LnBuZyIpDQogICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICB0aGlzLmVuaW9yQXJyMVs0XS52YWx1ZSA9IHJlcXVpcmUoIkAvYXNzZXRzL21hcEluZm8v6LWE5rqQIDM5LnBuZyIpDQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGlmIChrZXkgPT0gJ3RlbXBlcmF0dXJlJykgew0KICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzLmRhdGEuZGF0YS50ZW1wZXJhdHVyZS5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmRhdGEudGVtcGVyYXR1cmVbaV0udHlwZSA9PSAxKSB7DQogICAgICAgICAgICAgIHRoaXMuZW5pb3JBcnIxWzBdLnZhbHVlID0gcmVzLmRhdGEuZGF0YS50ZW1wZXJhdHVyZVtpXS52YWx1ZS5zdWJzdHJpbmcoMCxyZXMuZGF0YS5kYXRhLnRlbXBlcmF0dXJlW2ldLnZhbHVlLmluZGV4T2YoIi4iKSsyKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmRhdGEudGVtcGVyYXR1cmVbaV0udHlwZSA9PSAyKSB7DQogICAgICAgICAgICAgIHRoaXMuZW5pb3JBcnIxWzJdLnZhbHVlID0gcmVzLmRhdGEuZGF0YS50ZW1wZXJhdHVyZVtpXS52YWx1ZS5zdWJzdHJpbmcoMCxyZXMuZGF0YS5kYXRhLnRlbXBlcmF0dXJlW2ldLnZhbHVlLmluZGV4T2YoIi4iKSsyKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8gaWYgKHJlcy5kYXRhLmRhdGEudGVtcGVyYXR1cmVbaV0udHlwZSA9PSAzKSB7DQogICAgICAgICAgICAvLyAgIHRoaXMuZW5pb3JBcnIxWzJdLnZhbHVlID0gcmVzLmRhdGEuZGF0YS50ZW1wZXJhdHVyZVtpXS52YWx1ZQ0KICAgICAgICAgICAgLy8gfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBpZiAoa2V5ID09ICdodW1pZGl0eScpIHsNCiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlcy5kYXRhLmRhdGEuaHVtaWRpdHkubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmIChyZXMuZGF0YS5kYXRhLmh1bWlkaXR5W2ldLnR5cGUgPT0gMSkgew0KICAgICAgICAgICAgICB0aGlzLmVuaW9yQXJyMVsxXS52YWx1ZSA9IHJlcy5kYXRhLmRhdGEuaHVtaWRpdHlbaV0udmFsdWUuc3Vic3RyaW5nKDAscmVzLmRhdGEuZGF0YS5odW1pZGl0eVtpXS52YWx1ZS5pbmRleE9mKCIuIikrMikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChyZXMuZGF0YS5kYXRhLmh1bWlkaXR5W2ldLnR5cGUgPT0gMikgew0KICAgICAgICAgICAgICB0aGlzLmVuaW9yQXJyMVszXS52YWx1ZSA9IHJlcy5kYXRhLmRhdGEuaHVtaWRpdHlbaV0udmFsdWUuc3Vic3RyaW5nKDAscmVzLmRhdGEuZGF0YS5odW1pZGl0eVtpXS52YWx1ZS5pbmRleE9mKCIuIikrMikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9KQ0KICAgIH0sMzAwMCkNCiAgICANCiAgICANCiAgICAgLy8g546v5aKD5L+h5oGvDQogICAgIHdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+ew0KICAgICAgZ2V0U2l0ZUluZm8oe3NpdGVJZDonMid9KS50aGVuKChyZXMpPT57DQogICAgICB0aGlzLmluZm9BcnJbMF0udGV4dCA9IHJlcy5kYXRhLmRhdGEuc2l0ZU5hbWUNCiAgICAgIHRoaXMuaW5mb0FyclsxXS50ZXh0ID0gcmVzLmRhdGEuZGF0YS5zaXRlQWRyZXNzDQogICAgICB0aGlzLmluZm9BcnJbMl0udGV4dCA9IHJlcy5kYXRhLmRhdGEudG90YWxUcmFuc2Zvcm1hdGlvblNpdGUNCiAgICAgIHRoaXMuaW5mb0FyclszXS50ZXh0ID0gcmVzLmRhdGEuZGF0YS50cmFuc2Zvcm1hdGlvbkNhcGFjaXR5KydrVkEnDQogICAgICAvLyB0aGlzLmluZm9BcnJbNF0udGV4dCA9IHJlcy5kYXRhLmRhdGEuY29udGFjdHMNCiAgICAgIHRoaXMuaW5mb0Fycls1XS50ZXh0ID0gcmVzLmRhdGEuZGF0YS5waG9uZQ0KICAgICAgdGhpcy5pbmZvQXJyWzZdLnRleHQgPSByZXMuZGF0YS5kYXRhLnVzZVRpbWUNCiAgICAgIHRoaXMuaW5mb0Fycls3XS50ZXh0ID0gcmVzLmRhdGEuZGF0YS5sYXN0VXNlVGltZQ0KICAgICAgbGV0IGNvcyA9IHJlcy5kYXRhLmRhdGEuY29zLzINCiAgICAgIGxldCBjb3NTdHJpbmcgPSBjb3MudG9TdHJpbmcoKQ0KICAgICAgaWYgKGNvc1N0cmluZy5pbmRleE9mKCIuIikgIT0gLTEpIHsNCiAgICAgICAgdGhpcy5mdXphaUFyclszXS52bGF1ZSA9ICBjb3NTdHJpbmcuc3Vic3RyaW5nKDAsY29zU3RyaW5nLmluZGV4T2YoIi4iKSszKQ0KICAgICAgfWVsc2V7DQogICAgICAgIHRoaXMuZnV6YWlBcnJbM10udmxhdWUgPSByZXMuZGF0YS5kYXRhLmNvcy8yDQogICAgICB9DQogICAgICBsZXQgdG90YWxQb3dlciA9IHJlcy5kYXRhLmRhdGEudG90YWxQb3dlcg0KICAgICAgbGV0IHRvdGFsUG93ZXJTdHJpbmcgPSB0b3RhbFBvd2VyLnRvU3RyaW5nKCkNCiAgICAgIGlmICh0b3RhbFBvd2VyU3RyaW5nLmluZGV4T2YoIi4iKSAhPSAtMSkgew0KICAgICAgICB0aGlzLmZ1emFpQXJyWzJdLnZsYXVlID0gdG90YWxQb3dlclN0cmluZy5zdWJzdHJpbmcoMCx0b3RhbFBvd2VyU3RyaW5nLmluZGV4T2YoIi4iKSszKQ0KICAgICAgfWVsc2V7DQogICAgICAgIHRoaXMuZnV6YWlBcnJbMl0udmxhdWUgPSByZXMuZGF0YS5kYXRhLnRvdGFsUG93ZXINCiAgICAgIH0NCiAgICAgIGxldCB2b2x0YWdlID0gcmVzLmRhdGEuZGF0YS52b2x0YWdlDQogICAgICBsZXQgdm9sdGFnZVN0cmluZyA9IHZvbHRhZ2UudG9TdHJpbmcoKQ0KICAgICAgaWYgKHZvbHRhZ2VTdHJpbmcuaW5kZXhPZigiLiIpICE9IC0xKSB7DQogICAgICAgICAgICAgIHRoaXMuZnV6YWlBcnJbMV0udmxhdWUgPSB2b2x0YWdlU3RyaW5nLnN1YnN0cmluZygwLHZvbHRhZ2VTdHJpbmcuaW5kZXhPZigiLiIpKzMpDQogICAgICB9ZWxzZXsNCiAgICAgICAgdGhpcy5mdXphaUFyclsxXS52bGF1ZSA9IHJlcy5kYXRhLmRhdGEudm9sdGFnZQ0KICAgICAgfQ0KICAgICAgbGV0IHRvdGFsTG9hZCA9IHJlcy5kYXRhLmRhdGEudG90YWxMb2FkDQogICAgICBsZXQgdG90YWxMb2FkU3RyaW5nID0gdG90YWxMb2FkLnRvU3RyaW5nKCkNCiAgICAgIGlmICh0b3RhbExvYWRTdHJpbmcuaW5kZXhPZigiLiIpICE9IC0xKSB7DQogICAgICB0aGlzLmZ1emFpQXJyWzBdLnZsYXVlID0gdG90YWxMb2FkU3RyaW5nLnN1YnN0cmluZygwLHRvdGFsTG9hZFN0cmluZy5pbmRleE9mKCIuIikrMykNCiAgICAgIH1lbHNlew0KICAgICAgICB0aGlzLmZ1emFpQXJyWzBdLnZsYXVlID0gcmVzLmRhdGEuZGF0YS50b3RhbExvYWQNCiAgICAgIH0NCiAgICB9KQ0KICAgIGdldFNpdGVJbmZvKHtzaXRlSWQ6JzEnfSkudGhlbigocmVzKT0+ew0KICAgICAgdGhpcy5pbmZvQXJyMVswXS50ZXh0ID0gcmVzLmRhdGEuZGF0YS5zaXRlTmFtZQ0KICAgICAgdGhpcy5pbmZvQXJyMVsxXS50ZXh0ID0gcmVzLmRhdGEuZGF0YS5zaXRlQWRyZXNzDQogICAgICB0aGlzLmluZm9BcnIxWzJdLnRleHQgPSByZXMuZGF0YS5kYXRhLnRvdGFsVHJhbnNmb3JtYXRpb25TaXRlDQogICAgICB0aGlzLmluZm9BcnIxWzNdLnRleHQgPSByZXMuZGF0YS5kYXRhLnRyYW5zZm9ybWF0aW9uQ2FwYWNpdHkrJ2tWQScNCiAgICAgIC8vIHRoaXMuaW5mb0FycjFbNF0udGV4dCA9IHJlcy5kYXRhLmRhdGEuY29udGFjdHMNCiAgICAgIHRoaXMuaW5mb0FycjFbNV0udGV4dCA9IHJlcy5kYXRhLmRhdGEucGhvbmUNCiAgICAgIHRoaXMuaW5mb0FycjFbNl0udGV4dCA9IHJlcy5kYXRhLmRhdGEudXNlVGltZQ0KICAgICAgdGhpcy5pbmZvQXJyMVs3XS50ZXh0ID0gcmVzLmRhdGEuZGF0YS5sYXN0VXNlVGltZQ0KICAgICAgbGV0IGNvcyA9IHJlcy5kYXRhLmRhdGEuY29zLzINCiAgICAgIGxldCBjb3NTdHJpbmcgPSBjb3MudG9TdHJpbmcoKQ0KICAgICAgaWYgKGNvc1N0cmluZy5pbmRleE9mKCIuIikgIT0gLTEpIHsNCiAgICAgICAgdGhpcy5mdXphaUFycjFbM10udmxhdWUgPSAgY29zU3RyaW5nLnN1YnN0cmluZygwLGNvc1N0cmluZy5pbmRleE9mKCIuIikrMykNCiAgICAgIH1lbHNlew0KICAgICAgICB0aGlzLmZ1emFpQXJyMVszXS52bGF1ZSA9IHJlcy5kYXRhLmRhdGEuY29zLzINCiAgICAgIH0NCiAgICAgIGxldCB0b3RhbFBvd2VyID0gcmVzLmRhdGEuZGF0YS50b3RhbFBvd2VyDQogICAgICBsZXQgdG90YWxQb3dlclN0cmluZyA9IHRvdGFsUG93ZXIudG9TdHJpbmcoKQ0KICAgICAgaWYgKHRvdGFsUG93ZXJTdHJpbmcuaW5kZXhPZigiLiIpICE9IC0xKSB7DQogICAgICAgIHRoaXMuZnV6YWlBcnIxWzJdLnZsYXVlID0gdG90YWxQb3dlclN0cmluZy5zdWJzdHJpbmcoMCx0b3RhbFBvd2VyU3RyaW5nLmluZGV4T2YoIi4iKSszKQ0KICAgICAgfWVsc2V7DQogICAgICAgIHRoaXMuZnV6YWlBcnIxWzJdLnZsYXVlID0gcmVzLmRhdGEuZGF0YS50b3RhbFBvd2VyDQogICAgICB9DQogICAgICBsZXQgdm9sdGFnZSA9IHJlcy5kYXRhLmRhdGEudm9sdGFnZQ0KICAgICAgbGV0IHZvbHRhZ2VTdHJpbmcgPSB2b2x0YWdlLnRvU3RyaW5nKCkNCiAgICAgIGlmICh2b2x0YWdlU3RyaW5nLmluZGV4T2YoIi4iKSAhPSAtMSkgew0KICAgICAgICAgICAgICB0aGlzLmZ1emFpQXJyMVsxXS52bGF1ZSA9IHZvbHRhZ2VTdHJpbmcuc3Vic3RyaW5nKDAsdm9sdGFnZVN0cmluZy5pbmRleE9mKCIuIikrMykNCiAgICAgIH1lbHNlew0KICAgICAgICB0aGlzLmZ1emFpQXJyMVsxXS52bGF1ZSA9IHJlcy5kYXRhLmRhdGEudm9sdGFnZQ0KICAgICAgfQ0KICAgICAgbGV0IHRvdGFsTG9hZCA9IHJlcy5kYXRhLmRhdGEudG90YWxMb2FkDQogICAgICBsZXQgdG90YWxMb2FkU3RyaW5nID0gdG90YWxMb2FkLnRvU3RyaW5nKCkNCiAgICAgICBpZiAodG90YWxMb2FkU3RyaW5nLmluZGV4T2YoIi4iKSAhPSAtMSkgew0KICAgICAgdGhpcy5mdXphaUFycjFbMF0udmxhdWUgPSB0b3RhbExvYWRTdHJpbmcuc3Vic3RyaW5nKDAsdG90YWxMb2FkU3RyaW5nLmluZGV4T2YoIi4iKSszKQ0KICAgICAgfWVsc2V7DQogICAgICAgIHRoaXMuZnV6YWlBcnIxWzBdLnZsYXVlID0gcmVzLmRhdGEuZGF0YS50b3RhbExvYWQNCiAgICAgIH0NCiAgICB9KTsNCiAgICAgfSwzMDAwKQ0KICAgIA0KICAgIA0KICAgIC8vIHdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+ew0KICAgIC8vICAgLy8gZ2V0U3dpdGNoSW5mbyh7c2l0ZUlkOicxJ30pLnRoZW4oKHJlcyk9PnsNCiAgICAvLyAgIC8vIHRoaXMudGFibGVEYXRhID0gcmVzLmRhdGEuZGF0YS5pdGVtcw0KICAgIC8vIC8vIH0pDQogICAgLy8gdGhpcy5yZWFjaHRhYmxlRGF0YSgpDQogICAgLy8gfSw1MDAwKQ0KICAgIA0KICAgIHdpbmRvdy5vcGVuVmlkZW8gPSB0aGlzLm9wZW5WaWRlbzsNCiAgICB0aGlzLnRpbWVGbigpOw0KICAgIHRoaXMuY2FuY2VsTG9hZGluZygpOw0KICAgIHRoaXMudGl0bGVEYXRhID0gdGhpcy4kcm91dGUucGFyYW1zLmlkLnNsaWNlKDAsIDQpOw0KICAgIGNvbnNvbGUubG9nKCJqZE1haW4iLCB0aGlzLiRyb3V0ZS5wYXJhbXMpOw0KICAgIHRoaXMudHlwZSA9IHRoaXMuJHJvdXRlLnBhcmFtcy50eXBlOw0KICAgIHRoaXMuZ2V0SmREYXRhKHRoaXMudHlwZSk7DQogICAgLy8gdGhpcy5nZXRKZERhdGEoKQ0KICAgIHdpbmRvdy5PblNjZW5lTG9hZGVkID0gZnVuY3Rpb24gKHNjZW5lKSB7DQogICAgICBjb25zb2xlLmxvZygic2NlbmUiLCBzY2VuZSk7DQogICAgICB3aW5kb3cuRmxvb3JVSSgidHJ1ZSIpOw0KICAgIH07DQogICAgdGhpcy5maWxlLnByb21pc2UudGhlbigocGRmKSA9PiB7DQogICAgICB0aGlzLm51bVBhZ2VzID0gcGRmLm51bVBhZ2VzDQogICAgfSkNCiAgICANCiAgIA0KICAgIH0sDQogIGJlZm9yZURlc3Ryb3koKXsNCiAgICAvLyBjbGVhckludGVydmFsKHRoaXMudGltaW5nKTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIHJlYWNodGFibGVEYXRhKHZhbCl7DQogICAgICB0aGlzLnRhYmxlRGF0YSA9IFtdDQogICAgICBpZiAodGhpcy51bml0eUNoYW5nZSA9PSAwKSB7DQogICAgICAgIHZhbCA9PSAnJw0KICAgICAgICAgd2luZG93LnNldEludGVydmFsKCgpPT57DQogICAgICAgICAgdGhpcy5nZXRUYWJsZURhdGEoKQ0KICAgICAgfSwzMDAwKQ0KICAgICAgfWVsc2Ugew0KICAgICAgICB3aW5kb3cuc2V0SW50ZXJ2YWwoKCk9PnsNCiAgICAgICAgIHRoaXMuZ2V0VGFibGVEYXRhKCkNCiAgICAgIH0sMzAwMCkNCiAgICAgIH0NCiAgICAgDQogICAgfSwNCiAgICBnZXRUYWJsZURhdGEoKXsNCiAgICAgIGlmICh0aGlzLnVuaXR5Q2hhbmdlID09IDApIHsNCiAgICAgICAgZ2V0U3dpdGNoSW5mbyh7c2l0ZUlkOicyJ30pLnRoZW4oKHJlcyk9PnsNCiAgICAgICAgIHRoaXMudGFibGVEYXRhID0gcmVzLmRhdGEuZGF0YS5pdGVtcw0KICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYmxlRGF0YS5sZW5ndGg7IGkrKykgew0KICAgICAgICAgdGhpcy50YWJsZURhdGFbaV0uZWxlY3RyaWNDdXJyZW50ID0gdGhpcy50YWJsZURhdGFbaV0uZWxlY3RyaWNDdXJyZW50LnN1YnN0cmluZygwLHRoaXMudGFibGVEYXRhW2ldLmVsZWN0cmljQ3VycmVudC5pbmRleE9mKCIuIikrMikNCiAgICAgICAgICB0aGlzLnRhYmxlRGF0YVtpXS52b2x0YWdlID0gdGhpcy50YWJsZURhdGFbaV0udm9sdGFnZS5zdWJzdHJpbmcoMCx0aGlzLnRhYmxlRGF0YVtpXS52b2x0YWdlLmluZGV4T2YoIi4iKSsyKQ0KICAgICAgICAgICAgdGhpcy50YWJsZURhdGFbaV0ucmVhbFRpbWVQb3dlciA9ICB0aGlzLnRhYmxlRGF0YVtpXS5yZWFsVGltZVBvd2VyLnN1YnN0cmluZygwLHRoaXMudGFibGVEYXRhW2ldLnJlYWxUaW1lUG93ZXIuaW5kZXhPZigiLiIpKzIpDQogICAgICAgICB9DQogICAgICAgICAgDQogICAgICB9KQ0KICAgICAgfWVsc2V7DQogICAgICAgIGdldFN3aXRjaEluZm8oe3NpdGVJZDonMSd9KS50aGVuKChyZXMpPT57DQogICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHJlcy5kYXRhLmRhdGEuaXRlbXMNCiAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJsZURhdGEubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgIHRoaXMudGFibGVEYXRhW2ldLmVsZWN0cmljQ3VycmVudCA9IHRoaXMudGFibGVEYXRhW2ldLmVsZWN0cmljQ3VycmVudC5zdWJzdHJpbmcoMCx0aGlzLnRhYmxlRGF0YVtpXS5lbGVjdHJpY0N1cnJlbnQuaW5kZXhPZigiLiIpKzIpDQogICAgICAgICAgdGhpcy50YWJsZURhdGFbaV0udm9sdGFnZSA9IHRoaXMudGFibGVEYXRhW2ldLnZvbHRhZ2Uuc3Vic3RyaW5nKDAsdGhpcy50YWJsZURhdGFbaV0udm9sdGFnZS5pbmRleE9mKCIuIikrMikNCiAgICAgICAgICAgIHRoaXMudGFibGVEYXRhW2ldLnJlYWxUaW1lUG93ZXIgPSAgdGhpcy50YWJsZURhdGFbaV0ucmVhbFRpbWVQb3dlci5zdWJzdHJpbmcoMCx0aGlzLnRhYmxlRGF0YVtpXS5yZWFsVGltZVBvd2VyLmluZGV4T2YoIi4iKSsyKQ0KICAgICAgICAgfQ0KICAgICAgfSkNCiAgICAgIH0NCiAgICAgICANCiAgICB9LA0KICAgIHNlYXJjaEhhbmRsZSh2YWwpew0KICAgICAgICBnZXREZXZpY2VSZWNvcmQoew0KICAgICAgICBzaXRlSWQ6dmFsLA0KICAgICAgICBkZXZpY2VOdW06JycNCiAgICAgIH0pLnRoZW4oKHJlcyk9PnsNCiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXMuZGF0YS5kYXRhLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgbGV0IGRhdGUgPSB0aGlzLiRtb21lbnQocmVzLmRhdGEuZGF0YVtpXS5vcGVyYXRpb25EYXRlKS5mb3JtYXQoIllZWVktTU0tREQgSEg6bW06c3MiKQ0KICAgICAgICAgIGxldCBkYXRhTmV3ID0gdGhpcy4kbW9tZW50KHJlcy5kYXRhLmRhdGFbaV0ub3BlcmF0aW9uRGF0ZSkuZm9ybWF0KCJZWVlZLU1NLUREIikNCiAgICAgICAgICBsZXQgbmV3RGF0ZSA9ICBuZXcgRGF0ZSgpDQogICAgICAgIGxldCAgbmV3RGF0ZTEgPSB0aGlzLiRtb21lbnQobmV3RGF0ZSkuZm9ybWF0KCJZWVlZLU1NLUREIikNCiAgICAgICAgICBpZiAoZGF0YU5ldyA9PSBuZXdEYXRlMSApIHsNCiAgICAgICAgICAgIHRoaXMucmVjb3JkID0gcmVzLmRhdGEuZGF0YQ0KICAgICAgICAgIHRoaXMucmVjb3JkW2ldLm9wZXJhdGlvbkRhdGUgPSBkYXRlDQogICAgICAgICAgfQ0KICAgICAgICAgIA0KICAgICAgICB9DQogICAgICB9KQ0KICAgICAgLy/lrp7ml7borrDlvZXkuIvmi4nmoYYNCiAgICAgIGdldERldmljZU51bSh7DQogICAgICAgIHNpdGVJZDogdmFsDQogICAgICB9KS50aGVuKChyZXMpPT57DQogICAgICAgIC8vIGNvbnNvbGUubG9nKHJlcy5kYXRhLmRhdGEsJ+WunuaXtuiusOW9lScpOw0KICAgICAgICAvLyB0aGlzLm9wdGlvbnNPcGVuID0gT2JqZWN0LmtleXMocmVzLmRhdGEuZGF0YSkubWFwKChpdGVtLGluZGV4KT0+ew0KICAgICAgICAvLyAgIGNvbnNvbGUubG9nKCk7DQogICAgICAgIC8vICAgICAvLyByZXR1cm4ge3ZhbHVlOnJlcy5kYXRhLmRhdGFbaW5kZXhdLmxpbmVfY29kZSxsYWJlbDpyZXMuZGF0YS5kYXRhW2luZGV4XS5saW5lX25hbWV9DQogICAgICAgIC8vICAgfSkNCiAgICAgICAgDQogICAgICAgIHZhciBvYmogPXt9DQogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzLmRhdGEuZGF0YS5sZW5ndGg7IGkrKykgew0KICAgICAgICAgIG9ialtpXSA9IHJlcy5kYXRhLmRhdGFbaV0NCiAgICAgICAgfQ0KICAgICAgICBvYmoubGVuZ3RoID0gcmVzLmRhdGEuZGF0YS5sZW5ndGgNCiAgICAgICAgdGhpcy5vcHRpb25zT3BlbiA9IE9iamVjdC5rZXlzKHJlcy5kYXRhLmRhdGEpLm1hcCgoaXRlbSxpbmRleCk9PnsNCiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6KGl0ZW0rKyksbGFiZWw6cmVzLmRhdGEuZGF0YVtpbmRleF19DQogICAgICAgICAgfSkNCiAgICAgICAgICB0aGlzLmNoYVZhbHVlID0gdGhpcy5vcHRpb25zT3BlblswXS5sYWJlbA0KICAgICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlKDApDQogICAgICB9KQ0KICAgIH0sDQogICAgaGFuZGxlVXBhdGUodmFsKXsNCiAgICAgIGNvbnNvbGUubG9nKCdvcHRpb25zT3BlbicsdGhpcy5vcHRpb25zT3Blblt0aGlzLmNoYVZhbHVlXS5sYWJlbCx0aGlzLnJhZGlvLHRoaXMuc2l0ZVJlY29yZFt0aGlzLmNoYVZhbHVlXS5pZCk7DQogICAgICANCiAgICAgIGxldCBwYXJhbXMgPXsNCiAgICAgICAgZGV2aWNlTnVtOiB0aGlzLm9wdGlvbnNPcGVuW3RoaXMuY2hhVmFsdWVdLmxhYmVsLA0KICAgICAgICBvcGVyYXRpb246JycsDQogICAgICAgIHNpdGVJZDp0aGlzLnVuaXR5Q2hhbmdlPT0nMSc/JzEnOicyJw0KICAgICAgfQ0KICAgICAgDQogICAgICBsZXQgcGFyYW1zQ2hhbmdlID0gew0KICAgICAgICBkZXZpY2VOdW06dGhpcy5vcHRpb25zT3Blblt0aGlzLmNoYVZhbHVlXS5sYWJlbCwNCiAgICAgICAgb3BlcmF0aW9uOicnLA0KICAgICAgICBzaXRlSWQ6dGhpcy51bml0eUNoYW5nZT09JzEnPycxJzonMicsDQogICAgICAgIGlkOnRoaXMuc2l0ZVJlY29yZFt0aGlzLmNoYVZhbHVlXS5pZA0KICAgICAgfQ0KICAgICAgaWYgKHRoaXMucmFkaW8gPT0gMSkgew0KICAgICAgICBwYXJhbXMub3BlcmF0aW9uID0gdGhpcy5yYWRpb1ZhbDENCiAgICAgICAgcGFyYW1zQ2hhbmdlLm9wZXJhdGlvbiA9IHRoaXMucmFkaW9WYWwxDQogICAgICB9ZWxzZSBpZih0aGlzLnJhZGlvID09IDIpew0KICAgICAgICAgcGFyYW1zLm9wZXJhdGlvbiA9IHRoaXMucmFkaW9WYWwyDQogICAgICAgICBwYXJhbXNDaGFuZ2Uub3BlcmF0aW9uID0gdGhpcy5yYWRpb1ZhbDINCiAgICAgIH1lbHNlIGlmKHRoaXMucmFkaW8gPT0gMyl7DQogICAgICAgICBwYXJhbXMub3BlcmF0aW9uID0gdGhpcy5yYWRpb1ZhbDMNCiAgICAgICAgIHBhcmFtc0NoYW5nZS5vcGVyYXRpb24gPSB0aGlzLnJhZGlvVmFsMw0KICAgICAgfQ0KICAgICAgaWYodmFsID09ICcxJyl7DQogICAgICAgIHVwZGF0ZURldmljZVJlY29yZChwYXJhbXNDaGFuZ2UpLnRoZW4ocmVzPT57DQogICAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UodGhpcy5jaGFWYWx1ZSkNCiAgICAgICAgfSkNCiAgICAgIH1lbHNlew0KICAgICAgICB1cGRhdGVEZXZpY2VSZWNvcmQocGFyYW1zKS50aGVuKHJlcz0+ew0KICAgICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlKHRoaXMuY2hhVmFsdWUpDQogICAgICAgIH0pDQogICAgICB9DQogICAgfSwNCiAgICAgIGluaXQoKXsNCiAgICAgIGlmKHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcpew0KICAgICAgICB2YXIgUlRDUGVlckNvbm5lY3Rpb24gPSB3aW5kb3cuUlRDUGVlckNvbm5lY3Rpb24gfHwgd2luZG93Lm1velJUQ1BlZXJDb25uZWN0aW9uIHx8IHdpbmRvdy53ZWJraXRSVENQZWVyQ29ubmVjdGlvbjsNCiAgICAgICAgaWYgKFJUQ1BlZXJDb25uZWN0aW9uKSAoKCk9PnsNCiAgICAgICAgICAgIHZhciBydGMgPSBuZXcgUlRDUGVlckNvbm5lY3Rpb24oKQ0KICAgICAgICAgICAgcnRjLmNyZWF0ZURhdGFDaGFubmVsKCcnKTsgLy/liJvlu7rkuIDkuKrlj6/ku6Xlj5HpgIHku7vmhI/mlbDmja7nmoTmlbDmja7pgJrpgZMNCiAgICAgICAgICAgIHJ0Yy5jcmVhdGVPZmZlciggb2ZmZXJEZXNjID0+IHsgLy/liJvlu7rlubblrZjlgqjkuIDkuKpzZHDmlbDmja4NCiAgICAgICAgICAgIHJ0Yy5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyRGVzYykNCiAgICAgICAgfSwgZSA9PiB7IGNvbnNvbGUubG9nKGUpfSkNCiAgICAgICAgcnRjLm9uaWNlY2FuZGlkYXRlID0oZXZ0KSA9PiB7IC8v55uR5ZCsY2FuZGlkYXRl5LqL5Lu2DQogICAgICAgICAgICBpZiAoZXZ0LmNhbmRpZGF0ZSkgew0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdldnQ6JyxldnQuY2FuZGlkYXRlLmNhbmRpZGF0ZSkNCiAgICAgICAgICAgICAgICBsZXQgaXBfcnVsZSA9IC8oWzAtOV17MSwzfShcLlswLTldezEsM30pezN9fFthLWYwLTldezEsNH0oOlthLWYwLTldezEsNH0pezd9KS8NCiAgICAgICAgICAgICAgICB2YXIgaXBfYWRkciA9IGlwX3J1bGUuZXhlYyhldnQuY2FuZGlkYXRlLmNhbmRpZGF0ZSlbMV0NCiAgICAgICAgICAgICAgICBsZXQgcGF0dGVybiA9IC9bYS16QS1aXS8NCiAgICAgICAgICAgICAgICBpZighcGF0dGVybi50ZXN0KGlwX2FkZHIpKXsNCiAgICAgICAgICAgICAgICAgIHRoaXMubG9jYW5pb25JcCA9IGlwX2FkZHINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2lwX2FkZHI6JyxpcF9hZGRyKSAgIC8v5omT5Y2w6I635Y+W55qESVDlnLDlnYANCiAgICAgICAgICAgIH19DQogICAgICAgIH0pKCkNCiAgICAgICAgZWxzZXtjb25zb2xlLmxvZygi5rKh5pyJ5om+5YiwIil9DQogICAgIH0NCiAgICB9LA0KICAgIC8v5p+l6K+i5LqL5Lu2cw0KICAgIHNlYXJjaENoYW5nZSh2YWwpew0KICAgICAgdGhpcy5zaXRlUmVjb3JkID0gW10NCiAgICAgIC8vIGxldCBsYWJlbCA9IHRoaXMub3B0aW9uc09wZW5bZXZlbnRdLmxhYmVsDQogICAgICBjb25zb2xlLmxvZyh0aGlzLm9wdGlvbnNPcGVuW3ZhbF0ubGFiZWwsJ2NoYXh1bicpOw0KICAgICAgLy8gdGhpcy5jaGFWYWx1ZSA9IHRoaXMub3B0aW9uc09wZW5bdmFsXS5sYWJlbA0KICAgICAgZ2V0RGV2aWNlUmVjb3JkKHsNCiAgICAgIHNpdGVJZDp0aGlzLnVuaXR5Q2hhbmdlID09JzEnPycxJzonMicsDQogICAgICBkZXZpY2VOdW06IHRoaXMub3B0aW9uc09wZW5bdmFsXS5sYWJlbA0KICAgIH0pLnRoZW4oKHJlcyk9PnsNCiAgICAgIC8vIGNvbnNvbGUubG9nKHJlcy5kYXRhLmRhdGEsJ+WunuaXtuiusOW9lScpOw0KICAgICAgLy8gdGhpcy5zaXRlUmVjb3JkID0gcmVzLmRhdGEuZGF0YQ0KICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlcy5kYXRhLmRhdGEubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgbGV0IGRhdGUgPSB0aGlzLiRtb21lbnQocmVzLmRhdGEuZGF0YVtpXS5vcGVyYXRpb25EYXRlKS5mb3JtYXQoIllZWVktTU0tREQgIEhIOm1tOnNzIikNCiAgICAgICAgdGhpcy5zaXRlUmVjb3JkID0gcmVzLmRhdGEuZGF0YQ0KICAgICAgICB0aGlzLnNpdGVSZWNvcmRbaV0ub3BlcmF0aW9uRGF0ZSA9IGRhdGUNCiAgICAgIH0NCiAgICB9KQ0KICAgIH0sDQogICAgICBoYW5kbGVDbG9zZXBkZigpew0KICAgICAgICB0aGlzLmZpbGVUeXBlICA9ICBmYWxzZQ0KICAgICAgICB0aGlzLm9wZW52YWx1ZT0n6K6+5aSH5Y+w6LSm5p+l6K+iJzsNCiAgICAgICB0aGlzLm9wZW52YWx1ZTE9J+ivlemqjOiusOW9leafpeivoic7DQogICAgICAgdGhpcy5vcGVudmFsdWUyPSfnu7Tkv67orrDlvZXmn6Xor6InOw0KICAgICAgIHRoaXMub3BlbnZhbHVlMz0n5YC854+t5Lq65ZGY6LWE6LSoJzsNCiAgICAgICB0aGlzLm9wZW52YWx1ZTQ9J+W3oeajgOiusOW9leafpeivoic7DQogICAgICAgdGhpcy5maWxlID0gJycNCiAgICAgIH0sDQogICAgLy/lvLnlh7pwZGYNCiAgICBzZWxlY3RQZGYodmFsKXsNCiAgICAgIGNvbnNvbGUubG9nKHZhbCwnbW1tbW1tJyk7DQogICAgICB0aGlzLm51bVBhZ2VzID0gMQ0KICAgICAgaWYgKHZhbCA9PSAxKSB7DQogICAgICAvLyAgIGxldCBmaWxlVXJsID0gIiI7DQogICAgICAvLyAgIC8vIHRoaXMuZmlsZVR5cGUgID0gIHRydWUNCiAgICAgIC8vICAgdGhpcy5udW1QYWdlcyA9IDQNCiAgICAgIC8vIHRoaXMuZmlsZSA9IHBkZi5jcmVhdGVMb2FkaW5nVGFzayhmaWxlVXJsKQ0KICAgICAgfQ0KICAgICAgZWxzZSBpZiAodmFsID09IDIpIHsNCiAgICAgICAgbGV0IGZpbGVVcmwgPSAiL3BkZi9iaWFueWFxaXNoaXlhbi5wZGYiOw0KICAgICAgdGhpcy5maWxlVHlwZSAgPSAgdHJ1ZQ0KICAgICAgIHRoaXMubnVtUGFnZXMgPSAyDQogICAgICB0aGlzLmZpbGUgPSBwZGYuY3JlYXRlTG9hZGluZ1Rhc2soZmlsZVVybCkNCiAgICAgIH0NCiAgICAgIC8vIGVsc2UgaWYodmFsID09IDMpew0KICAgICAgLy8gICBsZXQgZmlsZVVybCA9ICIvcGRmL2ppYW5nZG9uZ3BlaWRpYW5PbmUucGRmIjsNCiAgICAgIC8vIHRoaXMuZmlsZVR5cGUgID0gIHRydWUNCiAgICAgIC8vIHRoaXMubnVtUGFnZXMgPSA0DQogICAgICAvLyB0aGlzLmZpbGUgPSBwZGYuY3JlYXRlTG9hZGluZ1Rhc2soZmlsZVVybCkNCiAgICAgIC8vIH0NCiAgICAgIGVsc2UgaWYodmFsID09IDQpew0KICAgICAgICBsZXQgZmlsZVVybCA9ICIvcGRmL3poaWJhbnJlbnl1YW4ucGRmIjsNCiAgICAgIHRoaXMuZmlsZVR5cGUgID0gIHRydWUNCiAgICAgIHRoaXMubnVtUGFnZXMgPSAxDQogICAgICB0aGlzLmZpbGUgPSBwZGYuY3JlYXRlTG9hZGluZ1Rhc2soZmlsZVVybCkNCiAgICAgIH1lbHNlIGlmKHZhbCA9PSA1KXsNCiAgICAgICAgbGV0IGZpbGVVcmwgPSAiL3BkZi9qaWFuZ2RvbmdwZWlkaWFuVHdvLnBkZiI7DQogICAgICB0aGlzLmZpbGVUeXBlICA9ICB0cnVlDQogICAgICB0aGlzLm51bVBhZ2VzID0gMTMNCiAgICAgIHRoaXMuZmlsZSA9IHBkZi5jcmVhdGVMb2FkaW5nVGFzayhmaWxlVXJsKQ0KICAgICAgfWVsc2UgaWYodmFsID09IDYpew0KICAgICAgICBsZXQgZmlsZVVybCA9ICIvcGRmL3poYW5rb25nRHVhbmx1LnBkZiI7DQogICAgICB0aGlzLmZpbGVUeXBlICA9ICB0cnVlDQogICAgICB0aGlzLm51bVBhZ2VzID0gNw0KICAgICAgdGhpcy5maWxlID0gcGRmLmNyZWF0ZUxvYWRpbmdUYXNrKGZpbGVVcmwpDQogICAgICB9ZWxzZSBpZih2YWwgPT0gNyl7DQogICAgICAgIGxldCBmaWxlVXJsID0gIi9wZGYvZGl5YXNoaXlhbi5wZGYiOw0KICAgICAgdGhpcy5maWxlVHlwZSAgPSAgdHJ1ZQ0KICAgICAgdGhpcy5udW1QYWdlcyA9IDENCiAgICAgIHRoaXMuZmlsZSA9IHBkZi5jcmVhdGVMb2FkaW5nVGFzayhmaWxlVXJsKQ0KICAgICAgfWVsc2UgaWYodmFsID09IDgpew0KICAgICAgICBsZXQgZmlsZVVybCA9ICIvcGRmL2RpYW5sYW5zaGl5YW4ucGRmIjsNCiAgICAgIHRoaXMuZmlsZVR5cGUgID0gIHRydWUNCiAgICAgIHRoaXMubnVtUGFnZXMgPSAyDQogICAgICB0aGlzLmZpbGUgPSBwZGYuY3JlYXRlTG9hZGluZ1Rhc2soZmlsZVVybCkNCiAgICAgIH1lbHNlIGlmKHZhbCA9PTUxKXsNCiAgICAgICAgbGV0IGZpbGVVcmwgPSB0aGlzLnVuaXR5Q2hhbmdlID09JzEnPycvcGRmL2ppdWd1YW55b25nZGlhbi5wZGYnOicvcGRmL3hpbmd1YW55b25nZGlhbi5wZGYnOw0KICAgICAgdGhpcy5maWxlVHlwZSAgPSAgdHJ1ZQ0KICAgICAgdGhpcy5udW1QYWdlcyA9IDENCiAgICAgIHRoaXMuZmlsZSA9IHBkZi5jcmVhdGVMb2FkaW5nVGFzayhmaWxlVXJsKQ0KICAgICAgfQ0KICAgICAgDQogICAgfSwNCiAgICAvL+S4gOasoemAieaLqQ0KICAgIHNlbGVjdENoYW5nZSh2YWwpew0KICAgICAgY29uc29sZS5sb2codmFsLCd2YWwnKTsNCiAgICB9LA0KICAgIGhhbmRsZU1lbnVzaG93KCl7DQogICAgICB0aGlzLmhvbWVBY3RpdmUgPSB0cnVlDQogICAgfSwNCiAgICBoYW5kbGVNZW51ZmFsc2UoKXsNCiAgICAgIHRoaXMuaG9tZUFjdGl2ZSA9IGZhbHNlDQogICAgfSwNCiAgICB0YWJsZVJvd0NsYXNzTmFtZSh7IHJvdywgcm93SW5kZXggfSkgew0KICAgICAgaWYgKHJvd0luZGV4ICUgMiAhPSAwKSB7DQogICAgICAgIHJldHVybiAic3VjY2Vzcy1yb3ciOyAvL+i/meaYr+exu+WQjQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgcmV0dXJuICIiOw0KICAgICAgfQ0KICAgIH0sDQogICAgaGFuZGxlTWVudXMoaW5kZXgpIHsNCiAgICAgIHRoaXMubWVudXNBY3RpdmUgPSBpbmRleDsNCiAgICAgIGlmIChpbmRleCA9PSA4KSB7DQogICAgICAgIHRoaXMuaGFuZGxlVW5pdHkoKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIC8v5by556qXDQogICAgcG9wU2hvdzEodmFsKSB7DQogICAgICB0aGlzLnBvcEluZm9TaG93NSA9IGZhbHNlDQogICAgICB0aGlzLnBvcEluZm9TaG93MSA9IGZhbHNlDQogICAgICB0aGlzLnBvcEluZm9TaG93MiA9IGZhbHNlDQogICAgICB0aGlzLnBvcEluZm9TaG93MyA9IGZhbHNlDQogICAgICB0aGlzLnBvcEluZm9TaG93NCA9IGZhbHNlDQogICAgICB0aGlzLm1hcFNob3cxID0gZmFsc2U7DQogICAgICBpZiAodmFsID09ICdqaWFuZ3NodWl4aWFuJykgew0KICAgICAgdGhpcy5wb3BJbmZvU2hvdzUgPSB0cnVlOw0KICAgICAgfWVsc2UgaWYgKHZhbCA9PSAndXBzMScpIHsNCiAgICAgICAgdGhpcy5wb3BJbmZvU2hvdzEgPSB0cnVlOw0KICAgICAgfWVsc2UgaWYgKHZhbCA9PSAndXBzMicpIHsNCiAgICAgICAgdGhpcy5wb3BJbmZvU2hvdzIgPSB0cnVlOw0KICAgICAgfWVsc2UgaWYgKHZhbCA9PSAnamlhbmdzaHVpeGlhbjEnKSB7DQogICAgICAgIHRoaXMucG9wSW5mb1Nob3czID0gdHJ1ZTsNCiAgICAgIH1lbHNlIGlmICh2YWwgPT0gJ2NoZVBvcCcpIHsNCiAgICAgICAgdGhpcy5wb3BJbmZvU2hvdzQgPSB0cnVlOw0KICAgICAgfWVsc2UgaWYgKHZhbCA9PSAncmVkRGlhbjEnKSB7DQogICAgICAgIHRoaXMubWFwU2hvdzEgPSB0cnVlOw0KICAgICAgfWVsc2UgaWYgKHZhbCA9PSAncmVkQ2hpbGQnKSB7DQogICAgICAgICB3aW5kb3cub3BlblZpZGVvID0gDQogICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgLy8gdGhpcy5jYXJDaGFuZ2VTaG93ID0gdHJ1ZTsNCiAgICAgICAgdmFyIHVybCAgPSAnaHR0cHM6Ly9kZG5zLnRoaXJkdGVjLmNuOjQxMTI3L25qYmQvdmlkZW8vaW5kZXgtY29weS5odG1sJw0KICAgICAgICAgd2luZG93Lm9wZW4odXJsLCANCiAgICAgICAgJ2JhaWR1JywgDQogICAgICAgICd0b3A9MjAwLGxlZnQ9MjUwLHdpZHRoPTE1MDAsaGVpZ2h0PTY4MCcpOw0KICAgICAgfSwgMTAwMCAqIDEuNSk7DQogICAgICB9ZWxzZSBpZiAodmFsID09ICdzaGV4aWFuZ3RvdScpIHsNCiAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMubG9jYW5pb25JcCwnMTIxMjInKTsNCiAgICAgICAgdmFyIHVybCAgPSAnaHR0cDovLycrdGhpcy5sb2NhbmlvbklwKyc6NTUwMC9kZW1vL2RlbW9fd2luZG93X3NpbXBsZV9wcmV2aWV3TmV3Lmh0bWwnDQogICAgICAgIGNvbnNvbGUubG9nKHVybCwndXJsJyk7DQogICAgICAgICB3aW5kb3cub3Blbih1cmwsIA0KICAgICAgICAnYmFpZHUnLCANCiAgICAgICAgJ3RvcD0yMDAsbGVmdD00NTAsd2lkdGg9MTAwMCxoZWlnaHQ9NjAwJyk7DQogICAgICAgIGNvbnNvbGUubG9nKCJiYmIiKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIC8v5by556qXDQogICAgcG9wU2hvdyh2YWwpIHsNCiAgICAgIHRoaXMucG9wSW5mb1Nob3cgPSB0cnVlOw0KICAgIH0sDQogICAgaGFuZGxlWGlhbih2YWwpIHsNCiAgICAgIGlmICh2YWwgPT0gMSkgew0KICAgICAgICB0aGlzLnhpYW5TaG93ID0gdHJ1ZTsNCiAgICAgICAgdGhpcy55aWNpU3JjID0gJ2h0dHA6Ly8yMjEuMjI2LjE5Ljg1OjEwMTIzL2luZm8uaHRtbD9wcmltYXJ5R3JhcGhJZD0xODc0RTdEMUQwRDBBRTFGJw0KICAgICAgfWVsc2UgaWYodmFsID09IDIpew0KICAgICAgICB0aGlzLnhpYW5TaG93ID0gdHJ1ZQ0KICAgICAgICB0aGlzLnlpY2lTcmMgPSAnaHR0cDovLzIyMS4yMjYuMTkuODU6MTAxMjMvaW5mby5odG1sP3ByaW1hcnlHcmFwaElkPTEyNjQwQTZERDhFMkRBRUUnDQogICAgICB9DQogICAgfSwNCiAgICAgaGFuZGxlWGlhbjEoKSB7DQogICAgICAgIHRoaXMueGlhblNob3cgPSB0cnVlDQogICAgICAgIHRoaXMueWljaVNyYyA9ICdodHRwOi8vMjIxLjIyNi4xOS44NToxMDEyMy9pbmZvLmh0bWw/cHJpbWFyeUdyYXBoSWQ9MkNENDk2NjQzQTFFQjdENScNCiAgICB9LA0KICAgIGhhbmRsZVhpYW5mYWxzZSgpIHsNCiAgICAgIHRoaXMueGlhblNob3cgPSBmYWxzZTsNCiAgICB9LA0KICAgIGhhbmRsZWRpYW53ZWkoKSB7DQogICAgICB0aGlzLm1hcFNob3cgPSBmYWxzZTsNCiAgICAgIHdpbmRvdy5wYXJlbnQuaGFuZGxlZGlhbndlaSgpOw0KICAgIH0sDQogICAgaGFuZGxlVGFibGVDbG9zZSgpIHsNCiAgICAgIHRoaXMudGFibGVTaG93ID0gZmFsc2U7DQogICAgfSwNCiAgICBoYW5kbGVUYWJsZSgpIHsNCiAgICAgIHRoaXMudGFibGVTaG93ID0gdHJ1ZTsNCiAgICB9LA0KICAgIGhhbmxkZXRvdWt1aSgpIHsNCiAgICAgIHRoaXMubWFwU2hvdyA9IHRydWU7DQogICAgICB0aGlzLm1lbnVzQWN0aXZlID0gbnVsbDsNCiAgICB9LA0KICAgIGhhbmxkZXRvdWt1aWZhbHNlKCkgew0KICAgICAgdGhpcy50b3VrdWlTaG93ID0gZmFsc2U7DQogICAgfSwNCiAgICBoYW5kbGV0YW5jaHVhbigpIHsNCiAgICAgIHRoaXMubWFwU2hvdzEgPSBmYWxzZTsNCiAgICB9LA0KICAgIGhhbmRsZVBvcDEodmFsKSB7DQogICAgICBpZiAodmFsID09ICdqaWFuZ3NodWl4aWFuJykgew0KICAgICAgdGhpcy5wb3BJbmZvU2hvdzUgPSBmYWxzZTsNCiAgICAgIH1lbHNlIGlmKHZhbCA9PSAndXNwMScpew0KICAgICAgICB0aGlzLnBvcEluZm9TaG93MSA9IGZhbHNlOw0KICAgICAgfWVsc2UgaWYodmFsID09ICd1c3AyJyl7DQogICAgICAgIHRoaXMucG9wSW5mb1Nob3cyID0gZmFsc2U7DQogICAgICB9ZWxzZSBpZih2YWwgPT0gJ2ppYW5nc2h1aXhpYW4xJyl7DQogICAgICAgIHRoaXMucG9wSW5mb1Nob3czID0gZmFsc2U7DQogICAgICB9ZWxzZSBpZih2YWwgPT0gJ2NoZVBvcCcpew0KICAgICAgICB0aGlzLnBvcEluZm9TaG93NCA9IGZhbHNlOw0KICAgICAgfQ0KICAgIH0sDQogICAgaGFuZGxlUG9wKHZhbCkgew0KICAgICAgdGhpcy5wb3BJbmZvU2hvdyA9IGZhbHNlOw0KICAgIH0sDQogICAgLy8g5L+v6KeGDQogICAgaGFuZGxlZnVzaGkoKSB7DQogICAgICB0aGlzLm1hcFNob3cgPSBmYWxzZQ0KICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy51bml0eS5nM2Quc2V0RXllKFswLCA3MDAsIDBdKTsgLy8g6ZWc5aS05L2N572uDQogICAgfSwNCiAgICBoYW5kbGVIdHdlYigpIHsNCiAgICAgIHRoaXMubWFwU2hvdyA9IGZhbHNlDQogICAgICB0aGlzLmh0U3RhdHVzID0gMTsNCiAgICAgIGlmICh0aGlzLnVuaXR5VXJsLmluZGV4T2YoImh0V2ViIikgIT0gLTEpIHsNCiAgICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy51bml0eS5nM2Quc2V0RXllKFswLCA1MDAsIDUwMF0pOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgaWYgKHRoaXMudW5pdHlDaGFuZ2UgPT0gMCkgew0KICAgICAgICAgIHRoaXMudW5pdHlVcmwgPSAiL2h0V2ViL3VuaXR5Lmh0bWw/c3JjPTEiOw0KICAgICAgICB9IGVsc2UgdGhpcy51bml0eVVybCA9ICIvaHRXZWIvdW5pdHkuaHRtbD9zcmM9MiI7DQogICAgICB9DQogICAgfSwNCiAgICBoYW5kbGVVbml0eSgpIHsNCiAgICAgIHRoaXMubWFwU2hvdyA9IGZhbHNlOw0KICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy51bml0eS5nM2QuZmx5VG8oDQogICAgICAgIHRoaXMuJHJlZnMuaWZyYW1lLmNvbnRlbnRXaW5kb3cudW5pdHkubW9kZWxzWzBdLA0KICAgICAgICB7DQogICAgICAgICAgYW5pbWF0aW9uOiB0cnVlLA0KICAgICAgICAgIHJhdGlvOiAwLjksIC8vIFswLCAxXe+8jOi2iuWkp+ebuOacuui2iui/kSwNCiAgICAgICAgICBkaXJlY3Rpb246IFswLCAxMzUsIDBdLA0KICAgICAgICB9DQogICAgICApOw0KICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgIHRoaXMuaHRTdGF0dXMgPSAyOw0KICAgICAgICAvLyB0aGlzLnVuaXR5SmlhemFpKCkNCiAgICAgIH0sIDEwMDAgKiAxLjUpOw0KICAgIH0sDQogICAgcGVyc29uU2hvdygpIHsNCiAgICAgIHRoaXMubWFwU2hvdyA9IGZhbHNlDQogICAgICBpZiAodGhpcy5wZXJTb24gPT0gIjEiKSB7DQogICAgICAgIHRoaXMuJHJlZnMuaWZyYW1lLmNvbnRlbnRXaW5kb3cudW5pdHkubW9kZWxzWzBdLnNldFZpc2libGUodHJ1ZSk7DQogICAgICAgIHRoaXMuJHJlZnMuaWZyYW1lLmNvbnRlbnRXaW5kb3cudW5pdHkubW9kZWxzWzFdLnNldFZpc2libGUodHJ1ZSk7DQogICAgICAgIHRoaXMuJHJlZnMuaWZyYW1lLmNvbnRlbnRXaW5kb3cudW5pdHkubW9kZWxzWzJdLnNldFZpc2libGUodHJ1ZSk7DQogICAgICAgIHRoaXMuJHJlZnMuaWZyYW1lLmNvbnRlbnRXaW5kb3cudW5pdHkubW9kZWxzWzNdLnNldFZpc2libGUodHJ1ZSk7DQogICAgICAgIHRoaXMucGVyU29uID0gIjIiOw0KICAgICAgfSBlbHNlIGlmICh0aGlzLnBlclNvbiA9PSAiMiIpIHsNCiAgICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy51bml0eS5tb2RlbHNbMF0uc2V0VmlzaWJsZShmYWxzZSk7DQogICAgICAgIHRoaXMuJHJlZnMuaWZyYW1lLmNvbnRlbnRXaW5kb3cudW5pdHkubW9kZWxzWzFdLnNldFZpc2libGUoZmFsc2UpOw0KICAgICAgICB0aGlzLiRyZWZzLmlmcmFtZS5jb250ZW50V2luZG93LnVuaXR5Lm1vZGVsc1syXS5zZXRWaXNpYmxlKGZhbHNlKTsNCiAgICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy51bml0eS5tb2RlbHNbM10uc2V0VmlzaWJsZShmYWxzZSk7DQogICAgICAgIHRoaXMucGVyU29uID0gIjEiOw0KICAgICAgfQ0KICAgIH0sDQogICAgdW5pdHlKaWF6YWkoKXsNCiAgICAgIGlmKHRoaXMudW5pdHlDaGFuZ2U9PTApew0KICAgICAgICB0aGlzLnRocmVlVXJsPSJodHRwczovL3dlYi0xMzAwOTMyMjE0LmNvcy5hcC1uYW5qaW5nLm15cWNsb3VkLmNvbS8zNjAvYmR6XzM2MF8yMl8xMl84L2luZGV4Lmh0bWwiDQogICAgICB9ZWxzZSgNCiAgICAgICAgdGhpcy50aHJlZVVybD0iaHR0cHM6Ly93ZWItMTMwMDkzMjIxNC5jb3MuYXAtbmFuamluZy5teXFjbG91ZC5jb20vMzYwL2Jkel8zNjBfMjJfMTFfMTEvaW5kZXguaHRtbCINCiAgICAgICkNCiAgICB9LA0KICAgIGhhbmRsZVNlbGVjdChpbmRleCkgew0KICAgICAgdGhpcy5yb3V0ZXJBY3RpdmUgPSBpbmRleA0KICAgICAgdGhpcy51bml0eUNoYW5nZSA9IGluZGV4Ow0KICAgICAgaWYgKGluZGV4ID09IDEpIHsNCiAgICAgICAgdGhpcy5lbnZpcm9ubWVudFNob3cgPSBmYWxzZQ0KICAgICAgICB0aGlzLmluZm90aGluZ3NTaG93ID0gZmFsc2UNCiAgICAgIH1lbHNlew0KICAgICAgICAgdGhpcy5lbnZpcm9ubWVudFNob3cgPSB0cnVlDQogICAgICAgICB0aGlzLmluZm90aGluZ3NTaG93ID0gdHJ1ZQ0KICAgICAgfQ0KICAgIH0sDQogICAgdGltZUZuKCkgew0KICAgICAgLy8gdGhpcy50aW1pbmcgPSBzZXRJbnRlcnZhbCgoKSA9PiB7DQogICAgICAvLyAgIHRoaXMuZGF0ZURheSA9IGZvcm1hdFRpbWUobmV3IERhdGUoKSwgIkhIOiBtbTogc3MiKTsNCiAgICAgIC8vICAgdGhpcy5kYXRlWWVhciA9IGZvcm1hdFRpbWUobmV3IERhdGUoKSwgInl5eXktTU0tZGQiKTsNCiAgICAgIC8vICAgdGhpcy5kYXRlV2VlayA9IHRoaXMud2Vla2RheVtuZXcgRGF0ZSgpLmdldERheSgpXTsNCiAgICAgIC8vIH0sIDEwMDApOw0KICAgIH0sDQogICAgb3BlblZpZGVvKCkgew0KICAgICAgaWYgKHRoaXMudW5pdHlDaGFuZ2UgPT0gMCkgew0KICAgICAgICBjb25zb2xlLmxvZygiYWFhIik7DQogICAgICB0aGlzLiRyZWZzLmlmcmFtZS5jb250ZW50V2luZG93LnVuaXR5LmczZC5mbHlUbygNCiAgICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy51bml0eS5tb2RlbHNbMF0sDQogICAgICAgIHsNCiAgICAgICAgICBhbmltYXRpb246IHRydWUsDQogICAgICAgICAgcmF0aW86IDAuOSwgLy8gWzAsIDFd77yM6LaK5aSn55u45py66LaK6L+RLA0KICAgICAgICAgIGRpcmVjdGlvbjogWzAsIDEzNSwgMF0sDQogICAgICAgIH0NCiAgICAgICk7DQogICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgLy8gdGhpcy5jYXJDaGFuZ2VTaG93ID0gdHJ1ZTsNCiAgICAgICAgY29uc29sZS5sb2codGhpcy5sb2NhbmlvbklwLCcxMjEyMicpOw0KICAgICAgICB2YXIgdXJsICA9ICdodHRwOi8vJyt0aGlzLmxvY2FuaW9uSXArJzo1NTAwL2RlbW8vZGVtb193aW5kb3dfc2ltcGxlX3ByZXZpZXdOZXcuaHRtbCcNCiAgICAgICAgY29uc29sZS5sb2codXJsLCd1cmwnKTsNCiAgICAgICAgIHdpbmRvdy5vcGVuKHVybCwgDQogICAgICAgICdiYWlkdScsIA0KICAgICAgICAndG9wPTIwMCxsZWZ0PTQ1MCx3aWR0aD0xMDAwLGhlaWdodD02MDAnKTsNCiAgICAgICAgY29uc29sZS5sb2coImJiYiIpOw0KICAgICAgfSwgMTAwMCAqIDEuNSk7DQogICAgICB9ZWxzZXsNCiAgICAgICAgY29uc29sZS5sb2coImFhYSIpOw0KICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy51bml0eS5nM2QuZmx5VG8oDQogICAgICAgIHRoaXMuJHJlZnMuaWZyYW1lLmNvbnRlbnRXaW5kb3cudW5pdHkubW9kZWxzWzBdLA0KICAgICAgICB7DQogICAgICAgICAgYW5pbWF0aW9uOiB0cnVlLA0KICAgICAgICAgIHJhdGlvOiAwLjksIC8vIFswLCAxXe+8jOi2iuWkp+ebuOacuui2iui/kSwNCiAgICAgICAgICBkaXJlY3Rpb246IFswLCAxMzUsIDBdLA0KICAgICAgICB9DQogICAgICApOw0KICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgIC8vIHRoaXMuY2FyQ2hhbmdlU2hvdyA9IHRydWU7DQogICAgICAgIGNvbnNvbGUubG9nKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwnMTIxMjInKTsNCiAgICAgICAgdmFyIHVybCAgPSAnaHR0cDovLycrdGhpcy5sb2NhbmlvbklwKyc6NTUwMC9kZW1vL2RlbW9fd2luZG93X3NpbXBsZV9wcmV2aWV3Lmh0bWwnDQogICAgICAgIGNvbnNvbGUubG9nKHVybCwndXJsJyk7DQogICAgICAgICB3aW5kb3cub3Blbih1cmwsIA0KICAgICAgICAnYmFpZHUnLCANCiAgICAgICAgJ3RvcD0yMDAsbGVmdD00NTAsd2lkdGg9MTAwMCxoZWlnaHQ9NjAwJyk7DQogICAgICAgIGNvbnNvbGUubG9nKCJiYmIiKTsNCiAgICAgIH0sIDEwMDAgKiAxLjUpOw0KICAgICAgfQ0KICAgICAgDQogICAgfSwNCiAgICBjbG9zZVZpZGVvKCkgew0KICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy51bml0eS5nM2Quc2V0RXllKFswLCA1MDAsIDUwMF0pOw0KICAgICAgdGhpcy5jYXJDaGFuZ2VTaG93ID0gZmFsc2U7DQogICAgfSwNCiAgICAvL+iOt+WPluWfuuWcsOaVsOaNrg0KICAgIGdldEpkRGF0YSh2YWwpIHsNCiAgICAgIGlmICh2YWwgPT0gIuS4jeWKqOS6pyIpIHsNCiAgICAgICAgY29uc29sZS5sb2coInZhbCIsIHZhbCk7DQogICAgICAgIHRoaXMud29ya0xpc3REYXRhID0gW107DQogICAgICAgIGF4aW9zDQogICAgICAgICAgLmdldCgiL2pzb24vamREYXRhLmpzb24iKQ0KICAgICAgICAgIC50aGVuKChyZXN1bHQpID0+IHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJnZXRNZW51RGF0YTExMSIsIHJlc3VsdC5kYXRhKTsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0LmRhdGEubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgaWYgKHJlc3VsdC5kYXRhW2ldLmpkID09IHRoaXMuJHJvdXRlLnBhcmFtcy5pZCkgew0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJyZXN1bHQuZGF0YVtpXSIsIHJlc3VsdC5kYXRhW2ldKTsNCiAgICAgICAgICAgICAgICB0aGlzLndvcmtMaXN0RGF0YS5wdXNoKHJlc3VsdC5kYXRhW2ldKTsNCiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdvcmtMaXN0KHJlc3VsdC5kYXRhW2ldKTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pDQogICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gew0KICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpOw0KICAgICAgICAgIH0pOw0KICAgICAgfSBlbHNlIGlmICh2YWwgPT0gIuWcn+WcsOivgSIpIHsNCiAgICAgICAgdGhpcy50aXQgPSAi5Zyf5Zyw6K+B5L+h5oGvIjsNCiAgICAgICAgdGhpcy53b3JrTGlzdERhdGEgPSBbXTsNCiAgICAgICAgdGhpcy5mY3pTaG93ID0gdHJ1ZTsNCiAgICAgICAgYXhpb3MNCiAgICAgICAgICAuZ2V0KCIvanNvbi90ZERhdGEuanNvbiIpDQogICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4gew0KICAgICAgICAgICAgY29uc29sZS5sb2coImdldE1lbnVEYXRhMTExIiwgcmVzdWx0LmRhdGEpOw0KICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQuZGF0YS5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICBpZiAocmVzdWx0LmRhdGFbaV0uamQgPT0gdGhpcy4kcm91dGUucGFyYW1zLmlkKSB7DQogICAgICAgICAgICAgICAgY29uc29sZS5sb2coInJlc3VsdC5kYXRhW2ldIiwgcmVzdWx0LmRhdGFbaV0pOw0KICAgICAgICAgICAgICAgIHRoaXMud29ya0xpc3REYXRhLnB1c2gocmVzdWx0LmRhdGFbaV0pOw0KICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV29ya0xpc3RUZChyZXN1bHQuZGF0YVtpXSk7DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9KQ0KICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTsNCiAgICAgICAgICB9KTsNCiAgICAgICAgdGhpcy53b3JrTGlzdERhdGFmY3ogPSBbXTsNCiAgICAgICAgYXhpb3MNCiAgICAgICAgICAuZ2V0KCIvanNvbi9mY3pEYXRhLmpzb24iKQ0KICAgICAgICAgIC50aGVuKChyZXN1bHQpID0+IHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJnZXRNZW51RGF0YTExMSIsIHJlc3VsdC5kYXRhKTsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0LmRhdGEubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgaWYgKHJlc3VsdC5kYXRhW2ldLmpkID09IHRoaXMuJHJvdXRlLnBhcmFtcy5pZCkgew0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJyZXN1bHQuZGF0YVtpXSIsIHJlc3VsdC5kYXRhW2ldKTsNCiAgICAgICAgICAgICAgICB0aGlzLndvcmtMaXN0RGF0YWZjei5wdXNoKHJlc3VsdC5kYXRhW2ldKTsNCiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdvcmtMaXN0ZmN6KHJlc3VsdC5kYXRhW2ldKTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pDQogICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gew0KICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpOw0KICAgICAgICAgIH0pOw0KICAgICAgfQ0KICAgIH0sDQogICAgLy/kuI3liqjkuqcNCiAgICBjaGFuZ2VXb3JrTGlzdChkYXRhKSB7DQogICAgICB2YXIgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGRhdGEpOw0KICAgICAgdmFyIGxpc3QgPSBlbnRyaWVzLm1hcChmdW5jdGlvbiAoaXRlbSkgew0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgIHZhbHVlOiBpdGVtWzFdLA0KICAgICAgICAgIG5hbWU6IGl0ZW1bMF0sDQogICAgICAgIH07DQogICAgICB9KTsNCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgew0KICAgICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IHRoaXMud29ya0xpc3QubGVuZ3RoOyB0KyspIHsNCiAgICAgICAgICBpZiAobGlzdFtpXS5uYW1lID09IHRoaXMud29ya0xpc3RbdF0ubmFtZSkgew0KICAgICAgICAgICAgdGhpcy53b3JrTGlzdFt0XS52YWx1ZSA9IGxpc3RbaV0udmFsdWU7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgfSwNCiAgICAvL+Wcn+WcsOivgQ0KICAgIGNoYW5nZVdvcmtMaXN0VGQoZGF0YSkgew0KICAgICAgdmFyIGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkYXRhKTsNCiAgICAgIHZhciBsaXN0ID0gZW50cmllcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsNCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICB2YWx1ZTogaXRlbVsxXSwNCiAgICAgICAgICBuYW1lOiBpdGVtWzBdLA0KICAgICAgICB9Ow0KICAgICAgfSk7DQogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgZm9yICh2YXIgdCA9IDA7IHQgPCB0aGlzLndvcmtMaXN0TmV3Lmxlbmd0aDsgdCsrKSB7DQogICAgICAgICAgaWYgKGxpc3RbaV0ubmFtZSA9PSB0aGlzLndvcmtMaXN0TmV3W3RdLm5hbWUpIHsNCiAgICAgICAgICAgIHRoaXMud29ya0xpc3ROZXdbdF0udmFsdWUgPSBsaXN0W2ldLnZhbHVlOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgdGhpcy53b3JrTGlzdCA9IHRoaXMud29ya0xpc3ROZXc7DQogICAgfSwNCiAgICBjaGFuZ2VXb3JrTGlzdGZjeihkYXRhKSB7DQogICAgICB2YXIgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGRhdGEpOw0KICAgICAgdmFyIGxpc3QgPSBlbnRyaWVzLm1hcChmdW5jdGlvbiAoaXRlbSkgew0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgIHZhbHVlOiBpdGVtWzFdLA0KICAgICAgICAgIG5hbWU6IGl0ZW1bMF0sDQogICAgICAgIH07DQogICAgICB9KTsNCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgew0KICAgICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IHRoaXMud29ya0xpc3RGQ1oubGVuZ3RoOyB0KyspIHsNCiAgICAgICAgICBpZiAobGlzdFtpXS5uYW1lID09IHRoaXMud29ya0xpc3RGQ1pbdF0ubmFtZSkgew0KICAgICAgICAgICAgdGhpcy53b3JrTGlzdEZDWlt0XS52YWx1ZSA9IGxpc3RbaV0udmFsdWU7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgfSwNCiAgICBjYW5jZWxMb2FkaW5nKCkgew0KICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgfSwgNTAwKTsNCiAgICB9LA0KICB9LA0KfTsNCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAq3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/land/child","sourcesContent":["\r\n \r\n \r\n \r\n \r\n "]}]}