.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin-top: 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (min-width: 1200px) {
  .pagination {
    gap: 16px;
    margin-top: 80px;
  }
}
.pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #ffffff;
  border-radius: 10px;
  -webkit-transition: background-position 0.25s;
  transition: background-position 0.25s;
  isolation: isolate;
  position: relative;
  min-height: 48px;
  min-width: 48px;
  border: 2px solid transparent;
  padding: 8px;
  text-decoration: none;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 100%;
  isolation: isolate;
  -webkit-transition: color 0.25s, border-color 0.25s, background 0.25s;
  transition: color 0.25s, border-color 0.25s, background 0.25s;
}
.pagination .page-numbers:not(a) {
  cursor: default;
}
.pagination .page-numbers::after {
  content: "";
  position: absolute;
  inset: -2px;
  background: linear-gradient(146.54deg, #66FFB7 -1.49%, #66FFFF 92.1%) border-box;
  border-radius: inherit;
  z-index: -1;
  opacity: 0;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.pagination .page-numbers:hover:not(.current):not(span) {
  color: #000000;
}
.pagination .page-numbers:hover:not(.current):not(span)::after {
  opacity: 1;
}
.pagination .page-numbers.current {
  border: 1px solid #23303F;
  background-color: #09131E;
}
.pagination .page-numbers.next:not([disabled]), .pagination .page-numbers.prev:not([disabled]) {
  background: linear-gradient(#09131E, #09131E) padding-box, linear-gradient(146.54deg, #66FFB7 -1.49%, #66FFFF 92.1%) border-box;
}
@media (min-width: 1200px) {
  .pagination .page-numbers {
    font-weight: 500;
    font-size: 1.25rem;
    min-height: 52px;
    min-width: 52px;
  }
}

.section-content-posts {
  background-color: #060C13;
  color: #ffffff;
  padding: 0 0 60px;
  margin-top: -74px;
}
@media (min-width: 768px) {
  .section-content-posts {
    margin-top: -110px;
  }
}
.section-hero:has(+ .section-content-posts) {
  padding-bottom: 134px;
}
@media (min-width: 768px) {
  .section-hero:has(+ .section-content-posts) {
    padding-bottom: 160px;
  }
}

.section-hero.thin:has(+ .section-content-posts) {
  padding-bottom: 130px;
}
@media (min-width: 992px) {
  .section-hero.thin:has(+ .section-content-posts) {
    padding-bottom: 140px;
  }
}

@media (min-width: 768px) {
  .section-hero:has(+ .section-content-posts .card-post-empty) {
    padding-bottom: 150px;
  }
}

@media (min-width: 768px) {
  .section-hero.thin:has(+ .section-content-posts .card-post-empty) {
    padding-bottom: 100px;
  }
}

.section-content-posts:has(.card-post-empty) {
  margin-top: -50px;
}

@media (min-width: 768px) {
  .section-content-posts {
    padding-bottom: 120px;
  }
}
@supports (-webkit-appearance:none){

}

 @media (min-width: 1200px){

@supports (-webkit-appearance:none){

}

}

 @media (min-width: 768px){

@supports (-webkit-appearance:none){

}

}

 @media (min-width: 992px){

@supports (-webkit-appearance:none){

}

}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImJsb2cuY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3ZhcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiYmxvZy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7RUFDQSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtNQUFBLGVBQUE7QUNDSjtBQ3dESTtFRi9ESjtJQVNRLFNBQUE7SUFDQSxnQkFBQTtFQ0VOO0FBQ0Y7QURBSTtFQUNJLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EsY0cwQ1U7RUh6Q1YsbUJBQUE7RUFDQSw2Q0FBQTtFQUFBLHFDQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLDZCQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7RUlvUUYsbUJBTEk7RUo3UEYsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFFQUFBO0VBQUEsNkRBQUE7QUNFUjtBREFRO0VBQ0ksZUFBQTtBQ0VaO0FEQ1E7RUFDSSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsZ0ZBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsaUNBQUE7RUFBQSx5QkFBQTtBQ0NaO0FERVE7RUFDSSxjR1dNO0FGWGxCO0FERVk7RUFDSSxVQUFBO0FDQWhCO0FESVE7RUFDSSx5QkFBQTtFQUNBLHlCR21CTTtBRnJCbEI7QURPWTtFQUNJLCtIQUNJO0FDTnBCO0FDSUk7RUZsREE7SUEwRFEsZ0JBQUE7SUl3Tk4sa0JBTEk7SUpqTkUsZ0JBQUE7SUFDQSxlQUFBO0VDUlY7QUFDRjs7QUkzREE7RUFDRSx5QkZvRGdCO0VFbkRoQixjRmlEZ0I7RUVoRGhCLGlCQUFBO0VBQ0EsaUJBQUE7QUo4REY7QUNYSTtFR3ZESjtJQU1JLGtCQUFBO0VKZ0VGO0FBQ0Y7QUk3REk7RUFDRSxxQkFBQTtBSitETjtBQ25CSTtFRzdDQTtJQUdJLHFCQUFBO0VKaUVOO0FBQ0Y7O0FJOURJO0VBQ0UscUJBQUE7QUppRU47QUM1Qkk7RUd0Q0E7SUFHSSxxQkFBQTtFSm1FTjtBQUNGOztBQ2pDSTtFRy9CQTtJQUVJLHFCQUFBO0VKbUVOO0FBQ0Y7O0FDdkNJO0VHMUJBO0lBRUkscUJBQUE7RUpvRU47QUFDRjs7QUlsRUk7RUFDRSxpQkFBQTtBSnFFTjs7QUNqREk7RUd2REo7SUF3Q0kscUJBQUE7RUpxRUY7QUFDRjtBQUNBOztBQUVBOztDQUVDOztBQUVEOztBQUVBOztBQUVBOztDQUVDOztBQUVEOztBQUVBOztBQUVBOztDQUVDOztBQUVEOztBQUVBOztBQUVBIiwiZmlsZSI6ImJsb2cubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wYWdpbmF0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICBnYXA6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIH1cclxuXHJcbiAgICAucGFnZS1udW1iZXJzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogNDhweDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiwgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uLCBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG5cclxuICAgICAgICAmOm5vdChhKSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgaW5zZXQ6IC0ycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmFkaWVudCBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXI6bm90KC5jdXJyZW50KTpub3Qoc3Bhbikge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jdXJyZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWUtZGFya2VyLTI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1kYXJrZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm5leHQsXHJcbiAgICAgICAgJi5wcmV2IHtcclxuICAgICAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDpcclxuICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoJGdyZWVuLWRhcmtlciwgJGdyZWVuLWRhcmtlcikgcGFkZGluZy1ib3gsXHJcbiAgICAgICAgICAgICAgICAgICAgJGdyYWRpZW50IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwcHgpO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MnB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDUycHg7XHJcblxyXG4gICAgICAgICAgICAmLm5leHQge31cclxuXHJcbiAgICAgICAgICAgICYucHJldiB7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnaW5hdGlvbiB7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbn1cbi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4yNXM7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA4cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMsIGJvcmRlci1jb2xvciAwLjI1cywgYmFja2dyb3VuZCAwLjI1cztcbn1cbi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnM6bm90KGEpIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAtMnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ2LjU0ZGVnLCAjNjZGRkI3IC0xLjQ5JSwgIzY2RkZGRiA5Mi4xJSkgYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOmhvdmVyOm5vdCguY3VycmVudCk6bm90KHNwYW4pIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOmhvdmVyOm5vdCguY3VycmVudCk6bm90KHNwYW4pOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLmN1cnJlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjMzMDNGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkxMzFFO1xufVxuLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0Om5vdChbZGlzYWJsZWRdKSwgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2Om5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMDkxMzFFLCAjMDkxMzFFKSBwYWRkaW5nLWJveCwgbGluZWFyLWdyYWRpZW50KDE0Ni41NGRlZywgIzY2RkZCNyAtMS40OSUsICM2NkZGRkYgOTIuMSUpIGJvcmRlci1ib3g7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgbWluLXdpZHRoOiA1MnB4O1xuICB9XG59XG5cbi5zZWN0aW9uLWNvbnRlbnQtcG9zdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwQzEzO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMCAwIDYwcHg7XG4gIG1hcmdpbi10b3A6IC03NHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uLWNvbnRlbnQtcG9zdHMge1xuICAgIG1hcmdpbi10b3A6IC0xMTBweDtcbiAgfVxufVxuLnNlY3Rpb24taGVybzpoYXMoKyAuc2VjdGlvbi1jb250ZW50LXBvc3RzKSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMzRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VjdGlvbi1oZXJvOmhhcygrIC5zZWN0aW9uLWNvbnRlbnQtcG9zdHMpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7XG4gIH1cbn1cblxuLnNlY3Rpb24taGVyby50aGluOmhhcygrIC5zZWN0aW9uLWNvbnRlbnQtcG9zdHMpIHtcbiAgcGFkZGluZy1ib3R0b206IDEzMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zZWN0aW9uLWhlcm8udGhpbjpoYXMoKyAuc2VjdGlvbi1jb250ZW50LXBvc3RzKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VjdGlvbi1oZXJvOmhhcygrIC5zZWN0aW9uLWNvbnRlbnQtcG9zdHMgLmNhcmQtcG9zdC1lbXB0eSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlY3Rpb24taGVyby50aGluOmhhcygrIC5zZWN0aW9uLWNvbnRlbnQtcG9zdHMgLmNhcmQtcG9zdC1lbXB0eSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxufVxuXG4uc2VjdGlvbi1jb250ZW50LXBvc3RzOmhhcyguY2FyZC1wb3N0LWVtcHR5KSB7XG4gIG1hcmdpbi10b3A6IC01MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC1wb3N0cyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB9XG59XG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTpub25lKXtcblxufVxuXG4gQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCl7XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUpe1xuXG59XG5cbn1cblxuIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUpe1xuXG59XG5cbn1cblxuIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCl7XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUpe1xuXG59XG5cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIkZW5hYmxlLXJmczogZmFsc2U7XHJcbiRwcmVmaXg6ICcnO1xyXG4kZW5hYmxlLWRhcmstbW9kZTogZmFsc2U7XHJcblxyXG4vLyBHcmlkLlxyXG4kZ3JpZC1icmVha3BvaW50czogKFxyXG5cdHhzOiAwLFxyXG5cdHNtOiA1NzZweCxcclxuXHRtZDogNzY4cHgsXHJcblx0bGc6IDk5MnB4LFxyXG5cdHhsOiAxMjAwcHgsXHJcblx0eHhsOiAxNDQwcHhcclxuKTtcclxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXHJcblx0c206IDU0MHB4LFxyXG5cdG1kOiA3MjBweCxcclxuXHRsZzogOTYwcHgsXHJcblx0eGw6IDExNDBweCxcclxuXHR4eGw6IDEyODBweFxyXG4pO1xyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMwcHg7XHJcbiRjb250YWluZXItZ3V0dGVyLXdpZHRoOiA0MHB4O1xyXG5cclxuJGNvbnQtbWF4LXdpZHRoOiAgICAgICAgIDEyODBweDtcclxuJGNvbnQtaGVhZGVyLW1heC13aWR0aDogIDE4ODBweDtcclxuJHJldmlldy1tYXgtd2lkdGg6ICAgICAgICA3NDBweDtcclxuJG1vZGFsLW1heC13aWR0aDogICAgICAgIDcyOHB4O1xyXG4kaGVhZGluZy13aWR0aDogICAgICAgICAgNzEwcHg7XHJcbiRoZXJvLWJsb2ctd2lkdGg6ICAgICAgICA4ODBweDtcclxuJGNvbW1lbnRzLXdpZHRoOiAgICAgICAgIDQ5MnB4O1xyXG4kYXV0aG9yLXdpZHRoOiAgICAgICAgICAgNjYuNjY2NjclOyAvLyA5NTRweFxyXG5cclxuLy8gRm9udCBmYW1pbGllcy5cclxuJGZmOiAgICAgICAgJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xyXG4kZmYtdGl0bGU6ICAnUG9wcGlucycsIHNhbnMtc2VyaWY7XHJcblxyXG4vLyBGb250IHNpemVzLlxyXG4kZnMteHNcdDogMTJweDtcclxuJGZzLXNtXHQ6IDE0cHg7XHJcbiRmcy1tZFx0OiAxNnB4O1xyXG4kZnMtbGdcdDogMThweDtcclxuJGZzLXhsXHQ6IDIwcHg7XHJcblxyXG4vLyBGb250IHdlaWdodHMuXHJcbiRmdy1saWdodFx0XHQ6IDMwMDtcclxuJGZ3LXJlZ3VsYXJcdFx0OiA0MDA7XHJcbiRmdy1tZWRpdW1cdFx0OiA1MDA7XHJcbiRmdy1zZW1pYm9sZFx0OiA2MDA7XHJcbiRmdy1ib2xkXHRcdDogNzAwO1xyXG4kZnctZXh0cmFib2xkXHQ6IDgwMDtcclxuJGZ3LWJsYWNrXHRcdDogOTAwO1xyXG5cclxuLy8gTGluZSBoZWlnaHRzLlxyXG4kbGg6XHRcdFx0IDEuNDtcclxuJGxoLXRpdGxlOlx0XHQgMS4yO1xyXG5cclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xyXG5cclxuLy8gQ29sb3JzLlxyXG4kd2hpdGU6XHQgICAgICAgICAgI2ZmZmZmZjtcclxuJGJsYWNrOiAgICAgICAgICAgIzAwMDAwMDtcclxuJGRhcms6ICAgICAgICAgICAgIzA2MEMxMztcclxuJGdyYXktZGFya2VyOiAgICAgIzE2MTYxNjtcclxuJGdyYXktZGFyazogICAgICAgIzJEMkQyRDtcclxuJGdyYXk6ICAgICAgICAgICAgIzgyODI4MjtcclxuJGdyYXktbGlnaHQ6ICAgICAgI0I4QjhCODtcclxuJGdyYXktbGlnaHRlcjogICAgI0M3QzdDNztcclxuJGdyYXktbGlnaHRlc3Q6ICAgI0VDRUNFQztcclxuJGdyYXktbGlnaHRlc3QtMTogI0U4RThFODtcclxuJGdyYXktbGlnaHRlc3QtMjogI0Y1RjVGNTtcclxuJGdyYXktbGlnaHRlc3QtMzogI0Y5RjlGOTtcclxuJGdyYXktbGlnaHRlc3QtNDogI0M4Q0ZEOTtcclxuJGdyYXktbGlnaHRlc3QtNTogI0Y3RjdGNztcclxuJGJsdWUtZGFya2VyOiAgICAgIzIyMkYzRTtcclxuJGJsdWUtZGFya2VyLTI6ICAgIzIzMzAzRjtcclxuJGJsdWUtbGlnaHQ6ICAgICAgI0EwQUNCQjtcclxuJGJsdWUtbGlnaHQtMjogICAgIzgxOEQ5QztcclxuJGdyZWVuLWRhcmtlcjogICAgIzA5MTMxRTtcclxuJGdyZWVuLWRhcmtlci0yOiAgIzFBNDA0MztcclxuJHllbGxvdzogICAgICAgICAgI2ZmYzEwNztcclxuXHJcblxyXG5cclxuJGluZm86ICAgICAgICAgICMwNjdBRkY7XHJcbiRpbmZvMjogICAgICAgICAjM0I2OUMyO1xyXG4kZGFuZ2VyOiAgICAgICAgI0VEMUMyNDtcclxuJHN1Y2Nlc3M6ICAgICAgICM0NEFGMzU7XHJcbiRzdWNjZXNzMjogICAgICAjMTRGRjAwOyAvLyBmb3IgYWxlcnRzIGluIHd5c2l3eWdcclxuXHJcbiRwcmltYXJ5OiAgICAgICAjNjZGRkI3O1xyXG4kcHJpbWFyeS0yOiAgICAgIzY2RkZGRjtcclxuJHByaW1hcnktMzogICAgICM2NkZGREY7XHJcbiRzZWNvbmRhcnk6ICAgICAjRkNDRjAwO1xyXG5cclxuXHJcbiRnb2xkOiAgICAgICAgICAjRjZDOTI5O1xyXG4kc2lsdmVyOiAgICAgICAgI0Q3RDdENztcclxuJGJyb256ZTogICAgICAgICNEOUEyN0E7XHJcblxyXG4kZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxNDYuNTRkZWcsICRwcmltYXJ5IC0xLjQ5JSwgJHByaW1hcnktMiA5Mi4xJSk7XHJcbiRncmFkaWVudC1pbnZlcnQ6IGxpbmVhci1ncmFkaWVudCgzMjZkZWcsICRwcmltYXJ5IC0xLjQ5JSwgJHByaW1hcnktMiA5Mi4xJSk7XHJcbiRidG4tZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxNDYuNTRkZWcsICRwcmltYXJ5IC0xLjQ5JSwgJHByaW1hcnktMiA0NiUsICRwcmltYXJ5IDEwMCUpO1xyXG4kZ3JhZGllbnQtY29sb3ItbWl4OiBtaXgoJHByaW1hcnksICRwcmltYXJ5LTIsIDUwJSk7XHJcbiRncmFkaWVudC1kYXJrOiBsaW5lYXItZ3JhZGllbnQoMTc2LjI1ZGVnLCAkZ3JlZW4tZGFya2VyIDI2LjM3JSwgJGdyZWVuLWRhcmtlci0yIDk3LjI3JSk7XHJcblxyXG5cclxuJGJvZHktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFya2VyO1xyXG4kbGluay1jb2xvcjogICAgICAgICAgICAkaW5mbztcclxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRpbmZvLCA1JSk7XHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4kcHJvczogICAgICAgICAgICAgICAgICAjN0FBMUUwO1xyXG4kY29uczogICAgICAgICAgICAgICAgICAjRjE5NDk3O1xyXG5cclxuJHJpYmJvbjogICAgICAgIFx0XHQkc2Vjb25kYXJ5O1xyXG4kcmliYm9uLWRhcms6ICAgXHRcdGRhcmtlbigkc2Vjb25kYXJ5LDIwJSk7XHJcblxyXG4keW91dHViZTogICAjQzgyMTIxO1xyXG4kdHdpdHRlcjogICAjMURBMUYyO1xyXG4kaW5zdGFncmFtOiAjQ0QyNjgwO1xyXG4kZmFjZWJvb2s6ICAjNDg2N0FBO1xyXG4kYW1hem9uOlx0I0ZGOTkwMDtcclxuXHJcbi8vIE90aGVycy5cclxuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjVzO1xyXG4kdHJhbnNpdGlvbi1kdXJhdGlvbi1mYXN0OiAwLjFzO1xyXG4kdHJhbnNpdGlvbi1kdXJhdGlvbi1zbG93OiAwLjRzO1xyXG4kcmFkaXVzLWRyb3Bkb3duOiAgICAgNnB4O1xyXG4kcmFkaXVzOiAgICAgICAgICAgICAgMTBweDtcclxuJHJhZGl1cy1tZW51OiAgICAgICAgIDE1cHg7XHJcbiRib3gtc2hhZG93OiAgICAgICAgICAwcHggNHB4IDEycHggMHB4IHJnYmEoJGJsYWNrLCAwLjA4KTtcclxuJGJveC1zaGFkb3ctYm9sZDogICAgIDBweCA0cHggMTJweCAwcHggcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kYm94LXNoYWRvdy1ob3ZlcjogICAgMHB4IDRweCAxMnB4IDRweCByZ2JhKCRibGFjaywgMC4xOCk7XHJcblxyXG4kaGVhZGVyLWhlaWdodDogNjhweDtcclxuJGp1bXBsaW5rcy1oZWlnaHQ6IDQycHg7XHJcblxyXG4vLyBCVVRUT05TXHJcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAkbGg7XHJcbiRidG4tcGFkZGluZy14OiAgICAgICAzMnB4O1xyXG4kYnRuLXBhZGRpbmcteTogICAgICAgOHB4O1xyXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgJGZ3LW1lZGl1bTtcclxuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICRyYWRpdXM7XHJcbiRidG4tYm94LXNoYWRvdzogICAgICAkYm94LXNoYWRvdztcclxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgIDFweDtcclxuXHJcbi8vIEZPUk1TXHJcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICRmcy1zbTtcclxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgN3B4O1xyXG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAxNnB4O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxLjcxNDM7XHJcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4kaW5wdXQtYmc6ICAgICAgICAgXHQgICAgICAgICAgJHdoaXRlO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAkZ3JheS1saWdodDtcclxuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgMXB4O1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAkcmFkaXVzO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodDtcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGRhcms7XHJcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgIG5vbmU7XHJcblxyXG4kZm9ybS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgJGZzLXNtO1xyXG4kZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAxLjcxNDM7XHJcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgIDhweDtcclxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgMTZweDtcclxuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3I7XHJcbiRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgIDFweDtcclxuJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHQ7XHJcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICRyYWRpdXM7XHJcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93Om5vbmU7XHJcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3Itd2hpdGU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JHdoaXRlfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKTtcclxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogJGRhcms7XHJcblxyXG4kZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0OiAgICAxLjg3NWVtO1xyXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAxLjI1ZW07XHJcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgIC41ZW07XHJcblxyXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgJGRhbmdlcjtcclxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICR3aGl0ZTtcclxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICRkYW5nZXI7XHJcbi8vICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nbTYgMTAgMyAzIDYtNicvPjwvc3ZnPlwiKTtcclxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTUnIGhlaWdodD0nMTAnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSd1cmwoJTIzZyknIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTE0LjI1NS4yNDRhLjgzMy44MzMgMCAwIDEgMCAxLjE3OUw1LjkyIDkuNzU2YS44MzMuODMzIDAgMCAxLTEuMTc4IDBMLjU3NiA1LjU4OWEuODMzLjgzMyAwIDEgMSAxLjE3OS0xLjE3OGwzLjU3NyAzLjU3N0wxMy4wNzYuMjQ0YS44MzMuODMzIDAgMCAxIDEuMTc5IDBaJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQ2RlZnMlM0UlM0NsaW5lYXJHcmFkaWVudCBpZD0nZycgeDE9Jy42NzQnIHgyPSc2LjYyOScgeTE9Jy0uNDA3JyB5Mj0nMTIuMzU5JyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZSclM0UlM0NzdG9wIHN0b3AtY29sb3I9JyUyMzY2RkZCNycvJTNFJTNDc3RvcCBvZmZzZXQ9JzEnIHN0b3AtY29sb3I9JyUyMzZGRicvJTNFJTNDL2xpbmVhckdyYWRpZW50JTNFJTNDL2RlZnMlM0UlM0Mvc3ZnJTNFXCIpO1xyXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlLWRhcms6ZXNjYXBlLXN2Zyh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE1JyBoZWlnaHQ9JzEwJyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZmlsbD0nI3skZGFya30nIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTE0LjI1NS4yNDRhLjgzMy44MzMgMCAwIDEgMCAxLjE3OUw1LjkyIDkuNzU2YS44MzMuODMzIDAgMCAxLTEuMTc4IDBMLjU3NiA1LjU4OWEuODMzLjgzMyAwIDEgMSAxLjE3OS0xLjE3OGwzLjU3NyAzLjU3N0wxMy4wNzYuMjQ0YS44MzMuODMzIDAgMCAxIDEuMTc5IDBaJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnLyUzRSUlM0Mvc3ZnJTNFXCIpKTtcclxuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzIuNScgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKTtcclxuXHJcbiRjaGV2cm9uZS1kb3duOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMTInJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xMCAxMS4zNCA5LjM4LTkuMzdMMTguMDQuNjRsLTMuMiAzLjIyTDEwIDguNyA1LjE2IDMuODYgMS45Ni42Ni42MyAxLjk5IDEwIDExLjM0WicvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHJcbi8vIGhlYWRlclxyXG4kaGVhZGVyLW5hdmJhci1icmVha3BvaW50OiBsZztcclxuXHJcbi8vIENBUkRTXHJcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuXHJcblxyXG4vLyBaLUlOREVYXHJcbiR6LWluZGV4LWhlYWRlci1wYXJ0czogMTA2MDtcclxuJG1vZGFsLWJhY2tkcm9wOiAgICAgICAxMDYxOyAvLyBtb3JlIHRoYW4gLmhlYWRlci10b3A7IGZvciAuaGVhZGVyLXRvcCB3aGVuIG5hdmJhciBpcyBvcGVuOyBmb3Igb2ZmZXJzIG1vcmUgdGhhbiBiYWNrZHJvcFxyXG4kbW9kYWw6ICAgICAgICAgICAgICAgIDEwNjI7IC8vIG1vcmUgdGhhbiBiYWNrZHJvcFxyXG4kbW9kYWwtaXMtb3BlbjogICAgICAgIDEwNjM7IC8vIG9mZmVycyB3aGVuIG1vZGFsIGlzIG9wZW5cclxuXHJcbi8vIHByb2dyZXNzXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDQ4cHg7XHJcbiRwcm9ncmVzcy1oZWlnaHQtbGc6IDUycHg7XHJcbiRwcm9ncmVzcy1iZzogJHdoaXRlO1xyXG4kcHJvZ3Jlc3MtYmFyLWJnOiB0cmFuc3BhcmVudDtcclxuJHByb2dyZXNzLWJhci1jb2xvcjogJGJsYWNrO1xyXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogMTBweDtcclxuJHByb2dyZXNzLWZvbnQtc2l6ZTogMTZweDsiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zJztcclxuXHJcbkBpbXBvcnQgJy4uLy4uLy4uL3NyYy9zY3NzL2NvbXBvbmVudHMvdmFycyc7XHJcblxyXG5cclxuQGltcG9ydCAnLi4vY29tcG9uZW50cy9taXhpbnMnO1xyXG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL3BhZ2luYXRpb24nO1xyXG5cclxuLnNlY3Rpb24tY29udGVudC1wb3N0cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcms7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICBwYWRkaW5nOiAwIDAgNjBweDtcclxuICBtYXJnaW4tdG9wOiAtNzRweDtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTEwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIEBhdC1yb290IHtcclxuICAgIC5zZWN0aW9uLWhlcm86aGFzKCsgJikge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTM0cHg7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbi1oZXJvLnRoaW46aGFzKCArICYgKSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMzBweDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9uLWhlcm86aGFzKCsgJiAuY2FyZC1wb3N0LWVtcHR5KSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWN0aW9uLWhlcm8udGhpbjpoYXMoKyAmIC5jYXJkLXBvc3QtZW1wdHkpIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNhcmQtcG9zdC1lbXB0eSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAtNTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcclxuICB9XHJcbn0iXX0= */
