@charset "UTF-8";
/*=================================================
      메인 섹션컨텐츠 공통
=================================================*/
.main-sec {
  position: relative;
  padding-top: 44px;
  padding-bottom: 50px;
  background-color: transparent;
}

@media screen and (min-width: 992px) {
  .main-sec {
    position: relative;
    padding-top: 73px;
    padding-bottom: 80px;
  }
}

/*=================================================
      메인 섹션(공통)
=================================================*/
.main-sec .title {
  text-transform: capitalize;
}

.main-sec .sub-title {
  margin-top: 32px;
  margin-bottom: 20px;
  line-height: 1.666;
  font-weight: 400;
  font-size: 15px;
}

@media screen and (min-width: 768px) {
  .main-sec .sub-title {
    margin-bottom: 33px;
    font-size: 16px;
    line-height: 1.875;
  }
}

.main-sec .sub-title span {
  font-weight: 700;
}

/*=================================================
      메인 섹션(sec1)
=================================================*/
.sec1 .img {
  background: url(/views/res/imgs/main/sec1/sec1_img.jpg) no-repeat left/cover;
}

.sec1 .img:after {
  content: "";
  display: block;
  padding-top: 71.61%;
}

@media screen and (min-width: 544px) {
  .sec1 .img:after {
    padding-top: 45%;
  }
}

/*=================================================
      메인 섹션(sec2)
=================================================*/
.sec2 {
  background: #f7f9fc;
}

@media screen and (min-width: 992px) {
  .sec2 {
    background-image: url(/views/res/imgs/main/sec1/sec2_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
}

.sec2 .brand-wrap {
  margin-top: 36px;
}

@media screen and (min-width: 992px) {
  .sec2 .brand-wrap {
    margin-top: 40px;
  }
}

.sec2 .brand-wrap .brand-list {
  padding-top: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #ddd;
}

@media screen and (min-width: 768px) {
  .sec2 .brand-wrap .brand-list {
    padding-top: 8px;
    padding-bottom: 0;
    border-bottom: 0;
    border-right: 1px solid #ddd;
  }
}

.sec2 .brand-wrap .brand-list:first-child {
  padding-top: 0;
}

@media screen and (min-width: 768px) {
  .sec2 .brand-wrap .brand-list:first-child {
    padding-top: 8px;
  }
}

.sec2 .brand-wrap .brand-list:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .sec2 .brand-wrap .brand-list:last-child {
    border-right: 0;
  }
}

.sec2 .brand-logo {
  width: 140px;
  height: 51px;
}

.sec2 .brand-desc {
  max-width: 300px;
  margin: 20px auto 0;
  font-size: 15px;
  line-height: 1.66;
  letter-spacing: -0.02em;
  color: #333;
}

@media screen and (min-width: 768px) {
  .sec2 .brand-desc {
    min-height: 96px;
  }
}

@media screen and (min-width: 992px) {
  .sec2 .brand-desc {
    min-height: initial;
    margin-bottom: 17px;
  }
}

.location {
  height: 500px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0L3NlY3Rpb24vbWFpbi9tYWluX3NlY3Rpb25fYWJvdXQuY3NzIiwic291cmNlcyI6WyJsYXlvdXQvc2VjdGlvbi9tYWluL21haW5fc2VjdGlvbl9hYm91dC5zY3NzIiwicmVzL3Njc3MvX192YXJpYWJsZXMuc2NzcyIsInJlcy9zY3NzL19fbWl4aW5zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21hcC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19jbGVhci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19zY3JlZW5yZWFkZXIuc2NzcyIsInJlcy9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19wcmVmaXhlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL190cmlhbmdsZS5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2NhcmRzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsInJlcy9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fdGFibGVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3RhYi5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2FyZWEuc2NzcyIsInJlcy9zY3NzL21peGlucy9fZ3JpZC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcclxuQGltcG9ydCBcInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3NcIjtcclxuQGltcG9ydCBcInJlcy9zY3NzL19fbWl4aW5zLnNjc3NcIjtcclxuXHJcblxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICAg66mU7J24IOyEueyFmOy7qO2FkOy4oCDqs7XthrVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5tYWluLXNlY3tcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy10b3A6IDQ0cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpe1xyXG4gIC5tYWluLXNlY3tcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctdG9wOiA3M3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICAg66mU7J24IOyEueyFmCjqs7XthrUpXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4ubWFpbi1zZWMge1xyXG4gIC50aXRsZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICB9XHJcbiAgLnN1Yi10aXRsZXtcclxuICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNjY2O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuODc1O1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgICDrqZTsnbgg7IS57IWYKHNlYzEpXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG4uc2VjMSB7XHJcbiAgLmltZ3tcclxuICAgIGJhY2tncm91bmQ6IHVybCgvdmlld3MvcmVzL2ltZ3MvbWFpbi9zZWMxL3NlYzFfaW1nLmpwZykgbm8tcmVwZWF0IGxlZnQgLyBjb3ZlcjtcclxuICAgICY6YWZ0ZXJ7XHJcbiAgICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgcGFkZGluZy10b3A6IDcxLjYxJTtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKHNtKXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDUlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgIOuplOyduCDshLnshZgoc2VjMilcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi5zZWMyIHtcclxuICBiYWNrZ3JvdW5kIDojZjdmOWZjO1xyXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL21haW4vc2VjMS9zZWMyX2JnLmpwZyk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICB9XHJcbiAgLmJyYW5kLXdyYXB7XHJcbiAgICBtYXJnaW4tdG9wOiAzNnB4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcclxuICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuICAgIC5icmFuZC1saXN0e1xyXG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICB9XHJcbiAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5icmFuZC1sb2dve1xyXG4gICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgaGVpZ2h0OiA1MXB4O1xyXG4gIH1cclxuICAuYnJhbmQtZGVzY3tcclxuICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0byAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNjY7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcclxuICAgICAgbWluLWhlaWdodDogOTZweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5sb2NhdGlvbiB7XHJcbiAgaGVpZ2h0OiA1MDBweDtcclxufSIsIi8vLy8vZGVmYXVsdC8vLy8vXHJcbi8vY29sb3JcclxuJGdfd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XHJcbiRnX2JsYWNrOiAjMDAwICFkZWZhdWx0O1xyXG4kZ19yZWQ6ICNmZjAwMDA7XHJcbiRnX2NvbG9yOiAjMzMzO1xyXG4kZ19wb2ludC1mb250LWNvbG9yOiAjZmZmO1xyXG4kZ19wb2ludC10aGVtZS1jb2xvcjogI2ViM2ExODtcclxuXHJcblxyXG4vL2ZvbnRcclxuLy8tZm9udC1mYW1pbHlcclxuJGdfZm9udC1mYW1pbHk6IChcclxuICBzeXN0ZW06ICcgXCLrp5HsnYAg6rOg65SVXCIsIFwiTWFsZ3VuIEdvdGhpY1wiLCBcIuyVoO2UjCBTRCDsgrDrj4zqs6DrlJUgTmVvXCIsIFwiQXBwbGUgU0QgR290aGljIE5lb1wiLCBzYW5zLXNlcmlmICcsXHJcbiAgbm90bzogJ1wiTm90byBTYW5zIEtSXCIsIHNhbnMtc2VyaWYnLFxyXG4gIG5hbnVtOiAnXCJOYW51bSBHb3RoaWNcIiwgc2Fucy1zZXJpZicsXHJcbiAgbmFudW1zcXVyZTogJ1wiTmFudW1TcXVhcmVcIiwgc2Fucy1zZXJpZicsXHJcbiAgZG90dW06ICdcIkRvdHVtXCIsIHNhbnMtc2VyaWYnLFxyXG4pO1xyXG4kZm9udC1zeXN0ZW06ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgc3lzdGVtKX07XHJcbiRmb250LW5vdG86ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgbm90byl9O1xyXG4kZm9udC1uYW51bTogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBuYW51bSl9O1xyXG4kZm9udC1uYW51bXNxdXJlOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIG5hbnVtc3F1cmUpfTtcclxuJGZvbnQtZG90dW06ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgZG90dW0pfTtcclxuXHJcbi8vLWZvbnQtc2l6ZVxyXG4kZ19mb250LXNpemU6KFxyXG4gIHhzOiAxMHB4LFxyXG4gIHNtOiAxMnB4LFxyXG4gIG1kOiAxNXB4LFxyXG4gIGxnOiAxOHB4LFxyXG4gIHhsOiAyNHB4LFxyXG4pO1xyXG5cclxuLy8tZm9udC13ZWlnaHRcclxuJGdfZm9udC13ZWlnaHRzOiAxMDAsIDIwMCwgMzAwLCA0MDAsIDUwMCwgNjAwLCA3MDAsIDgwMCwgOTAwO1xyXG5cclxuLy8tbGV0dGVyLXNwYWNpbmdcclxuXHJcbi8vLy8vbWVkaWEvLy8vL1xyXG4kZ19tZWRpYS1icmVha3BvaW50czogKFxyXG4gIHhzOiAwLFxyXG4gIHNtOiA1NDRweCxcclxuICBtZDogNzY4cHgsXHJcbiAgbGc6IDk5MnB4LFxyXG4gIHhsOiAxMjAwcHgsXHJcbiAgeHhsOiAxNjAwcHhcclxuKTtcclxuXHJcbi8vLy8vbGF5b3V0Ly8vLy9cclxuLy9hcmVhXHJcbiRnX21heC13aWR0aDogMTE0MHB4O1xyXG4kZ19hcmVhLWd1dHRlci13aWR0aDogMTVweDtcclxuXHJcbi8vZ3JpZFxyXG4kZ19ncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ19ncmlkLWd1dHRlci13aWR0aDogMSU7XHJcblxyXG4kZ19kZWZhdWx0LWFyZWE6IChcclxuICBtYXgtd2lkdGg6ICRnX21heC13aWR0aCxcclxuICBndXR0ZXItd2lkdGg6ICRnX2FyZWEtZ3V0dGVyLXdpZHRoLFxyXG4gIHdpZHRoOiAxMDAlXHJcbik7XHJcbiRnX2Z1bGwtYXJlYTogKFxyXG4gIG1heC13aWR0aDogMTc1MHB4LFxyXG4gIGd1dHRlci13aWR0aDogJGdfYXJlYS1ndXR0ZXItd2lkdGgsXHJcbiAgd2lkdGg6IDEwMCVcclxuKTtcclxuJGdfbm9ndXR0ZXItYXJlYTogKFxyXG4gIG1heC13aWR0aDogJGdfbWF4LXdpZHRoXHJcbik7XHJcblxyXG4vL2dyaWRcclxuJGdfZ3JpZC1jb2wtaW5mbzogKFxyXG4gIGdyaWQtY29sLWNudDogMTIsXHJcbiAgZ3JpZC1jb2wtbmFtZTogbnVsbFxyXG4pO1xyXG4kZ3JpZC1jb2w1LWluZm86IChcclxuICBncmlkLWNvbC1jbnQ6IDUsXHJcbiAgZ3JpZC1jb2wtbmFtZTogZml2ZS1cclxuKTtcclxuXHJcbi8vLy8vVVRJTElUSUVTLy8vLy9cclxuLy9jbGVhclxyXG5cclxuLy9zcGFjaW5nXHJcbiRzcGFjZXJzOihcclxuICAwOiAwLFxyXG4gIDU6IDVweCxcclxuICAxMDogMTBweCxcclxuICAyMDogMjBweCxcclxuICAyNTogMjVweCxcclxuICAzMDogMzBweCxcclxuICA0MDogNDBweCxcclxuICA1MDogNTBweCxcclxuICA2MDogNjBweCxcclxuICA3MDogNzBweCxcclxuICA4MDogODBweCxcclxuICA5MDogOTBweCxcclxuICAxMDA6IDEwMHB4XHJcbik7XHJcblxyXG4vLy8vL0NPTVBPTkVOVFMvLy8vL1xyXG4vL2NhcmRcclxuJGdfY2FyZC13cmFwOiAoXHJcbiAgZGVmYXVsdDogKFxyXG4gICAgd3JhcDogKFxyXG4gICAgICBwYWRkaW5nOiAwIDMwcHgsXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHgsXHJcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXI6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApLFxyXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHhcclxuICAgICksXHJcbiAgICBoZWFkZXI6IChcclxuICAgICAgcGFkZGluZzogMjVweCAwLFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxyXG4gICAgICBib3JkZXItc3R5bGU6ICggYm9yZGVyLWJvdHRvbTogXCIxcHggc29saWQgI2U3ZTllZVwiICksXHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweFxyXG4gICAgKSxcclxuICAgIGJvZHk6IChcclxuICAgICAgcGFkZGluZzogMzBweCAwLFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmXHJcbiAgICApLFxyXG4gICAgZm9vdGVyOiAoXHJcbiAgICAgIHBhZGRpbmc6IDI1cHggMCxcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlci10b3A6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApXHJcbiAgICApXHJcbiAgKVxyXG4pO1xyXG4vL19mb3JtLXdhcnBcclxuJGdfZm9ybS13cmFwOiAoXHJcbiAgZGVmYXVsdF92YWx1ZTogKFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXHJcbiAgKSxcclxuICB0YWJsZSA6IChcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIHhzOiAoXHJcbiAgICAgICAgZm9ybS13cmFwOiAoLy8uZm9ybS13YXJwLXRhYmxlIC5mb3JtLXdyYXBcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBib3JkZXItdG9wOiBcIjFweCBzb2xpZCAjZWVlXCIsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCI6bGFzdC1jaGlsZFwiIDogKFxyXG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IFwiMXB4IHNvbGlkICNlZWVcIlxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSxcclxuICAgICAgICBmb3JtLXRpdGxlOiAoLy8uZm9ybS13YXJwLXRhYmxlIC5mb3JtLXRpdGxlXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMHB4LFxyXG4gICAgICAgICAgcGFkZGluZzogXCIwIDEwcHhcIixcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4ZjgsXHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZm9ybS1ib2R5OiAoLy8uZm9ybS13YXJwLXRhYmxlIC5mb3JtLWJvZHlcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXHJcbiAgICAgICAgICBwYWRkaW5nOiBcIjEwcHggMTVweFwiLFxyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCxcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgICBtZDogKFxyXG4gICAgICAgIGZvcm0tdGl0bGU6IChcclxuICAgICAgICAgIHdpZHRoOiAxNTBweCxcclxuICAgICAgICAgIHBhZGRpbmc6IFwiMjBweCAyMHB4XCIsXHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgICAgICAgKSxcclxuICAgICAgICBmb3JtLWJvZHk6IChcclxuICAgICAgICAgIHBhZGRpbmc6IFwiMTBweCAxNXB4XCJcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgKSxcclxuICApLFxyXG4gIG1hdGVyaWFsIDogKFxyXG4gICAgbWVkaWE6IChcclxuICAgICAgeHM6IChcclxuICAgICAgICBmb3JtLXdyYXA6IChcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCI6YWZ0ZXJcIiA6IChcclxuICAgICAgICAgICAgICBjb250ZW50OiBcIicnXCIsXHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2ssXHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxcHgsXHJcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogXCJ0cmFuc2Zvcm0gLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIC41c1wiLFxyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApLFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMsXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIFwiOmhvdmVyOmFmdGVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkLFxyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBcIi5hY3RpdmU6YWZ0ZXJcIiA6IChcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKSxcclxuICAgICAgICApLFxyXG4gICAgICAgIGZvcm0tdGl0bGU6IChcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZm9ybS1ib2R5OiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayxcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgKSxcclxuICApLFxyXG4gIG5vLW1lZGlhLXRlc3QgOiAoXHJcbiAgICB4cyA6KFxyXG4gICAgICBmb3JtLXdyYXA6IChcclxuICAgICAgICBkaXNwbGF5OiBibG9jayxcclxuICAgICAgICB3aWR0aDogMTAwJSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgKSxcclxuKTtcclxuLy9faW5wdXRcclxuJGdfZmllbGQtc3R5bGU6IChcclxuICBzdHlsZTE6ICgvL+q0gOumrOyekFxyXG4gICAgYm9yZGVyLXN0eWxlOiAoYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWQ2ZDgpLFxyXG4gICAgaW5wdXQtaGVpZ2h0OiBhdXRvLFxyXG4gICAgaW5wdXQtcGFkZGluZzogMCAwIDVweCAwLFxyXG4gICAgaW5wdXQtYmc6IHRyYW5zcGFyZW50LFxyXG4gICAgcGxhY2Vob2xkZXItY29sb3I6ICNjY2NmZDYsXHJcbiAgKSxcclxuICBzdHlsZTI6ICgvL+2ajOybkOqwgOyehSwg7ZqM7JuQ7KCV67O0IOyImOyglSDtj7xcclxuICAgIG1heC13aWR0aDogMzMwcHgsXHJcbiAgICBib3JkZXItc3R5bGU6IChib3JkZXI6IDFweCBzb2xpZCAjZGRkKSxcclxuICAgIGlucHV0LWhlaWdodDogMzVweCxcclxuICAgIGlucHV0LXBhZGRpbmc6IDAgMTBweCxcclxuICAgIHBsYWNlaG9sZGVyLWNvbG9yOiAjY2NjZmQ2LFxyXG4gICAgZm9udC1zaXplOiAxM3B4LFxyXG4gICAgZm9udC1jb2xvcjogIzU1NSxcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW0sXHJcbiAgKSxcclxuICBzdHlsZTM6ICgvL+uhnOq3uOyduCwg7ZqM7JuQ6rCA7J6FIO2UjOuhnOyasCAvL+yImOygleyZhOujjFxyXG4gICAgYm9yZGVyLXN0eWxlOiAoYm9yZGVyOiAxcHggc29saWQgI2RkZCksXHJcbiAgICBpbnB1dC1oZWlnaHQ6IDUwcHgsXHJcbiAgICBpbnB1dC1wYWRkaW5nOiAwIDEwcHgsXHJcbiAgICBpbnB1dC1iZzogdHJhbnNwYXJlbnQsXHJcbiAgICBwbGFjZWhvbGRlci1jb2xvcjogIzkwOTA5MCxcclxuICAgIGZvbnQtc2l6ZTogMTJweCxcclxuICAgIGZvbnQtY29sb3I6ICMzMzMsXHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtLFxyXG4gICksXHJcbiAgc3R5bGU0OiAoLy/sg4Htkogg7IOB7IS4XHJcbiAgICBib3JkZXItc3R5bGU6IChib3JkZXI6IDFweCBzb2xpZCAjZDJkMmQyKSxcclxuICAgIGlucHV0LWhlaWdodDogNDJweCxcclxuICAgIGlucHV0LXBhZGRpbmc6IDAgMTVweCxcclxuICAgIGlucHV0LWJnOiAjZmZmLFxyXG4gICAgcGxhY2Vob2xkZXItY29sb3I6ICM5MDkwOTAsXHJcbiAgICBmb250LXNpemU6IDEzcHgsXHJcbiAgICBmb250LWNvbG9yOiAjNmU2ZDZkLFxyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4ZW0sXHJcbiAgKVxyXG4pO1xyXG5cclxuLy9fdGV4dGFyZWFcclxuJGdfdGV4dC1hcmVhLXN0eWxlOiAoXHJcbiAgc3R5bGUxOiAoXHJcbiAgICB0ZXh0LWFyZWEtaGVpZ2h0OiAxNTBweCxcclxuICAgIHRleHQtYXJlYS1wYWRkaW5nOiA1cHgsXHJcbiAgKSxcclxuICBzdHlsZTI6IChcclxuICAgIHRleHQtYXJlYS1oZWlnaHQ6IDE1MHB4LFxyXG4gICAgdGV4dC1hcmVhLXBhZGRpbmc6IDEwcHgsXHJcbiAgKSxcclxuICBzdHlsZTM6IChcclxuICAgIHRleHQtYXJlYS1oZWlnaHQ6IDE1MHB4LFxyXG4gICAgdGV4dC1hcmVhLXBhZGRpbmc6IDVweCxcclxuICApLFxyXG4gIFxyXG4pO1xyXG5cclxuLy9fc2VsZWN0XHJcbiRnX3NlbGVjdC1zdHlsZTogKFxyXG4gIHN0eWxlMTogKFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTAwcHggYm90dG9tIDUwJSxcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vYnRuX3NlbGVjdF9hcnJvd19zdDAxLnBuZyksXHJcbiAgKSxcclxuICBzdHlsZTI6ICggLy8gKO2ajOybkOqwgOyehSztmozsm5DsoJXrs7QpIOyXsOudveyymFxyXG4gICAgcGFkZGluZzogMCAzNXB4IDAgMTBweCxcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggYm90dG9tIDUwJSxcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2J0bl9zZWxlY3RfYXJyb3dfc3QwMS5wbmcpLFxyXG4gICAgLy9vcHRpb24gOiAoIGNvbG9yOiMyMjIgKSAvL+yEnOu4jCDtgbTrnpjsiqQg7IOd7ISxXHJcbiAgKSxcclxuICBzdHlsZTM6IChcclxuICAgIG92ZXJmbG93OiBoaWRkZW4sXHJcbiAgKSxcclxuICBzdHlsZTQ6ICgvL+yDge2SiCDsg4HshLhcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlLFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vaW1nX3NlbGVjdF9zdHlsZTEucG5nKSxcclxuICAgIC8vb3B0aW9uIDogKCBjb2xvcjojMjIyICkgLy/shJzruIwg7YG0656Y7IqkIOyDneyEsVxyXG4gIClcclxuKTtcclxuLy9fY2hlY2stYm94XHJcbiRnX2NoZWNrLWJveC1pbWc6IChcclxuICBpbWctMSA6IChcclxuICAgIHdpZHRoOiAyNHB4LFxyXG4gICAgaGVpZ2h0OiAyNHB4LFxyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHgsXHJcbiAgICBib3gtaW1nOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDNfb2ZmLnBuZyksXHJcbiAgICBib3gtaW1nLW9uOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDNfb24ucG5nKSxcclxuICAgIGZvbnQtc2l6ZTogMTRweFxyXG4gICksXHJcbiAgaW1nLTIgOiAoXHJcbiAgICB3aWR0aDogMzJweCxcclxuICAgIGhlaWdodDogMzJweCxcclxuICAgIG1hcmdpbi1yaWdodDogOHB4LFxyXG4gICAgYm94LWltZzogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAxX29mZi5wbmcpLFxyXG4gICAgYm94LWltZy1vbjogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAxX29uLnBuZyksXHJcbiAgICBmb250LXNpemU6IDE0cHhcclxuICApLFxyXG4gIGltZy0zIDogKFxyXG4gICAgd2lkdGg6IDIwcHgsXHJcbiAgICBoZWlnaHQ6IDIwcHgsXHJcbiAgICBib3gtaW1nOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDJfb2ZmLnBuZyksXHJcbiAgICBib3gtaW1nLW9uOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDJfb24ucG5nKSxcclxuICAgIGZvbnQtc2l6ZTogMTRweFxyXG4gIClcclxuKTtcclxuJGdfY2hlY2stYm94LXRhZzogKFxyXG4gIHRhZy0xIDogKCAvLyDslYTsnbTrlJTsoIDsnqUgLy8g7JW96rSA64+Z7J2YIC8vIOqysOygnOyImOuLqCAvL+uwsOyGoeyngCDshKDtg50gLy8g67Cw7Iah7KeA7JetIOyEoO2DnVxyXG4gICAgd2lkdGg6IDEycHgsXHJcbiAgICBoZWlnaHQ6IDEycHgsXHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHgsXHJcbiAgICBib3gtbWFyZ2luLXJpZ2h0IDogNXB4LFxyXG4gICAgYm94LW91dGxpbmU6IDFweCBzb2xpZCAjZGRkLFxyXG4gICAgY2hlY2tlZC1jb2xvcjogIzU1NSxcclxuICAgIGZvbnQtc2l6ZTogMTFweFxyXG4gICksXHJcbiAgdGFnLTIgOiAoXHJcbiAgICB3aWR0aDogMTZweCxcclxuICAgIGhlaWdodDogMTZweCxcclxuICAgIGJveC1tYXJnaW4tcmlnaHQ6IDVweCxcclxuICAgIGJveC1vdXRsaW5lOiAxcHggc29saWQgIzMzMyxcclxuICAgIGNoZWNrZWQtd2lkdGg6IDEwcHgsXHJcbiAgICBjaGVja2VkLWhlaWdodDogMTBweCxcclxuICAgIGNoZWNrZWQtY29sb3I6ICNlYjNhMTgsXHJcbiAgICBmb250LXNpemU6IDE0cHhcclxuICApXHJcbik7XHJcblxyXG4vL190YWJsZVxyXG4kZ19ycC10YWJsZTogKFxyXG4gIHN0eWxlMTogKFxyXG4gICAgbWVkaWE6IChcclxuICAgICAgeHM6IChcclxuICAgICAgICBycC10YWJsZTogKFxyXG4gICAgICAgICAgbWFyZ2luLXRvcDogNTBweCxcclxuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTdlOWVlXHJcbiAgICAgICAgKSxcclxuICAgICAgICBycC10aGVhZDogKFxyXG4gICAgICAgICAgZGlzcGxheTogbm9uZVxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdGg6IChcclxuXHJcbiAgICAgICAgKSxcclxuICAgICAgICBycC10cjogKFxyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2ssXHJcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweCxcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlOWVlLFxyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNXMsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCI6aG92ZXJcIiA6IChcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3LFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBcIi5pcy1ub3RpY2VcIiA6IChcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3LFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBcIi5ub25lLWhvdmVyOmhvdmVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICBcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRkOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXHJcbiAgICAgICAgICBwYWRkaW5nOiA1cHgsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCxcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtLFxyXG4gICAgICAgICAgY29sb3I6ICM2MDYzNjksXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCIudGQtYmxvY2tcIiA6IChcclxuICAgICAgICAgICAgICBkaXNwbGF5IDogYmxvY2tcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICAgIG1kOiAoXHJcbiAgICAgICAgcnAtdGhlYWQ6IChcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTllZSxcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRoOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgcGFkZGluZzogMjJweCA1cHgsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW0sXHJcbiAgICAgICAgICBjb2xvcjogI2ExYTViMSxcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRyOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcclxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4LFxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdGQ6IChcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXHJcbiAgICAgICAgICB3aWR0aDogMTAwJSxcclxuICAgICAgICAgIHBhZGRpbmc6IDIwcHggNXB4LFxyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcclxuICAgICAgICAgIFwiJlwiIDogKFxyXG4gICAgICAgICAgICBcIi50ZC1ibG9ja1wiIDogKFxyXG4gICAgICAgICAgICAgIGRpc3BsYXkgOiB0YWJsZS1jZWxsXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIClcclxuICAgICAgICApLFxyXG4gICAgICApXHJcbiAgICApLFxyXG4gIClcclxuKTtcclxuXHJcbi8vX2J1dHRvblxyXG4kZ19idG4tc2l6ZTogKFxyXG4gIGRlZmF1bHRfdmFsdWU6ICgpLCAvL+y2lOqwgOyLnCBiYXNlL19idXR0b25zLnNjc3Mg7IiY7KCV7JqU66edXHJcbiAgeHM6ICggLy/rsLDshqHsobDtmows7ZuE6riw7J6R7ISxXHJcbiAgICB3aWR0aDogNTBweCxcclxuICAgIGhlaWdodDogMzVweCxcclxuICAgIGxpbmUtaGVpZ2h0OiAzNXB4LFxyXG4gICAgZm9udC1zaXplOiAxMnB4LFxyXG4gICksXHJcbiAgc206ICggLy/qsozsi5ztjJAg67KE7Yq8LCBwb3B1cFxyXG4gICAgd2lkdGg6IDExOHB4LFxyXG4gICAgaGVpZ2h0OiA1MHB4LFxyXG4gICAgbGluZS1oZWlnaHQ6IDUwcHgsXHJcbiAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgICBtZWRpYTogKFxyXG4gICAgICBzbTogKFxyXG4gICAgICAgIGhlaWdodDogNDBweCxcclxuICAgICAgICBsaW5lLWhlaWdodDogNDBweCxcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICksXHJcbiAgbWQ6ICggLy/smrDtjrjrsojtmLjssL7quLAsIO2ajOybkO2DiO2HtFxyXG4gICAgd2lkdGg6IDEwMHB4LFxyXG4gICAgaGVpZ2h0OiAzNXB4LFxyXG4gICAgbGluZS1oZWlnaHQ6IDM1cHgsXHJcbiAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgKSxcclxuICBsZzogKCAvL+yepeuwlOq1rOuLiCwg7ZqM7JuQ6rCA7J6FLCDrp4jsnbTtjpjsnbTsp4BcclxuICAgIHdpZHRoOjIwMHB4LFxyXG4gICAgaGVpZ2h0OiA2MHB4LFxyXG4gICAgbGluZS1oZWlnaHQ6IDU4cHgsXHJcbiAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgKSxcclxuICB4bDogKCAvL+uhnOq3uOyduCwg67mE67CA67KI7Zi4IOywvuq4sCDtlIzroZzsmrBcclxuICAgIGhlaWdodDogNTBweCxcclxuICAgIGxpbmUtaGVpZ2h0OiA1MHB4LFxyXG4gICAgZm9udC1zaXplOiAxNXB4LFxyXG4gICAgbWVkaWE6IChcclxuICAgICAgbWQ6IChcclxuICAgICAgICBoZWlnaHQ6IDYwcHgsXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHgsXHJcbiAgICAgIClcclxuICAgIClcclxuICApLFxyXG4gIHBhZGRpbmc6IChcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweCxcclxuICAgIGZvbnQtc2l6ZTogMTNweCxcclxuICAgIGlubmVyLXRlc3Q6IChcclxuICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgIGhlaWdodDogNTBweCxcclxuICAgICAgdGVzdDogKFxyXG4gICAgICAgIHNpemU6IDEwcHhcclxuICAgICAgKVxyXG4gICAgKSxcclxuICAgIG1lZGlhOihcclxuICAgICAgc206KFxyXG4gICAgICAgIG9wYWNpdHk6MVxyXG4gICAgICApXHJcbiAgICApLFxyXG4gICksXHJcbiAgZnVsbDooXHJcbiAgICB3aWR0aDogMTAwJSxcclxuICApLFxyXG4pO1xyXG5cclxuJGdfYnRuLWdyb3VwIDogKCAvLyDrsoTtirwg7Iqk7YOA7J28IOyEpOygle2VmOq4sFxyXG4gIC8vIOuyhO2KvO2BtOuemOyKpOydtOumhCA6IOyCrOyaqe2VoCDsho3shLHqsJIgKOyCrOyaqe2VmOyngCDslYrsnYTqsr3smrAg67OA7IiYIOyCreygnOqwgOuKpSwg67OA7IiYIOy2lOqwgO2VoOqyveyasCBtaXhpbl9idXR0b25zIO2MjOydvOyXkCDrmJDtlZwg7LaU6rCAKVxyXG4gIHBvaW50IDogICggLy8gZGVmYXVsdFxyXG4gICAgdGhlbWUtY29sb3I6ICM2OTY5NjksXHJcbiAgICBmb250LWNvbG9yOiAjZmZmLFxyXG4gICAgYm9yZGVyIDogMXB4IHNvbGlkICNmZmYsXHJcbiAgICAvLyBib3JkZXItcmFkaXVzOjRweCxcclxuXHJcbiAgICBob3Zlci10aGVtZS1jb2xvcjojNjk2OTY5LFxyXG4gICAgLy8g6riw67O47KCB7Jy866GcIGRhcmtlbuydtCDrk6TslrTqsIDrqbAsIO2YuOuyhO2aqOqzvOqwgCDsl4bripTqsoPsnYAg67Cw6rK97IOJKHRoZW1lLWNvbG9yKeyZgCDrj5nsnbztlZwg7Lus65+s6rCS64Sj7Ja07KSA64ukLlxyXG4gICAgaG92ZXItY29sb3I6ICNmZmYsXHJcbiAgICAvLyBob3Zlci1ib3JkZXIgOiAxcHggc29saWQgIzAwMCxcclxuXHJcbiAgICBkaXNhYmxlZC1ncm91cCA6KCAvLyDquLDrs7jsoIHsnLzroZwgb3BhY2l0eTouNjUsIOy7pOyKpO2FgOydgCDslYTrnpjsl5Ag6rCSIOuzgOqyvVxyXG4gICAgICBkaW0tdGhlbWUtY29sb3I6IzExMSxcclxuICAgICAgZGltLWNvbG9yOiAjMTExLFxyXG4gICAgICBkaW0tb3BhY2l0eSA6IC41LFxyXG4gICAgKSxcclxuICApLFxyXG4gIHN1Yi1wb2ludCA6KFxyXG4gICAgdGhlbWUtY29sb3I6IzBjMzc3NixcclxuICAgIGZvbnQtY29sb3I6ICNmZmYsXHJcbiAgKSxcclxuICBzdHlsZTEgOiAgKCAvL+uhnOq3uOyduFxyXG4gICAgdGhlbWUtY29sb3I6ICNhYWEsXHJcbiAgICBmb250LWNvbG9yOiAjZmZmLFxyXG4gICksXHJcbiAgc3R5bGUyIDogKCAvLyDtmozsm5DqsIDsnoUsIOu5hOuwgOuyiO2YuCDslYTsnbTrlJTssL7quLAsXHJcbiAgICBmb250LWNvbG9yOiAjMDAwLFxyXG4gICAgdGhlbWUtY29sb3I6ICNmMmYyZjIsXHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQsXHJcbiAgICBob3Zlci10aGVtZS1jb2xvcjojZjJmMmYyLFxyXG4gICksXHJcbiAgc3R5bGUzIDogKCAvLyDso7zrrLgg7Leo7IaMIOuyhO2KvCwg7KO866y4IOumrOyKpO2KuCDqsoDsg4kg67KE7Yq8XHJcbiAgICBmb250LWNvbG9yOiAjZmZmLFxyXG4gICAgdGhlbWUtY29sb3I6ICM1NTUsXHJcbiAgKSxcclxuICBvdXRsaW5lLXN0eWxlMSA6ICAoIC8vIOyjvOusuOyDgeyEuOuztOq4sCwgY3VzdG9tMlxyXG4gICAgZm9udC1jb2xvcjogIzExMSxcclxuICAgIHRoZW1lLWNvbG9yOiB0cmFuc3BhcmVudCxcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCAjMTExLFxyXG4gICAgaG92ZXItdGhlbWUtY29sb3I6IzBjMzc3NixcclxuICAgIGhvdmVyLWJvcmRlciA6IDFweCBzb2xpZCAjMGMzNzc2LFxyXG4gICAgaG92ZXItY29sb3I6I2ZmZixcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweCxcclxuICApLFxyXG4gIG91dGxpbmUtc3R5bGUyIDogKCAvLyDrqqjrsJTsnbwg66mU64m0IC0g7ZqM7IKs7IaM6rCc7IScIOuLpOyatOuhnOuTnCBcclxuICAgIGZvbnQtY29sb3I6ICNmZmYsXHJcbiAgICB0aGVtZS1jb2xvcjogdHJhbnNwYXJlbnQsXHJcbiAgICBib3JkZXIgOiAxcHggc29saWQgI2ZmZixcclxuICAgIGhvdmVyLWJvcmRlciA6IDFweCBzb2xpZCAjZmZmLFxyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4LFxyXG4gICksXHJcbik7XHJcblxyXG4vL19wYWdpbmF0aW9uICjrqoXsua0gOiBhIO2DnOq3uCBwYWdlLWxpbmsg66GcKOyKpO2DgOydvCkgIC8gcGFnZS1pdGVtIOydtCDqsIHsnpDsnZggd3JhcCAo6rCE6rKp7KGw7KCVKS8g7KCE7LK066W8IC5wYWdpbmF0aW9u7J20IOqwkOyLuOqzoCDsnojsnYwpXHJcbiRnX3BhZ2UtaXRlbS1ncm91cCA6IChcclxuICAvLyBkZWZhdWx0XHJcbiAgd2lkdGg6NTBweCxcclxuICBoZWlnaHQ6NTBweCxcclxuXHJcbiAgLy9wYWRkaW5nOjIwcHgsXHJcbiAgbWFyZ2luOjAgLTFweCxcclxuICB0aGVtZS1jb2xvcjogI2ZmZixcclxuICBib3JkZXIgOiAxcHggc29saWQgI2RkZCxcclxuICAvL2JvcmRlci1yYWRpdXM6IDNweCxcclxuICAvL2JvcmRlci1yYWRpdXMtZi1sOiAzcHgsIC8vIOyyq+uyiOynuCDrp4jsp4Drp4kg67KE7Yq8IOy9lOuEiCByYWRpdXNcclxuICAvL2JvcmRlci1yaWdodCA6IG5vbmUsIC8vIOuyhO2KvOydtCDrtpnslrTsnojripQg6rK97JqwXHJcbiAgLy9ib3JkZXItc3R5bGU6ICggLy8gbGFzdC1jaGlsZOyXkCDsoIHsmqnrkKhcclxuICAvL1x0Ym9yZGVyLXJpZ2h0IDogXCIxcHggc29saWQgI2UxZTFlMVwiLFxyXG4gIC8vKSxcclxuXHJcbiAgZm9udC1zaXplOjE2cHgsXHJcbiAgZm9udC13ZWlnaHQ6NDAwLFxyXG4gIGxldHRlci1zcGFjaW5nOi0wLjA1ZW0sXHJcbiAgZm9udC1jb2xvcjojNzc3LFxyXG5cclxuICAvLyBob3ZlclxyXG4gIGhvdmVyLXRoZW1lLWNvbG9yOiNmZmYsXHJcbiAgLy8gaG92ZXItYm9yZGVyLWNvbG9yIDogI2RkZCxcclxuICBob3Zlci1jb2xvcjogIzAwMCxcclxuXHJcbiAgLy8gYWN0aXZlXHJcbiAgYWN0aXZlLXRoZW1lOiNmMmYyZjIsXHJcbiAgYWN0aXZlLWNvbG9yOiMwMDAsXHJcbiAgYWN0aXZlLXN0eWxlOiAoIC8vIOy7pOyKpO2FgOyaqVxyXG4gICAgLy9ib3JkZXItYm90dG9tOlwiMnB4IHNvbGlkICMwMjM4OGJcIixcclxuICAgIC8vZm9udC13ZWlnaHQ6Ym9sZCxcclxuICApLFxyXG5cclxuICAvLyBkaXNhYmxlZFxyXG4gIGRpbS1vcGFjaXR5IDogLjUsXHJcbiAgLy9kaXNhYmxlZC1zdHlsZTogKCAvLyDsu6TsiqTthYDsmqlcclxuICAvL1x0Ly/rsoTtirzsl5DshJzripQgbWFwLWhhcy1rZXnqsJLsnYQg7J207Jqp7ZW07IScIO2CpOqwkuydtCDsnofsnLzrqbQg66e17J2YIO2CpOqwkuqzvCDrsqjrpZjroZwg7Lac66ClXHJcbiAgLy9cdC8v7Y6Y7J207KeA64Sk7J207IWY7JeQ7ISc64qUIO2CpOqwkuydtCDsnojsnLzrqbQg7JWI7JeQIOuCtOyaqSDqt7jrjIDroZwg7Lac66ClLi5cclxuICAvL1x0Ly/qsrDqs7wg6rCS7J2AIOqwmeycvOuCmCBtaXhpbuuwqeuyleydtCDri6TrpbTri6Qg7ZiE7J6sXHJcbiAgLy9cdGJhY2tncm91bmQtY29sb3I6IzExMSxcclxuICAvL1x0Y29sb3I6ICMxMTEsXHJcbiAgLy9cdGJvcmRlci1ib3R0b206XCIycHggc29saWQgIzAyMzg4YlwiLFxyXG4gIC8vKSxcclxuICBhcnJvdy1ncm91cCA6IChcclxuICAgIHN0YXJ0IDogKCAvL+y7pOyKpO2FgFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfc3RhcnQucG5nKSxcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcclxuICAgICksXHJcbiAgICBwcmV2IDogKFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfcHJldi5wbmcpLFxyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxyXG4gICAgKSxcclxuICAgIG5leHQgOiAoXHJcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcclxuICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vcGFnaW5hdGlvbl9hcnJvd19uZXh0LnBuZyksXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXHJcbiAgICApLFxyXG4gICAgZW5kIDogKFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfZW5kLnBuZyksXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXHJcbiAgICApLFxyXG4gICksXHJcbik7XHJcblxyXG4vL190b29sdGlwXHJcbiRnX3Rvb2x0aXAtZ3JvdXAgOiAoIC8vIC50b29sdGlwID4gLnRvb2x0aXAtaW5uZXJcclxuICB0b3AgOiAtNDBweCxcclxuICBwYWRkaW5nOiAzcHggOHB4LFxyXG4gIGJhY2tncm91bmQtY29sb3I6IzAwMCxcclxuICBib3JkZXItcmFkaXVzOjNweCxcclxuICBmb250LXNpemU6MTNweCxcclxuICBsZXR0ZXItc3BhY2luZzotMC4wNWVtLFxyXG4gIGNvbG9yOiNmZmYsXHJcbiAgdGV4dC1hbGlnbjpjZW50ZXIsXHJcbiAgdHJhbnNpdGlvbi10aW1lIDogLjVzLFxyXG4gIG9wYWNpdHk6MCwgLy9ub3JtYWxcclxuICBzaG93LW9wYWNpdHk6LjksIC8vOmhvdmVy7J2865WMXHJcbiAgYXJyb3ctZ3JvdXAgOiAoIC8vIO2ItO2Mgeq8rOumrFxyXG4gIC8vICBsZWZ0IDogMCxcclxuICAvLyAgcmlnaHQgOiAwLFxyXG4gICAgY2VudGVyOiA1MCUsXHJcbiAgICBhcnJvdy13aWR0aDo1cHggNXB4IDAsXHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwLFxyXG4gICksXHJcbik7XHJcblxyXG4vL190YWJcclxuJGdfdGFiLWdyb3VwIDogKCAvLyAudGFiLXdyYXAgPiAudGFiLWxpc3Qub25cclxuICAvLyDslYTrnpjsl5Ag6rO17Ya167aA67aEIHN1Yi1jbGFzc2luZyDquLDspIDsnLzroZwg7JWI7JeQ7IScIOyDgeyGjeuwm+uKlOqxuOuhnCDrgpjriKDsp4DripQg7J207IqI7LK07YGsXHJcbiAgZmxvYXQ6bGVmdCxcclxuICBkaXNwbGF5OmlubGluZS1ibG9jayxcclxuICB3aWR0aDo1MCUsXHJcbiAgcGFkZGluZzoxOHB4LFxyXG4gIHRoZW1lLWNvbG9yOiAjZmZmLFxyXG4gIGJvcmRlcjoxcHggc29saWQgI2UxZTFlMSxcclxuICBmb250LWNvbG9yOiAjODg4LFxyXG4gIGZvbnQtd2VpZ2h0OjQwMCxcclxuICBmb250LXNpemU6IDE3cHgsXHJcbiAgdGV4dC1hbGlnbjpjZW50ZXIsXHJcbiAgLy8gbGV0dGVyLXNwYWNpbmc6LTAuMDNlbSxcclxuXHJcbiAgc3ViLWNsYXNzaW5nIDogKCAvLyDsnoXroKXtlZjripTrjbDroZxcclxuICAgIHN0eWxlIDogKCAvLyDrhKTrqqjtg61cclxuICAgICAgbWFyZ2luOjVweCxcclxuICAgICAgYm9yZGVyOjFweCBzb2xpZCAjMDAwLFxyXG4gICAgKSxcclxuICAgIHN0eWxlMSA6ICggLy8g7J2866Cs7YOtXHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFlMWUxLFxyXG4gICAgKSxcclxuICApLFxyXG5cclxuICBhY3RpdmUgOiAoIC8vIOyeheugpe2VmOuKlOuNsOuhnFxyXG4gICAgYm9yZGVyLWNvbG9yOiAkZ19jb2xvcixcclxuICAgIGJhY2tncm91bmQtY29sb3I6JGdfY29sb3IsXHJcbiAgICBjb2xvcjojZmZmLFxyXG4gICAgZm9udC13ZWlnaHQ6NDAwLFxyXG5cclxuICApLFxyXG5cclxuICAvL+uvuOuUlOyWtOy/vOumrFxyXG4gIG1lZGlhOiAoXHJcbiAgICBtZDogKCAvLyDsnoXroKXtlZjripTrjbDroZxcclxuICAgICAgd2lkdGg6MjUlLFxyXG4gICAgKVxyXG4gIClcclxuKTtcclxuLy9fc2VhcmNoYmFyXHJcblxyXG4vL18gY2FyZFxyXG5cclxuIiwiLy8gVG9nZ2xlc1xyXG4vL1xyXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cclxuXHJcbkBpbXBvcnQgXCJtaXhpbnMvX21lZGlhLXF1ZXJ5XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX21hcFwiO1xyXG5cclxuLy8gVXRpbGl0aWVzXHJcbi8vQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19jbGVhclwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19mbG9hdFwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19ob3ZlclwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcclxuQGltcG9ydCBcIm1peGlucy9fc2NyZWVucmVhZGVyXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9zaXplXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3Jlc2V0LXRleHRcIjtcclxuQGltcG9ydCBcIm1peGlucy9fcHJlZml4ZXJcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvdHJhbnNmb3Jtc1wiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xyXG5cclxuLy8gLy8gQ29tcG9uZW50c1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcclxuQGltcG9ydCBcIm1peGlucy9fdHJpYW5nbGVcIjtcclxuQGltcG9ydCBcIm1peGlucy9fYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL2NhcmRzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3BhZ2luYXRpb25cIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19mb3Jtc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlc1wiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3RhYlwiO1xyXG5cclxuLy8gLy8gU2tpbnNcclxuLy9AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19ib3JkZXItcmFkaXVzXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcclxuXHJcbi8vIC8vIExheW91dFxyXG4vLyBAaW1wb3J0IFwibWl4aW5zL25hdmJhci1hbGlnblwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcclxuQGltcG9ydCBcIm1peGlucy9fYXJlYVwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19ncmlkXCI7XHJcbiIsIi8vIG1lZGlhLXF1ZXJ5LW1pbiDrr7nsiqTsnbhcclxuLy8gW+unpOqwnOuzgOyImF1cclxuLy8gJGJyZWFrcG9pbnQg6riw67O46rCSOiDsl4bsnYxcclxuLy8gJGJyZWFrcG9pbnQg7JeQIOqwgOyaqeqwgOuKpe2VnCDqsJJcclxuLy8gKDEpICRtZWRpYS1icmVha3BvaW50cyDsnZgg7YKkIOqwkiAoeHMsIHNtLCBtZCwgbGcsIHhsICnspJEg7ZWY64KYXHJcbi8vICgyKSDqs6DsoJUgcHjqsJJcclxuLy8gJGJyZWFrcG9pbnQg7KCE64us65CcIOqwkuyXkCDrlLDrnbzshJwgQG1lZGlhKG1pbi13aWR0aDogXCLrp6TqsJzrs4DsiJjsl5Ag7ZW064u57ZWY64qUIOqwklwiKSDshYvtjIXtlbTspI3ri4jri6QuXHJcbi8vICRicmVha3BvaW50IOqwkuydhCDtlL3shYDroZwg64Sj64qU64uk66m0IO2VtOuLuSDtlL3shYDqsJLsnZgg66+465SU7Ja07L+866as66W8IOunjOuTpOyWtCDspI3ri4jri6QuXHJcbi8vIGV4KSBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHsgQGNvbnRlbnQgfVxyXG4vLyBleCkgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKDUwMHB4KSB7IEBjb250ZW50IH1cclxuQG1peGluIG1lZGlhLXF1ZXJ5LW1pbiggJGJyZWFrcG9pbnQgKSB7XHJcbiAgQGlmIG1hcF9oYXNfa2V5KCAkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQgKXtcclxuICAgIEBpZiAgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcclxuICAgICAgQGNvbnRlbnRcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwX2dldCgkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgICAgQGNvbnRlbnRcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiB1bml0KCRicmVha3BvaW50KSA9PSBcInB4XCIge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQpeyAgQGNvbnRlbnQgIH1cclxuICB9XHJcbn1cclxuQG1peGluIG1lZGlhLXF1ZXJ5LW1heCggJGJyZWFrcG9pbnQgKSB7XHJcbiAgQGlmIG1hcF9oYXNfa2V5KCAkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQgKXtcclxuICAgIEBpZiAgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcclxuICAgICAgQGNvbnRlbnRcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwX2dldCgkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgICAgQGNvbnRlbnRcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiB1bml0KCRicmVha3BvaW50KSA9PSBcInB4XCIge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQpeyAgQGNvbnRlbnQgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBtZWRpYS1xdWVyeS1taW4tdmFsIO2VqOyImFxyXG4vLyDsoITsl63rs4DsiJggJG1lZGlhLWJyZWFrcG9pbnRzIG1hcOydmCB2YWx1ZeulvCDrsJjtmZjtlbQg7KSN64uI64ukLlxyXG4vLyDso7zroZwgZWFjaCDrrLjqs7wg6rCZ7J2AIGxvb3Ag66y47JeQ7IScIO2ZnOyaqeuQqeuLiOuLpC5cclxuLy8gZXgpXHJcbi8vIEBlYWNoICRicmVha3BvaW50IGluIG1hcF9rZXlzKCRtZWRpYS1icmVha3BvaW50cykge1xyXG4vLyAgICRwb2ludDogbWVkaWEtcXVlcnktbWluLXZhbCgkYnJlYWtwb2ludCk7XHJcbi8vICAgQG1lZGlhICggbWluLXdpZHRoOiAjeyRwb2ludH0gKXtcclxuLy8gICAgIC4jeyRicmVha3BvaW50fS1mLWwgeyBAaW5jbHVkZSBmbG9hdC1sZWZ0IH1cclxuLy8gICAgIC4jeyRicmVha3BvaW50fS1mLXIgeyBAaW5jbHVkZSBmbG9hdC1yaWdodCB9XHJcbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1uIHsgQGluY2x1ZGUgZmxvYXQtbm9uZSB9XHJcbi8vICAgfVxyXG4vLyB9XHJcbkBmdW5jdGlvbiBtZWRpYS1xdWVyeS1taW4tdmFsKCAkYnJlYWtwb2ludCApe1xyXG4gIEByZXR1cm4gbWFwX2dldCgkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiIsIkBmdW5jdGlvbiBtYXAtc2V0KCRtYXAsICRrZXksICR2YWx1ZSkge1xyXG4gICRuZXc6ICgka2V5OiAkdmFsdWUpO1xyXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRtYXAsICRuZXcpO1xyXG59XHJcblxyXG5cclxuLy9wcmVmaXgg7KCc6rGwXHJcbi8v7YOc6re47J2066aELCDsho3shLEsIOyVhOydtOuUlCDrk7EgIOyFgOugie2EsCDqsIDriqXrj4TroZ1cclxuQGZ1bmN0aW9uIG1ha2VNYXBUb0NvZGVzKCRtYXAsICRwcmVmaXg6IFwiXCIsICRzZWxmOiBmYWxzZSkge1xyXG4gICRjb2RlcyA6ICgpO1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XHJcbiAgICBAaWYgKCB0eXBlLW9mKCR2YWwpID09IG1hcCApIHtcclxuXHJcbiAgICAgIEBpZiAoJGtleSA9PSBcIiZcIikge1xyXG4gICAgICAgICRtYWtlOiBtYWtlTWFwVG9Db2RlcygkdmFsLCBcIlwiLCB0cnVlKTtcclxuICAgICAgICAkY29kZXM6IG1hcC1tZXJnZSgkY29kZXMsICRtYWtlKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHNlbGVjdG9yOiBcIi4jeyRwcmVmaXh9I3ska2V5fVwiO1xyXG5cclxuICAgICAgICBAaWYgKCRzZWxmKSB7XHJcbiAgICAgICAgICAkc2VsZWN0b3IgOiBcIiYjeyRwcmVmaXh9I3ska2V5fVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkbWFrZTogbWFrZU1hcFRvQ29kZXMoJHZhbCwgJHByZWZpeCk7XHJcbiAgICAgICAgJGNvZGVzOiBtYXAtc2V0KCRjb2RlcywgJHNlbGVjdG9yLCAkbWFrZSk7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGNvZGVzOiBtYXAtc2V0KCRjb2RlcywgJGtleSwgJHZhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJGNvZGVzO1xyXG59O1xyXG5cclxuXHJcbkBtaXhpbiBwcmludENvZGVzKCRtYXApIHtcclxuXHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcclxuICAgXHJcbiAgICBAaWYgKCB0eXBlLW9mKCR2YWwpID09IG1hcCApIHtcclxuICAgICAgI3ska2V5fSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkdmFsKTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICN7JGtleX0gOiAjeyR2YWx9O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG4vLyBpc01hcCDtlajsiJhcclxuLy8gI3trZXl9IDogI3t2YWx1ZX3snZgg7ZiV7YOc66W8IOumrO2EtO2VtOyjvOuKlCDtlajsiJhcclxuLy8gaXNNYXAoJHZhbCwgJGtleSk7XHJcbi8vIGlzTWFwIO2VqOyImOyXkOyEnCDsnbjsnpDroZwg64SY7Ja07JioICckdmFsJ+yXkCDtlaDri7nrkJwg6rCS7J20IG1hcOydtOudvOuptCBpc21hcO2VqOyImOulvCDsnqzqt4DtmLjstpwg7ZWc64ukLlxyXG4vLyDsmIjsmbjsoIHsnLzroZwg7YKk6rCS7J20IFwiX1wiIOudvOuptCBpc1BzZXVkb+ulvCDtmLjstpztlZzri6QuXHJcbi8vIOy1nOyiheyggeycvOuhnCAje2tleX0gOiAje3ZhbHVlfeydmCDqsJLsnYQg66as7YS07ZWY64+E66GdIOunjOuToOuLpC5cclxuXHJcbi8vaXNQc2V1ZG8g7ZWo7IiYXHJcbi8v6rCA7IOBIOyEoO2DneyekOulvCDrp4zrk6TslrQg66as7YS07ZW07KO864qUIO2VqOyImFxyXG4vL1xyXG5cclxuXHJcbi8vQGZ1bmN0aW9uIGlzTWFwICgkdmFsLCAka2V5KSB7XHJcbi8vICAkcmVzdWx0IDogKCk7XHJcbi8vXHJcbi8vICBAaWYgKHR5cGUtb2YoJHZhbCkgPT0gbWFwKSB7XHJcbi8vICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuLy8gICAgICBAaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBudWxsKSB7XHJcbi8vICAgICAgICAkbWFwIDogaXNNYXAoJHZhbDIsICRrZXkyKTtcclxuLy8gICAgICAgICRtYXBrZXkgOiBtYXAta2V5cygkbWFwKTtcclxuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJG1hcGtleSwgbWFwLWdldCgkbWFwLCAjeyRtYXBrZXl9KSk7XHJcbi8vICAgICAgfSBAZWxzZSBpZiAodHlwZS1vZigkdmFsMikgPT0gbWFwIGFuZCAka2V5ID09IFwiX1wiKXtcclxuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJGtleTIsIGlzTWFwKCR2YWwyLCAka2V5MikpO1xyXG4vLyAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAka2V5MiwgJHZhbDIpO1xyXG4vLyAgICAgIH1cclxuLy8gICAgfVxyXG4vLyAgfSBAZWxzZSB7XHJcbi8vICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJHZhbCwgJGtleSk7XHJcbi8vICB9XHJcbi8vXHJcbi8vICBAcmV0dXJuICRyZXN1bHQ7XHJcbi8vfTtcclxuXHJcblxyXG4vL0BmdW5jdGlvbiBpc1BzZXVkbyAoJGtleSwgJHZhbCkge1xyXG4vLyAgJHJlc3VsdDogbnVsbDtcclxuLy8gIEBpZiAoJGtleSA9PSBcIl9cIikge1xyXG4vLyAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XHJcbi8vICAgICAgJHJlc3VsdDogaXNNYXAoJGtleTIsICR2YWwyKTtcclxuLy8gICAgICBAcmV0dXJuIGlzTWFwKCRrZXkyLCAkdmFsMik7XHJcbi8vICAgIH1cclxuLy8gIH0gQGVsc2UgIHtcclxuLy8gICAgJHJlc3VsdDogaXNNYXAoJGtleSwgJHZhbCk7XHJcbi8vICAgIEByZXR1cm4gJHJlc3VsdDtcclxuLy8gIH1cclxuLy99O1xyXG5cclxuXHJcbiIsIkBtaXhpbiBjbGVhcigpIHtcclxuICAmOjphZnRlciB7XHJcbiAgICAgY29udGVudDogXCJcIjtcclxuICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICBjbGVhcjogYm90aDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuXHJcbiIsIkBtaXhpbiBmbG9hdC1sZWZ0IHtcclxuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG59XHJcbkBtaXhpbiBmbG9hdC1yaWdodCB7XHJcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1peGluIGZsb2F0LW5vbmUge1xyXG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiQG1peGluIGhvdmVyLW9ue1xyXG4gICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlLCAmLm9ueyBAY29udGVudDsgfVxyXG59XHJcblxyXG5AbWl4aW4gaG92ZXJ7XHJcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUgeyBAY29udGVudDsgfVxyXG59XHJcblxyXG4vL1xyXG4vL0BtaXhpbiBob3ZlciB7XHJcbi8vICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cclxuLy99XHJcbi8vXHJcbi8vQG1peGluIGhvdmVyLWZvY3VzIHtcclxuLy8gICY6aG92ZXIsXHJcbi8vICAmOmZvY3VzIHtcclxuLy8gICAgQGNvbnRlbnQ7XHJcbi8vICB9XHJcbi8vfVxyXG4vL1xyXG4vL0BtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbi8vICAmLFxyXG4vLyAgJjpob3ZlcixcclxuLy8gICY6Zm9jdXMge1xyXG4vLyAgICBAY29udGVudDtcclxuLy8gIH1cclxuLy99XHJcbi8vXHJcbi8vQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XHJcbi8vICAmOmhvdmVyLFxyXG4vLyAgJjpmb2N1cyxcclxuLy8gICY6YWN0aXZlIHtcclxuLy8gICAgQGNvbnRlbnQ7XHJcbi8vICB9XHJcbi8vfSIsIi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxyXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cclxuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cclxuQG1peGluIHNyLW9ubHkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5AbWl4aW4gdGV4dC1oaWRlIHtcclxuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xyXG4gIGxpbmUtYnJlYWs6IGF1dG87XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcclxuICB0ZXh0LWFsaWduOiBzdGFydDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICB3b3JkLWJyZWFrOiBub3JtYWw7XHJcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XHJcbn1cclxuIiwiLy8gLyogcHJlZml4ICovXHJcbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzOigpKXtcclxuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlc3tcclxuICAgICN7Jy0nKyRwcmVmaXgrJy0nKyRwcm9wZXJ0eX06JHZhbHVlO1xyXG4gIH1cclxuICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7XHJcbn1cclxuXHJcbiAgLy8gQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCByb3RhdGUoNDVkZWcpLCB3ZWJraXQgbXMpOyBvciAoXCJ3ZWJraXRcIiwgXCJtb3pcIilcclxuXHJcbiAvL2Nzc1xyXG4gIC8vIC5zZWxlY3RvciB7XHJcbiAgLy8gICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAvLyAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgLy8gICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgLy8gfVxyXG5cclxuIiwiQG1peGluIHRyaWFuZ2xlKCRkaXJlY3Rpb24sJHdpZHRoLCRoZWlnaHQsJHdpZHRoU2l6ZSwkaGVpZ2h0U2l6ZSwkY29sb3IpIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIGhlaWdodDogJHdpZHRoO1xyXG4gICAgd2lkdGg6ICRoZWlnaHQ7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgQGlmICR3aWR0aCA9PSAwIHtcclxuICAgICAgICBAaWYgJHdpZHRoID09IDAgYW5kICRoZWlnaHQgPT0gMCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgKCR3aWR0aFNpemUgLyAyKSAkaGVpZ2h0U2l6ZTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJ1cC1yaWdodFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAkd2lkdGhTaXplICR3aWR0aFNpemUgMDtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogKCRoZWlnaHRTaXplIC8gMikgMCAoJGhlaWdodFNpemUgLyAyKSAkd2lkdGhTaXplO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd24tcmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAkd2lkdGhTaXplICR3aWR0aFNpemU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93blwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodFNpemUgKCR3aWR0aFNpemUgLyAyKSAwO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd24tbGVmdFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoU2l6ZSAwIDAgJHdpZHRoU2l6ZTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodFNpemUgLyAyKSAkd2lkdGhTaXplICgkaGVpZ2h0U2l6ZSAvIDIpIDA7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidXAtbGVmdFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoU2l6ZSAkd2lkdGhTaXplIDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9QGVsc2Uge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yICRjb2xvciB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgJHdpZHRoU2l6ZSAkaGVpZ2h0U2l6ZSAwO1xyXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IFwidXBcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTEzNWRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidXAtcmlnaHRcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd24tcmlnaHRcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93blwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93bi1sZWZ0XCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidXAtbGVmdFwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC5lbGVtZW50IHtcclxuLy8gICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4vLyAgICAgJjo6YmVmb3JlIHtcclxuLy8gICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShcInVwLWxlZnRcIiwgMCwwLDEwcHgsMTBweCwgI2IyNWM5Yyk7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuLy8gLmVsZW1lbnQyIHtcclxuLy8gICAgIGxlZnQ6MjBweDtcclxuLy8gICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4vLyAgICAgJjo6YmVmb3JlIHtcclxuLy8gICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShcInVwLWxlZnRcIiwgOHB4LDhweCwycHgsMnB4LCAjYjI1YzljKTtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLy8gY3NzXHJcbi8vIC5lbGVtZW50MiB7XHJcbi8vICAgICBjb250ZW50OiBcIlwiO1xyXG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gICAgIGhlaWdodDogOHB4O1xyXG4vLyAgICAgd2lkdGg6IDhweDtcclxuLy8gICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2IyNWM5YyAjYjI1YzljIHRyYW5zcGFyZW50O1xyXG4vLyAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcclxuLy8gICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbi8vIH1cclxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXHJcbi8vIOuyhO2KvCDsgqzsnbTspojrs4Qg7IOd7ISxXHJcbkBtaXhpbiBidXR0b24tc2l6ZS1weCgkYnRuLXNpemUgOiAkZ19idG4tc2l6ZSkge1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRidG4tc2l6ZSl7XHJcbiAgICBAaWYgKCRrZXkgPT0gZGVmYXVsdF92YWx1ZSkge1xyXG4gICAgICAlZGVmYXVsdF92YWx1ZSB7XHJcbiAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xyXG4gICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIC5idG4tI3ska2V5fSB7XHJcbiAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xyXG4gICAgICAgICAgQGlmICgka2V5MiA9PSBtZWRpYSkge1xyXG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xyXG4gICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IEBlbHNle1xyXG4gICAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDslYjsl5Ag7LaU6rCAIGNsYXNzIOyDneyEsVxyXG4gICAgICAgICAgICAgIC4jeyRrZXkyfSB7XHJcbiAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2UgeyAvLyBvbmUgZGVwdGggY2xhc3Mg67KE7Yq8XHJcbiAgICAgICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnRuLWRpc2FibGVkKCkge1xyXG4gICYuZGlzYWJsZWQge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8g67KE7Yq8IOyKpO2DgOydvCDshKTsoJXtlbTso7zquLBcclxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYnRuLWdyb3VwIDogJGdfYnRuLWdyb3VwKXtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICRidG4tZ3JvdXAge1xyXG4gICAgLmJ0bi0jeyRrZXl9LFxyXG4gICAgLmJ0bi0jeyRrZXl9OnZpc2l0ZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwsIHRoZW1lLWNvbG9yKTtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJHZhbCwgZm9udC1jb2xvcik7XHJcbiAgICAgIGJvcmRlcjogbWFwLWdldCgkdmFsLCBib3JkZXIpO1xyXG4gICAgICBib3JkZXItcmFkaXVzIDogbWFwLWdldCgkdmFsLCBib3JkZXItcmFkaXVzKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLW9uIHtcclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbCwgaG92ZXItdGhlbWUtY29sb3IpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCR2YWwsIGhvdmVyLXRoZW1lLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oIG1hcC1nZXQoJHZhbCwgdGhlbWUtY29sb3IpLCAxNSUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbCwgaG92ZXItY29sb3IpIHtcclxuICAgICAgICAgIGNvbG9yOm1hcC1nZXQoJHZhbCwgaG92ZXItY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICBjb2xvcjptYXAtZ2V0KCR2YWwsIGZvbnQtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHZhbCwgaG92ZXItYm9yZGVyKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnRuLWRpc2FibGVkIHtcclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbCwgZGlzYWJsZWQtZ3JvdXApIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQobWFwLWdldCgkdmFsLCBkaXNhYmxlZC1ncm91cCksZGltLXRoZW1lLWNvbG9yKTtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJHZhbCwgZGlzYWJsZWQtZ3JvdXApLCBkaW0tY29sb3IpO1xyXG4gICAgICAgICAgb3BhY2l0eTogbWFwLWdldChtYXAtZ2V0KCR2YWwsIGRpc2FibGVkLWdyb3VwKSwgZGltLW9wYWNpdHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICBvcGFjaXR5Oi42NTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIG1ha2UtY2FyZC1zZXQoJGNhcmQtaW5mbykge1xyXG4gICVjYXJkLXdyYXB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkY2FyZC1pbmZvIHtcclxuICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgQGlmICRrZXkyID09IFwid3JhcFwiIHtcclxuICAgICAgICAuY2FyZC0jeyRrZXkyfS0jeyRrZXl9IHtcclxuICAgICAgICAgIEBleHRlbmQgJWNhcmQtd3JhcDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHZhbDIsIG1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XHJcbiAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHZhbDIsIGJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAka2V5MiA9PSBcImhlYWRlclwiIHtcclxuICAgICAgICAuY2FyZC13cmFwLSN7JGtleX17XHJcbiAgICAgICAgICAuY2FyZC0jeyRrZXkyfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHZhbDIsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcclxuICAgICAgICAgICAgICAjeyRrZXkzfTogI3skdmFsM307XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCR2YWwyLCBmb250LXNpemUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLmNhcmQtd3JhcC0jeyRrZXl9e1xyXG4gICAgICAgICAgLmNhcmQtI3ska2V5Mn0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIOuLpCDrgpjriITqs6Ag7ZWY64KY66GcIO2Vqey5mOuKlOqyjCDsoovsp4Ag7JWK7J2E6rmMPz8/Pz8/P1xyXG4vLyDsg4Hsho3snZgg6rOE64WQ7J2EIOyggeyaqe2VtOyVvCDtlZjripTqsIA/P1xyXG4vLyDsg4Hsho3snYQg7KCB7Jqp7ZWY66m0IOy9lOuTnOqwgCDsobDquIgg67O17J6h7ZW07KeI65OvXHJcbi8vIOyVhOyYiCB3cmFwLCBoZWFkZXIsIGJvZHksIGZvb3RlciDrgpjriITripTrjZjsp4AsIOyngOq4iOyymOufvCDsspjrpqztlZjripTqsowg64KY7J2E65OvXHJcbiIsIi8vIFBhZ2luYXRpb25cclxuQG1peGluIHBhZ2luYXRpb24tbGlua3MoJHBhZ2UtaXRlbSl7XHJcbiAgd2lkdGg6bWFwLWdldCgkcGFnZS1pdGVtLCB3aWR0aCk7XHJcbiAgaGVpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgaGVpZ2h0KTtcclxuICBsaW5lLWhlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhlaWdodCk7IC8vIGhlaWdodOqwkuqzvCDrj5nsnbxcclxuXHJcbiAgLy9wYWRkaW5nOm1hcC1nZXQoJHBhZ2UtaXRlbSwgcGFkZGluZyk7IC0+IOyCreygnOyYiOyglSDrs7TrpZguLlxyXG4gIG1hcmdpbjptYXAtZ2V0KCRwYWdlLWl0ZW0sIG1hcmdpbik7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgdGhlbWUtY29sb3IpO1xyXG4gIGJvcmRlcjogbWFwLWdldCgkcGFnZS1pdGVtLCBib3JkZXIpO1xyXG4gIGJvcmRlci1yaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGJvcmRlci1yaWdodCk7XHJcblxyXG4gIGJvcmRlci1yYWRpdXM6bWFwLWdldCgkcGFnZS1pdGVtLCBib3JkZXItcmFkaXVzKTtcclxuICBmb250LXNpemU6bWFwLWdldCgkcGFnZS1pdGVtLCBmb250LXNpemUpO1xyXG4gIGZvbnQtd2VpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC13ZWlnaHQpO1xyXG4gIGxldHRlci1zcGFjaW5nOm1hcC1nZXQoJHBhZ2UtaXRlbSwgbGV0dGVyLXNwYWNpbmcpO1xyXG4gIGNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC1jb2xvcik7XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkcGFnZS1pdGVtLCBob3Zlci10aGVtZS1jb2xvcikge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSxob3Zlci10aGVtZS1jb2xvcik7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKCBtYXAtZ2V0KCRwYWdlLWl0ZW0sIHRoZW1lLWNvbG9yKSwgMTUlKTtcclxuICAgIH1cclxuICAgIGNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSwgaG92ZXItY29sb3IpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRwYWdlLWl0ZW0sIGhvdmVyLWJvcmRlci1jb2xvcik7XHJcbiAgfVxyXG5cclxufVxyXG4vLyDslaHti7DruIwg65Cg7IucXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWFjdGl2ZSgkcGFnZS1hY3RpdmUtaXRlbSl7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLCBhY3RpdmUtdGhlbWUpO1xyXG4gIGNvbG9yOm1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sYWN0aXZlLWNvbG9yKTtcclxuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sYWN0aXZlLXN0eWxlKSl7XHJcbiAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgfVxyXG59XHJcbi8vIOuUpCDrkKDsi5xcclxuQG1peGluIHBhZ2luYXRpb24tZGlzYWJsZWQoJHBhZ2UtZGlzYWJsZWQtaXRlbSl7XHJcbiAgb3BhY2l0eTptYXAtZ2V0KCRwYWdlLWRpc2FibGVkLWl0ZW0sIGRpbS1vcGFjaXR5KTtcclxuICBwb2ludGVyLWV2ZW50czpub25lO1xyXG4gIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAobWFwLWdldCgkcGFnZS1kaXNhYmxlZC1pdGVtLGRpc2FibGVkLXN0eWxlKSl7XHJcbiAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgfVxyXG59XHJcblxyXG4vLyDsspjsnYwg7J207KCEIOuLpOydjCDrgZ0gYXJyb3cg6rSA66CoIOy7pOyKpO2FgFxyXG5AbWl4aW4gcGFnaW5hdGlvbi1hcnJvd3MoJHBhZ2UtYXJyb3ctc3R5bGUpIHtcclxuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHBhZ2UtYXJyb3ctc3R5bGUge1xyXG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gIH1cclxufSIsIkBtaXhpbiBtYWtlLWZvcm0td3JhcCggJGZvcm0td3JhcC1pbmZvIDogJGdfZm9ybS13cmFwICkge1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRmb3JtLXdyYXAtaW5mbyl7XHJcbiAgICBAaWYgKCRrZXkgPT0gZGVmYXVsdF92YWx1ZSkge1xyXG4gICAgICAlZGVmYXVsdF92YWx1ZSB7XHJcbiAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xyXG4gICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIC5mb3JtLXdyYXAtI3ska2V5fSB7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkZm9ybS13cmFwLWluZm8sIGRlZmF1bHRfdmFsdWUpKSB7XHJcbiAgICAgICAgICBAZXh0ZW5kICVkZWZhdWx0X3ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCR2YWwsIG1lZGlhKSkge1xyXG4gICAgICAgICAgJG1lZGlhOiBtYXBfZ2V0KCR2YWwsIG1lZGlhKTtcclxuICAgICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkbWVkaWEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTIpIHtcclxuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsIHtcclxuICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2Rlcygka2V5Myk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC8q7YWN7Iqk7Yq4IOuwleyKpCovXHJcbkBtaXhpbiBtYWtlLWZpZWxkLWRlZmF1bHQoKSB7XHJcbiAgJWZpZWxkLWJhc2Uge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGdfZmllbGQtc3R5bGUpIHtcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IHNlbGVjdCxcclxuICAgIC5maWVsZC0jeyRrZXl9IHRleHRhcmVhe1xyXG4gICAgICBAZXh0ZW5kICVmaWVsZC1iYXNlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCR2YWwsIG1heC13aWR0aCk7XHJcbiAgICAgIGhlaWdodDogbWFwLWdldCgkdmFsLCBpbnB1dC1oZWlnaHQpO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCR2YWwsIG1hcmdpbi1ib3R0b20pO1xyXG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwsIGlucHV0LXBhZGRpbmcpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwsIGlucHV0LWJnKTtcclxuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluIG1hcC1nZXQoJHZhbCwgYm9yZGVyLXN0eWxlKSB7XHJcbiAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gICAgICB9XHJcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsLCBmb250LXNpemUpO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkdmFsLCBsZXR0ZXItc3BhY2luZyk7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIGZvbnQtY29sb3IpO1xyXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbCwgZm9jdXMtc3R5bGUpIHtcclxuICAgICAgICAkZm9jdXMtc3R5bGU6IG1hcC1nZXQoJHZhbCwgZm9jdXMtc3R5bGUpO1xyXG4gICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkZm9jdXMtc3R5bGUge1xyXG4gICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJidXR0b25cIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcclxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIHBsYWNlaG9sZGVyLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHZhbCwgcGxhY2Vob2xkZXItY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHZhbCwgcGxhY2Vob2xkZXItY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLSN7JGtleX0ubm8tdW5kZXJsaW5lIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtYWtlLXRleHQtYXJlYSgka2V5KTtcclxuICAgIEBpbmNsdWRlIG1ha2Utc2VsZWN0Ym94KCRrZXkpO1xyXG5cclxuICB9XHJcbn1cclxuQG1peGluIG1ha2UtdGV4dC1hcmVhKCRzdHlsZSkge1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX3RleHQtYXJlYS1zdHlsZSkge1xyXG4gICAgQGlmICgkc3R5bGUgPT0gJGtleSkge1xyXG4gICAgICAuZmllbGQtI3skc3R5bGV9IHRleHRhcmVhe1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkdmFsLCB0ZXh0LWFyZWEtaGVpZ2h0KTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwsIHRleHQtYXJlYS1wYWRkaW5nKTtcclxuICAgICAgICByZXNpemU6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC8q7IWA66CJ7Yq4IOuwleyKpCovXHJcbkBtaXhpbiBtYWtlLXNlbGVjdGJveCgkc3R5bGUpIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZ19zZWxlY3Qtc3R5bGUpIHtcclxuICAgIEBpZiAoJHN0eWxlID09ICRrZXkpIHtcclxuICAgICAgLmZpZWxkLSN7JHN0eWxlfSBzZWxlY3R7XHJcbiAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsKTtcclxuICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gLyrsnbTrr7jsp4Ag7LK07YGsICYg652865SU7JikKi9cclxuQG1peGluIG1ha2UtY2hlY2tib3gtaW1nKCAkY2hlY2stYm94LWluZm86ICRnX2NoZWNrLWJveC1pbWcgKSB7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGNoZWNrLWJveC1pbmZvKSB7XHJcbiAgICAuY2tieC0jeyRrZXl9e1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkdmFsLCBtYXJnaW4tcmlnaHQpO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIC5jdXN0b20tY2hlY2tlZCB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHZhbCwgd2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkdmFsLCBoZWlnaHQpO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkdmFsLCBib3gtbWFyZ2luLXJpZ2h0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBtYXAtZ2V0KCR2YWwsIGJveC1pbWcpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICAgfVxyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsLCBmb250LXNpemUpO1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcclxuICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbWFwLWdldCgkdmFsLCBib3gtaW1nLW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICNlZWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gLyrtg5zqt7gg7LK07YGsJiDrnbzrlJTsmKQqL1xyXG5AbWl4aW4gbWFrZS1jaGVja2JveC10YWcoICRjaGVjay1ib3gtaW5mbzogJGdfY2hlY2stYm94LXRhZyApIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkY2hlY2stYm94LWluZm8pIHtcclxuICAgIC8v67OA7IiYXHJcbiAgICAkd2lkdGg6IG1hcC1nZXQoJHZhbCwgd2lkdGgpO1xyXG4gICAgJGhlaWdodDogbWFwLWdldCgkdmFsLCBoZWlnaHQpO1xyXG4gICAgJGJveC1tYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAkY2hlY2std2lkdGg6ICR3aWR0aCAvIDI7XHJcbiAgICAkY2hlY2staGVpZ2h0OiAkaGVpZ2h0IC8gMjtcclxuXHJcbiAgICAvL+2VtOuLueqwkuydtCDsnojripTsp4Ag7LK07YGsXHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbCwgYm94LW1hcmdpbi1yaWdodCkge1xyXG4gICAgICAkYm94LW1hcmdpbi1yaWdodDogbWFwLWdldCgkdmFsLCBib3gtbWFyZ2luLXJpZ2h0KVxyXG4gICAgfVxyXG4gICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGNoZWNrZWQtd2lkdGgpIHtcclxuICAgICAgJGNoZWNrLXdpZHRoOiBtYXAtZ2V0KCR2YWwsIGNoZWNrZWQtd2lkdGgpXHJcbiAgICB9XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbCwgY2hlY2tlZC1oZWlnaHQpIHtcclxuICAgICAgJGNoZWNrLWhlaWdodDogbWFwLWdldCgkdmFsLCBjaGVja2VkLWhlaWdodClcclxuICAgIH1cclxuICAgIC5ja2J4LSN7JGtleX17XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCR2YWwsIG1hcmdpbi1yaWdodCk7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbWluLXdpZHRoOiAkd2lkdGg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbCwgYm94LWJnKTtcclxuICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHZhbCwgYm94LW91dGxpbmUpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHZhbCwgYm94LXJhZGl1cyk7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCB0cmFuc2xhdGVZKC01MCUpLCB3ZWJraXQpO1xyXG4gICAgICB9XHJcbiAgICAgID4gKiB7XHJcbiAgICAgICAgLy8gdmVydGljYWwtYWxpZ246IHRleHQtdG9wOyDqsozsi5ztjJAg6riA7JOw6riwIOu5hOuwgOq4gOyXkOyEnCDquajsoLjshJwg7Jqw7ISgIOyjvOyEneyymOumrFxyXG4gICAgICB9XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCR2YWwsIGZvbnQtc2l6ZSkgO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGJveC1tYXJnaW4tcmlnaHQgKyAkd2lkdGg7XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxyXG4gICAgICAgICZbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIGxlZnQ6ICgkd2lkdGggLSAkY2hlY2std2lkdGgpIC8gMiA7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgd2lkdGg6ICRjaGVjay13aWR0aDtcclxuICAgICAgICAgIGhlaWdodDogJGNoZWNrLWhlaWdodDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbCwgY2hlY2tlZC1jb2xvcik7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwsIGJveC1yYWRpdXMpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCB0cmFuc2xhdGVZKC01MCUpLCB3ZWJraXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgICAmLmRpc2FibGVke1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjZWVlO1xyXG4gICAgICAgIGxhYmVsOmJlZm9yZXtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2VlZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5jaXJjbGU6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgJi5jaXJjbGUgaW5wdXQge1xyXG4gICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcclxuICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8vcnAtdGFibGVcclxuQG1peGluIG1ha2UtcnAtdGFibGUoJHJwLXRhYmxlLWluZm8pIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkcnAtdGFibGUtaW5mbyl7XHJcbiAgICBAaWYgKCRrZXkgPT0gZGVmYXVsdF92YWx1ZSkge1xyXG4gICAgICAlZGVmYXVsdF92YWx1ZSB7XHJcbiAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xyXG4gICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIC5ycC10YWJsZS0jeyRrZXl9IHtcclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCR2YWwsIG1lZGlhKSkge1xyXG4gICAgICAgICAgJG1lZGlhOiBtYXBfZ2V0KCR2YWwsIG1lZGlhKTtcclxuICAgICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkbWVkaWEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTIpIHtcclxuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsIHtcclxuICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2Rlcygka2V5Myk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCIvLy8qIHRhYiAqL1xyXG5AbWl4aW4gdGFiLWl0ZW1zKCR0YWItZ3JvdXApIHtcclxuICAgIC50YWItd3JhcCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgJiAudGFiLWxpc3Qge1xyXG4gICAgICAgICAgICAvL2Zsb2F0Om1hcC1nZXQoJHRhYi1ncm91cCwgZmxvYXQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5Om1hcC1nZXQoJHRhYi1ncm91cCwgZGlzcGxheSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR0YWItZ3JvdXAsIHdpZHRoKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdGFiLWdyb3VwLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCR0YWItZ3JvdXAsIHRoZW1lLWNvbG9yKTtcclxuICAgICAgICAgICAgYm9yZGVyOm1hcC1nZXQoJHRhYi1ncm91cCwgYm9yZGVyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOm1hcC1nZXQoJHRhYi1ncm91cCwgZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6bWFwLWdldCgkdGFiLWdyb3VwLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgIGNvbG9yOm1hcC1nZXQoJHRhYi1ncm91cCwgZm9udC1jb2xvcik7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246bWFwLWdldCgkdGFiLWdyb3VwLCB0ZXh0LWFsaWduKTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6bWFwLWdldCgkdGFiLWdyb3VwLCBsZXR0ZXItc3BhY2luZyk7XHJcblxyXG4gICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHRhYi1ncm91cCwgbWVkaWEpIHtcclxuICAgICAgICAgICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiBtYXBfZ2V0KCR0YWItZ3JvdXAsIG1lZGlhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsMntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gKG1hcC1nZXQoJHRhYi1ncm91cCwgc3ViLWNsYXNzaW5nKSl7XHJcbiAgICAgICAgICAgICYuI3ska2V5fSAudGFiLWxpc3R7XHJcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbHVle1xyXG4gICAgICAgICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiAudGFiLWxpc3Qub24ge1xyXG4gICAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHRhYi1ncm91cCxhY3RpdmUpKXtcclxuICAgICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGdfdGFiLWdyb3VwLGZsb2F0KXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG4iLCIvLyBtYWtlLWFyZWEg66+57Iqk7J24XHJcbi8vIOq4sOuzuOqwkuydtCBudWxs66GcIOyFi+2MheuQmOyWtCDsnojripQg7JqU7IaM64qUIOyduOyekOqwgCDsoITri6zrkJjsp4Ag7JWK7J2EIOyLnCDsu7TtjIzsnbwg65CY7KeAIOyViuyKteuLiOuLpC5cclxuLy8gW+unpOqwnOuzgOyImF1cclxuLy8gJG1heC13aWR0aCDquLDrs7jqsJI6IG51bGxcclxuLy8gJGd1dHRlci13aWR0aCDquLDrs7jqsJI6IG51bGxcclxuLy8gJHdpZHRoIOq4sOuzuOqwkjogMTAwJVxyXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiAkbWF4LXdpZHRoLCAkZ3V0dGVyLXdpZHRoOiAkYXJlYS1ndXR0ZXItd2lkdGggKTtcclxuLy8gZXgpIEBpbmNsdWRlIG1ha2UtYXJlYSggJHdpZHRoOiAxNjAwcHggKTtcclxuLy9AbWl4aW4gbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiBudWxsLCAkZ3V0dGVyLXdpZHRoOiBudWxsLCAkd2lkdGg6IDEwMCUgKSB7XHJcbi8vICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICB3aWR0aDogJHdpZHRoO1xyXG4vLyAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4vLyAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4vLyAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbi8vICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLXdpZHRoO1xyXG4vLyAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXdpZHRoO1xyXG4vL31cclxuXHJcbkBtaXhpbiBtYWtlLWFyZWEoICRhcmVhLWluZm86ICRnX2RlZmF1bHQtYXJlYSApIHtcclxuICAkd2lkdGg6IDEwMCU7XHJcbiAgQGlmICBtYXAtaGFzLWtleSgkYXJlYS1pbmZvLCB3aWR0aCkge1xyXG4gICAgJHdpZHRoIDogbWFwLWdldCgkYXJlYS1pbmZvLCB3aWR0aClcclxuICB9IEBlbHNlIHtcclxuICAgICR3aWR0aCA6IDEwMCVcclxuICB9XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRhcmVhLWluZm8sIG1heC13aWR0aCk7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGFyZWEtaW5mbywgZ3V0dGVyLXdpZHRoKTtcclxuICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGFyZWEtaW5mbywgZ3V0dGVyLXdpZHRoKTtcclxufVxyXG5cclxuIiwiLy8gbWFrZS1yb3cg66+57Iqk7J24XHJcbi8vIFvrp6TqsJzrs4DsiJhdXHJcbi8vICRncmlkLWd1dHRlciDquLDrs7jqsJI6ICRncmlkLWd1dHRlci13aWR0aFxyXG4vLyAkZ3JpZC1ndXR0ZXIg7KCE64us65CcIOqwkuyXkCDrlLDrnbzshJwgbWFyZ2luLXJpZ2h0LCBtYXJnaW4tbGVmdCDqsJLsnYQg7IWL7YyF7ZW0IOykjeuLiOuLpC5cclxuLy8gZXgpIEBpbmNsdWRlIG1ha2Utcm93KCAkZ3JpZC1ndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCk7XHJcbkBtaXhpbiBtYWtlLXJvdyggJGdyaWQtZ3V0dGVyIDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ3V0dGVyO1xyXG4gIG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ3V0dGVyO1xyXG4gIEBpbmNsdWRlIGNsZWFyKCk7XHJcbn1cclxuXHJcbi8vIG1ha2UtY29sLXNldCDrr7nsiqTsnbhcclxuLy8gW+unpOqwnOuzgOyImF1cclxuLy8gJGdyaWQtY29sLWNudCDquLDrs7jqsJI6ICRncmlkLWNvbHVtbnNcclxuLy8gJGdyaWQtY29sLWNudCDsoITri6zrkJwg6rCS7J2YIOqwnOyImOunjO2CgeydmCBjb2wscHVsbCxwdXNoLG9mZnNldCDrk7HsnYQg66eM65Ok7Ja07KSN64uI64ukLlxyXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1jb2wtc2V0KCk7XHJcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoJGdyaWQtY29sLWNudDogNSk7XHJcbkBtaXhpbiBtYWtlLWNvbC1zZXQoICRncmlkLWNvbC1pbmZvOiAkZ19ncmlkLWNvbC1pbmZvICkge1xyXG4gICRncmlkLWNvbC1uYW1lOiBudWxsO1xyXG4gIEBpZiAgbWFwLWhhcy1rZXkoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpIHtcclxuICAgICRncmlkLWNvbC1uYW1lIDogbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtbmFtZSlcclxuICB9IEBlbHNlIHtcclxuICAgICRncmlkLWNvbC1uYW1lIDogbnVsbFxyXG4gIH1cclxuICAgIEBpbmNsdWRlIG1ha2UtY29sKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xyXG4gIEBpbmNsdWRlIG1ha2UtcHVsbCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcclxuICBAaW5jbHVkZSBtYWtlLXB1c2goIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XHJcbiAgQGluY2x1ZGUgbWFrZS1vZmZzZXQoIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbWFrZS1jb2woICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xyXG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xyXG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcclxuICAgICAgLiN7JGNvbC1uYW1lfWNvbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICAgIC4jeyRjb2wtbmFtZX1jb2wtYXV0byB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH07XHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRpfSB7XHJcbiAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcclxuICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGJyZWFrcG9pbnR9IHtcclxuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fS1hdXRvIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1ha2UtcHVsbCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xyXG4gICAgICAuI3skY29sLW5hbWV9cHVsbC0wIHtcclxuICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgfVxyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGl9IHtcclxuICAgICAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGJyZWFrcG9pbnR9LTAge1xyXG4gICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XHJcbiAgICAgICAgICAuI3skY29sLW5hbWV9cHVsbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1wdXNoKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XHJcbiAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLTAge1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAuI3skY29sLW5hbWV9cHVzaC0jeyRpfSB7XHJcbiAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LTAge1xyXG4gICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcclxuICAgICAgICAgICAgbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1ha2Utb2Zmc2V0KCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2x1bW5zLCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcclxuICAgICRwb2ludDogbWVkaWEtcXVlcnktbWluLXZhbCgkYnJlYWtwb2ludCk7XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQgLSAxIHtcclxuICAgICAgICAuI3skY29sLW5hbWV9b2Zmc2V0LSN7JGl9IHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCAtIDEge1xyXG4gICAgICAgICAgLiN7JGNvbC1uYW1lfW9mZnNldC0jeyRicmVha3BvaW50fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUtBOzttREFFbUQ7QUFDbkQsQUFBQSxTQUFTLENBQUE7RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSTtFQUNwQixnQkFBZ0IsRUFBRSxXQUFXO0NBQzlCOztBQUNELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUFDakMsQUFBQSxTQUFTLENBQUE7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtHQUNyQjs7O0FBR0g7O21EQUVtRDtBQUNuRCxBQUNFLFNBRE8sQ0FDUCxNQUFNLENBQUM7RUFDTCxjQUFjLEVBQUUsVUFBVTtDQUMzQjs7QUFISCxBQUlFLFNBSk8sQ0FJUCxVQUFVLENBQUE7RUFDUixVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSTtFQUNuQixXQUFXLEVBQUUsS0FBSztFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsSUFBSTtDQVNoQjs7QUczQkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSFN6QyxBQUlFLFNBSk8sQ0FJUCxVQUFVLENBQUE7SUFPTixhQUFhLEVBQUUsSUFBSTtJQUNuQixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxLQUFLO0dBS3JCOzs7QUFsQkgsQUFlSSxTQWZLLENBSVAsVUFBVSxDQVdSLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxHQUFHO0NBQ2pCOztBQUdMOzttREFFbUQ7QUFDbkQsQUFDRSxLQURHLENBQ0gsSUFBSSxDQUFBO0VBQ0YsVUFBVSxFQUFFLDJDQUEyQyxDQUFDLFNBQVMsQ0FBQyxVQUFZO0NBUy9FOztBQVhILEFBR0ksS0FIQyxDQUNILElBQUksQUFFRCxNQUFNLENBQUE7RUFDTCxPQUFPLEVBQUMsRUFBRTtFQUNWLE9BQU8sRUFBQyxLQUFLO0VBQ2IsV0FBVyxFQUFFLE1BQU07Q0FJcEI7O0FHMUNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUhnQ3pDLEFBR0ksS0FIQyxDQUNILElBQUksQUFFRCxNQUFNLENBQUE7SUFLSCxXQUFXLEVBQUUsR0FBRztHQUVuQjs7O0FBS0w7O21EQUVtRDtBQUNuRCxBQUFBLEtBQUssQ0FBQztFQUNKLFVBQVUsRUFBRSxPQUFPO0NBd0RwQjs7QUczR0ssTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSGtEekMsQUFBQSxLQUFLLENBQUM7SUFHRixnQkFBZ0IsRUFBRSwwQ0FBMEM7SUFDNUQsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixlQUFlLEVBQUUsS0FBSztJQUN0QixtQkFBbUIsRUFBRSxNQUFNO0dBbUQ5Qjs7O0FBekRELEFBUUUsS0FSRyxDQVFILFdBQVcsQ0FBQTtFQUNULFVBQVUsRUFBRSxJQUFJO0NBNEJqQjs7QUd2RkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSGtEekMsQUFRRSxLQVJHLENBUUgsV0FBVyxDQUFBO0lBR1AsVUFBVSxFQUFFLElBQUk7R0EwQm5COzs7QUFyQ0gsQUFhSSxLQWJDLENBUUgsV0FBVyxDQUtULFdBQVcsQ0FBQTtFQUNULFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGFBQWEsRUFBRSxjQUFjO0NBb0I5Qjs7QUd0RkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSGtEekMsQUFhSSxLQWJDLENBUUgsV0FBVyxDQUtULFdBQVcsQ0FBQTtJQUtQLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0dBZS9COzs7QUFwQ0wsQUF1Qk0sS0F2QkQsQ0FRSCxXQUFXLENBS1QsV0FBVyxBQVVSLFlBQVksQ0FBQTtFQUNYLFdBQVcsRUFBRSxDQUFDO0NBSWY7O0FHOUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUhrRHpDLEFBdUJNLEtBdkJELENBUUgsV0FBVyxDQUtULFdBQVcsQUFVUixZQUFZLENBQUE7SUFHVCxXQUFXLEVBQUUsR0FBRztHQUVuQjs7O0FBNUJQLEFBNkJNLEtBN0JELENBUUgsV0FBVyxDQUtULFdBQVcsQUFnQlIsV0FBVyxDQUFBO0VBQ1YsYUFBYSxFQUFFLENBQUM7RUFDaEIsY0FBYyxFQUFFLENBQUM7Q0FJbEI7O0FHckZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUhrRHpDLEFBNkJNLEtBN0JELENBUUgsV0FBVyxDQUtULFdBQVcsQUFnQlIsV0FBVyxDQUFBO0lBSVIsWUFBWSxFQUFFLENBQUM7R0FFbEI7OztBQW5DUCxBQXNDRSxLQXRDRyxDQXNDSCxXQUFXLENBQUE7RUFDVCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBekNILEFBMENFLEtBMUNHLENBMENILFdBQVcsQ0FBQTtFQUNULFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxXQUFXO0VBQ25CLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLE9BQU87RUFDdkIsS0FBSyxFQUFFLElBQUk7Q0FRWjs7QUcxR0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSGtEekMsQUEwQ0UsS0ExQ0csQ0EwQ0gsV0FBVyxDQUFBO0lBUVAsVUFBVSxFQUFFLElBQUk7R0FNbkI7OztBRzFHRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VIa0R6QyxBQTBDRSxLQTFDRyxDQTBDSCxXQUFXLENBQUE7SUFXUCxVQUFVLEVBQUUsT0FBTztJQUNuQixhQUFhLEVBQUUsSUFBSTtHQUV0Qjs7O0FBRUgsQUFBQSxTQUFTLENBQUM7RUFDUixNQUFNLEVBQUUsS0FBSztDQUNkIn0= */
