{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js??ref--13-0!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/babel-loader/lib/index.js!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js??ref--1-0!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/views/Employee/index.vue?vue&type=template&id=08021ccd","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/views/Employee/index.vue","mtime":1729328237784},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/babel.config.js","mtime":1725615667903},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:dmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHsKICB2YXIgX3ZtID0gdGhpcywKICAgIF9jID0gX3ZtLl9zZWxmLl9jOwogIHJldHVybiBfYygnZGl2JywgewogICAgc3RhdGljQ2xhc3M6ICJDb250YWluZXJCb3giCiAgfSwgW192bS5TdGFmZkJveEZsYWcgPyBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiQ29udGFpbmVyQm94TGlzdCIKICB9LCBbX2MoJ3NlY3Rpb24nLCB7CiAgICBzdGF0aWNDbGFzczogInJlbWFya0JveCIKICB9LCBbX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAicmVtYXJrSW5mbyIKICB9LCBbX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24td2FybmluZy1vdXRsaW5lIGVsLWljb24tZmxhZyIKICB9KSwgX2MoJ3NwYW4nLCB7CiAgICBzdGF0aWNDbGFzczogInRpcHNGbGFnIgogIH0sIFtfYygnc3BhbicsIFtfdm0uX3YoIjEuIOiLpeaCqOaYryIgKyBfdm0uX3MoX3ZtLiRTdXBlcnZpc2VTdHIuZGVwYXJ0KSArICLnrqHnkIblkZjvvIzliJnlj6rog73mn6XnnIvliLDlj6/nrqHnkIbnmoQiICsgX3ZtLl9zKF92bS4kU3VwZXJ2aXNlU3RyLmVtcGxveWVlKSArICLkv6Hmga/vvIzngrnlh7vmlbDmja7nnIvmnb/nmoTmoIfnrb7ljaHlj6/ku6Xlv6vpgJ/nrZvpgInjgIIiKV0pLCBfYygnc3BhbicsIFtfdm0uX3YoIjIuIOiLpemcgOimgeWvuSIgKyBfdm0uX3MoX3ZtLiRTdXBlcnZpc2VTdHIuZW1wbG95ZWUpICsgIui/m+ihjOemu+iBjOWkhOeQhu+8jOivt+iuv+mXruemu+iBjOeuoeeQhumhtemdoui/m+ihjOaTjeS9nOOAgiIpXSksIF9jKCdzcGFuJywgW192bS5fdihfdm0uX3MoX3ZtLmluc3RpdHV0aW9uYWxDb2RlRmxhZyA/ICczLiDog4zmma/nrZvmn6XnirbmgIHmmL7npLrjgJDlhbPms6jjgJHku4XooajnpLror6XkurrlkZjmnInmj5DphpLorrDlvZXvvIzlhbfkvZPor6bmg4Xor7foh7PjgJDmmbrog73pooTorabjgJHmn6XnnIvlpITnkIbjgIInIDogJycpKV0pLCBfYygnc3BhbicsIFtfdm0uX3YoX3ZtLl9zKF92bS5pbnN0aXR1dGlvbmFsQ29kZUZsYWcgPyAnNC4g6LaF6b6E5L+d5a6J5ZGYOueUt+i2hei/hzYw5bKB77yM5aWz6LaF6L+HNTDlsoHvvIzlj6/pgJrov4fnrZvpgInpobnjgJDogYzkuJrnsbvlnovjgJHjgIHjgJDlvIDlp4vlubTpvoTjgJHov5vooYzmn6Xor6LjgIInIDogJycpKV0pLCBfYygnc3BhbicsIFtfdm0uX3YoX3ZtLl9zKF92bS5pbnN0aXR1dGlvbmFsQ29kZUZsYWcgPyAnNS4g6LaF5pyf5pyq5oyB6K+B5L+d5a6J5ZGY77ya5YWl6IGM5pel5pyf6LaF6L+HMTTlpKnmnKrlj5bor4Hkv53lronlkZjvvIzlj6/pgJrov4fnrZvpgInpobnjgJDogYzkuJrnsbvlnovjgJHjgIHjgJDmjIHor4HnirbmgIHjgJHjgIHjgJDlhaXogYzml6XmnJ/jgJHov5vooYzmn6Xor6LjgIInIDogJycpKV0pXSldKV0pLCBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiYnV0dG9uQm94IgogIH0sIFtfYygnZWwtcm93JywgewogICAgc3RhdGljQ2xhc3M6ICJyb3ctYmciLAogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAiZmxleCIsCiAgICAgICJqdXN0aWZ5IjogInNwYWNlLWJldHdlZW4iCiAgICB9CiAgfSwgW19jKCdlbC1jb2wnLCB7CiAgICBhdHRyczogewogICAgICAic3BhbiI6IDEyCiAgICB9CiAgfSwgW19jKCdkaXYnLCBbX2MoJ2VsLWJ1dHRvbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogInByaW1hcnkiCiAgICB9LAogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmFkZFVzZXIKICAgIH0KICB9LCBbX3ZtLl92KCLmt7vliqAiICsgX3ZtLl9zKF92bS4kU3VwZXJ2aXNlU3RyLmVtcGxveWVlKSldKSwgX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5pbXBvcnRFbXBsb3llZQogICAgfQogIH0sIFtfdm0uX3YoIuWvvOWFpSIgKyBfdm0uX3MoX3ZtLiRTdXBlcnZpc2VTdHIuZW1wbG95ZWUpKV0pLCBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmV4cG9ydEVtcGxveWVlCiAgICB9CiAgfSwgW192bS5fdigi5a+85Ye65ZGY5belIildKSwgX3ZtLiRTdXBlcnZpc2VTdHIuaXNub3RTdXBlcnZpc2VCdXR0b24gJiYgX3ZtLmluc3RpdHV0aW9uYWxDb2RlICE9ICcwNjAxJyAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA0JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwNycpICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA3JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDgnKSAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwOScpID8gX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5hZGRVc2VySW4KICAgIH0KICB9LCBbX3ZtLl92KCLpgoDor7flhaXogYwiKV0pIDogX3ZtLl9lKCksIF92bS4kU3VwZXJ2aXNlU3RyLmlzbm90U3VwZXJ2aXNlQnV0dG9uICYmIF92bS5ob21lVGVtcGxhdGVCb3JhZFR5cGUgIT0gJ3J0cGF5VGVtcGxhdGUnICYmIF92bS5pbnN0aXR1dGlvbmFsQ29kZSAhPSAnMDYwMScgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwNCcpICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDcnKSAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwNycpICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA4JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDknKSA/IF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uYWRkVXNlckR1dHkKICAgIH0KICB9LCBbX3ZtLl92KCLpgoDor7fpqbvli6QiKV0pIDogX3ZtLl9lKCldLCAxKV0pLCBfYygnZWwtY29sJywgewogICAgYXR0cnM6IHsKICAgICAgInNwYW4iOiAxMgogICAgfQogIH0sIFtfYygnZGl2JywgewogICAgc3RhdGljQ2xhc3M6ICJyaWdodEJveCIKICB9LCBbX2MoJ2VsLWlucHV0JywgewogICAgZGlyZWN0aXZlczogW3sKICAgICAgbmFtZTogInNob3ciLAogICAgICByYXdOYW1lOiAidi1zaG93IiwKICAgICAgdmFsdWU6ICFfdm0uSGlnaFNlYXJjaEZsYWcsCiAgICAgIGV4cHJlc3Npb246ICIhSGlnaFNlYXJjaEZsYWciCiAgICB9XSwKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICI0NSUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIui+k+WFpeWnk+WQjS/otKblj7cv5omL5py65Y+3L+ivgeS7tuWPt+eggSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJpbnB1dCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLmtleXdvcmRJbnB1dCgpOwogICAgICB9CiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMua2V5d29yZCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAia2V5d29yZCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMua2V5d29yZCIKICAgIH0KICB9KSwgIV92bS5IaWdoU2VhcmNoRmxhZyA/IF9jKCdlbC1idXR0b24nLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJwcmltYXJ5IgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5zZWFyY2gKICAgIH0KICB9LCBbX3ZtLl92KCLmn6Xor6IiKV0pIDogX3ZtLl9lKCksIF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uc3dpdGNoSGlnaAogICAgfQogIH0sIFtfdm0uX3YoIumrmOe6pyIpLCAhX3ZtLkhpZ2hTZWFyY2hGbGFnID8gX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24tYXJyb3ctZG93biIKICB9KSA6IF92bS5fZSgpLCBfdm0uSGlnaFNlYXJjaEZsYWcgPyBfYygnaScsIHsKICAgIHN0YXRpY0NsYXNzOiAiZWwtaWNvbi1hcnJvdy11cCIKICB9KSA6IF92bS5fZSgpXSksIF92bS5EYXRhQm9hcmRzaG93T2JqICYmIF92bS5pbnN0aXR1dGlvbmFsQ29kZSAhPSAnMDYwMScgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwNCcpID8gX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uSGlnaERhdGFGbGFnID0gIV92bS5IaWdoRGF0YUZsYWc7CiAgICAgICAgX3ZtLkRhdGFCb2FyZCgpOwogICAgICB9CiAgICB9CiAgfSwgW192bS5fdigi5pWw5o2u55yL5p2/IiksICFfdm0uSGlnaERhdGFGbGFnID8gX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24tYXJyb3ctZG93biIKICB9KSA6IF92bS5fZSgpLCBfdm0uSGlnaERhdGFGbGFnID8gX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24tYXJyb3ctdXAiCiAgfSkgOiBfdm0uX2UoKV0pIDogX3ZtLl9lKCldLCAxKV0pXSwgMSldLCAxKSwgX2MoJ3NlY3Rpb24nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLkhpZ2hTZWFyY2hGbGFnLAogICAgICBleHByZXNzaW9uOiAiSGlnaFNlYXJjaEZsYWciCiAgICB9XSwKICAgIHN0YXRpY0NsYXNzOiAiSGlnaFNlYXJjaEJveCIKICB9LCBbX3ZtLmluc3RpdHV0aW9uYWxDb2RlID09ICcwNjAxJyA/IF9jKCdlbC1yb3cnLCBbX2MoJ2VsLWZvcm0nLCB7CiAgICByZWY6ICJydWxlRm9ybSIsCiAgICBhdHRyczogewogICAgICAiaW5saW5lIjogdHJ1ZSwKICAgICAgIm1vZGVsIjogX3ZtLnBhcmFtcywKICAgICAgImxhYmVsLXdpZHRoIjogIjEzMHB4IiwKICAgICAgImxhYmVsLXBvc2l0aW9uIjogInJpZ2h0IgogICAgfQogIH0sIFtfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWFs+mUruivje+8miIsCiAgICAgICJwcm9wIjogImtleXdvcmQiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLlp5PlkI0v6LSm5Y+3L+aJi+acuuWPty/or4Hku7blj7fnoIEiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiaW5wdXQiOiBfdm0uaW5wdXRrZXl3b3JrCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMua2V5d29yZCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAia2V5d29yZCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMua2V5d29yZCIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuivgeS7tuexu+Wei++8miIsCiAgICAgICJwcm9wIjogImNyZWRlbnRpYWxUeXBlcyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlY3JlZGVudGlhbFR5cGVzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuY3JlZGVudGlhbFR5cGVzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJjcmVkZW50aWFsVHlwZXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmNyZWRlbnRpYWxUeXBlcyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmNyZWRlbnRpYWxUeXBlc29wdGlvbnMsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpdGVtLnZhbHVlLAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLor4Hku7bmoLjpqoznirbmgIHvvJoiLAogICAgICAicHJvcCI6ICJjaGVja2VkU3RhdHVzZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWNoZWNrZWRTdGF0dXNlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmNoZWNrZWRTdGF0dXNlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiY2hlY2tlZFN0YXR1c2VzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5jaGVja2VkU3RhdHVzZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5jaGVja2VkU3RhdHVzZXNvcHRpb25zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaXRlbS52YWx1ZSwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiBfdm0uZGVwYXJ0bGFiZWwsCiAgICAgICJwcm9wIjogImRlcGFydElkcyIKICAgIH0KICB9LCBbX2MoJ3NlbGVjdFRyZWUnLCB7CiAgICByZWY6ICJzZWxlY3RUcmVlIiwKICAgIGF0dHJzOiB7CiAgICAgICJjdXJWYWx1ZSI6IF92bS5kZWZhdWxEYXRhLAogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGEsCiAgICAgICJvYmoiOiB7CiAgICAgICAgaWQ6ICdpZCcsCiAgICAgICAgbGFiZWw6ICduYW1lJywKICAgICAgICBjaGlsZHJlbjogJ2NoaWxkcmVuJwogICAgICB9LAogICAgICAiY2hlY2tTdHJpY3RseSI6ICIiLAogICAgICAiY2xlYXJhYmxlIjogIiIsCiAgICAgICJmaWx0ZXJhYmxlIjogIiIsCiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2VUYWdzIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiZ2V0VmFsdWUiOiBfdm0uY2hlY2tDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWyl+S9je+8miIsCiAgICAgICJwcm9wIjogInBvc2l0aW9uIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLnBvc2l0aW9uLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJwb3NpdGlvbiIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMucG9zaXRpb24iCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5wb3NpdGlvbkFyck9wdGlvbnMsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaW5kZXgsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuaAp+WIq++8miIsCiAgICAgICJwcm9wIjogInNleCIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZXNleAogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLnNleCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAic2V4IiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5zZXgiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5zZXhBcnJPcHRpb25zLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlvIDlp4vlubTpvoTvvJoiLAogICAgICAicHJvcCI6ICJiZWdpbkFnZSIKICAgIH0KICB9LCBbX2MoJ2VsLWlucHV0LW51bWJlcicsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxNzVweCIKICAgIH0sCiAgICBhdHRyczogewogICAgICAiY29udHJvbHMiOiBmYWxzZSwKICAgICAgIm1pbiI6IDEsCiAgICAgICJtYXgiOiAxMDAsCiAgICAgICJwbGFjZWhvbGRlciI6ICLlvIDlp4vlubTpvoQiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2ViZWdpbkFnZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmJlZ2luQWdlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJiZWdpbkFnZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuYmVnaW5BZ2UiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLnu5PmnZ/lubTpvoTvvJoiLAogICAgICAicHJvcCI6ICJlbmRBZ2UiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dC1udW1iZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbnRyb2xzIjogZmFsc2UsCiAgICAgICJtaW4iOiAxLAogICAgICAibWF4IjogMTAwLAogICAgICAicGxhY2Vob2xkZXIiOiAi57uT5p2f5bm06b6EIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlZW5kQWdlCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuZW5kQWdlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJlbmRBZ2UiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmVuZEFnZSIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWFpeiBjOaXtumXtO+8miIsCiAgICAgICJwcm9wIjogInN0YXJ0RW5kRGF0ZSIKICAgIH0KICB9LCBbX2MoJ2VsLWRhdGUtcGlja2VyJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAiZGF0ZXJhbmdlIiwKICAgICAgInZhbHVlLWZvcm1hdCI6ICJ5eXl5LU1NLWRkIiwKICAgICAgImZvcm1hdCI6ICJ5eXl5LU1NLWRkIiwKICAgICAgInJhbmdlLXNlcGFyYXRvciI6ICLoh7MiLAogICAgICAic3RhcnQtcGxhY2Vob2xkZXIiOiAi5byA5aeL5pel5pyfIiwKICAgICAgImVuZC1wbGFjZWhvbGRlciI6ICLnu5PmnZ/ml6XmnJ8iCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzdGFydEVuZERhdGUKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zdGFydEVuZERhdGUsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInN0YXJ0RW5kRGF0ZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc3RhcnRFbmREYXRlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCBbX2MoJ2VsLWJ1dHRvbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogInByaW1hcnkiCiAgICB9LAogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmhpZ2hTZWFyY2hCdXR0b24KICAgIH0KICB9LCBbX3ZtLl92KCLmn6Xor6IiKV0pLCBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0ucmVzZXRTZWFyY2hGb3JtKCk7CiAgICAgIH0KICAgIH0KICB9LCBbX3ZtLl92KCLph43nva4iKV0pXSwgMSldLCAxKV0sIDEpIDogX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA0JykgfHwgX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA3JykgPyBfYygnZWwtcm93JywgW19jKCdlbC1mb3JtJywgewogICAgcmVmOiAicnVsZUZvcm0iLAogICAgYXR0cnM6IHsKICAgICAgImlubGluZSI6IHRydWUsCiAgICAgICJtb2RlbCI6IF92bS5wYXJhbXMsCiAgICAgICJsYWJlbC13aWR0aCI6ICIxMzBweCIsCiAgICAgICJsYWJlbC1wb3NpdGlvbiI6ICJyaWdodCIKICAgIH0KICB9LCBbX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlhbPplK7or43vvJoiLAogICAgICAicHJvcCI6ICJrZXl3b3JkIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi5aeT5ZCNL+i0puWPty/miYvmnLrlj7cv6K+B5Lu25Y+356CBIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImlucHV0IjogX3ZtLmlucHV0a2V5d29yawogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmtleXdvcmQsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImtleXdvcmQiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmtleXdvcmQiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLor4Hku7bnsbvlnovvvJoiLAogICAgICAicHJvcCI6ICJjcmVkZW50aWFsVHlwZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWNyZWRlbnRpYWxUeXBlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmNyZWRlbnRpYWxUeXBlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiY3JlZGVudGlhbFR5cGVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5jcmVkZW50aWFsVHlwZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5jcmVkZW50aWFsVHlwZXNvcHRpb25zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaXRlbS52YWx1ZSwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi6K+B5Lu25qC46aqM54q25oCB77yaIiwKICAgICAgInByb3AiOiAiY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjaGVja2VkU3RhdHVzZXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jaGVja2VkU3RhdHVzZXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNoZWNrZWRTdGF0dXNlcyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIF92bS5fbChfdm0uY2hlY2tlZFN0YXR1c2Vzb3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0pIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGl0ZW0udmFsdWUsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogX3ZtLmRlcGFydGxhYmVsLAogICAgICAicHJvcCI6ICJkZXBhcnRJZHMiCiAgICB9CiAgfSwgW19jKCdzZWxlY3RUcmVlJywgewogICAgcmVmOiAic2VsZWN0VHJlZSIsCiAgICBhdHRyczogewogICAgICAiY3VyVmFsdWUiOiBfdm0uZGVmYXVsRGF0YSwKICAgICAgImRhdGEiOiBfdm0udGFibGVEYXRhLAogICAgICAib2JqIjogewogICAgICAgIGlkOiAnaWQnLAogICAgICAgIGxhYmVsOiAnbmFtZScsCiAgICAgICAgY2hpbGRyZW46ICdjaGlsZHJlbicKICAgICAgfSwKICAgICAgImNoZWNrU3RyaWN0bHkiOiAiIiwKICAgICAgImNsZWFyYWJsZSI6ICIiLAogICAgICAiZmlsdGVyYWJsZSI6ICIiLAogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlVGFncyI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImdldFZhbHVlIjogX3ZtLmNoZWNrQ2hhbmdlCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLmgKfliKvvvJoiLAogICAgICAicHJvcCI6ICJzZXgiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzZXgKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zZXgsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInNleCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc2V4IgogICAgfQogIH0sIF92bS5fbChfdm0uc2V4QXJyT3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5byA5aeL5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiYmVnaW5BZ2UiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dC1udW1iZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbnRyb2xzIjogZmFsc2UsCiAgICAgICJtaW4iOiAxLAogICAgICAibWF4IjogMTAwLAogICAgICAicGxhY2Vob2xkZXIiOiAi5byA5aeL5bm06b6EIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlYmVnaW5BZ2UKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5iZWdpbkFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiYmVnaW5BZ2UiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmJlZ2luQWdlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi57uT5p2f5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiZW5kQWdlIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQtbnVtYmVyJywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjE3NXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJjb250cm9scyI6IGZhbHNlLAogICAgICAibWluIjogMSwKICAgICAgIm1heCI6IDEwMCwKICAgICAgInBsYWNlaG9sZGVyIjogIue7k+adn+W5tOm+hCIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWVuZEFnZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmVuZEFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiZW5kQWdlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5lbmRBZ2UiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlhaXogYzml7bpl7TvvJoiLAogICAgICAicHJvcCI6ICJzdGFydEVuZERhdGUiCiAgICB9CiAgfSwgW19jKCdlbC1kYXRlLXBpY2tlcicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogImRhdGVyYW5nZSIsCiAgICAgICJ2YWx1ZS1mb3JtYXQiOiAieXl5eS1NTS1kZCIsCiAgICAgICJmb3JtYXQiOiAieXl5eS1NTS1kZCIsCiAgICAgICJyYW5nZS1zZXBhcmF0b3IiOiAi6IezIiwKICAgICAgInN0YXJ0LXBsYWNlaG9sZGVyIjogIuW8gOWni+aXpeacnyIsCiAgICAgICJlbmQtcGxhY2Vob2xkZXIiOiAi57uT5p2f5pel5pyfIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlc3RhcnRFbmREYXRlCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuc3RhcnRFbmREYXRlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJzdGFydEVuZERhdGUiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLnN0YXJ0RW5kRGF0ZSIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgW19jKCdlbC1idXR0b24nLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJwcmltYXJ5IgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5oaWdoU2VhcmNoQnV0dG9uCiAgICB9CiAgfSwgW192bS5fdigi5p+l6K+iIildKSwgX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLnJlc2V0U2VhcmNoRm9ybSgpOwogICAgICB9CiAgICB9CiAgfSwgW192bS5fdigi6YeN572uIildKV0sIDEpXSwgMSldLCAxKSA6IF92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDcnKSB8fCBfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA4JykgfHwgX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwOScpID8gX2MoJ2VsLXJvdycsIFtfYygnZWwtZm9ybScsIHsKICAgIHJlZjogInJ1bGVGb3JtIiwKICAgIGF0dHJzOiB7CiAgICAgICJpbmxpbmUiOiB0cnVlLAogICAgICAibW9kZWwiOiBfdm0ucGFyYW1zLAogICAgICAibGFiZWwtd2lkdGgiOiAiMTMwcHgiLAogICAgICAibGFiZWwtcG9zaXRpb24iOiAicmlnaHQiCiAgICB9CiAgfSwgW19jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5YWz6ZSu6K+N77yaIiwKICAgICAgInByb3AiOiAia2V5d29yZCIKICAgIH0KICB9LCBbX2MoJ2VsLWlucHV0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIuWnk+WQjS/otKblj7cv5omL5py65Y+3L+ivgeS7tuWPt+eggSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJpbnB1dCI6IF92bS5pbnB1dGtleXdvcmsKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5rZXl3b3JkLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJrZXl3b3JkIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5rZXl3b3JkIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiBfdm0uZGVwYXJ0bGFiZWwsCiAgICAgICJwcm9wIjogImRlcGFydElkcyIKICAgIH0KICB9LCBbX2MoJ3NlbGVjdFRyZWUnLCB7CiAgICByZWY6ICJzZWxlY3RUcmVlIiwKICAgIGF0dHJzOiB7CiAgICAgICJjdXJWYWx1ZSI6IF92bS5kZWZhdWxEYXRhLAogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGEsCiAgICAgICJvYmoiOiB7CiAgICAgICAgaWQ6ICdpZCcsCiAgICAgICAgbGFiZWw6ICduYW1lJywKICAgICAgICBjaGlsZHJlbjogJ2NoaWxkcmVuJwogICAgICB9LAogICAgICAiY2hlY2tTdHJpY3RseSI6ICIiLAogICAgICAiY2xlYXJhYmxlIjogIiIsCiAgICAgICJmaWx0ZXJhYmxlIjogIiIsCiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2VUYWdzIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiZ2V0VmFsdWUiOiBfdm0uY2hlY2tDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgW19jKCdlbC1idXR0b24nLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJwcmltYXJ5IgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5oaWdoU2VhcmNoQnV0dG9uCiAgICB9CiAgfSwgW192bS5fdigi5p+l6K+iIildKSwgX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLnJlc2V0U2VhcmNoRm9ybSgpOwogICAgICB9CiAgICB9CiAgfSwgW192bS5fdigi6YeN572uIildKV0sIDEpXSwgMSldLCAxKSA6IF9jKCdlbC1yb3cnLCBbX2MoJ2VsLWZvcm0nLCB7CiAgICByZWY6ICJydWxlRm9ybSIsCiAgICBhdHRyczogewogICAgICAiaW5saW5lIjogdHJ1ZSwKICAgICAgIm1vZGVsIjogX3ZtLnBhcmFtcywKICAgICAgImxhYmVsLXdpZHRoIjogIjEzMHB4IiwKICAgICAgImxhYmVsLXBvc2l0aW9uIjogInJpZ2h0IgogICAgfQogIH0sIFtfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWFs+mUruivje+8miIsCiAgICAgICJwcm9wIjogImtleXdvcmQiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLlp5PlkI0v6LSm5Y+3L+aJi+acuuWPty/or4Hku7blj7fnoIEiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiaW5wdXQiOiBfdm0uaW5wdXRrZXl3b3JrCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMua2V5d29yZCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAia2V5d29yZCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMua2V5d29yZCIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuivgeS7tuexu+Wei++8miIsCiAgICAgICJwcm9wIjogImNyZWRlbnRpYWxUeXBlcyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlY3JlZGVudGlhbFR5cGVzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuY3JlZGVudGlhbFR5cGVzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJjcmVkZW50aWFsVHlwZXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmNyZWRlbnRpYWxUeXBlcyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmNyZWRlbnRpYWxUeXBlc29wdGlvbnMsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpdGVtLnZhbHVlLAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLogYzkuJrnsbvlnovvvJoiLAogICAgICAicHJvcCI6ICJvY2N1cGF0aW9uVHlwZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZW9jY3VwYXRpb25UeXBlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLm9jY3VwYXRpb25UeXBlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAib2NjdXBhdGlvblR5cGVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5vY2N1cGF0aW9uVHlwZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5vY2N1cGF0aW9uVHlwZUFyciwgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLmxpc3RzaG93T2JqLmF1dGhlbnRpY2F0ZWRTdGF0dXNlcywKICAgICAgZXhwcmVzc2lvbjogImxpc3RzaG93T2JqLmF1dGhlbnRpY2F0ZWRTdGF0dXNlcyIKICAgIH1dLAogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWunuWQjeiupOivgeeKtuaAge+8miIsCiAgICAgICJwcm9wIjogImF1dGhlbnRpY2F0ZWRTdGF0dXNlcyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlYXV0aGVudGljYXRlZFN0YXR1c2VzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuYXV0aGVudGljYXRlZFN0YXR1c2VzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJhdXRoZW50aWNhdGVkU3RhdHVzZXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmF1dGhlbnRpY2F0ZWRTdGF0dXNlcyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmF1dGhlbnRpY2F0ZWRTdGF0dXNlc29wdGlvbnMsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpdGVtLnZhbHVlLAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0ubGlzdHNob3dPYmouY2hlY2tlZFN0YXR1c2VzLAogICAgICBleHByZXNzaW9uOiAibGlzdHNob3dPYmouY2hlY2tlZFN0YXR1c2VzIgogICAgfV0sCiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi6K+B5Lu25qC46aqM54q25oCB77yaIiwKICAgICAgInByb3AiOiAiY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjaGVja2VkU3RhdHVzZXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jaGVja2VkU3RhdHVzZXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNoZWNrZWRTdGF0dXNlcyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIF92bS5fbChfdm0uY2hlY2tlZFN0YXR1c2Vzb3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0pIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGl0ZW0udmFsdWUsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgZGlyZWN0aXZlczogW3sKICAgICAgbmFtZTogInNob3ciLAogICAgICByYXdOYW1lOiAidi1zaG93IiwKICAgICAgdmFsdWU6IF92bS5saXN0c2hvd09iai5jZXJTdGF0dXMsCiAgICAgIGV4cHJlc3Npb246ICJsaXN0c2hvd09iai5jZXJTdGF0dXMiCiAgICB9XSwKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLmjIHotYTmoLzor4HvvJoiLAogICAgICAicHJvcCI6ICJjZXJTdGF0dXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjZXJTdGF0dXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jZXJTdGF0dXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNlclN0YXR1cyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY2VyU3RhdHVzIgogICAgfQogIH0sIF92bS5fbChfdm0uY2VyU3RhdHVzQXJyLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0ubGlzdHNob3dPYmouY29udHJhY3RTdGF0dXMsCiAgICAgIGV4cHJlc3Npb246ICJsaXN0c2hvd09iai5jb250cmFjdFN0YXR1cyIKICAgIH1dLAogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuetvuiuouWQiOWQjO+8miIsCiAgICAgICJwcm9wIjogImNvbnRyYWN0U3RhdHVzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlY29udHJhY3RTdGF0dXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jb250cmFjdFN0YXR1cywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiY29udHJhY3RTdGF0dXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmNvbnRyYWN0U3RhdHVzIgogICAgfQogIH0sIF92bS5fbChfdm0uY29udHJhY3RTdGF0dXNBcnIsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaW5kZXgsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWFpeiBjOaXpeacn++8miIsCiAgICAgICJwcm9wIjogImhpcmVkRGF0ZSIKICAgIH0KICB9LCBbX2MoJ2VsLWRhdGUtcGlja2VyJywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjE3NXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogImRhdGUiLAogICAgICAiZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAidmFsdWUtZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6YCJ5oup5pel5pyfIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJpbnB1dCI6IF92bS5jaGFuZ2VIaXJlZERhdGUKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5oaXJlZERhdGUsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImhpcmVkRGF0ZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuaGlyZWREYXRlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiBfdm0uZGVwYXJ0bGFiZWwsCiAgICAgICJwcm9wIjogImRlcGFydElkcyIKICAgIH0KICB9LCBbX2MoJ3NlbGVjdFRyZWUnLCB7CiAgICByZWY6ICJzZWxlY3RUcmVlIiwKICAgIGF0dHJzOiB7CiAgICAgICJjdXJWYWx1ZSI6IF92bS5kZWZhdWxEYXRhLAogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGEsCiAgICAgICJvYmoiOiB7CiAgICAgICAgaWQ6ICdpZCcsCiAgICAgICAgbGFiZWw6ICduYW1lJywKICAgICAgICBjaGlsZHJlbjogJ2NoaWxkcmVuJwogICAgICB9LAogICAgICAiY2hlY2tTdHJpY3RseSI6ICIiLAogICAgICAiY2xlYXJhYmxlIjogIiIsCiAgICAgICJmaWx0ZXJhYmxlIjogIiIsCiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2VUYWdzIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiZ2V0VmFsdWUiOiBfdm0uY2hlY2tDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgZGlyZWN0aXZlczogW3sKICAgICAgbmFtZTogInNob3ciLAogICAgICByYXdOYW1lOiAidi1zaG93IiwKICAgICAgdmFsdWU6IF92bS5saXN0c2hvd09iai5sZXZlbCwKICAgICAgZXhwcmVzc2lvbjogImxpc3RzaG93T2JqLmxldmVsIgogICAgfV0sCiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5L+d5a6J6IGM5Lia5oqA6IO9562J57qn77yaIiwKICAgICAgInByb3AiOiAibGV2ZWwiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWxldmVsCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMubGV2ZWwsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImxldmVsIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5sZXZlbCIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmxldmVsQXJyLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLmgKfliKvvvJoiLAogICAgICAicHJvcCI6ICJzZXgiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzZXgKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zZXgsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInNleCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc2V4IgogICAgfQogIH0sIF92bS5fbChfdm0uc2V4QXJyT3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5byA5aeL5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiYmVnaW5BZ2UiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dC1udW1iZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbnRyb2xzIjogZmFsc2UsCiAgICAgICJtaW4iOiAxLAogICAgICAibWF4IjogMTAwLAogICAgICAicGxhY2Vob2xkZXIiOiAi5byA5aeL5bm06b6EIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlYmVnaW5BZ2UKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5iZWdpbkFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiYmVnaW5BZ2UiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmJlZ2luQWdlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi57uT5p2f5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiZW5kQWdlIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQtbnVtYmVyJywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjE3NXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJjb250cm9scyI6IGZhbHNlLAogICAgICAibWluIjogMSwKICAgICAgIm1heCI6IDEwMCwKICAgICAgInBsYWNlaG9sZGVyIjogIue7k+adn+W5tOm+hCIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWVuZEFnZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmVuZEFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiZW5kQWdlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5lbmRBZ2UiCiAgICB9CiAgfSldLCAxKSwgX3ZtLmluc3RTaG93ID8gX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLog4zmma/nrZvmn6XnirbmgIHvvJoiLAogICAgICAicHJvcCI6ICJiYWNrZ3JvdW5kU2NyZWVuaW5nU3RhdHVzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuYmFja2dyb3VuZFNjcmVlbmluZ1N0YXR1cywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiYmFja2dyb3VuZFNjcmVlbmluZ1N0YXR1cyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuYmFja2dyb3VuZFNjcmVlbmluZ1N0YXR1cyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmJhY2tncm91bmRTY3JlZW5pbmdTdGF0dXNPcHRpb25zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaXRlbS52YWx1ZSwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSkgOiBfdm0uX2UoKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLmmK/lkKbmipXkv53vvJoiLAogICAgICAicHJvcCI6ICJpbnN1cmUiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VpbnN1cmUKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5pbnN1cmUsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImluc3VyZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuaW5zdXJlIgogICAgfQogIH0sIF92bS5fbChfdm0uaW5zdXJlQXJyT3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5YWl6IGM5pe26Ze077yaIiwKICAgICAgInByb3AiOiAic3RhcnRFbmREYXRlIgogICAgfQogIH0sIFtfYygnZWwtZGF0ZS1waWNrZXInLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJkYXRlcmFuZ2UiLAogICAgICAidmFsdWUtZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAiZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAicmFuZ2Utc2VwYXJhdG9yIjogIuiHsyIsCiAgICAgICJzdGFydC1wbGFjZWhvbGRlciI6ICLlvIDlp4vml6XmnJ8iLAogICAgICAiZW5kLXBsYWNlaG9sZGVyIjogIue7k+adn+aXpeacnyIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZXN0YXJ0RW5kRGF0ZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLnN0YXJ0RW5kRGF0ZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAic3RhcnRFbmREYXRlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5zdGFydEVuZERhdGUiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIFtfYygnZWwtYnV0dG9uJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAicHJpbWFyeSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uaGlnaFNlYXJjaEJ1dHRvbgogICAgfQogIH0sIFtfdm0uX3YoIuafpeivoiIpXSksIF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5yZXNldFNlYXJjaEZvcm0oKTsKICAgICAgfQogICAgfQogIH0sIFtfdm0uX3YoIumHjee9riIpXSldLCAxKV0sIDEpXSwgMSldLCAxKSwgX3ZtLkhpZ2hEYXRhRmxhZyA/IF9jKCdzZWN0aW9uJywgewogICAgc3RhdGljQ2xhc3M6ICJEYXRhVEJveCIKICB9LCBbX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAidGoiCiAgfSwgW19jKCdzcGFuJywgewogICAgc3RhdGljQ2xhc3M6ICJjb3VudHN0aiIsCiAgICBjbGFzczogX3ZtLmluZGV4ID09IDAgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMCwgJ29jY3VwYXRpb25UeXBlcycsIFtdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlnKjogYzlkZjlt6XmgLvmlbAiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnRvdGFsKSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMSA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxLCAnY2hlY2tlZFN0YXR1c2VzJywgWzBdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLmnKrmj5DkuqQiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnVuQ2hlY2tlZENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMiA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygyLCAnY2hlY2tlZFN0YXR1c2VzJywgWzJdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Lmj5DkuqQiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNvbW1pdENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMyA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygzLCAnY2hlY2tlZFN0YXR1c2VzJywgWzFdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7LmoLjpqowiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNoZWNrZWRDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBjbGFzczogX3ZtLmluZGV4ID09IDQgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soNCwgJ2NvbnRyYWN0U3RhdHVzJywgJzAnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLmnKrnrb7lkIjlkIwiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnVuQ29udHJhY3RDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBjbGFzczogX3ZtLmluZGV4ID09IDUgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soNSwgJ2NvbnRyYWN0U3RhdHVzJywgJzEnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Lnrb7lkIjlkIwiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNvbnRyYWN0Q291bnQpKV0pXSldKSwgX3ZtLmluc3RTaG93ID8gX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAidGoiCiAgfSwgW19jKCdzcGFuJywgewogICAgc3RhdGljQ2xhc3M6ICJjb3VudHN0aiIsCiAgICBjbGFzczogX3ZtLmluZGV4ID09IDEwID8gJ2FjdGl2ZScgOiAnJywKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLkRhdGFUamNsaWNrKDEwLCAnb2NjdXBhdGlvblR5cGVzJywgWydTZWN1cml0eUd1YXJkJ10pOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuS/neWuieWRmOaAu+aVsCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVG90YWwpKV0pXSksIF9jKCdzcGFuJywgewogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxMSA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxMSwgJ2NoZWNrZWRTdGF0dXNlcycsIFswXSwgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuacquaPkOS6pCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVW5DaGVja2VkQ291bnQpKV0pXSksIF9jKCdzcGFuJywgewogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxMiA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxMiwgJ2NoZWNrZWRTdGF0dXNlcycsIFsxXSwgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuW3suaguOmqjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjQ2hlY2tlZENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0uRGF0YUJvYXJkc2hvd09iai5BdXRoZW50aWNhdGluZywKICAgICAgZXhwcmVzc2lvbjogIkRhdGFCb2FyZHNob3dPYmouQXV0aGVudGljYXRpbmciCiAgICB9XSwKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTMgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTMsICdhdXRoZW50aWNhdGVkU3RhdHVzZXMnLCBbJ0F1dGhlbnRpY2F0aW5nJ10sICdvY2N1cGF0aW9uVHlwZXMnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlrp7lkI3orqTor4HkuK0iKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnNlY1VuQXV0aENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0uRGF0YUJvYXJkc2hvd09iai5QYXNzZWQsCiAgICAgIGV4cHJlc3Npb246ICJEYXRhQm9hcmRzaG93T2JqLlBhc3NlZCIKICAgIH1dLAogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxNCA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxNCwgJ2F1dGhlbnRpY2F0ZWRTdGF0dXNlcycsIFsnUGFzc2VkJ10sICdvY2N1cGF0aW9uVHlwZXMnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Llrp7lkI3orqTor4EiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnNlY0F1dGhDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLkRhdGFCb2FyZHNob3dPYmouRmFpbGVkLAogICAgICBleHByZXNzaW9uOiAiRGF0YUJvYXJkc2hvd09iai5GYWlsZWQiCiAgICB9XSwKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTUgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTUsICdhdXRoZW50aWNhdGVkU3RhdHVzZXMnLCBbJ0ZhaWxlZCddLCAnb2NjdXBhdGlvblR5cGVzJyk7CiAgICAgIH0KICAgIH0KICB9LCBbX2MoJ2VtJywgW192bS5fdigi5a6e5ZCN6K6k6K+B5aSx6LSlIildKSwgX2MoJ3N0cm9uZycsIFtfdm0uX3YoX3ZtLl9zKF92bS50ak9iai5zZWNBdXRoRmFpbENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTYgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTYsICdjb250cmFjdFN0YXR1cycsICcwJywgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuacquetvuWQiOWQjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVW5Db250cmFjdENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTcgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTcsICdjb250cmFjdFN0YXR1cycsICcxJywgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuW3suetvuWQiOWQjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjQ29udHJhY3RDb3VudCkpXSldKV0pIDogX3ZtLl9lKCldKSA6IF92bS5fZSgpLCBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiY29udGVudEJveCIKICB9LCBbX2MoJ2VsLXRhYmxlJywgewogICAgcmVmOiAiZGlzdHJpY3RUYWJsZSIsCiAgICBhdHRyczogewogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGFFbXBsb3llZSwKICAgICAgIm1heC1oZWlnaHQiOiAiNTAwIiwKICAgICAgImRlZmF1bHQtZXhwYW5kLWFsbCI6ICIiLAogICAgICAicm93LWtleSI6ICJpZCIKICAgIH0sCiAgICBvbjogewogICAgICAic2VsZWN0aW9uLWNoYW5nZSI6IF92bS5oYW5kbGVTZWxlY3Rpb25DaGFuZ2UsCiAgICAgICJzZWxlY3QtYWxsIjogX3ZtLmhhbmRsZVNlbGVjdGlvbkFsbENoYW5nZQogICAgfQogIH0sIFtfdm0uX2woX3ZtLnRhYmxlQ29sdW1uLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBpdGVtLnNob3cgPyBfYygnZWwtdGFibGUtY29sdW1uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJwcm9wIjogaXRlbS5wcm9wLAogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgIndpZHRoIjogaXRlbS53aWR0aCwKICAgICAgICAiZml4ZWQiOiBpdGVtLmxhYmVsID09ICLlp5PlkI0iCiAgICAgIH0sCiAgICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoW3sKICAgICAgICBrZXk6ICJkZWZhdWx0IiwKICAgICAgICBmbjogZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICByZXR1cm4gW19jKCdzcGFuJywgW192bS5fdihfdm0uX3Moc2NvcGUucm93W2l0ZW0ucHJvcF0pKV0pXTsKICAgICAgICB9CiAgICAgIH1dLCBudWxsLCB0cnVlKQogICAgfSkgOiBfdm0uX2UoKTsKICB9KSwgX2MoJ2VsLXRhYmxlLWNvbHVtbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJmaXhlZCI6ICJyaWdodCIsCiAgICAgICJtaW4td2lkdGgiOiAiMTgwIgogICAgfSwKICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoW3sKICAgICAga2V5OiAiaGVhZGVyIiwKICAgICAgZm46IGZ1bmN0aW9uIChzY29wZSkgewogICAgICAgIHJldHVybiBbX2MoJ3NwYW4nLCB7CiAgICAgICAgICBzdGF0aWNDbGFzczogImNvbHVtbkhlYWRlciIKICAgICAgICB9LCBbX2MoJ3N0cm9uZycsIFtfdm0uX3YoIuaTjeS9nCIpXSksIF9jKCdpJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pY29uLXNldHRpbmciLAogICAgICAgICAgb246IHsKICAgICAgICAgICAgImNsaWNrIjogX3ZtLmNvbHVtblNldFBvcAogICAgICAgICAgfQogICAgICAgIH0pXSldOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogImRlZmF1bHQiLAogICAgICBmbjogZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgcmV0dXJuIFtfYygnZWwtYnV0dG9uJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJwcmltYXJ5Q29sb3IiLAogICAgICAgICAgYXR0cnM6IHsKICAgICAgICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICAgICAgICJzaXplIjogInNtYWxsIgogICAgICAgICAgfSwKICAgICAgICAgIG9uOiB7CiAgICAgICAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICAgICAgICByZXR1cm4gX3ZtLmVkaXRTdGFmZihzY29wZS5yb3cpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwgW192bS5fdigi57yW6L6RIildKSwgX3ZtLmRvbWFpbkFkbWluIHx8IF92bS5wZXJtaXNzaW9uc1N0ci5pbmRleE9mKCdSZXNldFB3ZCcpID4gLTEgPyBfYygnZWwtYnV0dG9uJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJwcmltYXJ5Q29sb3IiLAogICAgICAgICAgYXR0cnM6IHsKICAgICAgICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICAgICAgICJzaXplIjogInNtYWxsIgogICAgICAgICAgfSwKICAgICAgICAgIG9uOiB7CiAgICAgICAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICAgICAgICByZXR1cm4gX3ZtLnJlc2V0UFdEU3RhZmYoc2NvcGUucm93KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIFtfdm0uX3YoIumHjee9ruWvhueggSIpXSkgOiBfdm0uX2UoKV07CiAgICAgIH0KICAgIH1dLCBudWxsLCBmYWxzZSwgMjQ5Nzg4MjUxNikKICB9KV0sIDIpLCBfYygncGFnZXMnLCB7CiAgICBhdHRyczogewogICAgICAidG90YWwiOiBfdm0ucGFyYW1zLnRvdGFsLAogICAgICAiY3VycmVudFBhZ2UiOiBfdm0ucGFyYW1zLnBhZ2VJbmRleCwKICAgICAgInBhZ2VTaXplIjogX3ZtLnBhcmFtcy5wYWdlU2l6ZQogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6Y3VycmVudFBhZ2UiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS4kc2V0KF92bS5wYXJhbXMsICJwYWdlSW5kZXgiLCAkZXZlbnQpOwogICAgICB9LAogICAgICAidXBkYXRlOmN1cnJlbnQtcGFnZSI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInBhZ2VJbmRleCIsICRldmVudCk7CiAgICAgIH0sCiAgICAgICJoYW5kbGVDdXJyZW50Q2hhbmdlU3ViIjogX3ZtLmhhbmRsZUN1cnJlbnRDaGFuZ2UsCiAgICAgICJoYW5kbGVTaXplQ2hhbmdlU3ViIjogX3ZtLmhhbmRsZVNpemVDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnVXNlckVtcGxveWVlRGlhbG9nJywgewogICAgcmVmOiAicG9wQ2hpbGRyZW4iLAogICAgYXR0cnM6IHsKICAgICAgInNob3dkaWFsb2ciOiBfdm0uc2hvd2RpYWxvZwogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZyI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZyA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KSwgX2MoJ0ltcG9ydEVtcGxveWVlRGlhbG9nJywgewogICAgcmVmOiAiSW1wb3J0cG9wQ2hpbGRyZW4iLAogICAgYXR0cnM6IHsKICAgICAgInNob3dkaWFsb2dJbXBvcnQiOiBfdm0uc2hvd2RpYWxvZ0ltcG9ydAogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZ0ltcG9ydCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0ltcG9ydCA9ICRldmVudDsKICAgICAgfSwKICAgICAgInVwZGF0ZTpzaG93ZGlhbG9nLWltcG9ydCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0ltcG9ydCA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KSwgX2MoJ0V4cG9ydEVtcGxveWVlRGlhbG9nJywgewogICAgcmVmOiAiRXhwb3J0cG9wQ2hpbGRyZW4iLAogICAgYXR0cnM6IHsKICAgICAgInNob3dkaWFsb2dFeHBvcnQiOiBfdm0uc2hvd2RpYWxvZ0V4cG9ydAogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZ0V4cG9ydCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0V4cG9ydCA9ICRldmVudDsKICAgICAgfSwKICAgICAgInVwZGF0ZTpzaG93ZGlhbG9nLWV4cG9ydCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0V4cG9ydCA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KSwgX2MoJ1VzZXJFbXBsb3llZUludml0ZUluRGlhbG9nJywgewogICAgcmVmOiAicG9wQ2hpbGRyZW4iLAogICAgYXR0cnM6IHsKICAgICAgInNob3dkaWFsb2dJbiI6IF92bS5zaG93ZGlhbG9nSW4KICAgIH0sCiAgICBvbjogewogICAgICAidXBkYXRlOnNob3dkaWFsb2dJbiI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0luID0gJGV2ZW50OwogICAgICB9LAogICAgICAidXBkYXRlOnNob3dkaWFsb2ctaW4iOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dJbiA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KSwgX2MoJ1VzZXJFbXBsb3llZUR1dHlEaWFsb2cnLCB7CiAgICByZWY6ICJEdXR5Q2hpbGRyZW4iLAogICAgYXR0cnM6IHsKICAgICAgInNob3dkaWFsb2dEdXR5IjogX3ZtLnNob3dkaWFsb2dEdXR5CiAgICB9LAogICAgb246IHsKICAgICAgInVwZGF0ZTpzaG93ZGlhbG9nRHV0eSI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0R1dHkgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1kdXR5IjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIF92bS5zaG93ZGlhbG9nRHV0eSA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KSwgX2MoJ1VzZXJFbXBsb3llZWNoYW5nZU9jY3VwYXRpb25UeXBlRGlhbG9nJywgewogICAgcmVmOiAiT2NjVHlwZUNoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJzaG93ZGlhbG9nT2NjVHlwZSI6IF92bS5zaG93ZGlhbG9nT2NjVHlwZQogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZ09jY1R5cGUiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dPY2NUeXBlID0gJGV2ZW50OwogICAgICB9LAogICAgICAidXBkYXRlOnNob3dkaWFsb2ctb2NjLXR5cGUiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dPY2NUeXBlID0gJGV2ZW50OwogICAgICB9LAogICAgICAicmVmdXJsaXN0IjogX3ZtLnJlZnVybGlzdAogICAgfQogIH0pXSwgMSkgOiBfdm0uX2UoKSwgIV92bS5TdGFmZkJveEZsYWcgPyBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiQ29udGFpbmVyQm94RGV0YWlsIgogIH0sIFtfYygnU3RhZmZCb3hEZXRhaWwnLCB7CiAgICBhdHRyczogewogICAgICAic3RhZmZpbmZvIjogX3ZtLnN0YWZmaW5mbwogICAgfSwKICAgIG9uOiB7CiAgICAgICJyZWZ1cmxpc3RCYWNrIjogX3ZtLnJlZnVybGlzdEJhY2sKICAgIH0KICB9KV0sIDEpIDogX3ZtLl9lKCksIF9jKCdDb2x1bW5TZXQnLCB7CiAgICByZWY6ICJjb2x1bW5SZWYiLAogICAgYXR0cnM6IHsKICAgICAgInNob3dkaWFsb2dDb2x1bW5TZXQiOiBfdm0uc2hvd2RpYWxvZ0NvbHVtblNldCwKICAgICAgInR5cGVGbGFnIjogX3ZtLnR5cGVGbGFnCiAgICB9LAogICAgb246IHsKICAgICAgInVwZGF0ZTpzaG93ZGlhbG9nQ29sdW1uU2V0IjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIF92bS5zaG93ZGlhbG9nQ29sdW1uU2V0ID0gJGV2ZW50OwogICAgICB9LAogICAgICAidXBkYXRlOnNob3dkaWFsb2ctY29sdW1uLXNldCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0NvbHVtblNldCA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KV0sIDEpOwp9Owp2YXIgc3RhdGljUmVuZGVyRm5zID0gW107CmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH07"},null]}