@charset "UTF-8";
/*=====MOBILE=====*/
html.m-nav-open {
  overflow: hidden;
}

.mobile-header {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  justify-content: space-between;
  width: 100%;
  min-width: 320px;
  height: 55px;
  background-color: transparent;
  z-index: 1000;
  transition: top .5s;
  -webkit-transition: top .5s;
}

.mobile-header.fixed {
  top: -80px;
}

.mobile-header .logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 0%;
}

.m-nav-open .mobile-header .logo {
  background-color: #1e1e1e;
  z-index: 701;
}

.mobile-header .logo .logo-img {
  flex: 1 1 0%;
  display: inline-block;
  width: 135px;
  background-image: url(/views/res/imgs/common/main_logo.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 98px 20px;
  z-index: 1100;
}

.m-nav-open .mobile-header .logo .logo-img {
  background-image: url(/views/res/imgs/common/main_logo_white.svg);
}

.menuBtn {
  position: absolute;
  right: 0;
  padding: 19px;
  z-index: 701;
  cursor: pointer;
}

.menuBtn .line {
  margin: 8px 0;
  transition: transform .3s, background-color .3s;
}

.m-nav-open .menuBtn .line {
  background-color: transparent !important;
}

.menuBtn .line, .menuBtn .line:before, .menuBtn .line:after {
  display: block;
  width: 26px;
  height: 2px;
  background-color: #222;
  transition: transform .3s, background-color .3s;
}

.m-nav-open .menuBtn .line, .m-nav-open .menuBtn .line:before, .m-nav-open .menuBtn .line:after {
  background-color: #fff;
}

.menuBtn .line:before, .menuBtn .line:after {
  content: "";
}

.menuBtn .line:before {
  transform: translateY(-8px);
}

.m-nav-open .menuBtn .line:before {
  -webkit-transform: translateY(0) rotateZ(135deg);
  transform: translateY(0) rotateZ(135deg);
}

.menuBtn .line:after {
  transform: translateY(6px);
}

.m-nav-open .menuBtn .line:after {
  -webkit-transform: translateY(-2px) rotateZ(-135deg);
  transform: translateY(-2px) rotateZ(-135deg);
}

.mobile-header.sub-header .logo-img {
  background-image: url(/views/res/imgs/common/main_logo_white.svg);
}

.mobile-header.sub-header .menuBtn .line,
.mobile-header.sub-header .menuBtn .line:before,
.mobile-header.sub-header .menuBtn .line:after {
  background-color: #fff;
}

.mobile-nav-wrap {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding: 55px 40px 30px;
  z-index: 700;
  overflow: auto;
  -webkit-transition: transform 1s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 1s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

.m-nav-open .mobile-nav-wrap {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.mobile-nav-wrap .nav-top-menu {
  padding: 20px 15px;
}

.mobile-nav-wrap .mobile-nav {
  margin-top: 50px;
}

.mobile-nav-wrap .mobile-nav .aco {
  margin-bottom: 25px;
}

.mobile-nav-wrap .mobile-nav .aco a {
  display: block;
  width: 100%;
  overflow: hidden;
  font-size: 24px;
  color: #fff;
}

.mobile-nav-wrap .mobile-nav .aco.on .sub-menu-list-wrap {
  display: flex;
  flex-direction: column;
}

.mobile-nav-wrap .mobile-nav .aco.on > a {
  color: #00aeef;
}

.mobile-nav-wrap .mobile-nav .aco.on .sub-menu-list.on a {
  color: #00aeef;
}

.mobile-nav-wrap .mobile-nav .has-sub {
  position: relative;
  display: inline !important;
}

.mobile-nav-wrap .mobile-nav .has-sub:after, .mobile-nav-wrap .mobile-nav .has-sub:before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 50%;
  background-color: #aaa;
}

.mobile-nav-wrap .mobile-nav .has-sub:after {
  width: 13px;
  height: 1px;
  right: -26px;
}

.mobile-nav-wrap .mobile-nav .has-sub:before {
  width: 1px;
  height: 13px;
  right: -20px;
  margin-top: -6px;
  transition: transform .2s;
}

.mobile-nav-wrap .mobile-nav .has-sub.open {
  color: #00aeef;
}

.mobile-nav-wrap .mobile-nav .has-sub.open:after, .mobile-nav-wrap .mobile-nav .has-sub.open:before {
  background-color: #00aeef;
}

.mobile-nav-wrap .mobile-nav .has-sub.open:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.mobile-nav-wrap .mobile-nav .sub-menu-list-wrap {
  display: none;
  padding-top: 10px;
  padding-left: 18px;
}

.mobile-nav-wrap .mobile-nav .sub-menu-list-wrap .sub-menu-list {
  width: 100%;
}

.mobile-nav-wrap .mobile-nav .sub-menu-list-wrap .sub-menu-list a {
  line-height: 2.35;
  font-size: 17px;
  color: #ddd;
}

.mobile-nav-wrap .point-nav-wrap {
  position: relative;
  margin-top: 30px;
  font-size: 15px;
  color: #ccc;
}

.mobile-nav-wrap .point-nav-wrap .point-nav {
  padding-top: 20px;
}

.mobile-nav-wrap .point-nav-wrap:before {
  display: block;
  content: '';
  position: absolute;
  bottom: -25px;
  width: 100%;
  height: 1px;
  background-color: #555;
}

.mobile-nav-wrap .point-nav-wrap ~ p {
  margin-top: 50px;
}

.mobile-nav-wrap .store-login {
  padding-left: 25px;
  background-image: url(/views/res/imgs/common/nav_login_icon_gray.svg);
  background-repeat: no-repeat;
  background-position: left center;
  font-size: 15px;
  color: #ccc;
}

.mobile-bg {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: rgba(30, 30, 30, 0.9);
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  transition: all 1s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  z-index: 500;
}

.m-nav-open .mobile-bg {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/*=====MOBILE end=====*/
/*=====PC=====*/
@media screen and (min-width: 992px) {
  .pc-header:hover, .pc-nav-open .pc-header {
    background-color: #1e1e1e !important;
  }
  .pc-header:hover .fixed-wrap, .pc-nav-open .pc-header .fixed-wrap {
    background-color: #1e1e1e !important;
  }
  .pc-header:hover .menu-list > a, .pc-nav-open .pc-header .menu-list > a {
    color: #fff !important;
  }
  .pc-header:hover .menu-btn .line, .pc-nav-open .pc-header .menu-btn .line, .pc-header:hover .menu-btn .line:before, .pc-nav-open .pc-header .menu-btn .line:before, .pc-header:hover .menu-btn .line:after, .pc-nav-open .pc-header .menu-btn .line:after {
    background-color: #fff !important;
  }
  .pc-header:hover .logo .logo-img, .pc-nav-open .pc-header .logo .logo-img {
    background-image: url(/views/res/imgs/common/main_logo_white.svg) !important;
  }
  .pc-header:hover .store-login, .pc-nav-open .pc-header .store-login {
    background-image: url(/views/res/imgs/common/nav_login_icon_gray.svg) !important;
    font-weight: 400 !important;
    color: #ccc !important;
  }
  .pc-header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    background-color: transparent;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    border-bottom: 1px solid transparent;
    will-change: top;
    z-index: 700;
  }
  .pc-header.sub-header {
    background-color: transparent;
  }
  .pc-header.sub-header .logo .logo-img {
    background-image: url(/views/res/imgs/common/main_logo_white.svg);
  }
  .pc-header.sub-header .store-login {
    background-image: url(/views/res/imgs/common/nav_login_icon_lightgray.svg);
    color: #ddd;
  }
  .pc-header.sub-header .pc-nav .menu-list > a {
    color: #fff;
  }
  .pc-header.sub-header .header-right-wrap .menu-btn .line, .pc-header.sub-header .header-right-wrap .menu-btn .line:before, .pc-header.sub-header .header-right-wrap .menu-btn .line:after {
    background-color: #fff;
  }
  .pc-header.sub-header.white .logo .logo-img {
    background-image: url(/views/res/imgs/common/main_logo.svg);
  }
  .pc-header.sub-header.white .store-login {
    background-image: url(/views/res/imgs/common/nav_login_icon.svg);
    color: #444;
  }
  .pc-header.sub-header.white .pc-nav .menu-list > a {
    color: #222;
  }
  .pc-header.sub-header.white .header-right-wrap .menu-btn .line, .pc-header.sub-header.white .header-right-wrap .menu-btn .line:before, .pc-header.sub-header.white .header-right-wrap .menu-btn .line:after {
    background-color: #222;
  }
  .pc-header .fixed-wrap {
    left: 0;
    padding: 0 15px;
    width: 100%;
    height: 80px;
    transition: all 0.4s;
  }
  .pc-header.fixed {
    position: fixed;
    top: -100px;
    height: 80px;
    opacity: 0;
  }
  .pc-header.fixed .navBg,
  .pc-header.fixed .sub-menu-list-wrap {
    top: 80px;
  }
  .pc-header.fixed .fixed-wrap {
    position: fixed;
    height: 80px;
  }
  .pc-header.white {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
  }
  .pc-header .header-inner {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1110px;
    height: 100%;
  }
  .pc-header .logo {
    display: flex;
    flex-direction: column;
    width: 120px;
  }
  .pc-header .logo .logo-img {
    display: flex;
    flex: 1 1 0%;
    align-items: center;
    background-image: url(/views/res/imgs/common/main_logo.svg);
    background-repeat: no-repeat;
    background-position: center left;
  }
  .pc-header .navBg {
    position: absolute;
    left: 0;
    top: 80px;
    display: none;
    width: 100%;
    height: 295px;
    background-color: rgba(30, 30, 30, 0.9);
    transition: top 0.4s;
    z-index: 400;
  }
  /* 네비게이션 컨텐츠 */
  .pc-nav {
    display: flex;
    justify-content: flex-end;
    flex: 1 1 0%;
  }
  .pc-nav .menu-list-wrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 490px;
  }
  .pc-nav .menu-list {
    display: flex;
    position: relative;
    flex: 1 1 auto;
    justify-content: center;
  }
  .pc-nav .menu-list > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    color: #222;
    transition: color 0.4s;
    -webkit-transition: color 0.4s;
    cursor: pointer;
  }
  .pc-nav .menu-list:after {
    content: "";
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #1b458e, #00aeef);
    opacity: 0;
    transition: opacity 0.4s;
  }
  .pc-nav .menu-list:hover:after {
    opacity: 1;
  }
  .pc-nav .menu-list:hover .menu-text {
    color: #00aeef !important;
  }
  .store-login {
    display: flex;
    align-items: center;
    padding-left: 25px;
    margin-left: 25px;
    font-size: 14px;
    color: #444;
    font-weight: 400;
    background-image: url(/views/res/imgs/common/nav_login_icon.svg);
    background-repeat: no-repeat;
    background-position: left center;
    transition: color 0.4s, background 0.4s;
  }
  .store-login:hover {
    color: #00aeef;
    background-image: url(/views/res/imgs/common/nav_login_icon_point.svg);
  }
  .sub-menu-list-wrap {
    display: none;
    position: absolute;
    left: 0;
    top: 80px;
    width: 100%;
    height: 295px;
    text-align: center;
    z-index: 999;
    transition: top 0.4s;
  }
  .sub-menu-list {
    margin-top: 15px;
  }
  .sub-menu-list.li1 {
    margin-top: 40px;
  }
  .sub-menu-list a {
    position: relative;
    display: block;
    font-size: 15px;
    color: #aaa;
    transition: color 0.4s;
    -webkit-transition: color 0.4s;
  }
}

@media screen and (min-width: 992px) and (min-width: 1200px) {
  .sub-menu-list a {
    font-size: 15px;
  }
}

@media screen and (min-width: 992px) {
  .sub-menu-list:hover > a {
    color: #fff;
  }
  .sub-menu-list .text {
    word-break: break-all;
  }
}

@media screen and (min-width: 992px) and (min-width: 1200px) {
  .sub-menu-list .text {
    word-break: inherit;
  }
}

@media screen and (min-width: 992px) {
  .header-right-wrap {
    display: flex;
    align-items: center;
  }
  .header-right-wrap .btnPcNav {
    padding-left: 25px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  .header-right-wrap .menu-btn .line {
    margin: 8px 0;
    transition: transform 0.4s, background 0.4s;
  }
  .pc-nav-open .header-right-wrap .menu-btn .line {
    background-color: transparent !important;
  }
  .header-right-wrap .menu-btn .line, .header-right-wrap .menu-btn .line:before, .header-right-wrap .menu-btn .line:after {
    content: "";
    display: block;
    width: 26px;
    height: 2px;
    background-color: #222;
    transition: transform 0.4s, background 0.4s;
  }
  .header-right-wrap .menu-btn .line:before {
    transform: translateY(-8px);
  }
  .pc-nav-open .header-right-wrap .menu-btn .line:before {
    -webkit-transform: translateY(0) rotateZ(135deg);
    transform: translateY(0) rotateZ(135deg);
  }
  .header-right-wrap .menu-btn .line:after {
    transform: translateY(6px);
  }
  .pc-nav-open .header-right-wrap .menu-btn .line:after {
    -webkit-transform: translateY(-2px) rotateZ(-135deg);
    transform: translateY(-2px) rotateZ(-135deg);
  }
  *::-ms-backdrop {
    margin-top: -3px;
    line-height: 1.3;
  }
  /*=====PC end=====*/
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0L25hdi9uYXY2L3N0eWxlLmNzcyIsInNvdXJjZXMiOlsibGF5b3V0L25hdi9uYXY2L3N0eWxlLnNjc3MiLCJyZXMvc2Nzcy9fX3ZhcmlhYmxlcy5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsInJlcy9zY3NzL3ZhcmlhYmxlc19jb21wb25lbnRzL190YWJsZS5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYi5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsInJlcy9zY3NzL19fbWl4aW5zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21hcC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19jbGVhci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19zY3JlZW5yZWFkZXIuc2NzcyIsInJlcy9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19wcmVmaXhlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2FyZWEuc2NzcyIsInJlcy9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL190cmlhbmdsZS5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2NhcmRzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsInJlcy9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fdGFibGVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3RhYi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJyZXMvc2Nzcy9fX3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwicmVzL3Njc3MvX19taXhpbnMuc2Nzc1wiO1xuXG4vKj09PT09TU9CSUxFPT09PT0qL1xuaHRtbC5tLW5hdi1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tb2JpbGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIGhlaWdodDogNTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRyYW5zaXRpb246IHRvcCAuNXM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdG9wIC41cztcbiAgJi5maXhlZCB7XG4gICAgdG9wOiAtODBweDtcbiAgfVxuICAubG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMSAxIDAlO1xuICAgIC5tLW5hdi1vcGVuICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjojMWUxZTFlO1xuICAgICAgei1pbmRleDo3MDE7XG4gICAgfVxuICAgIC5sb2dvLWltZyB7XG4gICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTM1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9tYWluX2xvZ28uc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDk4cHggMjBweDtcbiAgICAgIC8vIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAuN3M7XG4gICAgICAvLyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWltYWdlIC43cztcbiAgICAgIHotaW5kZXg6IDExMDA7XG4gICAgICAubS1uYXYtb3BlbiAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vbWFpbl9sb2dvX3doaXRlLnN2Zyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyDrhKTruYTqsozsnbTshZgg66mU64m0IOuyhO2KvFxuLm1lbnVCdG57XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICByaWdodDowO1xuICBwYWRkaW5nOiAxOXB4O1xuICB6LWluZGV4OiA3MDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLmxpbmUge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcywgYmFja2dyb3VuZC1jb2xvciAuM3M7XG4gICAgLm0tbmF2LW9wZW4gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLCAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcywgYmFja2dyb3VuZC1jb2xvciAuM3M7XG4gICAgICAubS1uYXYtb3BlbiAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXJ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAubS1uYXYtb3BlbiAme1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGVaKDEzNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGVaKDEzNWRlZyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgICAubS1uYXYtb3BlbiAme1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSByb3RhdGVaKC0xMzVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgcm90YXRlWigtMTM1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIOyEnOu4jO2OmOydtOyngOydvOuVjCDrhKTruYTsu6zrn6wg67OA6rK9XG4ubW9iaWxlLWhlYWRlci5zdWItaGVhZGVyIHtcbiAgLmxvZ28taW1nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9tYWluX2xvZ29fd2hpdGUuc3ZnKTtcbiAgfVxuICAubWVudUJ0biAubGluZSxcbiAgLm1lbnVCdG4gLmxpbmU6YmVmb3JlLFxuICAubWVudUJ0biAubGluZTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLy8g64Sk7J206rKM7J207IWYIOy7qO2FkOy4oFxuLm1vYmlsZS1uYXYtd3JhcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogNTVweCA0MHB4IDMwcHg7XG4gIHotaW5kZXg6IDcwMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllciguNzg1LC4xMzUsLjE1LC44Nik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoLjc4NSwuMTM1LC4xNSwuODYpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIC5tLW5hdi1vcGVuICYge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAubmF2LXRvcC1tZW51IHtcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gIH1cbiAgLm1vYmlsZS1uYXYge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgLmFjbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOjI1cHg7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgICAmLm9uIHtcbiAgICAgICAgLnN1Yi1tZW51LWxpc3Qtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgICYgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJGdfcG9pbnQtZm9udC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAuc3ViLW1lbnUtbGlzdC5vbntcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ19wb2ludC1mb250LWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaGFzLXN1YiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O1xuICAgICAgJjphZnRlcixcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6NTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNhYWE7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICByaWdodDogLTI2cHg7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnM7XG4gICAgICB9XG4gICAgICAmLm9wZW4ge1xuICAgICAgICBjb2xvcjokZ19wb2ludC1mb250LWNvbG9yO1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ19wb2ludC10aGVtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0gOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybSA6IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnN1Yi1tZW51LWxpc3Qtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZy10b3A6MTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDoxOHB4O1xuICAgICAgLnN1Yi1tZW51LWxpc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMzU7XG4gICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIOuUsOuhnCDrhKTruYRcbiAgLnBvaW50LW5hdi13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDozMHB4O1xuICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgIGNvbG9yOiNjY2M7XG4gICAgLnBvaW50LW5hdiB7XG4gICAgICBwYWRkaW5nLXRvcDoyMHB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgY29udGVudDonJztcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgYm90dG9tOi0yNXB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDoxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiM1NTU7XG4gICAgfVxuICAgICYgfiBwIHtcbiAgICAgIG1hcmdpbi10b3A6NTBweDtcbiAgICB9XG4gIH1cbiAgLnN0b3JlLWxvZ2luIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9uYXZfbG9naW5faWNvbl9ncmF5LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246bGVmdCBjZW50ZXI7XG4gICAgZm9udC1zaXplOjE1cHg7XG4gICAgY29sb3I6I2NjYztcbiAgfVxufVxuIC8vIOuEpOu5hOqyjOydtOyFmCDrkqQg67Cw6rK9IFxuLm1vYmlsZS1iZyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLDMwLDMwLC45KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKC43ODUsLjEzNSwuMTUsLjg2KTtcbiAgei1pbmRleDogNTAwO1xuICAubS1uYXYtb3BlbiAmIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbi8qPT09PT1NT0JJTEUgZW5kPT09PT0qL1xuXG4vKj09PT09UEM9PT09PSovXG4kcGMtaGVhZGVyLWhlaWdodCA6IDgwcHg7IC8vcGMgaGVhZGVyIOuGkuydtFxuJHBjLWZpeGVkLWhlaWdodCA6IDgwcHg7IC8vIHBjIGhlYWRlciBmaXhlZOuQmOyXiOydhCDrlYwg64aS7J20XG4kcGMtbmF2YmctaGVpZ2h0IDogMjk1cHg7IC8vIG5hduuwsOqyvSDrhpLsnbQgKG5hdkJnLCBzdWJtZW5164aS7J207JeQIOyggeyaqSlcbiRwYy1tZW51d3JhcC1tYXh3aWR0aCA6IDQ5MHB4OyAvLyAxOTIw7ZmU66m0IOuMgOuplOuJtOydmCBtYXgtd2lkdGhcbiRwYy10cmFuc2l0aW9uLXNwZWVkIDogLjRzOyAvL3Bj6rO17Ya1IHRyYW5zaXRpb24g7IaN64+EXG5cbkBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4lY29sb3Itb257IC8vIO2XpOuNlCBjb2xvciDrs4Dqsr0g7Iqk7YOA7J28XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTFlMWUgIWltcG9ydGFudDtcbiAgLmZpeGVkLXdyYXB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZW51LWxpc3QgPiBhe1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lbnUtYnRuIC5saW5le1xuICAgICYsXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlcntcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmxvZ28gLmxvZ28taW1nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL21haW5fbG9nb193aGl0ZS5zdmcpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN0b3JlLWxvZ2luIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL25hdl9sb2dpbl9pY29uX2dyYXkuc3ZnKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OjQwMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiNjY2MgIWltcG9ydGFudDtcbiAgfVxufVxuLnBjLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkcGMtaGVhZGVyLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsICRwYy10cmFuc2l0aW9uLXNwZWVkO1xuICB0cmFuc2l0aW9uOiBhbGwgJHBjLXRyYW5zaXRpb24tc3BlZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2lsbC1jaGFuZ2U6IHRvcDtcbiAgei1pbmRleDogNzAwO1xuICAmLnN1Yi1oZWFkZXIgeyAvL+yEnOu4jO2OmOydtOyngFxuICAgIC8vIEBleHRlbmQgJWNvbG9yLW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgLmxvZ28gLmxvZ28taW1nIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vbWFpbl9sb2dvX3doaXRlLnN2Zyk7XG4gICAgfVxuICAgIC5zdG9yZS1sb2dpbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL25hdl9sb2dpbl9pY29uX2xpZ2h0Z3JheS5zdmcpO1xuICAgICAgY29sb3I6I2RkZDtcbiAgICB9XG4gICAgLnBjLW5hdiAubWVudS1saXN0ID4gYSB7XG4gICAgICBjb2xvcjojZmZmO1xuICAgIH1cbiAgICAuaGVhZGVyLXJpZ2h0LXdyYXAgLm1lbnUtYnRuIC5saW5lLCAuaGVhZGVyLXJpZ2h0LXdyYXAgLm1lbnUtYnRuIC5saW5lOmJlZm9yZSwgLmhlYWRlci1yaWdodC13cmFwIC5tZW51LWJ0biAubGluZTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG4gICAgfVxuICAgICYud2hpdGUge1xuICAgICAgLmxvZ28gLmxvZ28taW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9tYWluX2xvZ28uc3ZnKTtcbiAgICAgIH1cbiAgICAgIC5zdG9yZS1sb2dpbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vbmF2X2xvZ2luX2ljb24uc3ZnKTtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICB9XG4gICAgICAucGMtbmF2IC5tZW51LWxpc3QgPiBhIHtcbiAgICAgICAgY29sb3I6IzIyMjtcbiAgICAgIH1cbiAgICAgIC5oZWFkZXItcmlnaHQtd3JhcCAubWVudS1idG4gLmxpbmUsIC5oZWFkZXItcmlnaHQtd3JhcCAubWVudS1idG4gLmxpbmU6YmVmb3JlLCAuaGVhZGVyLXJpZ2h0LXdyYXAgLm1lbnUtYnRuIC5saW5lOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojMjIyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmhvdmVye1xuICAgIEBleHRlbmQgJWNvbG9yLW9uO1xuICB9XG4gICYuZml4ZWQge1xuICAgIC8vIEBleHRlbmQgJWNvbG9yLW9uO1xuICB9XG4gIC5wYy1uYXYtb3BlbiAmIHtcbiAgICBAZXh0ZW5kICVjb2xvci1vbjtcbiAgfVxuICAuZml4ZWQtd3JhcHtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwYy1oZWFkZXItaGVpZ2h0O1xuICAgIHRyYW5zaXRpb246IGFsbCAkcGMtdHJhbnNpdGlvbi1zcGVlZDtcbiAgfVxuICAvLyDtl6TrjZQgZml4ZWRcbiAgJi5maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogLTEwMHB4O1xuICAgIGhlaWdodDogJHBjLWZpeGVkLWhlaWdodDtcbiAgICBvcGFjaXR5OiAwO1xuICAgICYuc3ViLWhlYWRlciB7XG4gICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdkJnLFxuICAgIC5zdWItbWVudS1saXN0LXdyYXB7XG4gICAgICB0b3A6ICRwYy1maXhlZC1oZWlnaHQ7XG4gICAgfVxuICAgIC5maXhlZC13cmFwe1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgaGVpZ2h0OiAkcGMtZml4ZWQtaGVpZ2h0O1xuICAgIH1cbiAgfVxuICAmLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ19ib3JkZXItY29sb3I7XG4gIH1cbiAgLmhlYWRlci1pbm5lcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDExMTBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgLmxvZ28taW1nIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9tYWluX2xvZ28uc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGxlZnQ7XG4gICAgfVxuICB9XG4gIC5uYXZCZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAkcGMtaGVhZGVyLWhlaWdodDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHBjLW5hdmJnLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLDMwLDMwLC45KTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgJHBjLXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgei1pbmRleDogNDAwO1xuICB9XG59XG5cbi8qIOuEpOu5hOqyjOydtOyFmCDsu6jthZDsuKAgKi9cbi5wYy1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBmbGV4OiAxIDEgMCU7XG4gIC5tZW51LWxpc3Qtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAkcGMtbWVudXdyYXAtbWF4d2lkdGg7XG4gIH1cbiAgLm1lbnUtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgJiA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHBjLXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yICRwYy10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmOmFmdGVye1xuICAgICAgY29udGVudDpcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwkZ19wb2ludC1mb250LWNvbG9yMiwkZ19wb2ludC1mb250LWNvbG9yKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRwYy10cmFuc2l0aW9uLXNwZWVkO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgJjphZnRlcntcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgIC5tZW51LXRleHR7XG4gICAgICAgIGNvbG9yOiRnX3BvaW50LWZvbnQtY29sb3IgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zdG9yZS1sb2dpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIGZvbnQtc2l6ZToxNHB4O1xuICBjb2xvcjojNDQ0O1xuICBmb250LXdlaWdodDo0MDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vbmF2X2xvZ2luX2ljb24uc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAkcGMtdHJhbnNpdGlvbi1zcGVlZCwgYmFja2dyb3VuZCAkcGMtdHJhbnNpdGlvbi1zcGVlZDtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6JGdfcG9pbnQtZm9udC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL25hdl9sb2dpbl9pY29uX3BvaW50LnN2Zyk7XG4gIH1cbn1cbi5zdWItbWVudS1saXN0LXdyYXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogJHBjLWhlYWRlci1oZWlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRwYy1uYXZiZy1oZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogOTk5O1xuICB0cmFuc2l0aW9uOiB0b3AgJHBjLXRyYW5zaXRpb24tc3BlZWQ7XG59XG4uc3ViLW1lbnUtbGlzdCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gICYubGkxIHtcbiAgICBtYXJnaW4tdG9wOjQwcHg7XG4gIH1cbiAgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogI2FhYTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkcGMtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yICRwYy10cmFuc2l0aW9uLXNwZWVkO1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbih4bCl7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuXG4gIH1cbiAgJjpob3ZlciA+IGEge1xuICAgIGNvbG9yOiNmZmY7XG4gIH1cbiAgLnRleHR7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbih4bCl7XG4gICAgICB3b3JkLWJyZWFrOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuLmhlYWRlci1yaWdodC13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLmJ0blBjTmF2e1xuICAgIHBhZGRpbmctbGVmdDoyNXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5tZW51LWJ0biB7XG4gICAgLmxpbmUge1xuICAgICAgbWFyZ2luOiA4cHggMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkcGMtdHJhbnNpdGlvbi1zcGVlZCwgYmFja2dyb3VuZCAkcGMtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgIC5wYy1uYXYtb3BlbiAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICYsXG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRwYy10cmFuc2l0aW9uLXNwZWVkLCBiYWNrZ3JvdW5kICRwYy10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICAgICAgLnBjLW5hdi1vcGVuICYge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZVooMTM1ZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlWigxMzVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVye1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgICAgLnBjLW5hdi1vcGVuICYge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHJvdGF0ZVooLTEzNWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHJvdGF0ZVooLTEzNWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuKjo6LW1zLWJhY2tkcm9wIHtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi8qPT09PT1QQyBlbmQ9PT09PSovXG59IiwiLy8vLy9kZWZhdWx0Ly8vLy9cbi8vY29sb3JcbiRnX3doaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdfYmxhY2s6ICMwMDAgIWRlZmF1bHQ7XG4kZ19yZWQ6ICNjZDIwMDA7XG5cbiRnX3BvaW50LWZvbnQtY29sb3I6ICMwMGFlZWY7XG4kZ19wb2ludC1mb250LWNvbG9yMjogIzFiNDU4ZTtcbiRnX3BvaW50LXRoZW1lLWNvbG9yOiAjMDBhZWVmO1xuJGdfcG9pbnQtdGhlbWUtY29sb3IyOiAjMWI0NThlO1xuJGdfYm9yZGVyLWNvbG9yIDogI2RkZDtcblxuLy9mb250XG4vLy1mb250LWZhbWlseVxuJGdfZm9udC1mYW1pbHk6IChcbiAgc3lzdGVtOiAnIFwi66eR7J2AIOqzoOuUlVwiLCBcIk1hbGd1biBHb3RoaWNcIiwgXCLslaDtlIwgU0Qg7IKw64+M6rOg65SVIE5lb1wiLCBcIkFwcGxlIFNEIEdvdGhpYyBOZW9cIiwgc2Fucy1zZXJpZiAnLFxuICBub3RvOiAnXCJOb3RvIFNhbnMgS1JcIiwgc2Fucy1zZXJpZicsXG4gIGxhdG8gOiAnXCJMYXRvXCIsIHNhbnMtc2VyaWYnLFxuICBkb3R1bTogJ1wiRG90dW1cIiwgc2Fucy1zZXJpZicsXG4pO1xuXG4kZm9udC1zeXN0ZW06ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgc3lzdGVtKX07XG4kZm9udC1ub3RvOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIG5vdG8pfTtcbiRmb250LWxhdG86ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgbGF0byl9OyAvLzEwMChUKSwzMDAoTCksNDAwKFIpLDcwMChCKSw5MDAoQilcbiRmb250LWRvdHVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIGRvdHVtKX07XG5cbi8vLWRlZmF1bHQgZm9udCDshKTsoJVcbiRmb250LTMwMCA6ICRmb250LW5vdG87XG4kZm9udC00MDAgOiAkZm9udC1ub3RvO1xuJGZvbnQtNTAwIDogJGZvbnQtbm90bztcbiRmb250LTcwMCA6ICRmb250LW5vdG87XG4kZm9udC04MDAgOiAkZm9udC1ub3RvO1xuXG4vLy1mb250LXNpemVcbiRnX2ZvbnQtc2l6ZTooXG4gIHhzOiAxMHB4LFxuICBzbTogMTJweCxcbiAgbWQ6IDE1cHgsXG4gIGxnOiAxOHB4LFxuICB4bDogMjRweCxcbik7XG5cbi8vLWZvbnQtd2VpZ2h0XG4kZ19mb250LXdlaWdodHM6IDEwMCwgMjAwLCAzMDAsIDQwMCwgNTAwLCA2MDAsIDcwMCwgODAwLCA5MDA7XG5cbi8vLWxldHRlci1zcGFjaW5nXG5cbi8vLy8vbWVkaWEvLy8vL1xuJGdfbWVkaWEtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NDRweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbik7XG5cbi8vLy8vbGF5b3V0Ly8vLy9cbi8vYXJlYVxuJGdfbWF4LXdpZHRoOiAxMTQwcHg7XG4kZ19hcmVhLWd1dHRlci13aWR0aDogMjBweDtcblxuLy9ncmlkXG4kZ19ncmlkLWNvbHVtbnM6IDEyO1xuJGdfZ3JpZC1ndXR0ZXItd2lkdGg6IDElO1xuXG4kZ19kZWZhdWx0LWFyZWE6IChcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGgsXG4gIGd1dHRlci13aWR0aDogJGdfYXJlYS1ndXR0ZXItd2lkdGgsXG4gIHdpZHRoOiAxMDAlXG4pO1xuJGdfZnVsbC1hcmVhOiAoXG4gIG1heC13aWR0aDogMTc1MHB4LFxuICBndXR0ZXItd2lkdGg6ICRnX2FyZWEtZ3V0dGVyLXdpZHRoLFxuICB3aWR0aDogMTAwJVxuKTtcbiRnX25vZ3V0dGVyLWFyZWE6IChcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGhcbik7XG5cbi8vZ3JpZFxuJGdfZ3JpZC1jb2wtaW5mbzogKFxuICBncmlkLWNvbC1jbnQ6IDEyLFxuICBncmlkLWNvbC1uYW1lOiBudWxsXG4pO1xuJGdyaWQtY29sNS1pbmZvOiAoXG4gIGdyaWQtY29sLWNudDogNSxcbiAgZ3JpZC1jb2wtbmFtZTogZml2ZS1cbik7XG5cbi8vLy8vVVRJTElUSUVTLy8vLy9cbi8vY2xlYXJcblxuLy9zcGFjaW5nXG4kc3BhY2VyczooXG4gIDA6IDAsXG4gIDU6IDVweCxcbiAgMTA6IDEwcHgsXG4gIDE1OiAxNXB4LFxuICAyMDogMjBweCxcbiAgMjU6IDI1cHgsXG4gIDMwOiAzMHB4LFxuICA0MDogNDBweCxcbiAgNTA6IDUwcHgsXG4gIDYwOiA2MHB4LFxuICA3MDogNzBweCxcbiAgODA6IDgwcHgsXG4gIDkwOiA5MHB4LFxuICAxMDA6IDEwMHB4LFxuICAxMjA6IDEyMHB4LFxuKTtcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cblxuLy8vLy9DT01QT05FTlRTLy8vLy9cbkBpbXBvcnQgXCJ2YXJpYWJsZXNfY29tcG9uZW50cy9fYnV0dG9uXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX2Zvcm1zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX2NhcmRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYmxlXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYlwiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL19wYWdpbmF0aW9uXCI7XG4vLyBAaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3Rvb2x0aXBcIjsgLy8g7IKs7Jqp7ZWY7KeAIOyViuuKlCDrtoDrtoTsnYAg7KO87ISdICggYmFzZS5zY3NzIOyXkOuPhCDso7zshJ0gKVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuIiwiLy8gX2J1dHRvblxuJGdfYnRuLXNpemU6ICh4czogKCAvLyDrsLDshqHsobDtmows7ZuE6riw7J6R7ISxXG4gICAgd2lkdGg6IDUwcHgsXG4gICAgaGVpZ2h0OiAzN3B4LFxuICAgIGxpbmUtaGVpZ2h0OiAzN3B4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICksXG4gIHNtOiAoIC8vIO2ajOybkOqwgOyehSwg66eI7J207Y6Y7J207KeALCDqsozsi5ztjJAsIHBvcHVwIGJ0biDqtIDroKgg67KE7Yq8XG4gICAgd2lkdGg6IDkwcHgsXG4gICAgaGVpZ2h0OiAzN3B4LFxuICAgIGxpbmUtaGVpZ2h0OiAzN3B4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICksXG4gIG1kOiAoIC8v7J2867CYIO2OmOydtOyngFxuICAgIHdpZHRoOiAyMTBweCxcbiAgICBoZWlnaHQ6IDU1cHgsXG4gICAgbGluZS1oZWlnaHQ6IDU1cHgsXG4gICAgZm9udC1zaXplOiAxNXB4LFxuICApLFxuICBsZzogKCAvL+yepeuwlOq1rOuLiFxuICAgIHdpZHRoOjI2NXB4LFxuICAgIGhlaWdodDogNDBweCxcbiAgICBsaW5lLWhlaWdodDogNDBweCxcbiAgICBmb250LXNpemU6IDE1cHgsXG4gICAgZm9udC13ZWlnaHQ6NTAwLFxuICApLFxuICB4bDogKCAvL+uhnOq3uOyduCwg7ZqM7JuQ6rCA7J6FLCDslYTsnbTrlJQm67mE67CA67KI7Zi4IOywvuq4sCDtlIzroZzsmrBcbiAgICBoZWlnaHQ6IDUwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDUwcHgsXG4gICAgZm9udC1zaXplOiAxNXB4LFxuICAgIGZvbnQtd2VpZ2h0OjUwMCxcbiAgICBtZWRpYTogKG1kOiAoaGVpZ2h0OiA1NXB4LFxuICAgICAgICBsaW5lLWhlaWdodDogNTVweCxcbiAgICAgICkpKSxcbiAgZnVsbC1zbSA6ICggLy8g6rKM7Iuc7YyQ7JeQ7IScIOyCrOyaqVxuICAgIHdpZHRoOjEwMCUsXG4gICAgaGVpZ2h0OiA0MnB4LFxuICAgIGxpbmUtaGVpZ2h0OiA0MnB4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICAgbWVkaWEgOiAobWQgOiAod2lkdGg6IDkwcHgsXG4gICAgICAgIGhlaWdodDogMzdweCxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHgsXG4gICAgICApLFxuICAgICkpLFxuICBmdWxsLW1kOiAoIC8v7J2867CYIO2OmOydtOyngFxuICAgIHdpZHRoOiAxMDAlLFxuICAgIG1heC13aWR0aDogMjEwcHgsXG4gICAgaGVpZ2h0OiA1NXB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1NXB4LFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgKSxcbiAgcG9wdXA6ICggLy9wb3B1cCDrsoTtirxcbiAgICBtYXgtd2lkdGg6MjEwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDU1cHgsXG4gICAgaGVpZ2h0OiA1NXB4LFxuICApLFxuICBmdWxsOih3aWR0aDogMTAwJSxcbiAgKSxcbik7XG5cbiRnX2J0bi1ncm91cCA6ICggLy8g67KE7Yq8IOyKpO2DgOydvCDshKTsoJXtlZjquLBcbiAgcG9pbnQgOiAoIC8vIGRlZmF1bHRcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ19wb2ludC10aGVtZS1jb2xvcjIsXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudCxcbiAgICBob3ZlciA6IChiYWNrZ3JvdW5kLWNvbG9yOiMwYjJkNjcsXG4gICAgKSksXG4gIHN1Yi1wb2ludCA6KGJhY2tncm91bmQtY29sb3I6JGdfcG9pbnQtdGhlbWUtY29sb3IsXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudCxcbiAgICBob3ZlciA6IChiYWNrZ3JvdW5kLWNvbG9yOiMwNzkwZDAsXG4gICAgKSksXG4gIHN0eWxlMiA6ICggLy8g7ZqM7JuQ6rCA7J6FLCDslYTsnbTrlJQm67mE67CA67KI7Zi4IOywvuq4sFxuICAgIGJvcmRlcjoxcHggc29saWQgI2NjYyxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwLFxuICAgIGNvbG9yOiAjNTU1LFxuICApLFxuICBzdHlsZTMgOiAoIC8vIOyjvOusuOy3qOyGjCwg7KO866y466as7Iqk7Yq46rKA7IOJXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NSxcbiAgICBjb2xvcjogI2ZmZixcbiAgKSxcbiAgb3V0bGluZS1zdHlsZTEgOiAoIC8vIOuhnOq3uOyduCwg7KO866y47IOB7IS467O06riwLCBjdXN0b20yXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmYsXG4gICAgY29sb3I6IzU1NSAhaW1wb3J0YW50LFxuICAgIGhvdmVyIDogKGJhY2tncm91bmQtY29sb3I6I2YyZjJmMixcbiAgICApKSxcbiAgb3V0bGluZS1zdHlsZTIgOiAoIC8vIOq4gOyTsOq4sFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjIsXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmLFxuICAgIGNvbG9yOiMyMjIsXG4gICksXG4gIG91dGxpbmUtc3R5bGUzOiAoYm9yZGVyOiAxcHggc29saWQgI2ZmZixcbiAgICBjb2xvciA6I2ZmZixcbiAgICBob3ZlcjogKGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICkpLFxuKTsiLCIvLyBfZm9ybVxuJGdfZm9ybS13cmFwOiAodGFibGUgOiAoIC8vLmZvcm0td3JhcC10YWJsZSAo7ZqM7JuQ6rCA7J6FJuygleuztCwg7KO866y46rKw7KCcJuuCtOyXrSlcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgIGZvcm0td3JhcDogKCAvLy5mb3JtLXdyYXAtZmxleCAuZm9ybS13cmFwXG4gICAgICBkaXNwbGF5OiBmbGV4LFxuICAgICksXG4gICAgZm9ybS10aXRsZTogKCAvLy5mb3JtLXdyYXAtZmxleCAuZm9ybS10aXRsZVxuICAgICAgZGlzcGxheTogZmxleCxcbiAgICAgIGZsZXgtZ3JvdzogMCxcbiAgICAgIGZsZXgtc2hyaW5rOiAxLFxuICAgICAgZmxleC1iYXNpczogOTBweCxcbiAgICAgIG1pbi13aWR0aDogOTBweCxcbiAgICAgIGxpbmUtaGVpZ2h0OjEuNSxcbiAgICAgIHBhZGRpbmc6IDE5cHggMTBweCxcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgIG1lZGlhOiAoc206IChmbGV4LWJhc2lzOiAxMDAlLFxuICAgICAgICAgIG1heC13aWR0aDoxNTBweCxcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHgsXG4gICAgICAgICksXG4gICAgICAgIG1kOiAobWF4LXdpZHRoOjIwM3B4LFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgICBmb3JtLWJvZHk6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0tYm9keVxuICAgICAgZmxleC1ncm93OiAwLFxuICAgICAgZmxleC1zaHJpbms6IDEsXG4gICAgICBmbGV4LWJhc2lzOiA0MDNweCxcbiAgICAgIGxpbmUtaGVpZ2h0OjEuNSxcbiAgICAgIHBhZGRpbmc6IFwiMTBweFwiLFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICksXG4gICksXG4gIHN0eWxlMSA6ICggLy8uZm9ybS13cmFwLXN0eWxlMSAo7IKs7JeF7ISk66qF7ZqMIO2MneyXhSDsgqzsmqkgLyBwcmVzZW50YXRpb25faW5zZXJ0LnBocClcbiAgICBtYXJnaW4tYm90dG9tOiAtMjRweCxcbiAgICBmb3JtLXdyYXA6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0td3JhcFxuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweCxcbiAgICApLFxuICAgIGZvcm0tdGl0bGU6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0tdGl0bGVcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweCxcbiAgICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICAgIGNvbG9yOiAjNTU1LFxuICAgICksXG4gICAgZm9ybS1ib2R5OiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLWJvZHlcbiAgICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICApLFxuICApLFxuKTtcbi8vX2lucHV0XG4kZ19maWVsZC1zdHlsZTogKCAvLyggZm9ybeyXkOyEnCDqsJnsnbQgJ2lucHV0LHNlbGVjdCx0ZXh0YXJlYScgc3R5bGXsnbQg7ZWo6ruYIOyCrOyaqeyLnCApXG4gIHN0eWxlMTogKCAvL+q0gOumrOyekFxuICAgIGlucHV0X2RlZmF1bHQgOiAoIC8vLmZpZWxkLXN0eWxlMSBpbnB1dCAuLlxuICAgICAgaGVpZ2h0OmF1dG8sXG4gICAgICBwYWRkaW5nOiAwIDAgNXB4IDAsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50LFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWQ2ZDgsXG4gICAgICBmb2N1cy1zdHlsZSA6IChib3JkZXI6MXB4IHNvbGlkICRnX3BvaW50LXRoZW1lLWNvbG9yLFxuICAgICAgKSxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjY2NjZmQ2LFxuICAgICAgKSxcbiAgICApLFxuICAgIHNlbGVjdCA6ICggLy8uZmllbGQtc3R5bGUxIHNlbGVjdCAuLlxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTAwcHggYm90dG9tIDUwJSxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2J0bl9zZWxlY3RfYXJyb3dfc3QwMS5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDdweCxcbiAgICApLFxuICAgIHRleHRhcmVhIDogKCAvLy5maWVsZC1zdHlsZTEgdGV4dGFyZWEgLi5cbiAgICAgIGhlaWdodDoxNTBweCxcbiAgICAgIHBhZGRpbmcgOiA1cHgsXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQsXG4gICAgKSxcbiAgKSxcbiAgc3R5bGUyOiAoIC8v7ZqM7JuQ6rCA7J6FLCDtmozsm5DsoJXrs7QsIOyjvOusuOqysOygnCwg7KO866y47ZmV7J24IO2PvFxuICAgIGlucHV0X2RlZmF1bHQgOiAoZmxleC1ncm93OiAxLFxuICAgICAgZmxleC1zaHJpbms6IDAsXG4gICAgICBmbGV4LWJhc2lzOiAxMDAlLFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgICAgaGVpZ2h0OiAzN3B4LFxuICAgICAgcGFkZGluZzogMCAxMHB4LFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbSxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjYWFhLFxuICAgICAgKSxcbiAgICApLFxuICAgIHNlbGVjdCA6ICggLy8gKO2ajOybkOqwgOyehSztmozsm5DsoJXrs7QpIOyXsOudveyymFxuICAgICAgcGFkZGluZzogMCAyMHB4IDAgMTBweCxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDVweCBib3R0b20gNTAlLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vYnRuX3NlbGVjdF9hcnJvd19zdDAyLnN2ZyksXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggN3B4LFxuICAgICAgbWVkaWE6KG1kOihwYWRkaW5nOiAwIDM1cHggMCAxMHB4LFxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggYm90dG9tIDUwJSxcbiAgICAgICAgKSkpLFxuICAgIHRleHRhcmVhIDogKG1heC13aWR0aDppbml0aWFsLFxuICAgICAgaGVpZ2h0OjEwMHB4LFxuICAgICAgcGFkZGluZyA6IDEwcHgsXG4gICAgKSksXG4gIHN0eWxlMzogKCAvL+uhnOq3uOyduCwg7ZqM7JuQ6rCA7J6FIO2UjOuhnOyasCAvL+yImOygleyZhOujjFxuICAgIGlucHV0X2RlZmF1bHQgOiAoYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICAgIGhlaWdodDogNTBweCxcbiAgICAgIHBhZGRpbmc6IDAgMTBweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgcGxhY2Vob2xkZXItc3R5bGUgOiAoY29sb3I6ICNhYWEsXG4gICAgICApLFxuICAgICAgbWVkaWE6IChtZDogKGhlaWdodDo1NXB4LFxuICAgICAgICApKSksXG4gICAgc2VsZWN0IDogKG92ZXJmbG93OiBoaWRkZW4sXG4gICAgKSksXG4gIHN0eWxlNDogKCAvLyjsgqzsl4XshKTrqoXtmowg7Yyd7JeFIOyCrOyaqSAvIHByZXNlbnRhdGlvbl9pbnNlcnQucGhwKVxuICAgIGlucHV0X2RlZmF1bHQgOiAoYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgICAgaGVpZ2h0OiA1MHB4LFxuICAgICAgcGFkZGluZzoxNXB4IDEwcHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjYWFhLFxuICAgICAgICBmb250LXdlaWdodDozMDAsXG4gICAgICApLFxuICAgICAgbWVkaWE6IChtZDogKGZvbnQtc2l6ZTogMTVweCxcbiAgICAgICAgICBwYWRkaW5nOjE1cHgsXG4gICAgICAgICkpKSxcbiAgICBzZWxlY3QgOiAocGFkZGluZy1yaWdodDogMzBweCxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDIwcHggY2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fZG93bi5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDdweCxcbiAgICApLFxuICApKTtcblxuLy9fdGV4dGFyZWFcbiRnX3RleHQtYXJlYS1zdHlsZTogKCAvLygg7Y6Y7J207KeA7JeQ7IScIOyCrOyaqeyLnCApXG4gIHN0eWxlMTogKCAvLy50ZXh0YXJlYS1zdHlsZTEgdGV4dGFyZWEge31cbiAgICAvLyDsgqzsmqnsi5wgY3NzIOy2lOqwgFxuICApLFxuKTtcblxuLy9fc2VsZWN0XG4kZ19zZWxlY3Qtc3R5bGU6ICggLy8uc2VsZWN0LXN0eWxlMSBzZWxlY3Qge30gKCDtjpjsnbTsp4Dsl5DshJwg7IKs7Jqp7IucIClcbiAgc3R5bGUxOiAoIC8vIOyDge2SiCDrpqzsiqTtirgsIOyDgeyEuCwg66eI7J207Y6Y7J207KeAIFxuICAgIHdpZHRoOiAxMDAlLFxuICAgIGhlaWdodDogNTBweCxcbiAgICBsaW5lLWhlaWdodDogNDdweCxcbiAgICBwYWRkaW5nOiAwIDEwcHgsXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICBjb2xvcjogIzU1NSxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MiUgNTAlLFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2NvbW1vbl9hcnJvd19pY29uX2Rvd24uc3ZnKSxcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWwsXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmLFxuICAgIG1lZGlhOiAoc206IChwYWRkaW5nOiAwIDE1cHgsXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCUsXG4gICAgICApKSksXG4gIHN0eWxlMjogKCAvLyDqsozsi5ztjJAg6riA7JOw6riwICjqsozsi5zrrLwg7YOA7J6FKVxuICAgIHdpZHRoOiAxMjBweCxcbiAgICBoZWlnaHQ6IDM3cHgsXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgIHBhZGRpbmc6IDAgMTBweCxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICAgY29sb3I6ICMyMjIsXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDUwJSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9kb3duLnN2ZyksXG4gICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsLFxuICApLFxuKTtcblxuLy9fY2hlY2stYm94XG4kZ19jaGVjay1ib3gtaW1nOiAoaW1nLTEgOiAoZGlzcGxheTpmbGV4LFxuICAgIGFsaWduLWl0ZW1zIDogZmxleC1zdGFydCxcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHgsXG4gICAgY29sb3I6IzY2NixcbiAgICBjaGVja2JveC1zdHlsZSA6IChkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICB3aWR0aDogMjJweCxcbiAgICAgIG1pbi13aWR0aDogMjJweCxcbiAgICAgIGhlaWdodDogMjJweCxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29mZi5zdmcpLFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29uLnN2ZyksXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKGRpc3BsYXk6IGZsZXgsXG4gICAgICBmbGV4LXdyYXA6IHdyYXAsXG4gICAgICBsaW5lLWhlaWdodDoxLjUsXG4gICAgICBwYWRkaW5nLWxlZnQ6N3B4LFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgY2hlY2sgOiAoY29sb3I6I2ZmOGUyYSxcbiAgICAgICksXG4gICAgKSxcbiAgKSxcbiAgaW1nLTIgOiAoZGlzcGxheTppbmxpbmUtYmxvY2ssXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4LFxuICAgIGNoZWNrYm94LXN0eWxlIDogKGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICAgIHdpZHRoOiAzMnB4LFxuICAgICAgaGVpZ2h0OiAzMnB4LFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDFfb2ZmLnBuZyksXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxuICAgICksXG4gICAgY2hlY2tlZC1zdHlsZSA6IChiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDFfb24ucG5nKSxcbiAgICApLFxuICAgIHRleHQtc3R5bGUgOiAoZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgICAgcGFkZGluZy1sZWZ0OjRweCxcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICAgKSxcbiAgKSxcbik7XG4kZ19jaGVjay1ib3gtdGFnOiAodGFnLTEgOiAoIC8vIOyVhOydtOuUlOyggOyepSAvLyDslb3qtIDrj5nsnZggLy8g6rKw7KCc7IiY64uoIC8v67Cw7Iah7KeAIOyEoO2DnSAvLyDrsLDshqHsp4Dsl60g7ISg7YOdXG4gICAgcG9zaXRpb246IHJlbGF0aXZlLFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICBtYXJnaW4tcmlnaHQ6MzBweCwgLy9zZWxmXG4gICAgY2hlY2tib3gtc3R5bGUgOiAoIC8vICY6YmVmb3JlXG4gICAgICB0b3A6OXB4LFxuICAgICAgd2lkdGg6IDIycHgsXG4gICAgICBoZWlnaHQ6IDIycHgsXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoIC8vLmN1c3RvbS1jaGVja2VkXG4gICAgICBsZWZ0OjAsXG4gICAgICB0b3A6OXB4LFxuICAgICAgd2lkdGg6IDIycHgsXG4gICAgICBoZWlnaHQ6IDIycHgsXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvcjIsXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKCAvLy50ZXh0XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUsXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICBsaW5lLWhlaWdodDogMSxcbiAgICAgIHBhZGRpbmctbGVmdDogMzFweCwgLy8g67CV7Iqk7YGs6riwICsg67CV7Iqk7JmAIO2FjeyKpO2KuCDsgqzsnbTsnZgg6rCE6rKpXG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgICBjb2xvcjogIzAwMCxcbiAgICApLFxuICApLFxuICB0YWctMiA6IChwb3NpdGlvbjogcmVsYXRpdmUsXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgIG1hcmdpbi1yaWdodDoxNXB4LCAvL3NlbGZcbiAgICBjaGVja2JveC1zdHlsZSA6ICggLy8gJjpiZWZvcmVcbiAgICAgIHdpZHRoOiAxN3B4LFxuICAgICAgaGVpZ2h0OiAxN3B4LFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoIC8vLmN1c3RvbS1jaGVja2VkXG4gICAgICAvLyB3aWR0aDo5cHgsXG4gICAgICAvLyBoZWlnaHQ6IDlweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTUsXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKCAvLy50ZXh0XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHgsIC8vIOuwleyKpO2BrOq4sCArIOuwleyKpOyZgCDthY3siqTtirgg7IKs7J207J2YIOqwhOqyqVxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICksXG4gICkpOyIsIi8vIF9jYXJkXG4kZ19jYXJkLXdyYXA6IChcbiAgZGVmYXVsdDogKFxuICAgIHdyYXA6IChcbiAgICAgIHBhZGRpbmc6IDAgMzBweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4LFxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlcjogXCIxcHggc29saWQgI2U3ZTllZVwiICksXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHhcbiAgICApLFxuICAgIGhlYWRlcjogKFxuICAgICAgcGFkZGluZzogMjVweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXItYm90dG9tOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKSxcbiAgICAgIGZvbnQtc2l6ZTogMTZweFxuICAgICksXG4gICAgYm9keTogKFxuICAgICAgcGFkZGluZzogMzBweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZlxuICAgICksXG4gICAgZm9vdGVyOiAoXG4gICAgICBwYWRkaW5nOiAyNXB4IDAsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlci10b3A6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApXG4gICAgKVxuICApXG4pO1xuIiwiLy8gX3RhYmxlXG4kZ19ycC10YWJsZTogKFxuICBzdHlsZTE6IChcbiAgICBmb250LWZhbWlseTokZm9udC1kb3R1bSxcbiAgICBjb2xvcjojMjIyLFxuICAgIHJwLXRhYmxlOiAoXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzIyMlxuICAgICksXG4gICAgcnAtdGhlYWQ6IChcbiAgICAgIGRpc3BsYXk6IG5vbmUsXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkLFxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICAgIHJwLXRoOiAoXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXG4gICAgICAgICAgcGFkZGluZzogMThweCA1cHgsXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgICAgIGNvbG9yOiAjODg4LFxuICAgICAgICApLFxuICAgICAgKVxuICAgICksXG4gICAgcnAtdHI6IChcbiAgICAgIGRpc3BsYXk6IGJsb2NrLFxuICAgICAgcGFkZGluZzogOXB4IDVweCxcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkLFxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNXMsXG4gICAgICAvLyBcIiZcIiA6IChcbiAgICAgIC8vICAgXCI6aG92ZXJcIiA6IChcbiAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhLFxuICAgICAgICAvLyApLFxuICAgICAgICAvLyBcIi5ub25lLWhvdmVyOmhvdmVyXCIgOiAoXG4gICAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICAgICAgLy8gKSxcbiAgICAgIC8vICksXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcbiAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkLFxuICAgICAgICApLFxuICAgICAgKVxuICAgICksXG4gICAgcnAtdGQ6IChcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICAgIHBhZGRpbmc6IDVweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgZm9udC1zaXplOiAxMXB4LFxuICAgICAgXCImXCIgOiAoXG4gICAgICAgIFwiLnRkLWJsb2NrXCIgOiAoXG4gICAgICAgICAgZGlzcGxheSA6IGJsb2NrXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXG4gICAgICAgICAgcGFkZGluZzogMTZweCA1cHgsXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICAgICAgICAgXCImXCIgOiAoXG4gICAgICAgICAgICBcIi50ZC1ibG9ja1wiIDogKFxuICAgICAgICAgICAgICBkaXNwbGF5IDogdGFibGUtY2VsbFxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICApXG4pO1xuIiwiLy8gX3RhYlxuJGdfdGFiLWdyb3VwIDogKCAvLyAudGFiLXdyYXAgPiAudGFiLWxpc3RcbiAgdGFiLXdyYXAtZGVmYXVsdCA6ICggXG4gICAgZGlzcGxheTogYmxvY2ssXG4gICAgbWFyZ2luLWJvdHRvbTo2MHB4LFxuICAgIGZvbnQtc2l6ZTogMCxcbiAgICBjb2xvcjogIzAwMCxcbiAgICB0ZXh0LWFsaWduOmNlbnRlcixcbiAgKSxcbiAgYm94LXN0eWxlIDogKCBcbiAgICB0YWItbGlzdCA6ICggXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jayxcbiAgICAgIHdpZHRoOjE0MHB4LFxuICAgICAgcGFkZGluZzoxM3B4IDEwcHgsXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNiYmIsXG4gICAgICBib3JkZXItcmlnaHQ6IDAsXG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgICBjb2xvcjogIzc3Nzc3NyxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICBjdXJzb3I6cG9pbnRlcixcbiAgICAgIGFjdGl2ZSA6ICggLy8udGFiLWxpc3QuYWN0aXZlXG4gICAgICAgIGJvcmRlci1jb2xvcjokZ19wb2ludC1mb250LWNvbG9yMixcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdfcG9pbnQtdGhlbWUtY29sb3IyLFxuICAgICAgICBjb2xvcjogJGdfd2hpdGUsXG4gICAgICApLFxuICAgICAgXCImXCIgOiAoXG4gICAgICAgIFwiOmxhc3QtY2hpbGRcIiA6IChcbiAgICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNiYmIsXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICApLFxuKTtcbiIsIlxuLy8gX3BhZ2luYXRpb24gXG4kZ19wYWdlLWl0ZW0tZ3JvdXAgOiAoIC8vICjrqoXsua0gOiBhIO2DnOq3uCBwYWdlLWxpbmsg66GcKOyKpO2DgOydvCkgIC8gcGFnZS1pdGVtIOydtCDqsIHsnpDsnZggd3JhcCAo6rCE6rKp7KGw7KCVKS8g7KCE7LK066W8IC5wYWdpbmF0aW9u7J20IOqwkOyLuOqzoCDsnojsnYwpXG4gIC8vIGRlZmF1bHRcbiAgLy8gd2lkdGg6MjBweCxcbiAgaGVpZ2h0OjIwcHgsXG5cbiAgLy9wYWRkaW5nOjIwcHgsXG4gIC8vIG1hcmdpbjowIC0xcHgsXG4gIC8vIHRoZW1lLWNvbG9yOiAjZmZmLFxuICAvLyBib3JkZXIgOiAxcHggc29saWQgIzIyMixcbiAgLy9ib3JkZXItcmFkaXVzOiAzcHgsXG4gIC8vYm9yZGVyLXJhZGl1cy1mLWw6IDNweCwgLy8g7LKr67KI7Ke4IOuniOyngOuniSDrsoTtirwg7L2U64SIIHJhZGl1c1xuICAvL2JvcmRlci1yaWdodCA6IG5vbmUsIC8vIOuyhO2KvOydtCDrtpnslrTsnojripQg6rK97JqwXG4gIC8vYm9yZGVyLXN0eWxlOiAoIC8vIGxhc3QtY2hpbGTsl5Ag7KCB7Jqp65CoXG4gIC8vXHRib3JkZXItcmlnaHQgOiBcIjFweCBzb2xpZCAjZTFlMWUxXCIsXG4gIC8vKSxcblxuICBmb250LXNpemU6MTNweCxcbiAgZm9udC13ZWlnaHQ6NDAwLFxuICAvLyBsZXR0ZXItc3BhY2luZzotMC4wNWVtLFxuICBmb250LWNvbG9yOiNhYWEsXG4gIGZvbnQtZmFtaWx5OiRmb250LWxhdG8sXG4gIC8vIGhvdmVyXG4gIGhvdmVyLXRoZW1lLWNvbG9yOiNmZmYsXG4gIC8vIGhvdmVyLWJvcmRlci1jb2xvciA6ICNkZGQsXG4gIGhvdmVyLWNvbG9yOiMwMDAsXG5cbiAgLy8gYWN0aXZlXG4gIC8vIGFjdGl2ZS10aGVtZTojZjJmMmYyLFxuICBhY3RpdmUtY29sb3I6IzAwMCxcbiAgYWN0aXZlLXN0eWxlOiAoIC8vIOy7pOyKpO2FgOyaqVxuICAgIC8qIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvciwgKi9cbiAgICBmb250LXdlaWdodDpib2xkLFxuICApLFxuXG4gIC8vIGRpc2FibGVkXG4gIGRpbS1vcGFjaXR5IDogLjUsXG4gIC8vZGlzYWJsZWQtc3R5bGU6ICggLy8g7Luk7Iqk7YWA7JqpXG4gIC8vXHQvL+uyhO2KvOyXkOyEnOuKlCBtYXAtaGFzLWtleeqwkuydhCDsnbTsmqntlbTshJwg7YKk6rCS7J20IOyeh+ycvOuptCDrp7XsnZgg7YKk6rCS6rO8IOuyqOulmOuhnCDstpzroKVcbiAgLy9cdC8v7Y6Y7J207KeA64Sk7J207IWY7JeQ7ISc64qUIO2CpOqwkuydtCDsnojsnLzrqbQg7JWI7JeQIOuCtOyaqSDqt7jrjIDroZwg7Lac66ClLi5cbiAgLy9cdC8v6rKw6rO8IOqwkuydgCDqsJnsnLzrgpggbWl4aW7rsKnrspXsnbQg64uk66W064ukIO2YhOyerFxuICAvL1x0YmFja2dyb3VuZC1jb2xvcjojMTExLFxuICAvL1x0Y29sb3I6ICMxMTEsXG4gIC8vXHRib3JkZXItYm90dG9tOlwiMnB4IHNvbGlkICMwMjM4OGJcIixcbiAgLy8pLFxuICBhcnJvdy1ncm91cCA6IChcbiAgICBzdGFydCA6ICggLy/su6TsiqTthYBcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9zdGFydC5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXG4gICAgKSxcbiAgICBwcmV2IDogKFxuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvcGFnaW5hdGlvbl9wcmV2X2ljb24ucG5nKSxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxuICAgICksXG4gICAgbmV4dCA6IChcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL3BhZ2luYXRpb25fbmV4dF9pY29uLnBuZyksXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcbiAgICApLFxuICAgIGVuZCA6IChcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9lbmQuc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxuICAgICksXG4gICksXG4pO1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG5AaW1wb3J0IFwibWl4aW5zL19tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcIm1peGlucy9fbWFwXCI7XG5cbi8vIFV0aWxpdGllc1xuLy9AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL19jbGVhclwiO1xuQGltcG9ydCBcIm1peGlucy9fZmxvYXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2hvdmVyXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbi8vQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9fc2NyZWVucmVhZGVyXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9fcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9fcHJlZml4ZXJcIjtcbi8vQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RyYW5zZm9ybXNcIjtcbi8vQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL19ib3JkZXItcmFkaXVzXCI7XG5cbi8vIC8vIExheW91dFxuLy8gQGltcG9ydCBcIm1peGlucy9uYXZiYXItYWxpZ25cIjtcbi8vQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9fYXJlYVwiO1xuQGltcG9ydCBcIm1peGlucy9fZ3JpZFwiO1xuXG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vLy9cblxuXG4vLyAvLyBDb21wb25lbnRzXG4vL0BpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwibWl4aW5zL19idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL19wYWdpbmF0aW9uXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbi8vQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlc1wiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuQGltcG9ydCBcIm1peGlucy9fdGFiXCI7XG5cbiIsIi8vIG1lZGlhLXF1ZXJ5LW1pbiDrr7nsiqTsnbhcbi8vIFvrp6TqsJzrs4DsiJhdXG4vLyAkYnJlYWtwb2ludCDquLDrs7jqsJI6IOyXhuydjFxuLy8gJGJyZWFrcG9pbnQg7JeQIOqwgOyaqeqwgOuKpe2VnCDqsJJcbi8vICgxKSAkbWVkaWEtYnJlYWtwb2ludHMg7J2YIO2CpCDqsJIgKHhzLCBzbSwgbWQsIGxnLCB4bCAp7KSRIO2VmOuCmFxuLy8gKDIpIOqzoOyglSBweOqwklxuLy8gJGJyZWFrcG9pbnQg7KCE64us65CcIOqwkuyXkCDrlLDrnbzshJwgQG1lZGlhKG1pbi13aWR0aDogXCLrp6TqsJzrs4DsiJjsl5Ag7ZW064u57ZWY64qUIOqwklwiKSDshYvtjIXtlbTspI3ri4jri6QuXG4vLyAkYnJlYWtwb2ludCDqsJLsnYQg7ZS97IWA66GcIOuEo+uKlOuLpOuptCDtlbTri7kg7ZS97IWA6rCS7J2YIOuvuOuUlOyWtOy/vOumrOulvCDrp4zrk6TslrQg7KSN64uI64ukLlxuLy8gZXgpIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykgeyBAY29udGVudCB9XG4vLyBleCkgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKDUwMHB4KSB7IEBjb250ZW50IH1cbkBtaXhpbiBtZWRpYS1xdWVyeS1taW4oICRicmVha3BvaW50ICkge1xuICBAaWYgbWFwX2hhc19rZXkoICRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCApe1xuICAgIEBpZiAgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAY29udGVudFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB1bml0KCRicmVha3BvaW50KSA9PSBcInB4XCIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XG4gIH1cbn1cbkBtaXhpbiBtZWRpYS1xdWVyeS1tYXgoICRicmVha3BvaW50ICkge1xuICBAaWYgbWFwX2hhc19rZXkoICRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCApe1xuICAgIEBpZiAgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAY29udGVudFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB1bml0KCRicmVha3BvaW50KSA9PSBcInB4XCIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XG4gIH1cbn1cblxuXG4vLyBtZWRpYS1xdWVyeS1taW4tdmFsIO2VqOyImFxuLy8g7KCE7Jet67OA7IiYICRtZWRpYS1icmVha3BvaW50cyBtYXDsnZggdmFsdWXrpbwg67CY7ZmY7ZW0IOykjeuLiOuLpC5cbi8vIOyjvOuhnCBlYWNoIOusuOqzvCDqsJnsnYAgbG9vcCDrrLjsl5DshJwg7Zmc7Jqp65Cp64uI64ukLlxuLy8gZXgpXG4vLyBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXBfa2V5cygkbWVkaWEtYnJlYWtwb2ludHMpIHtcbi8vICAgJHBvaW50OiBtZWRpYS1xdWVyeS1taW4tdmFsKCRicmVha3BvaW50KTtcbi8vICAgQG1lZGlhICggbWluLXdpZHRoOiAjeyRwb2ludH0gKXtcbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1sIHsgQGluY2x1ZGUgZmxvYXQtbGVmdCB9XG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtciB7IEBpbmNsdWRlIGZsb2F0LXJpZ2h0IH1cbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1uIHsgQGluY2x1ZGUgZmxvYXQtbm9uZSB9XG4vLyAgIH1cbi8vIH1cbkBmdW5jdGlvbiBtZWRpYS1xdWVyeS1taW4tdmFsKCAkYnJlYWtwb2ludCApe1xuICBAcmV0dXJuIG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcbn1cblxuXG5cblxuXG5cbiIsIkBmdW5jdGlvbiBtYXAtc2V0KCRtYXAsICRrZXksICR2YWx1ZSkge1xuICAkbmV3OiAoJGtleTogJHZhbHVlKTtcbiAgQHJldHVybiBtYXAtbWVyZ2UoJG1hcCwgJG5ldyk7XG59XG5cblxuLy9wcmVmaXgg7KCc6rGwXG4vL+2DnOq3uOydtOumhCwg7IaN7ISxLCDslYTsnbTrlJQg65OxICDshYDroInthLAg6rCA64ql64+E66GdXG5AZnVuY3Rpb24gbWFrZU1hcFRvQ29kZXMoJG1hcCwgJHByZWZpeDogXCJcIiwgJHNlbGY6IGZhbHNlKSB7XG4gICRjb2RlcyA6ICgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgIEBpZiAoIHR5cGUtb2YoJHZhbCkgPT0gbWFwICkge1xuXG4gICAgICBAaWYgKCRrZXkgPT0gXCImXCIpIHtcbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsIFwiXCIsIHRydWUpO1xuICAgICAgICAkY29kZXM6IG1hcC1tZXJnZSgkY29kZXMsICRtYWtlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc2VsZWN0b3I6IFwiLiN7JHByZWZpeH0jeyRrZXl9XCI7XG5cbiAgICAgICAgQGlmICgkc2VsZikge1xuICAgICAgICAgICRzZWxlY3RvciA6IFwiJiN7JHByZWZpeH0jeyRrZXl9XCI7XG4gICAgICAgIH1cbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsICRwcmVmaXgpO1xuICAgICAgICAkY29kZXM6IG1hcC1zZXQoJGNvZGVzLCAkc2VsZWN0b3IsICRtYWtlKTtcbiAgICAgIH1cbiAgICAgIFxuICAgIH0gQGVsc2Uge1xuICAgICAgJGNvZGVzOiBtYXAtc2V0KCRjb2RlcywgJGtleSwgJHZhbCk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGNvZGVzO1xufTtcblxuXG5AbWl4aW4gcHJpbnRDb2RlcygkbWFwKSB7XG5cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgIFxuICAgIEBpZiAoIHR5cGUtb2YoJHZhbCkgPT0gbWFwICkge1xuICAgICAgI3ska2V5fSB7XG4gICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJHZhbCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAjeyRrZXl9IDogI3skdmFsfTtcbiAgICB9XG4gICAgXG4gIH1cbn1cblxuLy8gaXNNYXAg7ZWo7IiYXG4vLyAje2tleX0gOiAje3ZhbHVlfeydmCDtmJXtg5zrpbwg66as7YS07ZW07KO864qUIO2VqOyImFxuLy8gaXNNYXAoJHZhbCwgJGtleSk7XG4vLyBpc01hcCDtlajsiJjsl5DshJwg7J247J6Q66GcIOuEmOyWtOyYqCAnJHZhbCfsl5Ag7ZWg64u565CcIOqwkuydtCBtYXDsnbTrnbzrqbQgaXNtYXDtlajsiJjrpbwg7J6s6reA7Zi47LacIO2VnOuLpC5cbi8vIOyYiOyZuOyggeycvOuhnCDtgqTqsJLsnbQgXCJfXCIg652866m0IGlzUHNldWRv66W8IO2YuOy2nO2VnOuLpC5cbi8vIOy1nOyiheyggeycvOuhnCAje2tleX0gOiAje3ZhbHVlfeydmCDqsJLsnYQg66as7YS07ZWY64+E66GdIOunjOuToOuLpC5cblxuLy9pc1BzZXVkbyDtlajsiJhcbi8v6rCA7IOBIOyEoO2DneyekOulvCDrp4zrk6TslrQg66as7YS07ZW07KO864qUIO2VqOyImFxuLy9cblxuXG4vL0BmdW5jdGlvbiBpc01hcCAoJHZhbCwgJGtleSkge1xuLy8gICRyZXN1bHQgOiAoKTtcbi8vXG4vLyAgQGlmICh0eXBlLW9mKCR2YWwpID09IG1hcCkge1xuLy8gICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuLy8gICAgICBAaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBudWxsKSB7XG4vLyAgICAgICAgJG1hcCA6IGlzTWFwKCR2YWwyLCAka2V5Mik7XG4vLyAgICAgICAgJG1hcGtleSA6IG1hcC1rZXlzKCRtYXApO1xuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJG1hcGtleSwgbWFwLWdldCgkbWFwLCAjeyRtYXBrZXl9KSk7XG4vLyAgICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBcIl9cIil7XG4vLyAgICAgICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAka2V5MiwgaXNNYXAoJHZhbDIsICRrZXkyKSk7XG4vLyAgICAgIH0gQGVsc2Uge1xuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJGtleTIsICR2YWwyKTtcbi8vICAgICAgfVxuLy8gICAgfVxuLy8gIH0gQGVsc2Uge1xuLy8gICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAkdmFsLCAka2V5KTtcbi8vICB9XG4vL1xuLy8gIEByZXR1cm4gJHJlc3VsdDtcbi8vfTtcblxuXG4vL0BmdW5jdGlvbiBpc1BzZXVkbyAoJGtleSwgJHZhbCkge1xuLy8gICRyZXN1bHQ6IG51bGw7XG4vLyAgQGlmICgka2V5ID09IFwiX1wiKSB7XG4vLyAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4vLyAgICAgICRyZXN1bHQ6IGlzTWFwKCRrZXkyLCAkdmFsMik7XG4vLyAgICAgIEByZXR1cm4gaXNNYXAoJGtleTIsICR2YWwyKTtcbi8vICAgIH1cbi8vICB9IEBlbHNlICB7XG4vLyAgICAkcmVzdWx0OiBpc01hcCgka2V5LCAkdmFsKTtcbi8vICAgIEByZXR1cm4gJHJlc3VsdDtcbi8vICB9XG4vL307XG5cblxuIiwiQG1peGluIGNsZWFyKCkge1xuICAmOjphZnRlciB7XG4gICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICBjbGVhcjogYm90aDtcbiAgIH1cbn1cblxuXG5cbiIsIkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiQG1peGluIGhvdmVyLW9ue1xuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5vbnsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVye1xuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7IEBjb250ZW50OyB9XG59XG4iLCIvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbn1cbiIsIi8vIC8qIHByZWZpeCAqL1xuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXM6KCkpe1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlc3tcbiAgICAjeyctJyskcHJlZml4KyctJyskcHJvcGVydHl9OiR2YWx1ZTtcbiAgfVxuICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7XG59XG5cbiAgLy8gQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCByb3RhdGUoNDVkZWcpLCB3ZWJraXQgbXMpOyBvciAoXCJ3ZWJraXRcIiwgXCJtb3pcIilcblxuIC8vY3NzXG4gIC8vIC5zZWxlY3RvciB7XG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLy8gICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vIH1cblxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG4iLCIvLyBtYWtlLWFyZWEg66+57Iqk7J24XG4vLyDquLDrs7jqsJLsnbQgbnVsbOuhnCDshYvtjIXrkJjslrQg7J6I64qUIOyalOyGjOuKlCDsnbjsnpDqsIAg7KCE64us65CY7KeAIOyViuydhCDsi5wg7Lu07YyM7J28IOuQmOyngCDslYrsirXri4jri6QuXG4vLyBb66ek6rCc67OA7IiYXVxuLy8gJG1heC13aWR0aCDquLDrs7jqsJI6IG51bGxcbi8vICRndXR0ZXItd2lkdGgg6riw67O46rCSOiBudWxsXG4vLyAkd2lkdGgg6riw67O46rCSOiAxMDAlXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiAkbWF4LXdpZHRoLCAkZ3V0dGVyLXdpZHRoOiAkYXJlYS1ndXR0ZXItd2lkdGggKTtcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWFyZWEoICR3aWR0aDogMTYwMHB4ICk7XG4vL0BtaXhpbiBtYWtlLWFyZWEoICRtYXgtd2lkdGg6IG51bGwsICRndXR0ZXItd2lkdGg6IG51bGwsICR3aWR0aDogMTAwJSApIHtcbi8vICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgd2lkdGg6ICR3aWR0aDtcbi8vICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4vLyAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuLy8gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItd2lkdGg7XG4vLyAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXdpZHRoO1xuLy99XG5cbkBtaXhpbiBtYWtlLWFyZWEoICRhcmVhLWluZm86ICRnX2RlZmF1bHQtYXJlYSApIHtcbiAgJHdpZHRoOiAxMDAlO1xuICBAaWYgIG1hcC1oYXMta2V5KCRhcmVhLWluZm8sIHdpZHRoKSB7XG4gICAgJHdpZHRoIDogbWFwLWdldCgkYXJlYS1pbmZvLCB3aWR0aClcbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoIDogMTAwJVxuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRhcmVhLWluZm8sIG1heC13aWR0aCk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGFyZWEtaW5mbywgZ3V0dGVyLXdpZHRoKTtcbiAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRhcmVhLWluZm8sIGd1dHRlci13aWR0aCk7XG59XG5cbiIsIi8vIG1ha2Utcm93IOuvueyKpOyduFxuLy8gW+unpOqwnOuzgOyImF1cbi8vICRncmlkLWd1dHRlciDquLDrs7jqsJI6ICRncmlkLWd1dHRlci13aWR0aFxuLy8gJGdyaWQtZ3V0dGVyIOyghOuLrOuQnCDqsJLsl5Ag65Sw65287IScIG1hcmdpbi1yaWdodCwgbWFyZ2luLWxlZnQg6rCS7J2EIOyFi+2Mhe2VtCDspI3ri4jri6QuXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1yb3coICRncmlkLWd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKTtcbkBtaXhpbiBtYWtlLXJvdyggJGdyaWQtZ3V0dGVyIDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1ndXR0ZXI7XG4gIG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ3V0dGVyO1xuICBAaW5jbHVkZSBjbGVhcigpO1xufVxuXG4vLyBtYWtlLWNvbC1zZXQg66+57Iqk7J24XG4vLyBb66ek6rCc67OA7IiYXVxuLy8gJGdyaWQtY29sLWNudCDquLDrs7jqsJI6ICRncmlkLWNvbHVtbnNcbi8vICRncmlkLWNvbC1jbnQg7KCE64us65CcIOqwkuydmCDqsJzsiJjrp4ztgoHsnZggY29sLHB1bGwscHVzaCxvZmZzZXQg65Ox7J2EIOunjOuTpOyWtOykjeuLiOuLpC5cbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoKTtcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoJGdyaWQtY29sLWNudDogNSk7XG5AbWl4aW4gbWFrZS1jb2wtc2V0KCAkZ3JpZC1jb2wtaW5mbzogJGdfZ3JpZC1jb2wtaW5mbyApIHtcbiAgJGdyaWQtY29sLW5hbWU6IG51bGw7XG4gIEBpZiAgbWFwLWhhcy1rZXkoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpIHtcbiAgICAkZ3JpZC1jb2wtbmFtZSA6IG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpXG4gIH0gQGVsc2Uge1xuICAgICRncmlkLWNvbC1uYW1lIDogbnVsbFxuICB9XG4gICAgQGluY2x1ZGUgbWFrZS1jb2woIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XG4gIEBpbmNsdWRlIG1ha2UtcHVsbCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcbiAgQGluY2x1ZGUgbWFrZS1wdXNoKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xuICBAaW5jbHVkZSBtYWtlLW9mZnNldCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcbn1cblxuXG5AbWl4aW4gbWFrZS1jb2woICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgLiN7JGNvbC1uYW1lfWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC4jeyRjb2wtbmFtZX1jb2wtYXV0byB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfTtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skaX0ge1xuICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0tYXV0byB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH07XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1wdWxsKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLTAge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGl9IHtcbiAgICAgICAgICByaWdodDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGJyZWFrcG9pbnR9LTAge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfXB1bGwtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtcHVzaCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XG4gICAgICAuI3skY29sLW5hbWV9cHVzaC0wIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGl9IHtcbiAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtI3skYnJlYWtwb2ludH0tMCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utb2Zmc2V0KCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2x1bW5zLCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XG4gICAgJHBvaW50OiBtZWRpYS1xdWVyeS1taW4tdmFsKCRicmVha3BvaW50KTtcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IC0gMSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1vZmZzZXQtI3skaX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IC0gMSB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfW9mZnNldC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyB0cmlhbmdsZSjilrYpLCBhcnJvdyg+KSDsgqzsmqnrspVcbi8vIC0g67Cp7ZalIDogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0XG4vLyAodHJpYW5nbGUo4pa2KeydgCB0b3AtbGVmdC9yaWdodCwgYm90dG9tLWxlZnQvcmlnaHQg67Cp7Zal64+EIOqwgOuKpSlcbi8vIEBpbmNsdWRlIHRyaWFuZ2xlKFwi7IK86rCB7ZiV67Cp7ZalXCIsIOqwgOuhnHB4LCDshLjroZxweCwgI+y7rOufrCk7XG4vLyBAaW5jbHVkZSBhcnJvdyhcIu2ZlOyCtO2RnOuwqe2WpVwiLCDqsIDroZxweCwg7IS466GccHgsIOyEoOq1teq4sCwgI+y7rOufrCk7XG4vLyDssLjqs6AgdXJsIDogaHR0cDovL2FwcHMuZWt5LmhrL2Nzcy10cmlhbmdsZS1nZW5lcmF0b3IvXG5cbi8vIOyCvOqwge2YlSDilrZcbkBtaXhpbiB0cmlhbmdsZSgkZGlyZWN0aW9uLCAkd2lkdGhTaXplLCAkaGVpZ2h0U2l6ZSwgJGNvbG9yKSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBAaWYgJGRpcmVjdGlvbj09XCJ0b3BcIiB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR3aWR0aFNpemUgLyAyKSAkaGVpZ2h0U2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidG9wLXJpZ2h0XCIge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHdpZHRoU2l6ZSAkaGVpZ2h0U2l6ZSAwO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpIDAgKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tLXJpZ2h0XCIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHRTaXplICgkd2lkdGhTaXplIC8gMikgMDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tLWxlZnRcIiB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGhTaXplIDAgMCAkd2lkdGhTaXplO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpICR3aWR0aFNpemUgKCRoZWlnaHRTaXplIC8gMikgMDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidG9wLWxlZnRcIiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgJHdpZHRoU2l6ZSAwIDA7XG4gIH1cbn1cbi8vIO2ZlOyCtO2RnCA+XG5AbWl4aW4gYXJyb3coJGRpcmVjdGlvbiwgJHdpZHRoLCAkaGVpZ2h0LCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29udGVudDpcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBmbG9vcigkd2lkdGggLyAxLjQxNCk7XG4gIGhlaWdodDogZmxvb3IoJGhlaWdodCooJHdpZHRoLyRoZWlnaHQpIC8gMS40MTQpO1xuICBib3JkZXItdG9wOiAkYm9yZGVyIHNvbGlkICRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyIHNvbGlkICRjb2xvcjtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJ0b3BcIiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwie1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb249PVwibGVmdFwiIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi8v7KCB7JqpIO2bhCwgbWFyZ2lu7J2064KYIHRyYXNuZm9ybeycvOuhnCDsnITsuZgg7KGw7KCILiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy8g67KE7Yq8IOyCrOydtOymiOuzhCDsg53shLFcbkBtaXhpbiBidXR0b24tc2l6ZS1weCgkYnRuLXNpemUgOiAkZ19idG4tc2l6ZSkge1xuICAvLyBCYXNlIHN0eWxlc1xuICAlYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zcyBsaW5lYXIsYm9yZGVyIC4zcyBsaW5lYXI7XG4gIH1cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGJ0bi1zaXplKXtcbiAgICAuYnRuLSN7JGtleX0ge1xuICAgICAgQGV4dGVuZCAlYnRuO1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICBAaWYgKCRrZXkyID09IG1lZGlhKSB7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZXtcbiAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDslYjsl5Ag7LaU6rCAIGNsYXNzIOyDneyEsVxuICAgICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOuyhO2KvFxuICAgICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnRuLWRpc2FibGVkKCkge1xuICAmLmRpc2FibGVkIHtcbiAgICBAY29udGVudDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICB9XG59XG5cbi8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZW07KO86riwXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRidG4tZ3JvdXAgOiAkZ19idG4tZ3JvdXApe1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRidG4tZ3JvdXAge1xuICAgIC5idG4tI3ska2V5fSxcbiAgICAuYnRuLSN7JGtleX06dmlzaXRlZHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmICgka2V5MiA9PSBtZWRpYSkgeyAvLyBtZWRpYVxuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBob3Zlcil7IC8vIGhvdmVyXG4gICAgICAgICAgQGluY2x1ZGUgaG92ZXItb24ge1xuICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwyIHtcbiAgICAgICAgICAgICAgLy8gQGlmKCRrZXk0ICE9IGJhY2tncm91bmQtY29sb3IpeyAvLyBiYWNrZ3JvdW5kLWNvbG9yIOydtOyZuOydmCDrgpjrqLjsp4Ag7Lac66ClXG4gICAgICAgICAgICAgICAgI3ska2V5NH06ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBAaWYobWFwX2hhc19rZXkobWFwLWdldCgkdmFsLGhvdmVyKSxiYWNrZ3JvdW5kLWNvbG9yKSl7IC8vaG92ZXIgbWFw7JeQIGJhY2tncm91bmQtY29sb3Ig6rCS7J20IOyeiOycvOuptCDqt7jqsoPsnYQg7Lac66ClXG4gICAgICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAvLyBAZWxzZSBpZihtYXBfaGFzX2tleSgkdmFsLGJhY2tncm91bmQtY29sb3IpKXsgLy/sl4bsnLzrqbQg6riw67O4IOyEpOygleqwkuyXkCBkYXJrZW7snLzroZwg7KCB7JqpXG4gICAgICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKG1hcC1nZXQoJHZhbCxiYWNrZ3JvdW5kLWNvbG9yKSwgMTUlKTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBkaXNhYmxlZCl7IC8vIGRpc2FibGVkXG4gICAgICAgICAgQGluY2x1ZGUgYnRuLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpZiAoIHR5cGUtb2YoJHZhbDIpID09IG1hcCApIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTUsICR2YWw1IGluICR2YWwyIHtcbiAgICAgICAgICAgICAgICAjeyRrZXk1fTogI3skdmFsNX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZXtcbiAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDslYjsl5Ag7LaU6rCAIGNsYXNzIOyDneyEsVxuICAgICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOy9lOuTnCDstpzroKVcbiAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiQG1peGluIG1ha2UtY2FyZC1zZXQoJGNhcmQtaW5mbykge1xuICAlY2FyZC13cmFwe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICRjYXJkLWluZm8ge1xuICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgIEBpZiAka2V5MiA9PSBcIndyYXBcIiB7XG4gICAgICAgIC5jYXJkLSN7JGtleTJ9LSN7JGtleX0ge1xuICAgICAgICAgIEBleHRlbmQgJWNhcmQtd3JhcDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCR2YWwyLCBtYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xuICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwyLCBib3JkZXItcmFkaXVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGtleTIgPT0gXCJoZWFkZXJcIiB7XG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcbiAgICAgICAgICAuY2FyZC0jeyRrZXkyfSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCR2YWwyLCBmb250LXNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcbiAgICAgICAgICAuY2FyZC0jeyRrZXkyfSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8g64ukIOuCmOuIhOqzoCDtlZjrgpjroZwg7ZWp7LmY64qU6rKMIOyii+yngCDslYrsnYTquYw/Pz8/Pz8/XG4vLyDsg4Hsho3snZgg6rOE64WQ7J2EIOyggeyaqe2VtOyVvCDtlZjripTqsIA/P1xuLy8g7IOB7IaN7J2EIOyggeyaqe2VmOuptCDsvZTrk5zqsIAg7KGw6riIIOuzteyeoe2VtOyniOuTr1xuLy8g7JWE7JiIIHdyYXAsIGhlYWRlciwgYm9keSwgZm9vdGVyIOuCmOuIhOuKlOuNmOyngCwg7KeA6riI7LKY65+8IOyymOumrO2VmOuKlOqyjCDrgpjsnYTrk69cbiIsIi8vIFBhZ2luYXRpb25cbkBtaXhpbiBwYWdpbmF0aW9uLWxpbmtzKCRwYWdlLWl0ZW0pe1xuICB3aWR0aDptYXAtZ2V0KCRwYWdlLWl0ZW0sIHdpZHRoKTtcbiAgaGVpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgaGVpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBoZWlnaHQpOyAvLyBoZWlnaHTqsJLqs7wg64+Z7J28XG5cbiAgLy9wYWRkaW5nOm1hcC1nZXQoJHBhZ2UtaXRlbSwgcGFkZGluZyk7IC0+IOyCreygnOyYiOyglSDrs7TrpZguLlxuICBtYXJnaW46bWFwLWdldCgkcGFnZS1pdGVtLCBtYXJnaW4pO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgdGhlbWUtY29sb3IpO1xuICBib3JkZXI6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyKTtcbiAgYm9yZGVyLXJpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJpZ2h0KTtcblxuICBib3JkZXItcmFkaXVzOm1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJhZGl1cyk7XG4gIGZvbnQtc2l6ZTptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC13ZWlnaHQpO1xuICBmb250LWZhbWlseTptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtZmFtaWx5KTtcbiAgbGV0dGVyLXNwYWNpbmc6bWFwLWdldCgkcGFnZS1pdGVtLCBsZXR0ZXItc3BhY2luZyk7XG4gIGNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkcGFnZS1pdGVtLCBob3Zlci10aGVtZS1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0saG92ZXItdGhlbWUtY29sb3IpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbiggbWFwLWdldCgkcGFnZS1pdGVtLCB0aGVtZS1jb2xvciksIDE1JSk7XG4gICAgfVxuICAgIGNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSwgaG92ZXItY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcGFnZS1pdGVtLCBob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbn1cbi8vIOyVoe2LsOu4jCDrkKDsi5xcbkBtaXhpbiBwYWdpbmF0aW9uLWFjdGl2ZSgkcGFnZS1hY3RpdmUtaXRlbSl7XG4gIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSwgYWN0aXZlLXRoZW1lKTtcbiAgY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSxhY3RpdmUtY29sb3IpO1xuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sYWN0aXZlLXN0eWxlKSl7XG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICB9XG59XG4vLyDrlKQg65Cg7IucXG5AbWl4aW4gcGFnaW5hdGlvbi1kaXNhYmxlZCgkcGFnZS1kaXNhYmxlZC1pdGVtKXtcbiAgb3BhY2l0eTptYXAtZ2V0KCRwYWdlLWRpc2FibGVkLWl0ZW0sIGRpbS1vcGFjaXR5KTtcbiAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCRwYWdlLWRpc2FibGVkLWl0ZW0sZGlzYWJsZWQtc3R5bGUpKXtcbiAgICAjeyRrZXkyfTogI3skdmFsMn07XG4gIH1cbn1cblxuLy8g7LKY7J2MIOydtOyghCDri6TsnYwg64GdIGFycm93IOq0gOugqCDsu6TsiqTthYBcbkBtaXhpbiBwYWdpbmF0aW9uLWFycm93cygkcGFnZS1hcnJvdy1zdHlsZSkge1xuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHBhZ2UtYXJyb3ctc3R5bGUge1xuICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgfVxufSIsIkBtaXhpbiBtYWtlLWZvcm0td3JhcCggJGZvcm0td3JhcC1pbmZvIDogJGdfZm9ybS13cmFwICkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZm9ybS13cmFwLWluZm8pe1xuICAgIC5mb3JtLXdyYXAtI3ska2V5fSB7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICBAaWYodHlwZS1vZigkdmFsMykgIT0gbWFwKSB7IC8vY2FzY2FkaW5n7Jy866GcIOuovOyggCDstpzroKVcbiAgICAgICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYoJGtleTMgPT0gbWVkaWEpe1xuICAgICAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09IFwiJlwiKSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzLCBcIlwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgLiN7JGtleTN9IHtcbiAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2Rlcygka2V5Myk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLyrthY3siqTtirgg67CV7IqkKi9cbkBtaXhpbiBtYWtlLWZpZWxkLWRlZmF1bHQoKSB7XG4gICVmaWVsZC1iYXNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX2ZpZWxkLXN0eWxlKSB7XG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IHNlbGVjdCxcbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcbiAgICAgIEBleHRlbmQgJWZpZWxkLWJhc2U7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKCR2YWwpIHtcbiAgICAgICAgQGlmKCAka2V5MiA9PSBcImlucHV0X2RlZmF1bHRcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAoJHZhbDIpIHtcbiAgICAgICAgICAgIEBpZiggdHlwZS1vZigkdmFsMykgIT0gbWFwKSB7XG4gICAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XG4gICAgICAgICAgICB9QGVsc2UgaWYoJGtleTMgPT0gJ2ZvY3VzLXN0eWxlJyl7XG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09ICdwbGFjZWhvbGRlci1zdHlsZScpe1xuICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlcntcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIGlmICgka2V5MyA9PSAnbWVkaWEnKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLSN7JGtleX0gc2VsZWN0e1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZiggJGtleTIgPT0gXCJzZWxlY3RcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaWYgKCRrZXkzID09IG1lZGlhKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAoJHZhbCkge1xuICAgICAgICBAaWYoICRrZXkyID09IFwidGV4dGFyZWFcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaWYgKCRrZXkzID09ICdtZWRpYScpIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTQpIHtcbiAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDQpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgI3ska2V5M30gOiAjeyR2YWwzfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZC0jeyRrZXl9Lm5vLXVuZGVybGluZSB7XG4gICAgICBib3JkZXItYm90dG9tOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLyp0ZXh0YXJlYSovXG5AbWl4aW4gbWFrZS10ZXh0LWFyZWEoKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX3RleHQtYXJlYS1zdHlsZSkge1xuICAgIC50ZXh0YXJlYS0jeyRrZXl9IHRleHRhcmVhe1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICBAaWYoJGtleTIgPT0gbWVkaWEpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkzKSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gLyrshYDroIntirgg67CV7IqkKi9cbkBtaXhpbiBtYWtlLXNlbGVjdGJveCgpIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGdfc2VsZWN0LXN0eWxlKSB7XG4gICAgLnNlbGVjdC0jeyRrZXl9IHNlbGVjdHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmKCB0eXBlLW9mKCR2YWwyKSAhPSBtYXApe1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgIH1cbiAgfVxufVxuXG4vLyAvKuydtOuvuOyngCDssrTtgawgJiDrnbzrlJTsmKQqL1xuQG1peGluIG1ha2UtY2hlY2tib3gtaW1nKCAkY2hlY2stYm94LWluZm86ICRnX2NoZWNrLWJveC1pbWcgKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xuICAgIC5ja2J4LSN7JGtleX17XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKCR2YWwpIHtcbiAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDIpICE9IG1hcCkge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgQGlmKCRrZXkyID09IGNoZWNrYm94LXN0eWxlKSB7XG4gICAgICAgICAgIC5jdXN0b20tY2hlY2tlZCB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBjaGVja2VkLXN0eWxlKXtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxuICAgICAgICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xuICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSB0ZXh0LXN0eWxlKXtcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyAvKu2DnOq3uCDssrTtgawmIOudvOuUlOyYpCovXG5AbWl4aW4gbWFrZS1jaGVja2JveC10YWcoICRjaGVjay1ib3gtaW5mbzogJGdfY2hlY2stYm94LXRhZyApIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGNoZWNrLWJveC1pbmZvKSB7XG4gICAgLy8g67OA7IiYIOyEoOyWuFxuICAgICR3aWR0aCA6IGZhbHNlO1xuICAgICRoZWlnaHQgOiBmYWxzZTtcbiAgICAuY2tieC0jeyRrZXl9e1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIEBpZigka2V5MiA9PSBjaGVja2JveC1zdHlsZSkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgICAgIEBpZiAoJGtleTMgPT0gd2lkdGgpe1xuICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkdmFsMztcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LShyb3VuZCgkdmFsMyAvIDIpKTtcbiAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlWSgtNTAlKSwgd2Via2l0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICgka2V5MyA9PSBoZWlnaHQpe1xuICAgICAgICAgICAgICAgICAgJGhlaWdodDogJHZhbDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfUBlbHNlIGlmKCRrZXkyID09IGNoZWNrZWQtc3R5bGUpIHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxuICAgICAgICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiByb3VuZCgoJHdpZHRoIC0gKCR3aWR0aCAvIDIpKSAvIDIpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkdmFsMiwgd2lkdGgpID09IGZhbHNlIGFuZCAkd2lkdGgpeyBcbiAgICAgICAgICAgICAgICAgIC8vIGNoZWNrZWQgbWFw7JeQIHdpZHRo6rCAIOyeiOuKlOyngCDssrTtgawg7JeG7Jy866m0IGNoZWNrYm94IG1hcCDsnZgg67CY7IKs7J207KaI66GcIOqwgOyguOyYtFxuICAgICAgICAgICAgICAgICAgJHZhbDIgOiBtYXAtc2V0KCR2YWwyLHdpZHRoLHJvdW5kKCR3aWR0aCAvIDIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCR2YWwyLCBoZWlnaHQpID09IGZhbHNlIGFuZCAkaGVpZ2h0KXsgXG4gICAgICAgICAgICAgICAgICAvLyBjaGVja2VkIG1hcOyXkCBoZWlnaHQg7J6I64qU7KeAIOyytO2BrCDsl4bsnLzrqbQgY2hlY2tib3ggbWFwIOydmCDrsJjsgqzsnbTspojroZwg6rCA7KC47Ji0XG4gICAgICAgICAgICAgICAgICAkdmFsMiA6IG1hcC1zZXQoJHZhbDIsaGVpZ2h0LHJvdW5kKCRoZWlnaHQgLyAyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgICAgICBAaWYgKCRrZXk0ID09IHdpZHRoKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotKHJvdW5kKCR2YWw0IC8gMikpO1xuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZVkoLTUwJSksIHdlYmtpdCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fTogI3skdmFsNH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfUBlbHNlIGlmKCRrZXkyID09IHRleHQtc3R5bGUpe1xuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgJi5kaXNhYmxlZHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgICBsYWJlbDpiZWZvcmV7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmNpcmNsZTpiZWZvcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG4gICAgICAmLmNpcmNsZSBpbnB1dCB7XG4gICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcbiAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1pbi13aWR0aDogJHdpZHRoO1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vcnAtdGFibGVcbkBtaXhpbiBtYWtlLXJwLXRhYmxlKCRycC10YWJsZS1pbmZvIDogJGdfcnAtdGFibGUpIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJHJwLXRhYmxlLWluZm8pe1xuICAgIC5ycC10YWJsZS0jeyRrZXl9IHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDIpICE9IG1hcCkge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgIEBpZih0eXBlLW9mKCR2YWwzKSAhPSBtYXApIHsgLy9jYXNjYWRpbmfsnLzroZwg66i87KCAIOy2nOugpVxuICAgICAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZigka2V5MyA9PSBtZWRpYSl7XG4gICAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9QGVsc2UgaWYoJGtleTMgPT0gXCImXCIpIHtcbiAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMsIFwiXCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICAgICAuI3ska2V5M30ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG4iLCIvLy8qIHRhYiAqL1xuQG1peGluIHRhYi1pdGVtcygkdGFiLWdyb3VwIDogJGdfdGFiLWdyb3VwKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCR0YWItZ3JvdXApe1xuICAgIEBpZigka2V5ID09IHRhYi13cmFwLWRlZmF1bHQpe1xuICAgICAgLnRhYi13cmFwIHtcbiAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICAgIEBpZigka2V5MiA9PSBtZWRpYSl7XG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1AZWxzZSB7XG4gICAgICAudGFiLXdyYXAuI3ska2V5fSB7XG4gICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsIHtcbiAgICAgICAgICBAaWYodHlwZS1vZigkdmFsNCkgIT0gbWFwICkgeyAvL2Nhc2NhZGluZ+ycvOuhnCDrqLzsoIAg7Lac66ClXG4gICAgICAgICAgICAjeyRrZXk0fTogI3skdmFsNH07XG4gICAgICAgICAgfUBlbHNlIHsgLy9tZWRpYSwgYWN0aXZlLCBzdWJDbGFzc1xuICAgICAgICAgICAgLiN7JGtleTR9IHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTUsICR2YWw1IGluICR2YWw0IHtcbiAgICAgICAgICAgICAgICBAaWYodHlwZS1vZigkdmFsNSkgIT0gbWFwKSB7IC8vY2FzY2FkaW5n7Jy866GcIOuovOyggCDstpzroKVcbiAgICAgICAgICAgICAgICAgICN7JGtleTV9OiAjeyR2YWw1fTtcbiAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgQGlmKCRrZXk1ID09IG1lZGlhKXtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJGtleTYsICR2YWw2IGluICR2YWw1IHtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfUBlbHNlIGlmICgka2V5NSA9PSBhY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJHZhbDUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaWYoJGtleTUgPT0gXCImXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw1LCBcIlwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgLiN7JGtleTV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFJQSxvQkFBb0I7QUFDcEIsQUFBQSxJQUFJLEFBQUEsV0FBVyxDQUFDO0VBQ2QsUUFBUSxFQUFFLE1BQU07Q0FDakI7O0FBQ0QsQUFBQSxjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYTtFQUM5QixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGtCQUFrQixFQUFFLE9BQU87Q0E2QjVCOztBQXpDRCxBQWFFLGNBYlksQUFhWCxNQUFNLENBQUM7RUFDTixHQUFHLEVBQUUsS0FBSztDQUNYOztBQWZILEFBZ0JFLGNBaEJZLENBZ0JaLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsSUFBSSxFQUFFLE1BQU07Q0FvQmI7O0FBbkJDLEFBQUEsV0FBVyxDQXJCZixjQUFjLENBZ0JaLEtBQUssQ0FLVztFQUNaLGdCQUFnQixFQUFDLE9BQU87RUFDeEIsT0FBTyxFQUFDLEdBQUc7Q0FDWjs7QUF4QkwsQUF5QkksY0F6QlUsQ0FnQlosS0FBSyxDQVNILFNBQVMsQ0FBQztFQUNSLElBQUksRUFBRSxNQUFNO0VBQ1osT0FBTyxF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 */
