.sub-information .default-jg-tab .tab-cont {
  display: none;
}

.sub-information .default-jg-tab .tab-cont.on {
  display: block;
}

.sub-information .tab-wrap {
  width: 100%;
  margin-top: 40px;
  margin-bottom: 30px;
  color: #999;
}

@media screen and (min-width: 768px) {
  .sub-information .tab-wrap {
    margin-top: 50px;
  }
}

.sub-information .tab-wrap .tab-inner-wrap {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #e1e1e1;
  border-left: 1px solid #e1e1e1;
}

.sub-information .tab-wrap .tab-list {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  height: 55px;
  border-left: 0;
  border-top: 0;
  border-right: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
  cursor: pointer;
  outline: none;
}

@media screen and (min-width: 768px) {
  .sub-information .tab-wrap .tab-list {
    width: calc(100% / 5);
  }
}

.sub-information .tab-cont {
  text-align: center;
}

.sub-information .tab-cont li > a {
  position: relative;
  display: block;
  width: 100%;
}

.sub-information .tab-cont li > a:hover .hover-wrap {
  opacity: 1;
  transition: opacity 0.5s;
}

.sub-information .tab-cont li .hover-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
}

.sub-information .tab-cont li .hover-wrap img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 45px;
  height: 67px;
}

.sub-information .tab-cont .title {
  margin-top: 10px;
  margin-bottom: 25px;
  font-size: 16px;
  letter-spacing: -0.02em;
  text-align: center;
}

.sub-information .btn-lg {
  margin-top: 15px;
}

@media screen and (min-width: 992px) {
  .sub-information .btn-lg {
    margin-top: 23px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0L3BhZ2UvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24uY3NzIiwic291cmNlcyI6WyJsYXlvdXQvcGFnZS9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5zY3NzIiwicmVzL3Njc3MvX192YXJpYWJsZXMuc2NzcyIsInJlcy9zY3NzL19fbWl4aW5zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21hcC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19jbGVhci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19zY3JlZW5yZWFkZXIuc2NzcyIsInJlcy9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19wcmVmaXhlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL190cmlhbmdsZS5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2NhcmRzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsInJlcy9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fdGFibGVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3RhYi5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2FyZWEuc2NzcyIsInJlcy9zY3NzL21peGlucy9fZ3JpZC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcclxuQGltcG9ydCBcInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3NcIjtcclxuQGltcG9ydCBcInJlcy9zY3NzL19fbWl4aW5zLnNjc3NcIjtcclxuXHJcbiROQU1FU1BBQ0U6IFwiLnN1Yi1pbmZvcm1hdGlvblwiO1xyXG5cclxuI3skTkFNRVNQQUNFfSB7XHJcbiAgJiB7XHJcbiAgICAuZGVmYXVsdC1qZy10YWIge1xyXG4gICAgICAudGFiLWNvbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgJi5vbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWItd3JhcCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICBjb2xvcjogIzk5OTtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgfVxyXG4gICAgICAudGFiLWlubmVyLXdyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTFlMWUxO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UxZTFlMTtcclxuICAgICAgfVxyXG4gICAgICAudGFiLWxpc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGhlaWdodDogNTVweDtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMWUxZTE7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTE7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcclxuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvNik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFiLWNvbnQge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuaG92ZXItd3JhcCB7XHJcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ob3Zlci13cmFwIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2N3B4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAudGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnRuLWxnIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjNweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy8vL2RlZmF1bHQvLy8vL1xyXG4vL2NvbG9yXHJcbiRnX3doaXRlOiAjZmZmICFkZWZhdWx0O1xyXG4kZ19ibGFjazogIzAwMCAhZGVmYXVsdDtcclxuJGdfcmVkOiAjZmYwMDAwO1xyXG4kZ19jb2xvcjogIzMzMztcclxuJGdfcG9pbnQtZm9udC1jb2xvcjogI2ZmZjtcclxuJGdfcG9pbnQtdGhlbWUtY29sb3I6ICNlYjNhMTg7XHJcblxyXG5cclxuLy9mb250XHJcbi8vLWZvbnQtZmFtaWx5XHJcbiRnX2ZvbnQtZmFtaWx5OiAoXHJcbiAgc3lzdGVtOiAnIFwi66eR7J2AIOqzoOuUlVwiLCBcIk1hbGd1biBHb3RoaWNcIiwgXCLslaDtlIwgU0Qg7IKw64+M6rOg65SVIE5lb1wiLCBcIkFwcGxlIFNEIEdvdGhpYyBOZW9cIiwgc2Fucy1zZXJpZiAnLFxyXG4gIG5vdG86ICdcIk5vdG8gU2FucyBLUlwiLCBzYW5zLXNlcmlmJyxcclxuICBuYW51bTogJ1wiTmFudW0gR290aGljXCIsIHNhbnMtc2VyaWYnLFxyXG4gIG5hbnVtc3F1cmU6ICdcIk5hbnVtU3F1YXJlXCIsIHNhbnMtc2VyaWYnLFxyXG4gIGRvdHVtOiAnXCJEb3R1bVwiLCBzYW5zLXNlcmlmJyxcclxuKTtcclxuJGZvbnQtc3lzdGVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIHN5c3RlbSl9O1xyXG4kZm9udC1ub3RvOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIG5vdG8pfTtcclxuJGZvbnQtbmFudW06ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgbmFudW0pfTtcclxuJGZvbnQtbmFudW1zcXVyZTogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBuYW51bXNxdXJlKX07XHJcbiRmb250LWRvdHVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIGRvdHVtKX07XHJcblxyXG4vLy1mb250LXNpemVcclxuJGdfZm9udC1zaXplOihcclxuICB4czogMTBweCxcclxuICBzbTogMTJweCxcclxuICBtZDogMTVweCxcclxuICBsZzogMThweCxcclxuICB4bDogMjRweCxcclxuKTtcclxuXHJcbi8vLWZvbnQtd2VpZ2h0XHJcbiRnX2ZvbnQtd2VpZ2h0czogMTAwLCAyMDAsIDMwMCwgNDAwLCA1MDAsIDYwMCwgNzAwLCA4MDAsIDkwMDtcclxuXHJcbi8vLWxldHRlci1zcGFjaW5nXHJcblxyXG4vLy8vL21lZGlhLy8vLy9cclxuJGdfbWVkaWEtYnJlYWtwb2ludHM6IChcclxuICB4czogMCxcclxuICBzbTogNTQ0cHgsXHJcbiAgbWQ6IDc2OHB4LFxyXG4gIGxnOiA5OTJweCxcclxuICB4bDogMTIwMHB4LFxyXG4gIHh4bDogMTYwMHB4XHJcbik7XHJcblxyXG4vLy8vL2xheW91dC8vLy8vXHJcbi8vYXJlYVxyXG4kZ19tYXgtd2lkdGg6IDExNDBweDtcclxuJGdfYXJlYS1ndXR0ZXItd2lkdGg6IDE1cHg7XHJcblxyXG4vL2dyaWRcclxuJGdfZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdfZ3JpZC1ndXR0ZXItd2lkdGg6IDElO1xyXG5cclxuJGdfZGVmYXVsdC1hcmVhOiAoXHJcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGgsXHJcbiAgZ3V0dGVyLXdpZHRoOiAkZ19hcmVhLWd1dHRlci13aWR0aCxcclxuICB3aWR0aDogMTAwJVxyXG4pO1xyXG4kZ19mdWxsLWFyZWE6IChcclxuICBtYXgtd2lkdGg6IDE3NTBweCxcclxuICBndXR0ZXItd2lkdGg6ICRnX2FyZWEtZ3V0dGVyLXdpZHRoLFxyXG4gIHdpZHRoOiAxMDAlXHJcbik7XHJcbiRnX25vZ3V0dGVyLWFyZWE6IChcclxuICBtYXgtd2lkdGg6ICRnX21heC13aWR0aFxyXG4pO1xyXG5cclxuLy9ncmlkXHJcbiRnX2dyaWQtY29sLWluZm86IChcclxuICBncmlkLWNvbC1jbnQ6IDEyLFxyXG4gIGdyaWQtY29sLW5hbWU6IG51bGxcclxuKTtcclxuJGdyaWQtY29sNS1pbmZvOiAoXHJcbiAgZ3JpZC1jb2wtY250OiA1LFxyXG4gIGdyaWQtY29sLW5hbWU6IGZpdmUtXHJcbik7XHJcblxyXG4vLy8vL1VUSUxJVElFUy8vLy8vXHJcbi8vY2xlYXJcclxuXHJcbi8vc3BhY2luZ1xyXG4kc3BhY2VyczooXHJcbiAgMDogMCxcclxuICA1OiA1cHgsXHJcbiAgMTA6IDEwcHgsXHJcbiAgMjA6IDIwcHgsXHJcbiAgMjU6IDI1cHgsXHJcbiAgMzA6IDMwcHgsXHJcbiAgNDA6IDQwcHgsXHJcbiAgNTA6IDUwcHgsXHJcbiAgNjA6IDYwcHgsXHJcbiAgNzA6IDcwcHgsXHJcbiAgODA6IDgwcHgsXHJcbiAgOTA6IDkwcHgsXHJcbiAgMTAwOiAxMDBweFxyXG4pO1xyXG5cclxuLy8vLy9DT01QT05FTlRTLy8vLy9cclxuLy9jYXJkXHJcbiRnX2NhcmQtd3JhcDogKFxyXG4gIGRlZmF1bHQ6IChcclxuICAgIHdyYXA6IChcclxuICAgICAgcGFkZGluZzogMCAzMHB4LFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4LFxyXG4gICAgICBib3JkZXItc3R5bGU6ICggYm9yZGVyOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKSxcclxuICAgICAgYm9yZGVyLXJhZGl1czogNXB4XHJcbiAgICApLFxyXG4gICAgaGVhZGVyOiAoXHJcbiAgICAgIHBhZGRpbmc6IDI1cHggMCxcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlci1ib3R0b206IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApLFxyXG4gICAgICBmb250LXNpemU6IDE2cHhcclxuICAgICksXHJcbiAgICBib2R5OiAoXHJcbiAgICAgIHBhZGRpbmc6IDMwcHggMCxcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZlxyXG4gICAgKSxcclxuICAgIGZvb3RlcjogKFxyXG4gICAgICBwYWRkaW5nOiAyNXB4IDAsXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXHJcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXItdG9wOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKVxyXG4gICAgKVxyXG4gIClcclxuKTtcclxuLy9fZm9ybS13YXJwXHJcbiRnX2Zvcm0td3JhcDogKFxyXG4gIGRlZmF1bHRfdmFsdWU6IChcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxyXG4gICksXHJcbiAgdGFibGUgOiAoXHJcbiAgICBtZWRpYTogKFxyXG4gICAgICB4czogKFxyXG4gICAgICAgIGZvcm0td3JhcDogKC8vLmZvcm0td2FycC10YWJsZSAuZm9ybS13cmFwXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcclxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgYm9yZGVyLXRvcDogXCIxcHggc29saWQgI2VlZVwiLFxyXG4gICAgICAgICAgXCImXCIgOiAoXHJcbiAgICAgICAgICAgIFwiOmxhc3QtY2hpbGRcIiA6IChcclxuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBcIjFweCBzb2xpZCAjZWVlXCJcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICksXHJcbiAgICAgICAgZm9ybS10aXRsZTogKC8vLmZvcm0td2FycC10YWJsZSAuZm9ybS10aXRsZVxyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCxcclxuICAgICAgICAgIHdpZHRoOiAxMDBweCxcclxuICAgICAgICAgIHBhZGRpbmc6IFwiMCAxMHB4XCIsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4LFxyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCxcclxuICAgICAgICApLFxyXG4gICAgICAgIGZvcm0tYm9keTogKC8vLmZvcm0td2FycC10YWJsZSAuZm9ybS1ib2R5XHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgcGFkZGluZzogXCIxMHB4IDE1cHhcIixcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICAgbWQ6IChcclxuICAgICAgICBmb3JtLXRpdGxlOiAoXHJcbiAgICAgICAgICB3aWR0aDogMTUwcHgsXHJcbiAgICAgICAgICBwYWRkaW5nOiBcIjIwcHggMjBweFwiLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZm9ybS1ib2R5OiAoXHJcbiAgICAgICAgICBwYWRkaW5nOiBcIjEwcHggMTVweFwiXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgKSxcclxuICBtYXRlcmlhbCA6IChcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIHhzOiAoXHJcbiAgICAgICAgZm9ybS13cmFwOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayxcclxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgXCImXCIgOiAoXHJcbiAgICAgICAgICAgIFwiOmFmdGVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgY29udGVudDogXCInJ1wiLFxyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrLFxyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgICAgIGhlaWdodDogMXB4LFxyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IFwidHJhbnNmb3JtIC41cywgYmFja2dyb3VuZC1jb2xvciAuNXNcIixcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKSxcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBcIjpob3ZlcjphZnRlclwiIDogKFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZCxcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgXCIuYWN0aXZlOmFmdGVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICksXHJcbiAgICAgICAgKSxcclxuICAgICAgICBmb3JtLXRpdGxlOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayxcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCxcclxuICAgICAgICApLFxyXG4gICAgICAgIGZvcm0tYm9keTogKFxyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2ssXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgKSxcclxuICBuby1tZWRpYS10ZXN0IDogKFxyXG4gICAgeHMgOihcclxuICAgICAgZm9ybS13cmFwOiAoXHJcbiAgICAgICAgZGlzcGxheTogYmxvY2ssXHJcbiAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICksXHJcbiAgICApLFxyXG4gICksXHJcbik7XHJcbi8vX2lucHV0XHJcbiRnX2ZpZWxkLXN0eWxlOiAoXHJcbiAgc3R5bGUxOiAoLy/qtIDrpqzsnpBcclxuICAgIGJvcmRlci1zdHlsZTogKGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVkNmQ4KSxcclxuICAgIGlucHV0LWhlaWdodDogYXV0byxcclxuICAgIGlucHV0LXBhZGRpbmc6IDAgMCA1cHggMCxcclxuICAgIGlucHV0LWJnOiB0cmFuc3BhcmVudCxcclxuICAgIHBsYWNlaG9sZGVyLWNvbG9yOiAjY2NjZmQ2LFxyXG4gICksXHJcbiAgc3R5bGUyOiAoLy/tmozsm5DqsIDsnoUsIO2ajOybkOygleuztCDsiJjsoJUg7Y+8XHJcbiAgICBtYXgtd2lkdGg6IDMzMHB4LFxyXG4gICAgYm9yZGVyLXN0eWxlOiAoYm9yZGVyOiAxcHggc29saWQgI2RkZCksXHJcbiAgICBpbnB1dC1oZWlnaHQ6IDM1cHgsXHJcbiAgICBpbnB1dC1wYWRkaW5nOiAwIDEwcHgsXHJcbiAgICBwbGFjZWhvbGRlci1jb2xvcjogI2NjY2ZkNixcclxuICAgIGZvbnQtc2l6ZTogMTNweCxcclxuICAgIGZvbnQtY29sb3I6ICM1NTUsXHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtLFxyXG4gICksXHJcbiAgc3R5bGUzOiAoLy/roZzqt7jsnbgsIO2ajOybkOqwgOyehSDtlIzroZzsmrAgLy/siJjsoJXsmYTro4xcclxuICAgIGJvcmRlci1zdHlsZTogKGJvcmRlcjogMXB4IHNvbGlkICNkZGQpLFxyXG4gICAgaW5wdXQtaGVpZ2h0OiA1MHB4LFxyXG4gICAgaW5wdXQtcGFkZGluZzogMCAxMHB4LFxyXG4gICAgaW5wdXQtYmc6IHRyYW5zcGFyZW50LFxyXG4gICAgcGxhY2Vob2xkZXItY29sb3I6ICM5MDkwOTAsXHJcbiAgICBmb250LXNpemU6IDEycHgsXHJcbiAgICBmb250LWNvbG9yOiAjMzMzLFxyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbSxcclxuICApLFxyXG4gIHN0eWxlNDogKC8v7IOB7ZKIIOyDgeyEuFxyXG4gICAgYm9yZGVyLXN0eWxlOiAoYm9yZGVyOiAxcHggc29saWQgI2QyZDJkMiksXHJcbiAgICBpbnB1dC1oZWlnaHQ6IDQycHgsXHJcbiAgICBpbnB1dC1wYWRkaW5nOiAwIDE1cHgsXHJcbiAgICBpbnB1dC1iZzogI2ZmZixcclxuICAgIHBsYWNlaG9sZGVyLWNvbG9yOiAjOTA5MDkwLFxyXG4gICAgZm9udC1zaXplOiAxM3B4LFxyXG4gICAgZm9udC1jb2xvcjogIzZlNmQ2ZCxcclxuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wOGVtLFxyXG4gIClcclxuKTtcclxuXHJcbi8vX3RleHRhcmVhXHJcbiRnX3RleHQtYXJlYS1zdHlsZTogKFxyXG4gIHN0eWxlMTogKFxyXG4gICAgdGV4dC1hcmVhLWhlaWdodDogMTUwcHgsXHJcbiAgICB0ZXh0LWFyZWEtcGFkZGluZzogNXB4LFxyXG4gICksXHJcbiAgc3R5bGUyOiAoXHJcbiAgICB0ZXh0LWFyZWEtaGVpZ2h0OiAxNTBweCxcclxuICAgIHRleHQtYXJlYS1wYWRkaW5nOiAxMHB4LFxyXG4gICksXHJcbiAgc3R5bGUzOiAoXHJcbiAgICB0ZXh0LWFyZWEtaGVpZ2h0OiAxNTBweCxcclxuICAgIHRleHQtYXJlYS1wYWRkaW5nOiA1cHgsXHJcbiAgKSxcclxuICBcclxuKTtcclxuXHJcbi8vX3NlbGVjdFxyXG4kZ19zZWxlY3Qtc3R5bGU6IChcclxuICBzdHlsZTE6IChcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwMHB4IGJvdHRvbSA1MCUsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2J0bl9zZWxlY3RfYXJyb3dfc3QwMS5wbmcpLFxyXG4gICksXHJcbiAgc3R5bGUyOiAoIC8vICjtmozsm5DqsIDsnoUs7ZqM7JuQ7KCV67O0KSDsl7Drnb3ssphcclxuICAgIHBhZGRpbmc6IDAgMzVweCAwIDEwcHgsXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGJvdHRvbSA1MCUsXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9idG5fc2VsZWN0X2Fycm93X3N0MDEucG5nKSxcclxuICAgIC8vb3B0aW9uIDogKCBjb2xvcjojMjIyICkgLy/shJzruIwg7YG0656Y7IqkIOyDneyEsVxyXG4gICksXHJcbiAgc3R5bGUzOiAoXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuLFxyXG4gICksXHJcbiAgc3R5bGU0OiAoLy/sg4Htkogg7IOB7IS4XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJSxcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2ltZ19zZWxlY3Rfc3R5bGUxLnBuZyksXHJcbiAgICAvL29wdGlvbiA6ICggY29sb3I6IzIyMiApIC8v7ISc67iMIO2BtOuemOyKpCDsg53shLFcclxuICApXHJcbik7XHJcbi8vX2NoZWNrLWJveFxyXG4kZ19jaGVjay1ib3gtaW1nOiAoXHJcbiAgaW1nLTEgOiAoXHJcbiAgICB3aWR0aDogMjRweCxcclxuICAgIGhlaWdodDogMjRweCxcclxuICAgIG1hcmdpbi1yaWdodDogNXB4LFxyXG4gICAgYm94LWltZzogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAzX29mZi5wbmcpLFxyXG4gICAgYm94LWltZy1vbjogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAzX29uLnBuZyksXHJcbiAgICBmb250LXNpemU6IDE0cHhcclxuICApLFxyXG4gIGltZy0yIDogKFxyXG4gICAgd2lkdGg6IDMycHgsXHJcbiAgICBoZWlnaHQ6IDMycHgsXHJcbiAgICBtYXJnaW4tcmlnaHQ6IDhweCxcclxuICAgIGJveC1pbWc6IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwMV9vZmYucG5nKSxcclxuICAgIGJveC1pbWctb246IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwMV9vbi5wbmcpLFxyXG4gICAgZm9udC1zaXplOiAxNHB4XHJcbiAgKSxcclxuICBpbWctMyA6IChcclxuICAgIHdpZHRoOiAyMHB4LFxyXG4gICAgaGVpZ2h0OiAyMHB4LFxyXG4gICAgYm94LWltZzogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29mZi5wbmcpLFxyXG4gICAgYm94LWltZy1vbjogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29uLnBuZyksXHJcbiAgICBmb250LXNpemU6IDE0cHhcclxuICApXHJcbik7XHJcbiRnX2NoZWNrLWJveC10YWc6IChcclxuICB0YWctMSA6ICggLy8g7JWE7J2065SU7KCA7J6lIC8vIOyVveq0gOuPmeydmCAvLyDqsrDsoJzsiJjri6ggLy/rsLDshqHsp4Ag7ISg7YOdIC8vIOuwsOyGoeyngOyXrSDshKDtg51cclxuICAgIHdpZHRoOiAxMnB4LFxyXG4gICAgaGVpZ2h0OiAxMnB4LFxyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4LFxyXG4gICAgYm94LW1hcmdpbi1yaWdodCA6IDVweCxcclxuICAgIGJveC1vdXRsaW5lOiAxcHggc29saWQgI2RkZCxcclxuICAgIGNoZWNrZWQtY29sb3I6ICM1NTUsXHJcbiAgICBmb250LXNpemU6IDExcHhcclxuICApLFxyXG4gIHRhZy0yIDogKFxyXG4gICAgd2lkdGg6IDE2cHgsXHJcbiAgICBoZWlnaHQ6IDE2cHgsXHJcbiAgICBib3gtbWFyZ2luLXJpZ2h0OiA1cHgsXHJcbiAgICBib3gtb3V0bGluZTogMXB4IHNvbGlkICMzMzMsXHJcbiAgICBjaGVja2VkLXdpZHRoOiAxMHB4LFxyXG4gICAgY2hlY2tlZC1oZWlnaHQ6IDEwcHgsXHJcbiAgICBjaGVja2VkLWNvbG9yOiAjZWIzYTE4LFxyXG4gICAgZm9udC1zaXplOiAxNHB4XHJcbiAgKVxyXG4pO1xyXG5cclxuLy9fdGFibGVcclxuJGdfcnAtdGFibGU6IChcclxuICBzdHlsZTE6IChcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIHhzOiAoXHJcbiAgICAgICAgcnAtdGFibGU6IChcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHgsXHJcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U3ZTllZVxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdGhlYWQ6IChcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmVcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRoOiAoXHJcblxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdHI6IChcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrLFxyXG4gICAgICAgICAgcGFkZGluZzogMTBweCA1cHgsXHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTllZSxcclxuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzLFxyXG4gICAgICAgICAgXCImXCIgOiAoXHJcbiAgICAgICAgICAgIFwiOmhvdmVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNyxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgXCIuaXMtbm90aWNlXCIgOiAoXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNyxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgXCIubm9uZS1ob3Zlcjpob3ZlclwiIDogKFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgKSxcclxuICAgICAgICBycC10ZDogKFxyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrLFxyXG4gICAgICAgICAgcGFkZGluZzogNXB4LFxyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQsXHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbSxcclxuICAgICAgICAgIGNvbG9yOiAjNjA2MzY5LFxyXG4gICAgICAgICAgXCImXCIgOiAoXHJcbiAgICAgICAgICAgIFwiLnRkLWJsb2NrXCIgOiAoXHJcbiAgICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIClcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgICBtZDogKFxyXG4gICAgICAgIHJwLXRoZWFkOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcclxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U5ZWUsXHJcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHgsXHJcbiAgICAgICAgKSxcclxuICAgICAgICBycC10aDogKFxyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCxcclxuICAgICAgICAgIHBhZGRpbmc6IDIycHggNXB4LFxyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCxcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtLFxyXG4gICAgICAgICAgY29sb3I6ICNhMWE1YjEsXHJcbiAgICAgICAgKSxcclxuICAgICAgICBycC10cjogKFxyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUsXHJcbiAgICAgICAgICB3aWR0aDogMTAwJSxcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRkOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDVweCxcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCIudGQtYmxvY2tcIiA6IChcclxuICAgICAgICAgICAgICBkaXNwbGF5IDogdGFibGUtY2VsbFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSxcclxuICAgICAgKVxyXG4gICAgKSxcclxuICApXHJcbik7XHJcblxyXG4vL19idXR0b25cclxuJGdfYnRuLXNpemU6IChcclxuICBkZWZhdWx0X3ZhbHVlOiAoKSwgLy/stpTqsIDsi5wgYmFzZS9fYnV0dG9ucy5zY3NzIOyImOygleyalOunnVxyXG4gIHhzOiAoIC8v67Cw7Iah7KGw7ZqMLO2bhOq4sOyekeyEsVxyXG4gICAgd2lkdGg6IDUwcHgsXHJcbiAgICBoZWlnaHQ6IDM1cHgsXHJcbiAgICBsaW5lLWhlaWdodDogMzVweCxcclxuICAgIGZvbnQtc2l6ZTogMTJweCxcclxuICApLFxyXG4gIHNtOiAoIC8v6rKM7Iuc7YyQIOuyhO2KvCwgcG9wdXBcclxuICAgIHdpZHRoOiAxMThweCxcclxuICAgIGhlaWdodDogNTBweCxcclxuICAgIGxpbmUtaGVpZ2h0OiA1MHB4LFxyXG4gICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICAgbWVkaWE6IChcclxuICAgICAgc206IChcclxuICAgICAgICBoZWlnaHQ6IDQwcHgsXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHgsXHJcbiAgICAgIClcclxuICAgIClcclxuICApLFxyXG4gIG1kOiAoIC8v7Jqw7Y6467KI7Zi47LC+6riwLCDtmozsm5Dtg4jth7RcclxuICAgIHdpZHRoOiAxMDBweCxcclxuICAgIGhlaWdodDogMzVweCxcclxuICAgIGxpbmUtaGVpZ2h0OiAzNXB4LFxyXG4gICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICksXHJcbiAgbGc6ICggLy/snqXrsJTqtazri4gsIO2ajOybkOqwgOyehSwg66eI7J207Y6Y7J207KeAXHJcbiAgICB3aWR0aDoyMDBweCxcclxuICAgIGhlaWdodDogNjBweCxcclxuICAgIGxpbmUtaGVpZ2h0OiA1OHB4LFxyXG4gICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICksXHJcbiAgeGw6ICggLy/roZzqt7jsnbgsIOu5hOuwgOuyiO2YuCDssL7quLAg7ZSM66Gc7JqwXHJcbiAgICBoZWlnaHQ6IDUwcHgsXHJcbiAgICBsaW5lLWhlaWdodDogNTBweCxcclxuICAgIGZvbnQtc2l6ZTogMTVweCxcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIG1kOiAoXHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4LFxyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4LFxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKSxcclxuICBwYWRkaW5nOiAoXHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHgsXHJcbiAgICBmb250LXNpemU6IDEzcHgsXHJcbiAgICBpbm5lci10ZXN0OiAoXHJcbiAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICBoZWlnaHQ6IDUwcHgsXHJcbiAgICAgIHRlc3Q6IChcclxuICAgICAgICBzaXplOiAxMHB4XHJcbiAgICAgIClcclxuICAgICksXHJcbiAgICBtZWRpYTooXHJcbiAgICAgIHNtOihcclxuICAgICAgICBvcGFjaXR5OjFcclxuICAgICAgKVxyXG4gICAgKSxcclxuICApLFxyXG4gIGZ1bGw6KFxyXG4gICAgd2lkdGg6IDEwMCUsXHJcbiAgKSxcclxuKTtcclxuXHJcbiRnX2J0bi1ncm91cCA6ICggLy8g67KE7Yq8IOyKpO2DgOydvCDshKTsoJXtlZjquLBcclxuICAvLyDrsoTtirztgbTrnpjsiqTsnbTrpoQgOiDsgqzsmqntlaAg7IaN7ISx6rCSICjsgqzsmqntlZjsp4Ag7JWK7J2E6rK97JqwIOuzgOyImCDsgq3soJzqsIDriqUsIOuzgOyImCDstpTqsIDtlaDqsr3smrAgbWl4aW5fYnV0dG9ucyDtjIzsnbzsl5Ag65iQ7ZWcIOy2lOqwgClcclxuICBwb2ludCA6ICAoIC8vIGRlZmF1bHRcclxuICAgIHRoZW1lLWNvbG9yOiAjNjk2OTY5LFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCAjZmZmLFxyXG4gICAgLy8gYm9yZGVyLXJhZGl1czo0cHgsXHJcblxyXG4gICAgaG92ZXItdGhlbWUtY29sb3I6IzY5Njk2OSxcclxuICAgIC8vIOq4sOuzuOyggeycvOuhnCBkYXJrZW7snbQg65Ok7Ja06rCA66mwLCDtmLjrsoTtmqjqs7zqsIAg7JeG64qU6rKD7J2AIOuwsOqyveyDiSh0aGVtZS1jb2xvcinsmYAg64+Z7J287ZWcIOy7rOufrOqwkuuEo+yWtOykgOuLpC5cclxuICAgIGhvdmVyLWNvbG9yOiAjZmZmLFxyXG4gICAgLy8gaG92ZXItYm9yZGVyIDogMXB4IHNvbGlkICMwMDAsXHJcblxyXG4gICAgZGlzYWJsZWQtZ3JvdXAgOiggLy8g6riw67O47KCB7Jy866GcIG9wYWNpdHk6LjY1LCDsu6TsiqTthYDsnYAg7JWE656Y7JeQIOqwkiDrs4Dqsr1cclxuICAgICAgZGltLXRoZW1lLWNvbG9yOiMxMTEsXHJcbiAgICAgIGRpbS1jb2xvcjogIzExMSxcclxuICAgICAgZGltLW9wYWNpdHkgOiAuNSxcclxuICAgICksXHJcbiAgKSxcclxuICBzdWItcG9pbnQgOihcclxuICAgIHRoZW1lLWNvbG9yOiMwYzM3NzYsXHJcbiAgICBmb250LWNvbG9yOiAjZmZmLFxyXG4gICksXHJcbiAgc3R5bGUxIDogICggLy/roZzqt7jsnbhcclxuICAgIHRoZW1lLWNvbG9yOiAjYWFhLFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICApLFxyXG4gIHN0eWxlMiA6ICggLy8g7ZqM7JuQ6rCA7J6FLCDruYTrsIDrsojtmLgg7JWE7J2065SU7LC+6riwLFxyXG4gICAgZm9udC1jb2xvcjogIzAwMCxcclxuICAgIHRoZW1lLWNvbG9yOiAjZjJmMmYyLFxyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZGRkLFxyXG4gICAgaG92ZXItdGhlbWUtY29sb3I6I2YyZjJmMixcclxuICApLFxyXG4gIHN0eWxlMyA6ICggLy8g7KO866y4IOy3qOyGjCDrsoTtirwsIOyjvOusuCDrpqzsiqTtirgg6rKA7IOJIOuyhO2KvFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICAgIHRoZW1lLWNvbG9yOiAjNTU1LFxyXG4gICksXHJcbiAgb3V0bGluZS1zdHlsZTEgOiAgKCAvLyDso7zrrLjsg4HshLjrs7TquLAsIGN1c3RvbTJcclxuICAgIGZvbnQtY29sb3I6ICMxMTEsXHJcbiAgICB0aGVtZS1jb2xvcjogdHJhbnNwYXJlbnQsXHJcbiAgICBib3JkZXIgOiAxcHggc29saWQgIzExMSxcclxuICAgIGhvdmVyLXRoZW1lLWNvbG9yOiMwYzM3NzYsXHJcbiAgICBob3Zlci1ib3JkZXIgOiAxcHggc29saWQgIzBjMzc3NixcclxuICAgIGhvdmVyLWNvbG9yOiNmZmYsXHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHgsXHJcbiAgKSxcclxuICBvdXRsaW5lLXN0eWxlMiA6ICggLy8g66qo67CU7J28IOuplOuJtCAtIO2ajOyCrOyGjOqwnOyEnCDri6TsmrTroZzrk5wgXHJcbiAgICBmb250LWNvbG9yOiAjZmZmLFxyXG4gICAgdGhlbWUtY29sb3I6IHRyYW5zcGFyZW50LFxyXG4gICAgYm9yZGVyIDogMXB4IHNvbGlkICNmZmYsXHJcbiAgICBob3Zlci1ib3JkZXIgOiAxcHggc29saWQgI2ZmZixcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweCxcclxuICApLFxyXG4pO1xyXG5cclxuLy9fcGFnaW5hdGlvbiAo66qF7LmtIDogYSDtg5zqt7ggcGFnZS1saW5rIOuhnCjsiqTtg4DsnbwpICAvIHBhZ2UtaXRlbSDsnbQg6rCB7J6Q7J2YIHdyYXAgKOqwhOqyqeyhsOyglSkvIOyghOyytOulvCAucGFnaW5hdGlvbuydtCDqsJDsi7jqs6Ag7J6I7J2MKVxyXG4kZ19wYWdlLWl0ZW0tZ3JvdXAgOiAoXHJcbiAgLy8gZGVmYXVsdFxyXG4gIHdpZHRoOjUwcHgsXHJcbiAgaGVpZ2h0OjUwcHgsXHJcblxyXG4gIC8vcGFkZGluZzoyMHB4LFxyXG4gIG1hcmdpbjowIC0xcHgsXHJcbiAgdGhlbWUtY29sb3I6ICNmZmYsXHJcbiAgYm9yZGVyIDogMXB4IHNvbGlkICNkZGQsXHJcbiAgLy9ib3JkZXItcmFkaXVzOiAzcHgsXHJcbiAgLy9ib3JkZXItcmFkaXVzLWYtbDogM3B4LCAvLyDssqvrsojsp7gg66eI7KeA66eJIOuyhO2KvCDsvZTrhIggcmFkaXVzXHJcbiAgLy9ib3JkZXItcmlnaHQgOiBub25lLCAvLyDrsoTtirzsnbQg67aZ7Ja07J6I64qUIOqyveyasFxyXG4gIC8vYm9yZGVyLXN0eWxlOiAoIC8vIGxhc3QtY2hpbGTsl5Ag7KCB7Jqp65CoXHJcbiAgLy9cdGJvcmRlci1yaWdodCA6IFwiMXB4IHNvbGlkICNlMWUxZTFcIixcclxuICAvLyksXHJcblxyXG4gIGZvbnQtc2l6ZToxNnB4LFxyXG4gIGZvbnQtd2VpZ2h0OjQwMCxcclxuICBsZXR0ZXItc3BhY2luZzotMC4wNWVtLFxyXG4gIGZvbnQtY29sb3I6Izc3NyxcclxuXHJcbiAgLy8gaG92ZXJcclxuICBob3Zlci10aGVtZS1jb2xvcjojZmZmLFxyXG4gIC8vIGhvdmVyLWJvcmRlci1jb2xvciA6ICNkZGQsXHJcbiAgaG92ZXItY29sb3I6ICMwMDAsXHJcblxyXG4gIC8vIGFjdGl2ZVxyXG4gIGFjdGl2ZS10aGVtZTojZjJmMmYyLFxyXG4gIGFjdGl2ZS1jb2xvcjojMDAwLFxyXG4gIGFjdGl2ZS1zdHlsZTogKCAvLyDsu6TsiqTthYDsmqlcclxuICAgIC8vYm9yZGVyLWJvdHRvbTpcIjJweCBzb2xpZCAjMDIzODhiXCIsXHJcbiAgICAvL2ZvbnQtd2VpZ2h0OmJvbGQsXHJcbiAgKSxcclxuXHJcbiAgLy8gZGlzYWJsZWRcclxuICBkaW0tb3BhY2l0eSA6IC41LFxyXG4gIC8vZGlzYWJsZWQtc3R5bGU6ICggLy8g7Luk7Iqk7YWA7JqpXHJcbiAgLy9cdC8v67KE7Yq87JeQ7ISc64qUIG1hcC1oYXMta2V56rCS7J2EIOydtOyaqe2VtOyEnCDtgqTqsJLsnbQg7J6H7Jy866m0IOunteydmCDtgqTqsJLqs7wg67Ko66WY66GcIOy2nOugpVxyXG4gIC8vXHQvL+2OmOydtOyngOuEpOydtOyFmOyXkOyEnOuKlCDtgqTqsJLsnbQg7J6I7Jy866m0IOyViOyXkCDrgrTsmqkg6re464yA66GcIOy2nOugpS4uXHJcbiAgLy9cdC8v6rKw6rO8IOqwkuydgCDqsJnsnLzrgpggbWl4aW7rsKnrspXsnbQg64uk66W064ukIO2YhOyerFxyXG4gIC8vXHRiYWNrZ3JvdW5kLWNvbG9yOiMxMTEsXHJcbiAgLy9cdGNvbG9yOiAjMTExLFxyXG4gIC8vXHRib3JkZXItYm90dG9tOlwiMnB4IHNvbGlkICMwMjM4OGJcIixcclxuICAvLyksXHJcbiAgYXJyb3ctZ3JvdXAgOiAoXHJcbiAgICBzdGFydCA6ICggLy/su6TsiqTthYBcclxuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9wYWdpbmF0aW9uX2Fycm93X3N0YXJ0LnBuZyksXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXHJcbiAgICApLFxyXG4gICAgcHJldiA6IChcclxuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9wYWdpbmF0aW9uX2Fycm93X3ByZXYucG5nKSxcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcclxuICAgICksXHJcbiAgICBuZXh0IDogKFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfbmV4dC5wbmcpLFxyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxyXG4gICAgKSxcclxuICAgIGVuZCA6IChcclxuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9wYWdpbmF0aW9uX2Fycm93X2VuZC5wbmcpLFxyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxyXG4gICAgKSxcclxuICApLFxyXG4pO1xyXG5cclxuLy9fdG9vbHRpcFxyXG4kZ190b29sdGlwLWdyb3VwIDogKCAvLyAudG9vbHRpcCA+IC50b29sdGlwLWlubmVyXHJcbiAgdG9wIDogLTQwcHgsXHJcbiAgcGFkZGluZzogM3B4IDhweCxcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiMwMDAsXHJcbiAgYm9yZGVyLXJhZGl1czozcHgsXHJcbiAgZm9udC1zaXplOjEzcHgsXHJcbiAgbGV0dGVyLXNwYWNpbmc6LTAuMDVlbSxcclxuICBjb2xvcjojZmZmLFxyXG4gIHRleHQtYWxpZ246Y2VudGVyLFxyXG4gIHRyYW5zaXRpb24tdGltZSA6IC41cyxcclxuICBvcGFjaXR5OjAsIC8vbm9ybWFsXHJcbiAgc2hvdy1vcGFjaXR5Oi45LCAvLzpob3ZlcuydvOuVjFxyXG4gIGFycm93LWdyb3VwIDogKCAvLyDtiLTtjIHqvKzrpqxcclxuICAvLyAgbGVmdCA6IDAsXHJcbiAgLy8gIHJpZ2h0IDogMCxcclxuICAgIGNlbnRlcjogNTAlLFxyXG4gICAgYXJyb3ctd2lkdGg6NXB4IDVweCAwLFxyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCxcclxuICApLFxyXG4pO1xyXG5cclxuLy9fdGFiXHJcbiRnX3RhYi1ncm91cCA6ICggLy8gLnRhYi13cmFwID4gLnRhYi1saXN0Lm9uXHJcbiAgLy8g7JWE656Y7JeQIOqzte2Gteu2gOu2hCBzdWItY2xhc3Npbmcg6riw7KSA7Jy866GcIOyViOyXkOyEnCDsg4Hsho3rsJvripTqsbjroZwg64KY64ig7KeA64qUIOydtOyKiOyytO2BrFxyXG4gIGZsb2F0OmxlZnQsXHJcbiAgZGlzcGxheTppbmxpbmUtYmxvY2ssXHJcbiAgd2lkdGg6NTAlLFxyXG4gIHBhZGRpbmc6MThweCxcclxuICB0aGVtZS1jb2xvcjogI2ZmZixcclxuICBib3JkZXI6MXB4IHNvbGlkICNlMWUxZTEsXHJcbiAgZm9udC1jb2xvcjogIzg4OCxcclxuICBmb250LXdlaWdodDo0MDAsXHJcbiAgZm9udC1zaXplOiAxN3B4LFxyXG4gIHRleHQtYWxpZ246Y2VudGVyLFxyXG4gIC8vIGxldHRlci1zcGFjaW5nOi0wLjAzZW0sXHJcblxyXG4gIHN1Yi1jbGFzc2luZyA6ICggLy8g7J6F66Cl7ZWY64qU642w66GcXHJcbiAgICBzdHlsZSA6ICggLy8g64Sk66qo7YOtXHJcbiAgICAgIG1hcmdpbjo1cHgsXHJcbiAgICAgIGJvcmRlcjoxcHggc29saWQgIzAwMCxcclxuICAgICksXHJcbiAgICBzdHlsZTEgOiAoIC8vIOydvOugrO2DrVxyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxZTFlMSxcclxuICAgICksXHJcbiAgKSxcclxuXHJcbiAgYWN0aXZlIDogKCAvLyDsnoXroKXtlZjripTrjbDroZxcclxuICAgIGJvcmRlci1jb2xvcjogJGdfY29sb3IsXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRnX2NvbG9yLFxyXG4gICAgY29sb3I6I2ZmZixcclxuICAgIGZvbnQtd2VpZ2h0OjQwMCxcclxuXHJcbiAgKSxcclxuXHJcbiAgLy/rr7jrlJTslrTsv7zrpqxcclxuICBtZWRpYTogKFxyXG4gICAgbWQ6ICggLy8g7J6F66Cl7ZWY64qU642w66GcXHJcbiAgICAgIHdpZHRoOjI1JSxcclxuICAgIClcclxuICApXHJcbik7XHJcbi8vX3NlYXJjaGJhclxyXG5cclxuLy9fIGNhcmRcclxuXHJcbiIsIi8vIFRvZ2dsZXNcclxuLy9cclxuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXHJcblxyXG5AaW1wb3J0IFwibWl4aW5zL19tZWRpYS1xdWVyeVwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19tYXBcIjtcclxuXHJcbi8vIFV0aWxpdGllc1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcclxuQGltcG9ydCBcIm1peGlucy9fY2xlYXJcIjtcclxuQGltcG9ydCBcIm1peGlucy9fZmxvYXRcIjtcclxuQGltcG9ydCBcIm1peGlucy9faG92ZXJcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3NjcmVlbnJlYWRlclwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19yZXNldC10ZXh0XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3ByZWZpeGVyXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RyYW5zZm9ybXNcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcclxuXHJcbi8vIC8vIENvbXBvbmVudHNcclxuLy9AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3RyaWFuZ2xlXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX2J1dHRvbnNcIjtcclxuQGltcG9ydCBcIm1peGlucy9jYXJkc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19wYWdpbmF0aW9uXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcclxuQGltcG9ydCBcIm1peGlucy9fZm9ybXNcIjtcclxuQGltcG9ydCBcIm1peGlucy90YWJsZXNcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL190YWJcIjtcclxuXHJcbi8vIC8vIFNraW5zXHJcbi8vQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcclxuQGltcG9ydCBcIm1peGlucy9fYm9yZGVyLXJhZGl1c1wiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XHJcblxyXG4vLyAvLyBMYXlvdXRcclxuLy8gQGltcG9ydCBcIm1peGlucy9uYXZiYXItYWxpZ25cIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX2FyZWFcIjtcclxuQGltcG9ydCBcIm1peGlucy9fZ3JpZFwiO1xyXG4iLCIvLyBtZWRpYS1xdWVyeS1taW4g66+57Iqk7J24XHJcbi8vIFvrp6TqsJzrs4DsiJhdXHJcbi8vICRicmVha3BvaW50IOq4sOuzuOqwkjog7JeG7J2MXHJcbi8vICRicmVha3BvaW50IOyXkCDqsIDsmqnqsIDriqXtlZwg6rCSXHJcbi8vICgxKSAkbWVkaWEtYnJlYWtwb2ludHMg7J2YIO2CpCDqsJIgKHhzLCBzbSwgbWQsIGxnLCB4bCAp7KSRIO2VmOuCmFxyXG4vLyAoMikg6rOg7KCVIHB46rCSXHJcbi8vICRicmVha3BvaW50IOyghOuLrOuQnCDqsJLsl5Ag65Sw65287IScIEBtZWRpYShtaW4td2lkdGg6IFwi66ek6rCc67OA7IiY7JeQIO2VtOuLue2VmOuKlCDqsJJcIikg7IWL7YyF7ZW07KSN64uI64ukLlxyXG4vLyAkYnJlYWtwb2ludCDqsJLsnYQg7ZS97IWA66GcIOuEo+uKlOuLpOuptCDtlbTri7kg7ZS97IWA6rCS7J2YIOuvuOuUlOyWtOy/vOumrOulvCDrp4zrk6TslrQg7KSN64uI64ukLlxyXG4vLyBleCkgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7IEBjb250ZW50IH1cclxuLy8gZXgpIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbig1MDBweCkgeyBAY29udGVudCB9XHJcbkBtaXhpbiBtZWRpYS1xdWVyeS1taW4oICRicmVha3BvaW50ICkge1xyXG4gIEBpZiBtYXBfaGFzX2tleSggJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50ICl7XHJcbiAgICBAaWYgICRicmVha3BvaW50ID09IFwieHNcIiB7XHJcbiAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgdW5pdCgkYnJlYWtwb2ludCkgPT0gXCJweFwiIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtZWRpYS1xdWVyeS1tYXgoICRicmVha3BvaW50ICkge1xyXG4gIEBpZiBtYXBfaGFzX2tleSggJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50ICl7XHJcbiAgICBAaWYgICRicmVha3BvaW50ID09IFwieHNcIiB7XHJcbiAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgdW5pdCgkYnJlYWtwb2ludCkgPT0gXCJweFwiIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gbWVkaWEtcXVlcnktbWluLXZhbCDtlajsiJhcclxuLy8g7KCE7Jet67OA7IiYICRtZWRpYS1icmVha3BvaW50cyBtYXDsnZggdmFsdWXrpbwg67CY7ZmY7ZW0IOykjeuLiOuLpC5cclxuLy8g7KO866GcIGVhY2gg66y46rO8IOqwmeydgCBsb29wIOusuOyXkOyEnCDtmZzsmqnrkKnri4jri6QuXHJcbi8vIGV4KVxyXG4vLyBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXBfa2V5cygkbWVkaWEtYnJlYWtwb2ludHMpIHtcclxuLy8gICAkcG9pbnQ6IG1lZGlhLXF1ZXJ5LW1pbi12YWwoJGJyZWFrcG9pbnQpO1xyXG4vLyAgIEBtZWRpYSAoIG1pbi13aWR0aDogI3skcG9pbnR9ICl7XHJcbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1sIHsgQGluY2x1ZGUgZmxvYXQtbGVmdCB9XHJcbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1yIHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQgfVxyXG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtbiB7IEBpbmNsdWRlIGZsb2F0LW5vbmUgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG5AZnVuY3Rpb24gbWVkaWEtcXVlcnktbWluLXZhbCggJGJyZWFrcG9pbnQgKXtcclxuICBAcmV0dXJuIG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCJAZnVuY3Rpb24gbWFwLXNldCgkbWFwLCAka2V5LCAkdmFsdWUpIHtcclxuICAkbmV3OiAoJGtleTogJHZhbHVlKTtcclxuICBAcmV0dXJuIG1hcC1tZXJnZSgkbWFwLCAkbmV3KTtcclxufVxyXG5cclxuXHJcbi8vcHJlZml4IOygnOqxsFxyXG4vL+2DnOq3uOydtOumhCwg7IaN7ISxLCDslYTsnbTrlJQg65OxICDshYDroInthLAg6rCA64ql64+E66GdXHJcbkBmdW5jdGlvbiBtYWtlTWFwVG9Db2RlcygkbWFwLCAkcHJlZml4OiBcIlwiLCAkc2VsZjogZmFsc2UpIHtcclxuICAkY29kZXMgOiAoKTtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xyXG4gICAgQGlmICggdHlwZS1vZigkdmFsKSA9PSBtYXAgKSB7XHJcblxyXG4gICAgICBAaWYgKCRrZXkgPT0gXCImXCIpIHtcclxuICAgICAgICAkbWFrZTogbWFrZU1hcFRvQ29kZXMoJHZhbCwgXCJcIiwgdHJ1ZSk7XHJcbiAgICAgICAgJGNvZGVzOiBtYXAtbWVyZ2UoJGNvZGVzLCAkbWFrZSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICRzZWxlY3RvcjogXCIuI3skcHJlZml4fSN7JGtleX1cIjtcclxuXHJcbiAgICAgICAgQGlmICgkc2VsZikge1xyXG4gICAgICAgICAgJHNlbGVjdG9yIDogXCImI3skcHJlZml4fSN7JGtleX1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsICRwcmVmaXgpO1xyXG4gICAgICAgICRjb2RlczogbWFwLXNldCgkY29kZXMsICRzZWxlY3RvciwgJG1ha2UpO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRjb2RlczogbWFwLXNldCgkY29kZXMsICRrZXksICR2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRjb2RlcztcclxufTtcclxuXHJcblxyXG5AbWl4aW4gcHJpbnRDb2RlcygkbWFwKSB7XHJcblxyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XHJcbiAgIFxyXG4gICAgQGlmICggdHlwZS1vZigkdmFsKSA9PSBtYXAgKSB7XHJcbiAgICAgICN7JGtleX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJHZhbCk7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAjeyRrZXl9IDogI3skdmFsfTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuLy8gaXNNYXAg7ZWo7IiYXHJcbi8vICN7a2V5fSA6ICN7dmFsdWV97J2YIO2Yle2DnOulvCDrpqzthLTtlbTso7zripQg7ZWo7IiYXHJcbi8vIGlzTWFwKCR2YWwsICRrZXkpO1xyXG4vLyBpc01hcCDtlajsiJjsl5DshJwg7J247J6Q66GcIOuEmOyWtOyYqCAnJHZhbCfsl5Ag7ZWg64u565CcIOqwkuydtCBtYXDsnbTrnbzrqbQgaXNtYXDtlajsiJjrpbwg7J6s6reA7Zi47LacIO2VnOuLpC5cclxuLy8g7JiI7Jm47KCB7Jy866GcIO2CpOqwkuydtCBcIl9cIiDrnbzrqbQgaXNQc2V1ZG/rpbwg7Zi47Lac7ZWc64ukLlxyXG4vLyDstZzsooXsoIHsnLzroZwgI3trZXl9IDogI3t2YWx1ZX3snZgg6rCS7J2EIOumrO2EtO2VmOuPhOuhnSDrp4zrk6Dri6QuXHJcblxyXG4vL2lzUHNldWRvIO2VqOyImFxyXG4vL+qwgOyDgSDshKDtg53snpDrpbwg66eM65Ok7Ja0IOumrO2EtO2VtOyjvOuKlCDtlajsiJhcclxuLy9cclxuXHJcblxyXG4vL0BmdW5jdGlvbiBpc01hcCAoJHZhbCwgJGtleSkge1xyXG4vLyAgJHJlc3VsdCA6ICgpO1xyXG4vL1xyXG4vLyAgQGlmICh0eXBlLW9mKCR2YWwpID09IG1hcCkge1xyXG4vLyAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XHJcbi8vICAgICAgQGlmICh0eXBlLW9mKCR2YWwyKSA9PSBtYXAgYW5kICRrZXkgPT0gbnVsbCkge1xyXG4vLyAgICAgICAgJG1hcCA6IGlzTWFwKCR2YWwyLCAka2V5Mik7XHJcbi8vICAgICAgICAkbWFwa2V5IDogbWFwLWtleXMoJG1hcCk7XHJcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRtYXBrZXksIG1hcC1nZXQoJG1hcCwgI3skbWFwa2V5fSkpO1xyXG4vLyAgICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBcIl9cIil7XHJcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRrZXkyLCBpc01hcCgkdmFsMiwgJGtleTIpKTtcclxuLy8gICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJGtleTIsICR2YWwyKTtcclxuLy8gICAgICB9XHJcbi8vICAgIH1cclxuLy8gIH0gQGVsc2Uge1xyXG4vLyAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICR2YWwsICRrZXkpO1xyXG4vLyAgfVxyXG4vL1xyXG4vLyAgQHJldHVybiAkcmVzdWx0O1xyXG4vL307XHJcblxyXG5cclxuLy9AZnVuY3Rpb24gaXNQc2V1ZG8gKCRrZXksICR2YWwpIHtcclxuLy8gICRyZXN1bHQ6IG51bGw7XHJcbi8vICBAaWYgKCRrZXkgPT0gXCJfXCIpIHtcclxuLy8gICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xyXG4vLyAgICAgICRyZXN1bHQ6IGlzTWFwKCRrZXkyLCAkdmFsMik7XHJcbi8vICAgICAgQHJldHVybiBpc01hcCgka2V5MiwgJHZhbDIpO1xyXG4vLyAgICB9XHJcbi8vICB9IEBlbHNlICB7XHJcbi8vICAgICRyZXN1bHQ6IGlzTWFwKCRrZXksICR2YWwpO1xyXG4vLyAgICBAcmV0dXJuICRyZXN1bHQ7XHJcbi8vICB9XHJcbi8vfTtcclxuXHJcblxyXG4iLCJAbWl4aW4gY2xlYXIoKSB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgY2xlYXI6IGJvdGg7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcblxyXG4iLCJAbWl4aW4gZmxvYXQtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxufVxyXG5AbWl4aW4gZmxvYXQtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcbkBtaXhpbiBmbG9hdC1ub25lIHtcclxuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIkBtaXhpbiBob3Zlci1vbntcclxuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5vbnsgQGNvbnRlbnQ7IH1cclxufVxyXG5cclxuQG1peGluIGhvdmVye1xyXG4gICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5cclxuLy9cclxuLy9AbWl4aW4gaG92ZXIge1xyXG4vLyAgJjpob3ZlciB7IEBjb250ZW50OyB9XHJcbi8vfVxyXG4vL1xyXG4vL0BtaXhpbiBob3Zlci1mb2N1cyB7XHJcbi8vICAmOmhvdmVyLFxyXG4vLyAgJjpmb2N1cyB7XHJcbi8vICAgIEBjb250ZW50O1xyXG4vLyAgfVxyXG4vL31cclxuLy9cclxuLy9AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xyXG4vLyAgJixcclxuLy8gICY6aG92ZXIsXHJcbi8vICAmOmZvY3VzIHtcclxuLy8gICAgQGNvbnRlbnQ7XHJcbi8vICB9XHJcbi8vfVxyXG4vL1xyXG4vL0BtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xyXG4vLyAgJjpob3ZlcixcclxuLy8gICY6Zm9jdXMsXHJcbi8vICAmOmFjdGl2ZSB7XHJcbi8vICAgIEBjb250ZW50O1xyXG4vLyAgfVxyXG4vL30iLCIvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cclxuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXHJcbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXHJcbkBtaXhpbiBzci1vbmx5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuQG1peGluIHRleHQtaGlkZSB7XHJcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcclxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICBsaW5lLWJyZWFrOiBhdXRvO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXHJcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgd29yZC1icmVhazogbm9ybWFsO1xyXG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xyXG59XHJcbiIsIi8vIC8qIHByZWZpeCAqL1xyXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlczooKSl7XHJcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXN7XHJcbiAgICAjeyctJyskcHJlZml4KyctJyskcHJvcGVydHl9OiR2YWx1ZTtcclxuICB9XHJcbiAgI3skcHJvcGVydHl9IDogJHZhbHVlO1xyXG59XHJcblxyXG4gIC8vIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgcm90YXRlKDQ1ZGVnKSwgd2Via2l0IG1zKTsgb3IgKFwid2Via2l0XCIsIFwibW96XCIpXHJcblxyXG4gLy9jc3NcclxuICAvLyAuc2VsZWN0b3Ige1xyXG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgLy8gICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC8vICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC8vIH1cclxuXHJcbiIsIkBtaXhpbiB0cmlhbmdsZSgkZGlyZWN0aW9uLCR3aWR0aCwkaGVpZ2h0LCR3aWR0aFNpemUsJGhlaWdodFNpemUsJGNvbG9yKSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBoZWlnaHQ6ICR3aWR0aDtcclxuICAgIHdpZHRoOiAkaGVpZ2h0O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIEBpZiAkd2lkdGggPT0gMCB7XHJcbiAgICAgICAgQGlmICR3aWR0aCA9PSAwIGFuZCAkaGVpZ2h0ID09IDAge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwICgkd2lkdGhTaXplIC8gMikgJGhlaWdodFNpemU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidXAtcmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplIDA7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpIDAgKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHRTaXplICgkd2lkdGhTaXplIC8gMikgMDtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgMCAwICR3aWR0aFNpemU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZSAoJGhlaWdodFNpemUgLyAyKSAwO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgJHdpZHRoU2l6ZSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfUBlbHNlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvciAkY29sb3IgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICR3aWR0aFNpemUgJGhlaWdodFNpemUgMDtcclxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC0xMzVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd24tbGVmdFwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAuZWxlbWVudCB7XHJcbi8vICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuLy8gICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoXCJ1cC1sZWZ0XCIsIDAsMCwxMHB4LDEwcHgsICNiMjVjOWMpO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIC5lbGVtZW50MiB7XHJcbi8vICAgICBsZWZ0OjIwcHg7XHJcbi8vICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuLy8gICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoXCJ1cC1sZWZ0XCIsIDhweCw4cHgsMnB4LDJweCwgI2IyNWM5Yyk7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi8vIGNzc1xyXG4vLyAuZWxlbWVudDIge1xyXG4vLyAgICAgY29udGVudDogXCJcIjtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICAgICBoZWlnaHQ6IDhweDtcclxuLy8gICAgIHdpZHRoOiA4cHg7XHJcbi8vICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNiMjVjOWMgI2IyNWM5YyB0cmFuc3BhcmVudDtcclxuLy8gICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XHJcbi8vICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4vLyB9XHJcbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xyXG4vLyDrsoTtirwg7IKs7J207KaI67OEIOyDneyEsVxyXG5AbWl4aW4gYnV0dG9uLXNpemUtcHgoJGJ0bi1zaXplIDogJGdfYnRuLXNpemUpIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkYnRuLXNpemUpe1xyXG4gICAgQGlmICgka2V5ID09IGRlZmF1bHRfdmFsdWUpIHtcclxuICAgICAgJWRlZmF1bHRfdmFsdWUge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAuYnRuLSN7JGtleX0ge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgIEBpZiAoJGtleTIgPT0gbWVkaWEpIHtcclxuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcclxuICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBAZWxzZXtcclxuICAgICAgICAgICAgQGlmICggdHlwZS1vZigkdmFsMikgPT0gbWFwICkgeyAvLyBvbmUgZGVwdGggY2xhc3Mg7JWI7JeQIOy2lOqwgCBjbGFzcyDsg53shLFcclxuICAgICAgICAgICAgICAuI3ska2V5Mn0ge1xyXG4gICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOuyhO2KvFxyXG4gICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ0bi1kaXNhYmxlZCgpIHtcclxuICAmLmRpc2FibGVkIHtcclxuICAgIEBjb250ZW50O1xyXG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZW07KO86riwXHJcbkBtaXhpbiBidXR0b24tc3R5bGUoJGJ0bi1ncm91cCA6ICRnX2J0bi1ncm91cCl7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnRuLWdyb3VwIHtcclxuICAgIC5idG4tI3ska2V5fSxcclxuICAgIC5idG4tI3ska2V5fTp2aXNpdGVkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsLCB0aGVtZS1jb2xvcik7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIGZvbnQtY29sb3IpO1xyXG4gICAgICBib3JkZXI6IG1hcC1nZXQoJHZhbCwgYm9yZGVyKTtcclxuICAgICAgYm9yZGVyLXJhZGl1cyA6IG1hcC1nZXQoJHZhbCwgYm9yZGVyLXJhZGl1cyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1vbiB7XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGhvdmVyLXRoZW1lLWNvbG9yKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkdmFsLCBob3Zlci10aGVtZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKCBtYXAtZ2V0KCR2YWwsIHRoZW1lLWNvbG9yKSwgMTUlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGhvdmVyLWNvbG9yKSB7XHJcbiAgICAgICAgICBjb2xvcjptYXAtZ2V0KCR2YWwsIGhvdmVyLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgY29sb3I6bWFwLWdldCgkdmFsLCBmb250LWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCR2YWwsIGhvdmVyLWJvcmRlcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGJ0bi1kaXNhYmxlZCB7XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGRpc2FibGVkLWdyb3VwKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJHZhbCwgZGlzYWJsZWQtZ3JvdXApLGRpbS10aGVtZS1jb2xvcik7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldChtYXAtZ2V0KCR2YWwsIGRpc2FibGVkLWdyb3VwKSwgZGltLWNvbG9yKTtcclxuICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQobWFwLWdldCgkdmFsLCBkaXNhYmxlZC1ncm91cCksIGRpbS1vcGFjaXR5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgb3BhY2l0eTouNjU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBtYWtlLWNhcmQtc2V0KCRjYXJkLWluZm8pIHtcclxuICAlY2FyZC13cmFwe1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGNhcmQtaW5mbyB7XHJcbiAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XHJcbiAgICAgIEBpZiAka2V5MiA9PSBcIndyYXBcIiB7XHJcbiAgICAgICAgLmNhcmQtI3ska2V5Mn0tI3ska2V5fSB7XHJcbiAgICAgICAgICBAZXh0ZW5kICVjYXJkLXdyYXA7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCR2YWwyLCBtYXJnaW4tYm90dG9tKTtcclxuICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHZhbDIsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICAgICAjeyRrZXkzfTogI3skdmFsM307XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwyLCBib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJGtleTIgPT0gXCJoZWFkZXJcIiB7XHJcbiAgICAgICAgLmNhcmQtd3JhcC0jeyRrZXl9e1xyXG4gICAgICAgICAgLmNhcmQtI3ska2V5Mn0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsMiwgZm9udC1zaXplKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcclxuICAgICAgICAgIC5jYXJkLSN7JGtleTJ9IHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyDri6Qg64KY64iE6rOgIO2VmOuCmOuhnCDtlansuZjripTqsowg7KKL7KeAIOyViuydhOq5jD8/Pz8/Pz9cclxuLy8g7IOB7IaN7J2YIOqzhOuFkOydhCDsoIHsmqntlbTslbwg7ZWY64qU6rCAPz9cclxuLy8g7IOB7IaN7J2EIOyggeyaqe2VmOuptCDsvZTrk5zqsIAg7KGw6riIIOuzteyeoe2VtOyniOuTr1xyXG4vLyDslYTsmIggd3JhcCwgaGVhZGVyLCBib2R5LCBmb290ZXIg64KY64iE64qU642Y7KeALCDsp4DquIjsspjrn7wg7LKY66as7ZWY64qU6rKMIOuCmOydhOuTr1xyXG4iLCIvLyBQYWdpbmF0aW9uXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWxpbmtzKCRwYWdlLWl0ZW0pe1xyXG4gIHdpZHRoOm1hcC1nZXQoJHBhZ2UtaXRlbSwgd2lkdGgpO1xyXG4gIGhlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhlaWdodCk7XHJcbiAgbGluZS1oZWlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBoZWlnaHQpOyAvLyBoZWlnaHTqsJLqs7wg64+Z7J28XHJcblxyXG4gIC8vcGFkZGluZzptYXAtZ2V0KCRwYWdlLWl0ZW0sIHBhZGRpbmcpOyAtPiDsgq3soJzsmIjsoJUg67O066WYLi5cclxuICBtYXJnaW46bWFwLWdldCgkcGFnZS1pdGVtLCBtYXJnaW4pO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWdlLWl0ZW0sIHRoZW1lLWNvbG9yKTtcclxuICBib3JkZXI6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyKTtcclxuICBib3JkZXItcmlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBib3JkZXItcmlnaHQpO1xyXG5cclxuICBib3JkZXItcmFkaXVzOm1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJhZGl1cyk7XHJcbiAgZm9udC1zaXplOm1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtd2VpZ2h0KTtcclxuICBsZXR0ZXItc3BhY2luZzptYXAtZ2V0KCRwYWdlLWl0ZW0sIGxldHRlci1zcGFjaW5nKTtcclxuICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtY29sb3IpO1xyXG5cclxuICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHBhZ2UtaXRlbSwgaG92ZXItdGhlbWUtY29sb3IpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0saG92ZXItdGhlbWUtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbiggbWFwLWdldCgkcGFnZS1pdGVtLCB0aGVtZS1jb2xvciksIDE1JSk7XHJcbiAgICB9XHJcbiAgICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhvdmVyLWNvbG9yKTtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcGFnZS1pdGVtLCBob3Zlci1ib3JkZXItY29sb3IpO1xyXG4gIH1cclxuXHJcbn1cclxuLy8g7JWh7Yuw67iMIOuQoOyLnFxyXG5AbWl4aW4gcGFnaW5hdGlvbi1hY3RpdmUoJHBhZ2UtYWN0aXZlLWl0ZW0pe1xyXG4gIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSwgYWN0aXZlLXRoZW1lKTtcclxuICBjb2xvcjptYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLGFjdGl2ZS1jb2xvcik7XHJcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLGFjdGl2ZS1zdHlsZSkpe1xyXG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gIH1cclxufVxyXG4vLyDrlKQg65Cg7IucXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWRpc2FibGVkKCRwYWdlLWRpc2FibGVkLWl0ZW0pe1xyXG4gIG9wYWNpdHk6bWFwLWdldCgkcGFnZS1kaXNhYmxlZC1pdGVtLCBkaW0tb3BhY2l0eSk7XHJcbiAgcG9pbnRlci1ldmVudHM6bm9uZTtcclxuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHBhZ2UtZGlzYWJsZWQtaXRlbSxkaXNhYmxlZC1zdHlsZSkpe1xyXG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gIH1cclxufVxyXG5cclxuLy8g7LKY7J2MIOydtOyghCDri6TsnYwg64GdIGFycm93IOq0gOugqCDsu6TsiqTthYBcclxuQG1peGluIHBhZ2luYXRpb24tYXJyb3dzKCRwYWdlLWFycm93LXN0eWxlKSB7XHJcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluICRwYWdlLWFycm93LXN0eWxlIHtcclxuICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICB9XHJcbn0iLCJAbWl4aW4gbWFrZS1mb3JtLXdyYXAoICRmb3JtLXdyYXAtaW5mbyA6ICRnX2Zvcm0td3JhcCApIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZm9ybS13cmFwLWluZm8pe1xyXG4gICAgQGlmICgka2V5ID09IGRlZmF1bHRfdmFsdWUpIHtcclxuICAgICAgJWRlZmF1bHRfdmFsdWUge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAuZm9ybS13cmFwLSN7JGtleX0ge1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGZvcm0td3JhcC1pbmZvLCBkZWZhdWx0X3ZhbHVlKSkge1xyXG4gICAgICAgICAgQGV4dGVuZCAlZGVmYXVsdF92YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkdmFsLCBtZWRpYSkpIHtcclxuICAgICAgICAgICRtZWRpYTogbWFwX2dldCgkdmFsLCBtZWRpYSk7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJG1lZGlhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkyKSB7XHJcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbCB7XHJcbiAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJGtleTMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAvKu2FjeyKpO2KuCDrsJXsiqQqL1xyXG5AbWl4aW4gbWFrZS1maWVsZC1kZWZhdWx0KCkge1xyXG4gICVmaWVsZC1iYXNlIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX2ZpZWxkLXN0eWxlKSB7XHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBzZWxlY3QsXHJcbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcclxuICAgICAgQGV4dGVuZCAlZmllbGQtYmFzZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogbWFwLWdldCgkdmFsLCBtYXgtd2lkdGgpO1xyXG4gICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgaW5wdXQtaGVpZ2h0KTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkdmFsLCBtYXJnaW4tYm90dG9tKTtcclxuICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsLCBpbnB1dC1wYWRkaW5nKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsLCBpbnB1dC1iZyk7XHJcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiBtYXAtZ2V0KCR2YWwsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgfVxyXG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJHZhbCwgZm9udC1zaXplKTtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJHZhbCwgbGV0dGVyLXNwYWNpbmcpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkdmFsLCBmb250LWNvbG9yKTtcclxuICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGZvY3VzLXN0eWxlKSB7XHJcbiAgICAgICAgJGZvY3VzLXN0eWxlOiBtYXAtZ2V0KCR2YWwsIGZvY3VzLXN0eWxlKTtcclxuICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJGZvY3VzLXN0eWxlIHtcclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAjeyRrZXkzfSA6ICN7JHZhbDN9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gdGV4dGFyZWF7XHJcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdmFsLCBwbGFjZWhvbGRlci1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIHBsYWNlaG9sZGVyLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIHBsYWNlaG9sZGVyLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC0jeyRrZXl9Lm5vLXVuZGVybGluZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWFrZS10ZXh0LWFyZWEoJGtleSk7XHJcbiAgICBAaW5jbHVkZSBtYWtlLXNlbGVjdGJveCgka2V5KTtcclxuXHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLXRleHQtYXJlYSgkc3R5bGUpIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZ190ZXh0LWFyZWEtc3R5bGUpIHtcclxuICAgIEBpZiAoJHN0eWxlID09ICRrZXkpIHtcclxuICAgICAgLmZpZWxkLSN7JHN0eWxlfSB0ZXh0YXJlYXtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgdGV4dC1hcmVhLWhlaWdodCk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsLCB0ZXh0LWFyZWEtcGFkZGluZyk7XHJcbiAgICAgICAgcmVzaXplOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAvKuyFgOugie2KuCDrsJXsiqQqL1xyXG5AbWl4aW4gbWFrZS1zZWxlY3Rib3goJHN0eWxlKSB7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGdfc2VsZWN0LXN0eWxlKSB7XHJcbiAgICBAaWYgKCRzdHlsZSA9PSAka2V5KSB7XHJcbiAgICAgIC5maWVsZC0jeyRzdHlsZX0gc2VsZWN0e1xyXG4gICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC8q7J2066+47KeAIOyytO2BrCAmIOudvOuUlOyYpCovXHJcbkBtaXhpbiBtYWtlLWNoZWNrYm94LWltZyggJGNoZWNrLWJveC1pbmZvOiAkZ19jaGVjay1ib3gtaW1nICkge1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xyXG4gICAgLmNrYngtI3ska2V5fXtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgbWFyZ2luLXJpZ2h0KTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAuY3VzdG9tLWNoZWNrZWQge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR2YWwsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgaGVpZ2h0KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgYm94LW1hcmdpbi1yaWdodCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbWFwLWdldCgkdmFsLCBib3gtaW1nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAgIH1cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHZhbCwgZm9udC1zaXplKTtcclxuICAgICAgfVxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAmW3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQsXHJcbiAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG1hcC1nZXQoJHZhbCwgYm94LWltZy1vbik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjZWVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIC8q7YOc6re4IOyytO2BrCYg652865SU7JikKi9cclxuQG1peGluIG1ha2UtY2hlY2tib3gtdGFnKCAkY2hlY2stYm94LWluZm86ICRnX2NoZWNrLWJveC10YWcgKSB7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGNoZWNrLWJveC1pbmZvKSB7XHJcbiAgICAvL+uzgOyImFxyXG4gICAgJHdpZHRoOiBtYXAtZ2V0KCR2YWwsIHdpZHRoKTtcclxuICAgICRoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgaGVpZ2h0KTtcclxuICAgICRib3gtbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgJGNoZWNrLXdpZHRoOiAkd2lkdGggLyAyO1xyXG4gICAgJGNoZWNrLWhlaWdodDogJGhlaWdodCAvIDI7XHJcblxyXG4gICAgLy/tlbTri7nqsJLsnbQg7J6I64qU7KeAIOyytO2BrFxyXG4gICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGJveC1tYXJnaW4tcmlnaHQpIHtcclxuICAgICAgJGJveC1tYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgYm94LW1hcmdpbi1yaWdodClcclxuICAgIH1cclxuICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsLCBjaGVja2VkLXdpZHRoKSB7XHJcbiAgICAgICRjaGVjay13aWR0aDogbWFwLWdldCgkdmFsLCBjaGVja2VkLXdpZHRoKVxyXG4gICAgfVxyXG4gICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGNoZWNrZWQtaGVpZ2h0KSB7XHJcbiAgICAgICRjaGVjay1oZWlnaHQ6IG1hcC1nZXQoJHZhbCwgY2hlY2tlZC1oZWlnaHQpXHJcbiAgICB9XHJcbiAgICAuY2tieC0jeyRrZXl9e1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkdmFsLCBtYXJnaW4tcmlnaHQpO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1pbi13aWR0aDogJHdpZHRoO1xyXG4gICAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwsIGJveC1iZyk7XHJcbiAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCR2YWwsIGJveC1vdXRsaW5lKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwsIGJveC1yYWRpdXMpO1xyXG4gICAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlWSgtNTAlKSwgd2Via2l0KTtcclxuICAgICAgfVxyXG4gICAgICA+ICoge1xyXG4gICAgICAgIC8vIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsg6rKM7Iuc7YyQIOq4gOyTsOq4sCDruYTrsIDquIDsl5DshJwg6rmo7KC47IScIOyasOyEoCDso7zshJ3sspjrpqxcclxuICAgICAgfVxyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsLCBmb250LXNpemUpIDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRib3gtbWFyZ2luLXJpZ2h0ICsgJHdpZHRoO1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcclxuICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICBsZWZ0OiAoJHdpZHRoIC0gJGNoZWNrLXdpZHRoKSAvIDIgO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHdpZHRoOiAkY2hlY2std2lkdGg7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRjaGVjay1oZWlnaHQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwsIGNoZWNrZWQtY29sb3IpO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkdmFsLCBib3gtcmFkaXVzKTtcclxuICAgICAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlWSgtNTAlKSwgd2Via2l0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgJi5kaXNhYmxlZHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBjb2xvcjogI2VlZTtcclxuICAgICAgICBsYWJlbDpiZWZvcmV7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB9XHJcbiAgICAgICYuY2lyY2xlIGlucHV0IHtcclxuICAgICAgICAmW3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQsXHJcbiAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIvL3JwLXRhYmxlXHJcbkBtaXhpbiBtYWtlLXJwLXRhYmxlKCRycC10YWJsZS1pbmZvKSB7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJHJwLXRhYmxlLWluZm8pe1xyXG4gICAgQGlmICgka2V5ID09IGRlZmF1bHRfdmFsdWUpIHtcclxuICAgICAgJWRlZmF1bHRfdmFsdWUge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAucnAtdGFibGUtI3ska2V5fSB7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkdmFsLCBtZWRpYSkpIHtcclxuICAgICAgICAgICRtZWRpYTogbWFwX2dldCgkdmFsLCBtZWRpYSk7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJG1lZGlhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkyKSB7XHJcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbCB7XHJcbiAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJGtleTMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiLy8vKiB0YWIgKi9cclxuQG1peGluIHRhYi1pdGVtcygkdGFiLWdyb3VwKSB7XHJcbiAgICAudGFiLXdyYXAge1xyXG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICYgLnRhYi1saXN0IHtcclxuICAgICAgICAgICAgLy9mbG9hdDptYXAtZ2V0KCR0YWItZ3JvdXAsIGZsb2F0KTtcclxuICAgICAgICAgICAgZGlzcGxheTptYXAtZ2V0KCR0YWItZ3JvdXAsIGRpc3BsYXkpO1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkdGFiLWdyb3VwLCB3aWR0aCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRhYi1ncm91cCwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkdGFiLWdyb3VwLCB0aGVtZS1jb2xvcik7XHJcbiAgICAgICAgICAgIGJvcmRlcjptYXAtZ2V0KCR0YWItZ3JvdXAsIGJvcmRlcik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTptYXAtZ2V0KCR0YWItZ3JvdXAsIGZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0Om1hcC1nZXQoJHRhYi1ncm91cCwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBjb2xvcjptYXAtZ2V0KCR0YWItZ3JvdXAsIGZvbnQtY29sb3IpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOm1hcC1nZXQoJHRhYi1ncm91cCwgdGV4dC1hbGlnbik7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOm1hcC1nZXQoJHRhYi1ncm91cCwgbGV0dGVyLXNwYWNpbmcpO1xyXG5cclxuICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR0YWItZ3JvdXAsIG1lZGlhKSB7XHJcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gbWFwX2dldCgkdGFiLWdyb3VwLCBtZWRpYSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbDJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluIChtYXAtZ2V0KCR0YWItZ3JvdXAsIHN1Yi1jbGFzc2luZykpe1xyXG4gICAgICAgICAgICAmLiN7JGtleX0gLnRhYi1saXN0e1xyXG4gICAgICAgICAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWx1ZXtcclxuICAgICAgICAgICAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgLnRhYi1saXN0Lm9uIHtcclxuICAgICAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCR0YWItZ3JvdXAsYWN0aXZlKSl7XHJcbiAgICAgICAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRnX3RhYi1ncm91cCxmbG9hdCl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcclxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuIiwiLy8gbWFrZS1hcmVhIOuvueyKpOyduFxyXG4vLyDquLDrs7jqsJLsnbQgbnVsbOuhnCDshYvtjIXrkJjslrQg7J6I64qUIOyalOyGjOuKlCDsnbjsnpDqsIAg7KCE64us65CY7KeAIOyViuydhCDsi5wg7Lu07YyM7J28IOuQmOyngCDslYrsirXri4jri6QuXHJcbi8vIFvrp6TqsJzrs4DsiJhdXHJcbi8vICRtYXgtd2lkdGgg6riw67O46rCSOiBudWxsXHJcbi8vICRndXR0ZXItd2lkdGgg6riw67O46rCSOiBudWxsXHJcbi8vICR3aWR0aCDquLDrs7jqsJI6IDEwMCVcclxuLy8gZXgpIEBpbmNsdWRlIG1ha2UtYXJlYSggJG1heC13aWR0aDogJG1heC13aWR0aCwgJGd1dHRlci13aWR0aDogJGFyZWEtZ3V0dGVyLXdpZHRoICk7XHJcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWFyZWEoICR3aWR0aDogMTYwMHB4ICk7XHJcbi8vQG1peGluIG1ha2UtYXJlYSggJG1heC13aWR0aDogbnVsbCwgJGd1dHRlci13aWR0aDogbnVsbCwgJHdpZHRoOiAxMDAlICkge1xyXG4vLyAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgd2lkdGg6ICR3aWR0aDtcclxuLy8gIG1heC13aWR0aDogJG1heC13aWR0aDtcclxuLy8gIG1hcmdpbi1yaWdodDogYXV0bztcclxuLy8gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4vLyAgcGFkZGluZy1yaWdodDogJGd1dHRlci13aWR0aDtcclxuLy8gIHBhZGRpbmctbGVmdDogJGd1dHRlci13aWR0aDtcclxuLy99XHJcblxyXG5AbWl4aW4gbWFrZS1hcmVhKCAkYXJlYS1pbmZvOiAkZ19kZWZhdWx0LWFyZWEgKSB7XHJcbiAgJHdpZHRoOiAxMDAlO1xyXG4gIEBpZiAgbWFwLWhhcy1rZXkoJGFyZWEtaW5mbywgd2lkdGgpIHtcclxuICAgICR3aWR0aCA6IG1hcC1nZXQoJGFyZWEtaW5mbywgd2lkdGgpXHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkd2lkdGggOiAxMDAlXHJcbiAgfVxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIG1heC13aWR0aDogbWFwLWdldCgkYXJlYS1pbmZvLCBtYXgtd2lkdGgpO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRhcmVhLWluZm8sIGd1dHRlci13aWR0aCk7XHJcbiAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRhcmVhLWluZm8sIGd1dHRlci13aWR0aCk7XHJcbn1cclxuXHJcbiIsIi8vIG1ha2Utcm93IOuvueyKpOyduFxyXG4vLyBb66ek6rCc67OA7IiYXVxyXG4vLyAkZ3JpZC1ndXR0ZXIg6riw67O46rCSOiAkZ3JpZC1ndXR0ZXItd2lkdGhcclxuLy8gJGdyaWQtZ3V0dGVyIOyghOuLrOuQnCDqsJLsl5Ag65Sw65287IScIG1hcmdpbi1yaWdodCwgbWFyZ2luLWxlZnQg6rCS7J2EIOyFi+2Mhe2VtCDspI3ri4jri6QuXHJcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLXJvdyggJGdyaWQtZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xyXG5AbWl4aW4gbWFrZS1yb3coICRncmlkLWd1dHRlciA6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1yaWdodDogLSRncmlkLWd1dHRlcjtcclxuICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlcjtcclxuICBAaW5jbHVkZSBjbGVhcigpO1xyXG59XHJcblxyXG4vLyBtYWtlLWNvbC1zZXQg66+57Iqk7J24XHJcbi8vIFvrp6TqsJzrs4DsiJhdXHJcbi8vICRncmlkLWNvbC1jbnQg6riw67O46rCSOiAkZ3JpZC1jb2x1bW5zXHJcbi8vICRncmlkLWNvbC1jbnQg7KCE64us65CcIOqwkuydmCDqsJzsiJjrp4ztgoHsnZggY29sLHB1bGwscHVzaCxvZmZzZXQg65Ox7J2EIOunjOuTpOyWtOykjeuLiOuLpC5cclxuLy8gZXgpIEBpbmNsdWRlIG1ha2UtY29sLXNldCgpO1xyXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1jb2wtc2V0KCRncmlkLWNvbC1jbnQ6IDUpO1xyXG5AbWl4aW4gbWFrZS1jb2wtc2V0KCAkZ3JpZC1jb2wtaW5mbzogJGdfZ3JpZC1jb2wtaW5mbyApIHtcclxuICAkZ3JpZC1jb2wtbmFtZTogbnVsbDtcclxuICBAaWYgIG1hcC1oYXMta2V5KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1uYW1lKSB7XHJcbiAgICAkZ3JpZC1jb2wtbmFtZSA6IG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpXHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkZ3JpZC1jb2wtbmFtZSA6IG51bGxcclxuICB9XHJcbiAgICBAaW5jbHVkZSBtYWtlLWNvbCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcclxuICBAaW5jbHVkZSBtYWtlLXB1bGwoIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XHJcbiAgQGluY2x1ZGUgbWFrZS1wdXNoKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xyXG4gIEBpbmNsdWRlIG1ha2Utb2Zmc2V0KCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xyXG59XHJcblxyXG5cclxuQG1peGluIG1ha2UtY29sKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XHJcbiAgICAgIC4jeyRjb2wtbmFtZX1jb2wge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgICAuI3skY29sLW5hbWV9Y29sLWF1dG8ge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9O1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skaX0ge1xyXG4gICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0tYXV0byB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9O1xyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XHJcbiAgICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcclxuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYWtlLXB1bGwoICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xyXG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xyXG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcclxuICAgICAgLiN7JGNvbC1uYW1lfXB1bGwtMCB7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAuI3skY29sLW5hbWV9cHVsbC0jeyRpfSB7XHJcbiAgICAgICAgICByaWdodDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcclxuICAgICAgICAuI3skY29sLW5hbWV9cHVsbC0jeyRicmVha3BvaW50fS0wIHtcclxuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xyXG4gICAgICAgICAgLiN7JGNvbC1uYW1lfXB1bGwtI3skYnJlYWtwb2ludH0tI3skaX0ge1xyXG4gICAgICAgICAgICByaWdodDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1ha2UtcHVzaCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xyXG4gICAgICAuI3skY29sLW5hbWV9cHVzaC0wIHtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtI3skaX0ge1xyXG4gICAgICAgICAgbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcclxuICAgICAgICAuI3skY29sLW5hbWV9cHVzaC0jeyRicmVha3BvaW50fS0wIHtcclxuICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XHJcbiAgICAgICAgICAuI3skY29sLW5hbWV9cHVzaC0jeyRicmVha3BvaW50fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYWtlLW9mZnNldCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sdW1ucywgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XHJcbiAgICAkcG9pbnQ6IG1lZGlhLXF1ZXJ5LW1pbi12YWwoJGJyZWFrcG9pbnQpO1xyXG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IC0gMSB7XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfW9mZnNldC0jeyRpfSB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQgLSAxIHtcclxuICAgICAgICAgIC4jeyRjb2wtbmFtZX1vZmZzZXQtI3skYnJlYWtwb2ludH0tI3skaX0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLEFBR00sZ0JBSFUsQ0FFWixlQUFlLENBQ2IsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLElBQUk7Q0FJZDs7QUFSUCxBQUtRLGdCQUxRLENBRVosZUFBZSxDQUNiLFNBQVMsQUFFTixHQUFHLENBQUM7RUFDSCxPQUFPLEVBQUUsS0FBSztDQUNmOztBQVBULEFBVUksZ0JBVlksQ0FVWixTQUFTLENBQUM7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLEtBQUssRUFBRSxJQUFJO0NBMEJaOztBRzlCQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VIVnpDLEFBVUksZ0JBVlksQ0FVWixTQUFTLENBQUM7SUFNTixVQUFVLEVBQUUsSUFBSTtHQXdCbkI7OztBQXhDTCxBQWtCTSxnQkFsQlUsQ0FVWixTQUFTLENBUVAsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxpQkFBaUI7RUFDN0IsV0FBVyxFQUFFLGlCQUFpQjtDQUMvQjs7QUF2QlAsQUF3Qk0sZ0JBeEJVLENBVVosU0FBUyxDQWNQLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxDQUFDO0VBQ2QsVUFBVSxFQUFFLENBQUM7RUFDYixZQUFZLEVBQUUsaUJBQWlCO0VBQy9CLGFBQWEsRUFBRSxpQkFBaUI7RUFDaEMsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsSUFBSTtDQUlkOztBRzdCRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VIVnpDLEFBd0JNLGdCQXhCVSxDQVVaLFNBQVMsQ0FjUCxTQUFTLENBQUM7SUFhTixLQUFLLEVBQUUsWUFBWTtHQUV0Qjs7O0FBdkNQLEFBeUNJLGdCQXpDWSxDQXlDWixTQUFTLENBQUM7RUFDUixVQUFVLEVBQUUsTUFBTTtDQXlDbkI7O0FBbkZMLEFBNENRLGdCQTVDUSxDQXlDWixTQUFTLENBRVAsRUFBRSxHQUNJLENBQUMsQ0FBQztFQUNKLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7Q0FTWjs7QUF4RFQsQUFtRFksZ0JBbkRJLENBeUNaLFNBQVMsQ0FFUCxFQUFFLEdBQ0ksQ0FBQyxBQU1GLE1BQU0sQ0FDTCxXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxZQUFZO0NBQ3pCOztBQXREYixBQTBEUSxnQkExRFEsQ0F5Q1osU0FBUyxDQUVQLEVBQUUsQ0FlQSxXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFQUFFLGtCQUFrQjtFQUNwQyxPQUFPLEVBQUUsQ0FBQztDQVNYOztBQTFFVCxBQWtFVSxnQkFsRU0sQ0F5Q1osU0FBUyxDQUVQLEVBQUUsQ0FlQSxXQUFXLENBUVQsR0FBRyxDQUFDO0VBQ0YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsR0FBRztFQUNULFNBQVMsRUFBRSxxQkFBcUI7RUFDaEMsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtDQUNiOztBQXpFWCxBQTRFTSxnQkE1RVUsQ0F5Q1osU0FBUyxDQW1DUCxNQUFNLENBQUM7RUFDTCxVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSTtFQUNuQixTQUFTLEVBQUUsSUFBSTtFQUNmLGNBQWMsRUFBRSxPQUFPO0VBQ3ZCLFVBQVUsRUFBRSxNQUFNO0NBQ25COztBQWxGUCxBQW9GSSxnQkFwRlksQ0FvRlosT0FBTyxDQUFDO0VBQ04sVUFBVSxFQUFFLElBQUk7Q0FJakI7O0FHL0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUhWekMsQUFvRkksZ0JBcEZZLENBb0ZaLE9BQU8sQ0FBQztJQUdKLFVBQVUsRUFBRSxJQUFJO0dBRW5CIn0= */
