/*  */
.itinerary-title {
  font-weight: bold;
  font-size: 32px;
}
@media (max-width: 1439.8px) {
  .itinerary-title {
    font-size: calc(23px + (32 - 23) * (100vw - 575.8px) / (1439.8 - 575.8));
  }
}
@media (max-width: 575.8px) {
  .itinerary-title {
    font-size: 23px;
  }
}

.itinerary {
  background-color: #fff;
  padding: 1.5rem 2rem 2rem;
}
@media screen and (max-width: 575.8px) {
  .itinerary {
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

.itinerary-title {
  text-align: left;
}
@media screen and (max-width: 575.8px) {
  .itinerary-title {
    display: none;
  }
}

.itinerary .portImage {
  display: block;
  width: 100%;
}

.itinerary__carrouselWrap .cursorInitial {
  cursor: initial;
}
@media screen and (max-width: 575.8px) {
  .itinerary__carrouselWrap {
    position: relative;
  }
  .itinerary__carrouselWrap .carousel-control-next, .itinerary__carrouselWrap .carousel-control-prev {
    top: calc(50% - 50px);
    bottom: auto;
  }
}

@media screen and (max-width: 575.8px) {
  .shipItinerary__photo img {
    max-width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (max-width: 575.8px) {
  .itinerary__photo {
    height: 200px;
  }
  .itinerary__photo img {
    max-width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (max-width: 575.8px) {
  .itinerary__title, div .itinerary__title {
    text-transform: uppercase;
    font-weight: 900;
  }
}
@media screen and (max-width: 575.8px) {
  .itinerary__title, div .itinerary__title {
    font-size: 21px;
  }
}
@media screen and (max-width: 359.8px) {
  .itinerary__title, div .itinerary__title {
    font-size: 21px;
  }
}

@media screen and (max-width: 575.8px) {
  .itinerary__contentTitle {
    padding-bottom: 16px;
    border-bottom: 1px solid #d3d3d3;
  }
}

@media screen and (max-width: 575.8px) {
  .itinerary__contentOut {
    padding: 18px 0;
    border-bottom: 1px solid #d3d3d3;
  }
}

.itinerary__portContentDescription {
  margin-top: 0.5rem;
  max-height: 3.5rem;
}
.itinerary__portContentDescription.open {
  max-height: none;
}
@media screen and (max-width: 575.8px) {
  .itinerary__portContentDescription {
    margin-top: 24px;
    max-height: none;
  }
}

@media screen and (max-width: 575.8px) {
  .itinerary__carousel {
    margin-left: calc((100% - 100vw) / 2);
    margin-right: calc((100% - 100vw) / 2);
    width: 100vw;
  }
}

@media screen and (max-width: 575.8px) {
  .itinerary__cardContent {
    padding: 10px 18px;
  }
}

.itinerary__day {
  font-weight: bold;
}
@media screen and (max-width: 575.8px) {
  .itinerary__day {
    font-size: 16.33px;
  }
}
@media screen and (max-width: 359.8px) {
  .itinerary__day {
    font-size: 16.33px;
  }
}

@media screen and (max-width: 575.8px) {
  .itinerary__item {
    display: block;
    position: initial;
    float: none;
    width: 100%;
    margin-right: 0;
    left: auto;
    backface-visibility: initial;
  }
}

.carousel-control-prev i,
.carousel-control-next i {
  background-color: #fff;
  border-radius: 25px;
  border: 1px solid #057AFF;
  font-size: 25px;
  color: #3f3f3f;
  /* padding: 0.5rem 0.5rem 0.5rem 0.5rem; */
  height: 39.5px;
  width: 39.5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-control-prev i:hover,
.carousel-control-next i:hover {
  color: #3f3f3f;
}

.carousel-control-prev::after,
.carousel-control-next::after {
  content: none !important;
}

.itinerary .see-more a,
.view-map a {
  text-decoration: none;
  font-weight: bold;
}

.itinerary .see-more,
.itinerary-type {
  text-align: left;
}

.itinerary .view-map,
.itinerary-departure {
  text-align: right;
}

.carousel-control-prev,
.carousel-control-next {
  margin-top: 82px !important;
}

.carousel-control-prev {
  margin-left: 8px !important;
}

.carousel-control-next {
  margin-right: 22px !important;
}

.info-view-more {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 3.25rem;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 575.8px) {
  .info-view-more {
    overflow: visible;
    max-height: none;
  }
}

.info-view-more.expanded {
  max-height: none;
  -webkit-line-clamp: unset;
}

@media screen and (max-width: 575.8px) {
  .itinerary__contentSeeMore {
    display: none;
  }
}

.see-more a,
.view-map a {
  text-decoration: none;
  font-weight: bold;
}

.table-itinerary {
  padding-left: 65px;
}
@media screen and (max-width: 991.8px) {
  .table-itinerary {
    padding-left: 0;
  }
}
@media screen and (max-width: 767.8px) {
  .table-itinerary {
    padding-left: 0;
  }
}

@media screen and (max-width: 767.8px) {
  .carousel-control-prev,
  .carousel-control-next {
    margin-top: 41px !important;
  }
}
.techsheet {
  padding: 0 4px;
}
.techsheet__list {
  font-weight: normal;
}
@media screen and (max-width: 575.8px) {
  .techsheet__list {
    font-size: 15.17px;
  }
}
@media screen and (max-width: 359.8px) {
  .techsheet__list {
    font-size: 15.17px;
  }
}

.techsheet__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #d3d3d3;
  padding: 20px 0;
  word-wrap: break-word;
}
.techsheet__label {
  flex: 1;
}
.techsheet__value {
  padding-right: 5px;
  max-width: 50%;
  text-align: end;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxpdGllcy9fY29sb3JzLnNjc3MiLCJ1dGlsaXRpZXMvX3BsYWNlaG9sZGVyLnNjc3MiLCJ1dGlsaXRpZXMvX3Jlc3BvbnNpdmUuc2NzcyIsImNoZWNrb3V0L3NoaXBfaXRpbmVyYXJ5LmNzcyIsImNoZWNrb3V0L3NoaXBfaXRpbmVyYXJ5LnNjc3MiLCJ1dGlsaXRpZXMvX2NtaXhpbnMuc2NzcyIsInV0aWxpdGllcy9fbWl4aW5zLWNsYXNzZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4Q0EsS0FBQTtBQ2hDQTtFQUNFLGlCQUFBO0VDK1RJLGVBdkJVO0FDblRoQjtBRCtVSTtFRHJVSjtJQ3NVTSx3RUF0QmM7RUN0VGxCO0FBQ0Y7QUQ4VUk7RUR6VUo7SUMwVU0sZUFoQ1U7RUMzU2Q7QUFDRjs7QUNaQTtFQUNFLHNCQUFBO0VBQ0EseUJBQUE7QURlRjtBRXdFRTtFRHpGRjtJQUtJLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSxjQUFBO0lBQ0EsYUFBQTtJQUNBLGdCQUFBO0lBQ0EsaUJBQUE7RURnQkY7QUFDRjs7QUNkQTtFQUNFLGdCQUFBO0FEaUJGO0FFMERFO0VENUVGO0lBTUksYUFBQTtFRGdCRjtBQUNGOztBQ2RBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7QURpQkY7O0FDYkU7RUFDRSxlQUFBO0FEZ0JKO0FFNENFO0VEOURGO0lBS0ksa0JBQUE7RURpQkY7RUNmRTtJQUVFLHFCQUFBO0lBQ0EsWUFBQTtFRGdCSjtBQUNGOztBRW1DRTtFQzdCQTtJQUNFLGVBQUE7SUFDQSxZQUFBO0lBQ0Esb0JBQUE7T0FBQSxpQkFBQTtFSEZGO0FBQ0Y7O0FFMkJFO0VEeENGO0lBRUksYUFBQTtFRGdCRjtFR1BBO0lBQ0UsZUFBQTtJQUNBLFlBQUE7SUFDQSxvQkFBQTtPQUFBLGlCQUFBO0VIU0Y7QUFDRjs7QUVnQkU7RUQvQkE7SUFPSSx5QkFBQTtJQUNBLGdCQUFBO0VEYUo7QUFDRjtBRWlCTTtFRHZDSjtJQ2dEVSxlQURRO0VGckJsQjtBQUNGO0FFWU07RUR2Q0o7SUNnRFUsZUFEUTtFRmhCbEI7QUFDRjs7QUVERTtFRGxCRjtJQUVJLG9CQUFBO0lBQ0EsZ0NBQUE7RURzQkY7QUFDRjs7QUVSRTtFRFpGO0lBRUksZUFBQTtJQUNBLGdDQUFBO0VEdUJGO0FBQ0Y7O0FDcEJBO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtBRHVCRjtBQ3JCRTtFQUNFLGdCQUFBO0FEdUJKO0FFdkJFO0VETEY7SUFTSSxnQkFBQTtJQUNBLGdCQUFBO0VEdUJGO0FBQ0Y7O0FFN0JFO0VEUUY7SUV2RUUscUNBQUE7SUFDQSxzQ0FBQTtJQUNBLFlBQUE7RUhpR0E7QUFDRjs7QUVyQ0U7RURhRjtJQUVJLGtCQUFBO0VEMkJGO0FBQ0Y7O0FDeEJBO0VBQ0UsaUJBQUE7QUQyQkY7QUV2Q007RURXTjtJQ0ZZLGtCQURRO0VGbUNsQjtBQUNGO0FFNUNNO0VEV047SUNGWSxrQkFEUTtFRndDbEI7QUFDRjs7QUV6REU7RUQ2QkY7SUFFSSxjQUFBO0lBQ0EsaUJBQUE7SUFDQSxXQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7SUFDQSxVQUFBO0lBQ0EsNEJBQUE7RUQrQkY7QUFDRjs7QUM1QkE7O0VBRUUsc0JBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSwwQ0FBQTtFQUNBLGNBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QUQrQkY7O0FDN0JBOztFQUVFLGNBQUE7QURnQ0Y7O0FDOUJBOztFQUVFLHdCQUFBO0FEaUNGOztBQy9CQTs7RUFFRSxxQkFBQTtFQUNBLGlCQUFBO0FEa0NGOztBQ2hDQTs7RUFFRSxnQkFBQTtBRG1DRjs7QUNqQ0E7O0VBRUUsaUJBQUE7QURvQ0Y7O0FDbENBOztFQUVFLDJCQUFBO0FEcUNGOztBQ2xDQTtFQUNFLDJCQUFBO0FEcUNGOztBQ25DQTtFQUNFLDZCQUFBO0FEc0NGOztBQ25DQTtFQUNFLG9CQUFBO0VBQ0EsNEJBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0FEc0NGO0FFdklFO0VEd0ZGO0lBWUksaUJBQUE7SUFDQSxnQkFBQTtFRHVDRjtBQUNGOztBQ3JDQTtFQUNFLGdCQUFBO0VBQ0EseUJBQUE7QUR3Q0Y7O0FFbEpFO0VENkdGO0lBRUksYUFBQTtFRHdDRjtBQUNGOztBQ3RDQTs7RUFFRSxxQkFBQTtFQUNBLGlCQUFBO0FEeUNGOztBQ3ZDQTtFQUNFLGtCQUFBO0FEMENGO0FFdExFO0VEMklGO0lBSUksZUFBQTtFRDJDRjtBQUNGO0FFM0xFO0VEMklGO0lBUUksZUFBQTtFRDRDRjtBQUNGOztBRWhNRTtFRHVKQTs7SUFFRSwyQkFBQTtFRDZDRjtBQUNGO0FDdENBO0VBQ0UsY0FBQTtBRHdDRjtBQ3BDQTtFQUNFLG1CQUFBO0FEc0NGO0FFakxNO0VEMElOO0lDaklZLGtCQURRO0VGNktsQjtBQUNGO0FFdExNO0VEMElOO0lDaklZLGtCQURRO0VGa0xsQjtBQUNGOztBQ3hDQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxlQUFBO0VBQ0EscUJBQUE7QUQyQ0Y7QUN0Q0E7RUFDRSxPQUFBO0FEd0NGO0FDcENBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtBRHNDRiIsImZpbGUiOiJjaGVja291dC9zaGlwX2l0aW5lcmFyeS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZnVuY3Rpb24gY29sb3IoJGNvbG9yKSB7XG4vLyAgIEByZXR1cm4gdmFyKC0tYnMtI3skY29sb3J9KTtcbi8vIH1cblxuLy8gJHZpb2xldC1jb2xvcjogIzVmMjQ5ZSAhZGVmYXVsdDtcblxuJGNvbG9yLWFkdmFudGFnZXM6ICNGRkRBRTY7XG4kY29sb3Itc3VjY2VzczogI0ZGMUI2MztcbiRjb2xvci1zdWNjZXNzLWhvdmVyOiAjRkYxQjYzO1xuJGNvbG9yLWdyZWVuLWxpZ2h0OiAjNTZjNzQ3O1xuJGNvbG9yLWZ1Y3NpYS1saWdodDogI0ZGREFFNjtcbiRjb2xvci1zdWNjZXNzLWxpZ2h0OiAjRUNGOEZGO1xuJGNvbG9yLXNreS1saWdodDogI0VDRjhGRjtcbiRjb2xvci1za3k6ICMwNTdBRkY7XG4kdGV4dC1jb2xvcjogIzAwMDAwMDtcbiRjb2xvci10ZXh0OiAjMDAwMDAwO1xuJGNvbG9yLWdyYXk6ICNkNGQ0ZDQ7XG4kY29sb3Itc2lsdmVyOiAjZjBmMGYwO1xuJGNvbG9yLWxpZ2h0OiAjZjJmMmYyO1xuJGNvbG9yLXdoaXRlOiAjZmZmZmZmO1xuJGNvbG9yLWZ1Y3NpYTogI0ZGMUI2MztcblxuJHdoaXRlOiB3aGl0ZTtcbiRibGFjazogYmxhY2s7XG4kc3VjY2VzczogJGNvbG9yLXN1Y2Nlc3M7XG4kc3VjY2Vzcy1ob3ZlcjogJGNvbG9yLXN1Y2Nlc3MtaG92ZXI7XG5cbi8vLyAgQ29sb3JzIEZvbnRzXG4kdGV4dC1jb2xvcjogYmxhY2s7XG4kdGV4dC1saWdodDogd2hpdGU7XG4kdGV4dC1za3k6ICMwNTdBRkY7XG5cbi8vLyBDb2xvcnMgQmFja2dyb3VuZHNcbiRiZy1saWdodDogd2hpdGU7XG4kYmctd2hpdGU6IHdoaXRlO1xuJGJnLWdyYXkgOiBncmF5O1xuJGJnLXNpbHZlciA6ICNmMGYwZjA7XG4kYmctc3VjY2VzcyA6ICNGRjFCNjM7XG4kYmctZnVjc2lhIDogI0ZGMUI2MztcblxuLy8vIEJvcmRlclxuJGJvcmRlci1ncmF5IDogZ3JheTtcbiRib3JkZXItZ3JlZW46ICM1NmM3NDc7XG4kYm9yZGVyLWZ1Y3NpYTogI0ZGMUI2MztcbiRib3JkZXItZnVjc2lhLWhvdmVyOiAjRkYxQjYzO1xuXG4vKiAgKi9cbiRjb2xvci1ncmVlbi1saXN0OiAjMmJiMDE5O1xuJGNvbG9yLWdyZWVuLWxpc3QtbGlnaHQ6ICNlOWY3ZTg7XG4kY29sb3ItZnVjc2lhLWxpc3Q6ICNGRjFCNjM7XG4kY29sb3ItZnVjc2lhLWxpc3QtbGlnaHQ6ICNGRkRBRTY7Ly8jRkZEMERGO1xuJGNvbG9yLXNreS1saXN0LWxpZ2h0OiAjZWNmOGZmO1xuJGJvcmRlci1jb2xvci1ncmF5OiAjZDNkM2QzO1xuJGJnLWNvbG9yLWdyYXk6ICNkM2QzZDM7XG4kYmctY29sb3ItZnVjc2lhOiAjRkYxQjYzOyBcbiRiZy1za3ktaG92ZXI6cmdiYSg1LCAxMjIsIDI1NSwuOCk7IiwiJWZpbHRlciB7XG4gICRwYWRkaW5nLWJvcmRlcjogMTBweDtcblxuICAmX19sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNHB4IDAgMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuXG5cbiV0aXRsZS1jYXJkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZShmb250LXNpemUsIDMyLCAyMyk7XG59XG5cbiVzdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAyOC44cHg7XG5cbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSgoZm9udC1zaXplOiAoMTZweCkpKTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSAnc2FzczptZXRhJztcbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcXFxcXG4vLyBSZXNwb25zaXZlIFZhcmlhYmxlcyBmb3IgcmVzcG9uc2l2ZSBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcXFxcXG5cbi8vRm9yIG1peGluIFJlc3BvbnNpdmVcbiRwaG9uZS1yZXNwb25zaXZlOiAkc207XG4kdGFibGV0LXJlc3BvbnNpdmU6ICRsZztcbiRkZXNrdG9wLXJlc3BvbnNpdmU6ICR4eGw7XG5cbi8vRm9yIE1lZGlhIFF1ZXJ5IGJsb2NrXG4kZGQ6IDAuMDI7IC8vZGlmZXJlbmNlXG4kcGhvbmUtc21hbGw6ICgkeHMgLSAkZGQpICsgcHg7XG4kcGhvbmU6ICgkc20gLSAkZGQpICsgcHg7XG4kcGhvbmUtbGFyZ2U6ICgkbWQgLSAkZGQpICsgcHg7XG4kdGFibGV0LXNtYWxsOiA3OTBweDtcbiR0YWJsZXQ6ICgkbGcgLSAkZGQpICsgcHg7XG4kZGVza3RvcC1zbWFsbDogMTA5MHB4O1xuJGRlc2t0b3A6ICgkeGwgLSAkZGQpICsgcHg7XG4kZGVza3RvcC1tZWRpdW06ICgkeHhsIC0gJGRkKSArIHB4O1xuJGRlc2t0b3AtbGFyZ2U6IDE2NTBweDtcbiRkZXNrdG9wLXgtbGFyZ2U6IDE5NTBweDtcblxuJHBob25lLWRlZmF1bHQ6ICRwaG9uZS1zbWFsbDsgLy9kZWZhdWx0XG4kdGFibGV0LWRlZmF1bHQ6ICR0YWJsZXQ7XG4kZGVza3RvcC1kZWZhdWx0OiAkZGVza3RvcC1tZWRpdW07IC8vZGVmYXVsdFxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXFxcXFxuLy8gUmVzcG9uc2l2ZSBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcXFxcXG5cbi8vLyBWYXI6ICBQcm9wIGZvciBmcmFtZXdvcmsgY3NzIC0tLS0tLS0tLS0tLS0tLS0tLVxcXFxcbiRwcm9wZXJ0eS1hbGw6IChcbiAgaXRlbXMtY2VudGVyOiBhbGlnbi1pdGVtcyxcbiAgbWluLXctYXV0bzogbWluLXdpZHRoLFxuICBmbGV4LTE6IGZsZXgsXG4gIGZsZXgtaW5pdGlhbDogZmxleCxcbiAgZmxleC1jb2w6IGZsZXgtZGlyZWN0aW9uLFxuICBmbGV4LXdyYXA6IGZsZXgtd3JhcCxcbiAgbXItMDogbWFyZ2luLXJpZ2h0LFxuICBtbC0wOiBtYXJnaW4tbGVmdCxcbik7XG5cbiRwcm9wZXJ0eS12YWx1ZS1hbGw6IChcbiAgaXRlbXMtY2VudGVyOiBjZW50ZXIsXG4gIG1pbi13LWF1dG86IGF1dG8sXG4gIGZsZXgtMTogMSAxIDAlLFxuICBmbGV4LWluaXRpYWw6IDAgMSBhdXRvLFxuICBmbGV4LWNvbDogY29sdW1uLFxuICBmbGV4LXdyYXA6IHdyYXAsXG4gIG1yLTA6IDAsXG4gIG1sLTA6IDAsXG4pO1xuXG4vLy8gVmFyOiAgUHJvcCBmb3IgcmVzcG9uc2l2ZSBnbG9iYWwgLS0tLS0tLS0tLS0tLS0tLS0tXFxcXFxuJHByb3BlcnR5LW1hcDogKFxuICBmejogZm9udC1zaXplLFxuICBsaDogbGluZS1oZWlnaHQsXG4gIG06IG1hcmdpbixcbiAgbXQ6IG1hcmdpbi10b3AsXG4gIG1yOiBtYXJnaW4tcmlnaHQsXG4gIG1iOiBtYXJnaW4tYm90dG9tLFxuICBtbDogbWFyZ2luLWxlZnQsXG4gIHA6IHBhZGRpbmcsXG4gIHB0OiBwYWRkaW5nLXRvcCxcbiAgcHI6IHBhZGRpbmctcmlnaHQsXG4gIHBiOiBwYWRkaW5nLWJvdHRvbSxcbiAgcGw6IHBhZGRpbmctbGVmdCxcbiAgdDogdG9wLFxuICBsOiBsZWZ0LFxuICBiOiBib3R0b20sXG4gIHI6IHJpZ2h0LFxuICB3OiB3aWR0aCxcbiAgbXc6IG1heC13aWR0aCxcbiAgbXh3OiBtYXgtd2lkdGgsXG4gIG1heHc6IG1heC13aWR0aCxcbiAgbW53OiBtaW4td2lkdGgsXG4gIG1pbnc6IG1pbi13aWR0aCxcbiAgaDogaGVpZ2h0LFxuICBtaDogbWluLWhlaWdodCxcbiAgbW5oOiBtaW4taGVpZ2h0LFxuICBtaW5oOiBtaW4taGVpZ2h0LFxuICBteGg6IG1heC1oZWlnaHQsXG4gIG1heGg6IG1heC1oZWlnaHQsXG4gIGJ6OiBiYWNrZ3JvdW5kLXNpemUsXG4pO1xuXG4vLy8gU2NoZW1hXG4vLy8gY2FsYyggI3skbWluLXB4fSArICgjeyRtYXh9IC0gI3skbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKSk7XG4vLy8gY2FsYyggMTZweCArICgyMSAtIDE2KSAqICgoMTAwdncgLSAzNjBweCkgLyAoMTQ0MCAtIDM2MCkpKTtcblxuLy8vIEZ1bmN0aW9uIFJlc3BvbnNpdmUgLS0tLS0tLS0tLS0tLS0tXFxcXFxuLy8vIEhvdyB1c2U6IHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcGwtbWF4LCAkcGwtbWluLCAkdy1tYXgsICR3LW1pbikgO1xuQGZ1bmN0aW9uIHJlc3BvbnNpdmUoXG4gICRtYXgsXG4gICRtaW46IFwiXCIsXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxuKSB7XG4gIEBpZiAoJG1pbiA9PSBcIlwiIG9yICRtYXggPT0kbWluKSB7XG4gICAgQHJldHVybiAkbWF4ICsgcHg7XG4gIH1cblxuICAkbWluLXB4OiAkbWluICsgcHg7XG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XG4gICRyZXN1bHQ6IGNhbGMoXG4gICAgI3skbWluLXB4fSArICgjeyRtYXh9IC0gI3skbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXG4gICk7XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkbnVtYmVyKSB7XG4gIEByZXR1cm4gbWF0aC5kaXYoJG51bWJlciwgKCRudW1iZXIgKiAwICsgMSkpO1xufVxuXG5AZnVuY3Rpb24gcmVzcG9uc2l2ZVVuaXRsZXNzKFxuICAkbWF4LFxuICAkbWluOiBcIlwiLFxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcbikge1xuXG4gICRtYXh1bmxlc3M6IGlmKG1hdGguaXMtdW5pdGxlc3MoJG1heCksICRtYXgsIHN0cmlwLXVuaXRzKCRtYXgpKTtcbiAgJG1pbnVubGVzczogaWYobWF0aC5pcy11bml0bGVzcygkbWluKSwgJG1pbiwgc3RyaXAtdW5pdHMoJG1pbikpO1xuXG4gIEBpZiAoJG1pbnVubGVzcyA9PSBcIlwiIG9yICRtYXh1bmxlc3MgPT0gJG1pbnVubGVzcykge1xuICAgIEByZXR1cm4gJG1heHVubGVzcyArIHB4O1xuICB9XG5cbiAgJG1pbi1weDogJG1pbnVubGVzcyArIHB4O1xuICAkdy1taW4tcHg6ICR3LW1pbiArIHB4O1xuICAkcmVzdWx0OiBjYWxjKFxuICAgICN7JG1pbi1weH0gKyAoI3skbWF4dW5sZXNzfSAtICN7JG1pbnVubGVzc30pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxuICApO1xuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBNaXhpbnMgUmVzcG9uc2l2ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXFxcXG5cbi8vSG93IHRvIHVzZTogICBAaW5jbHVkZSAgZm9udC1yZXNwb25zaXZlKDI2LCAyMCkgb3IgZm9udC1yZXNwb25zaXZlKDI2LCAyMCwgMTQ0MCwgMzYwKVxuLy8gZm9udC1zaXplOiBjYWxjKDE2cHggKyAoMjYgLSAxNikgKiAoKDEwMHZ3IC0gMzAwcHgpIC8gKDE2MDAgLSAzMDApKSkgO1xuQG1peGluIGZvbnQtcmVzcG9uc2l2ZShcbiAgJGYtbWF4LFxuICAkZi1taW46ICRmb250LXNpemUtc21hbGwsXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxuKSB7XG4gICRmLW1pbi1weDogJGYtbWluICsgcHg7XG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XG4gICRmb250LXNpemU6ICRmLW1heCArIHB4O1xuICAkZGVza3RvcC1weDogJGRlc2t0b3AtcmVzcG9uc2l2ZSAqIDFweDtcbiAgJHBob25lLXB4OiAkcGhvbmUtcmVzcG9uc2l2ZSAqIDFweDtcblxuICAkcmVzdWx0LWNhbGM6IHJlc3BvbnNpdmUoJGYtbWF4LCAkZi1taW4sICR3LW1heCwgJHctbWluKTtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgQGlmICgkdy1tYXggPT0kZGVza3RvcC1yZXNwb25zaXZlIGFuZCAkdy1taW4gPT0kcGhvbmUtcmVzcG9uc2l2ZSkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZGVza3RvcC1weCkge1xuICAgICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJlc3VsdC1jYWxjO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcGhvbmUtcHgpIHtcbiAgICAgICYge1xuICAgICAgICBmb250LXNpemU6ICN7JGYtbWluLXB4fTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogJHJlc3VsdC1jYWxjO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3LW1pbi1weCkge1xuICAgICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skZi1taW4tcHh9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIHIoZm9udC1zaXplLCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MHB4LCAzOXB4LCAxNDQwLCAzNzUsIGZhbHNlKVxuLy8gQGluY2x1ZGUgcmVzcG9uc2l2ZShoLCA2Ni4xMSwgMzApO1xuQG1peGluIHIoXG4gICRhdHRyOiBcIlwiLFxuICAkdmFsdWUtbWluOiBcIlwiLFxuICAkdmFsdWUtbWF4OiBcIlwiLFxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlLFxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXG4gICRvbmx5LW1lZC1xdWVyeTogZmFsc2Vcbikge1xuICBAaWYgJHctbWluID09IFwiXCIge1xuICAgICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmU7XG4gIH1cblxuICBAaWYgJHctbWF4ID09IFwiXCIge1xuICAgICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZTtcbiAgfVxuXG4gIEBpZiAkdmFsdWUtbWF4ID09IFwiXCIge1xuICAgICRzaXplLW1heDogJHZhbHVlLW1pbjtcbiAgfVxuXG4gIC8vY29uZGl0aW9uYWwgaWYgYXR0cmlidXRlcyBleGlzdCBweFxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1pbn0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkc2l6ZS1taW46IHN0cmluZy5zbGljZSgjeyRzaXplLW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1pbn0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWF4fSwgXCJweFwiKSAhPW51bGwge1xuICAgICRzaXplLW1heDogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWF4fSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkdy1taW46IHN0cmluZy5zbGljZSgjeyR3LW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpICE9bnVsbCB7XG4gICAgJHctbWF4OiBzdHJpbmcuc2xpY2UoI3skdy1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpIC0gMSk7XG4gIH1cblxuICAkc2l6ZS1tYXgtcHg6ICR2YWx1ZS1tYXggKyBweDtcbiAgJHNpemUtbWluLXB4OiAkdmFsdWUtbWluICsgcHg7XG4gICR3LW1heC1weDogJHctbWF4ICsgcHg7XG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XG5cbiAgJHJlc3BvbnNpdmUtY2FsYzogY2FsYyhcbiAgICAjeyRzaXplLW1pbi1weH0gKyAoI3skdmFsdWUtbWF4fSAtICN7JHZhbHVlLW1pbn0pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxuICApO1xuXG4gICRwcm9wZXJ0eTogXCJcIjtcblxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1tYXAsICRhdHRyKSkge1xuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktbWFwLCAkYXR0cik7XG4gIH0gQGVsc2Uge1xuICAgICRwcm9wZXJ0eTogJGF0dHI7XG4gIH1cblxuICBAaWYgKG5vdCAkb25seS1tZWQtcXVlcnkpIHtcbiAgICAvL2ltcHJlc3MgYXR0cmlidXRlIHlvdXIgc3R5bGVzIGNzc1xuICAgICN7JHByb3BlcnR5fTogJHNpemUtbWluLXB4O1xuICB9XG5cbiAgQGlmICgkc2l6ZS1taW4tcHggIT0gJHNpemUtbWF4LXB4KSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHctbWluLXB4fSkge1xuICAgICAgI3skcHJvcGVydHl9OiAkcmVzcG9uc2l2ZS1jYWxjO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyR3LW1heC1weH0pIHtcbiAgICAgICN7JHByb3BlcnR5fTogI3skc2l6ZS1tYXgtcHh9O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIHIoZm9udC1zaXplLCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MHB4LCAzOXB4LCAxNDQwLCAzNzUsIGZhbHNlKVxuLy8gQGluY2x1ZGUgcmVzcG9uc2l2ZShoLCA2Ni4xMSwgMzApO1xuQG1peGluIHJpKFxuICAkYXR0cjogXCJcIixcbiAgJHZhbHVlLW1heDogXCJcIixcbiAgJHZhbHVlLW1pbjogXCJcIixcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXG4pIHtcbiAgQGluY2x1ZGUgcihcbiAgICAkYXR0cixcbiAgICAkdmFsdWUtbWluLFxuICAgICR2YWx1ZS1tYXgsXG4gICAgJHctbWluLFxuICAgICR3LW1heCxcbiAgKVxufVxuXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIHJlc3BvbnNpdmUoZm9udC1zaXplLCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MHB4LCAzOXB4LCAxNDQwLCAzNzUsIGZhbHNlKVxuLy8gQGluY2x1ZGUgcmVzcG9uc2l2ZShoLCA2Ni4xMSwgMzApO1xuQG1peGluIHJlc3BvbnNpdmUoXG4gICRhdHRyOiBcIlwiLFxuICAkdmFsdWUtbWF4OiBcIlwiLFxuICAkdmFsdWUtbWluOiBcIlwiLFxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmUsXG4gICRvbmx5LW1lZC1xdWVyeTogZmFsc2Vcbikge1xuICBAaWYgJHctbWF4ID09IFwiXCIge1xuICAgICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZTtcbiAgfVxuXG4gIEBpZiAkdmFsdWUtbWluID09IFwiXCIge1xuICAgICRzaXplLW1pbjogJHZhbHVlLW1heDtcbiAgfVxuXG4gIC8vY29uZGl0aW9uYWwgaWYgYXR0cmlidXRlcyBleGlzdCBweFxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1heH0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkc2l6ZS1tYXg6IHN0cmluZy5zbGljZSgjeyRzaXplLW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1heH0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWlufSwgXCJweFwiKSAhPW51bGwge1xuICAgICRzaXplLW1pbjogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWlufSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkdy1tYXg6IHN0cmluZy5zbGljZSgjeyR3LW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1taW59LCBcInB4XCIpICE9bnVsbCB7XG4gICAgJHctbWluOiBzdHJpbmcuc2xpY2UoI3skdy1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1taW59LCBcInB4XCIpIC0gMSk7XG4gIH1cblxuICAkc2l6ZS1tYXgtcHg6ICR2YWx1ZS1tYXggKyBweDtcbiAgJHNpemUtbWluLXB4OiAkdmFsdWUtbWluICsgcHg7XG4gICR3LW1heC1weDogJHctbWF4ICsgcHg7XG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XG4gICRkZXNrdG9wLXB4OiAkZGVza3RvcC1yZXNwb25zaXZlICogMXB4O1xuICAkcGhvbmUtcHg6ICRwaG9uZS1yZXNwb25zaXZlICogMXB4O1xuXG4gICRyZXNwb25zaXZlLWNhbGM6IGNhbGMoXG4gICAgI3skc2l6ZS1taW4tcHh9ICsgKCN7JHZhbHVlLW1heH0gLSAjeyR2YWx1ZS1taW59KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC9cbiAgICAgICAgICAoI3skdy1tYXh9IC0gI3skdy1taW59KSlcbiAgKTtcblxuICAkcHJvcGVydHk6IFwiXCI7XG5cbiAgQGlmIChtYXAuaGFzLWtleSgkcHJvcGVydHktbWFwLCAkYXR0cikpIHtcbiAgICAkcHJvcGVydHk6IG1hcC5nZXQoJHByb3BlcnR5LW1hcCwgJGF0dHIpO1xuICB9IEBlbHNlIHtcbiAgICAkcHJvcGVydHk6ICRhdHRyO1xuICB9XG5cbiAgQGlmIChub3QgJG9ubHktbWVkLXF1ZXJ5KSB7XG4gICAgLy8gJiB7XG4gICAgICAvL2ltcHJlc3MgYXR0cmlidXRlIHlvdXIgc3R5bGVzIGNzc1xuICAgICAgI3skcHJvcGVydHl9OiAkc2l6ZS1tYXgtcHg7XG4gICAgLy8gfVxuICB9XG5cbiAgQGlmICgkc2l6ZS1tYXgtcHggIT0kc2l6ZS1taW4tcHgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skdy1tYXgtcHh9KSB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICRyZXNwb25zaXZlLWNhbGM7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHctbWluLXB4fSkge1xuICAgICAgI3skcHJvcGVydHl9OiAkc2l6ZS1taW4tcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIE9ubHkgUmVzcG9uc2l2ZSBNZWRpYSBxdWVyeSBpbmxpbmVcbi8vSG93IHRvIHVzZTogICBAaW5jbHVkZSByZXNwb25zaXZlLW1xKGZ6LCA2MCwgMzksIDE0NDApIHdoZXJlXG4vLyBhdHRyOiBBdHJpYnV0byBkZSBsYSBwcm9waWVkYWRcbi8vIHNpemUtbWF4OiBWYWxvciBtYXhpbW8gZGUgbGEgcXVlcnkgaW5pY2lhbFxuLy8gc2l6ZS1taW46IFZhbG9yIG1pbmltbyBkZSBsYSBxdWVyeSBpbmljaWFsXG4vLyB3LW1heDogUGFudGFsbGEgbWF4aW1hIHkgTWVkaWEgcXVlcnkgcG9yIGRlZmVjdG9cbi8vIHctbWluOiBQYW50YWxsYSBtaW5pbWFcbi8vIHR3by1tcTogU2kgc2UgcmVxdWllcmUgcGFyYSBsYSBpbnRlcnJ1cGNpb24gZGUgbGEgc2VndW5kYSBtZWRpYSBxdWVyeVxuQG1peGluIHJlc3BvbnNpdmUtbXEoXG4gICRhdHRyOiBcIlwiLFxuICAkdmFsdWUtbWF4OiBcIlwiLFxuICAkdmFsdWUtbWluOiBcIlwiLFxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmUsXG4gICR0d28tbXE6IGZhbHNlXG4pIHtcbiAgQGlmICR2YWx1ZS1taW4gPT0gXCJcIiB7XG4gICAgJHNpemUtbWluOiAkdmFsdWUtbWF4O1xuICB9XG5cbiAgLy9jb25kaXRpb25hbCBpZiBhdHRyaWJ1dGVzIGV4aXN0IHB4XG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWF4fSwgXCJweFwiKSAhPW51bGwge1xuICAgICRzaXplLW1heDogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWF4fSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1taW59LCBcInB4XCIpICE9bnVsbCB7XG4gICAgJHNpemUtbWluOiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1taW59LCBcInB4XCIpIC0gMSk7XG4gIH1cblxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAhPW51bGwge1xuICAgICR3LW1heDogc3RyaW5nLnNsaWNlKCN7JHctbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkdy1taW46IHN0cmluZy5zbGljZSgjeyR3LW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gICRzaXplLW1heC1weDogJHZhbHVlLW1heCArIHB4O1xuICAkc2l6ZS1taW4tcHg6ICR2YWx1ZS1taW4gKyBweDtcbiAgJHctbWF4LXB4OiAkdy1tYXggKyBweDtcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcbiAgJGRlc2t0b3AtcHg6ICRkZXNrdG9wLXJlc3BvbnNpdmUgKiAxcHg7XG4gICRwaG9uZS1weDogJHBob25lLXJlc3BvbnNpdmUgKiAxcHg7XG5cbiAgJHJlc3BvbnNpdmUtY2FsYzogY2FsYyhcbiAgICAjeyRzaXplLW1pbi1weH0gKyAoI3skdmFsdWUtbWF4fSAtICN7JHZhbHVlLW1pbn0pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxuICApO1xuXG4gICRwcm9wZXJ0eTogXCJcIjtcblxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1tYXAsICRhdHRyKSkge1xuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktbWFwLCAkYXR0cik7XG4gIH0gQGVsc2Uge1xuICAgICRwcm9wZXJ0eTogJGF0dHI7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogI3skdy1tYXgtcHh9KSB7XG4gICAgI3skcHJvcGVydHl9OiAkcmVzcG9uc2l2ZS1jYWxjO1xuICB9XG5cbiAgQGlmICgkdHdvLW1xKSB7XG4gICAgQGlmICgkc2l6ZS1tYXgtcHggIT0kc2l6ZS1taW4tcHgpIHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyR3LW1pbi1weH0pIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAjeyRzaXplLW1pbi1weH07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9ubHkgUmVzcG9uc2l2ZSBNZWRpYSBxdWVyeSBpbmxpbmVcbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgbXEyKGZ6LCA2MCwgMTQ0MClcbkBtaXhpbiBtcWkoJGF0dHI6IFwiXCIsICRzY3JlZW46ICRkZXNrdG9wLXJlc3BvbnNpdmUpIHtcbiAgQGlmIHN0cmluZy5pbmRleCgjeyRzY3JlZW59LCBcInB4XCIpICE9bnVsbCB7XG4gICAgJHNjcmVlbjogc3RyaW5nLnNsaWNlKCN7JHNjcmVlbn0sIDEsIHN0cmluZy5pbmRleCgjeyRzY3JlZW59LCBcInB4XCIpIC0gMSk7XG4gIH1cblxuICAkcHJvcGVydHk6IFwiXCI7XG4gICR2YWx1ZTogXCJcIjtcblxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1hbGwsICRhdHRyKSkge1xuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktYWxsLCAkYXR0cik7XG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRwcm9wZXJ0eS12YWx1ZS1hbGwsICRhdHRyKTtcblxuICAgICRzY3JlZW4tcHg6ICRzY3JlZW4gKyBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRzY3JlZW4tcHh9KSB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT25seSBSZXNwb25zaXZlIE1lZGlhIHF1ZXJ5IGlubGluZVxuLy8gSG93IHRvIHVzZTogICBAaW5jbHVkZSBtcShmeiwgNjAsIDE0NDApXG5AbWl4aW4gbXEoJGF0dHI6IFwiXCIsICR2YWx1ZTogXCJcIiwgJHNjcmVlbjogJGRlc2t0b3AtcmVzcG9uc2l2ZSkge1xuICBAaWYgc3RyaW5nLmluZGV4KCN7JHNjcmVlbn0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkc2NyZWVuOiBzdHJpbmcuc2xpY2UoI3skc2NyZWVufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNjcmVlbn0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gICRwcm9wZXJ0eTogXCJcIjtcblxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1tYXAsICRhdHRyKSkge1xuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktbWFwLCAkYXR0cik7XG4gIH0gQGVsc2Uge1xuICAgICRwcm9wZXJ0eTogJGF0dHI7XG4gIH1cblxuICAkc2l6ZS1weDogXCJcIjtcblxuICBAaWYgKG1ldGEudHlwZS1vZigkdmFsdWUpID09IFwic3RyaW5nXCIpIHtcbiAgICAkc2l6ZS1weDogI3skdmFsdWV9O1xuICB9IEBlbHNlIHtcbiAgICAkcHg6IHN0cmluZy5pbmRleCgjeyR2YWx1ZX0sIFwicHhcIik7XG4gICAgJGVtOiBzdHJpbmcuaW5kZXgoI3skdmFsdWV9LCBcImVtXCIpO1xuICAgICRyZW06IHN0cmluZy5pbmRleCgjeyR2YWx1ZX0sIFwicmVtXCIpO1xuICAgICRwZXJjZW50OiBzdHJpbmcuaW5kZXgoI3skdmFsdWV9LCBcIiVcIik7XG5cbiAgICBAaWYgKCRlbSBvciAkcmVtIG9yICRwZXJjZW50IG9yICRweCkge1xuICAgICAgJHNpemUtcHg6ICN7JHZhbHVlfTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzaXplLXB4OiAkdmFsdWUgKyBweDtcbiAgICB9XG4gIH1cblxuICAkc2NyZWVuLXB4OiAkc2NyZWVuICsgcHg7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHNjcmVlbi1weH0pIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRzaXplLXB4O1xuICB9XG59XG5cbkBtaXhpbiBwLXJlc3BvbnNpdmUoXG4gICRwdC1tYXg6IFwiXCIsXG4gICRwdC1taW46IFwiXCIsXG4gICRwci1tYXg6IFwiXCIsXG4gICRwci1taW46IFwiXCIsXG4gICRwYi1tYXg6IFwiXCIsXG4gICRwYi1taW46IFwiXCIsXG4gICRwbC1tYXg6IFwiXCIsXG4gICRwbC1taW46IFwiXCIsXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxuKSB7XG4gIEBpZiAkcHQtbWF4ICE9IFwiXCIgYW5kICRwdC1taW4gIT0gXCJcIiB7XG4gICAgcGFkZGluZy10b3A6IHJlc3BvbnNpdmUoJHB0LW1heCwgJHB0LW1pbiwgJHctbWF4LCAkdy1taW4pO1xuXG4gICAgQGlmICRwci1tYXggIT0gXCJcIiBhbmQgJHByLW1pbiAhPSBcIlwiIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlc3BvbnNpdmUoJHByLW1heCwgJHByLW1pbiwgJHctbWF4LCAkdy1taW4pO1xuXG4gICAgICBAaWYgJHBiLW1heCAhPSBcIlwiIGFuZCAkcGItbWluICE9IFwiXCIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVzcG9uc2l2ZSgkcGItbWF4LCAkcGItbWluLCAkdy1tYXgsICR3LW1pbik7XG5cbiAgICAgICAgQGlmICRwbC1tYXggIT0gXCJcIiBhbmQgJHBsLW1pbiAhPSBcIlwiIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHBsLW1heCwgJHBsLW1pbiwgJHctbWF4LCAkdy1taW4pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHByLW1heCwgJHByLW1pbiwgJHctbWF4LCAkdy1taW4pO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlc3BvbnNpdmUoJHB0LW1heCwgJHB0LW1pbiwgJHctbWF4LCAkdy1taW4pO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHByLW1heCwgJHByLW1pbiwgJHctbWF4LCAkdy1taW4pO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHB0LW1heCwgJHB0LW1pbiwgJHctbWF4LCAkdy1taW4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbS1yZXNwb25zaXZlKFxuICAkbXQtbWF4OiBcIlwiLFxuICAkbXQtbWluOiBcIlwiLFxuICAkbXItbWF4OiBcIlwiLFxuICAkbXItbWluOiBcIlwiLFxuICAkbWItbWF4OiBcIlwiLFxuICAkbWItbWluOiBcIlwiLFxuICAkbWwtbWF4OiBcIlwiLFxuICAkbWwtbWluOiBcIlwiLFxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcbikge1xuICBAaWYgJG10LW1heCAhPSBcIlwiIGFuZCAkbXQtbWluICE9IFwiXCIge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobXQsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcblxuICAgIEBpZiAkbXItbWF4ICE9IFwiXCIgYW5kICRtci1taW4gIT0gXCJcIiB7XG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1yLCAkbXItbWF4LCAkbXItbWluLCAkdy1tYXgsICR3LW1pbik7XG5cbiAgICAgIEBpZiAkbWItbWF4ICE9IFwiXCIgYW5kICRtYi1taW4gIT0gXCJcIiB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWIsICRtYi1tYXgsICRtYi1taW4sICR3LW1heCwgJHctbWluKTtcblxuICAgICAgICBAaWYgJG1sLW1heCAhPSBcIlwiIGFuZCAkbWwtbWluICE9IFwiXCIge1xuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWwsICRtbC1tYXgsICRtbC1taW4sICR3LW1heCwgJHctbWluKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtbCwgJG1yLW1heCwgJG1yLW1pbiwgJHctbWF4LCAkdy1taW4pO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtYiwgJG10LW1heCwgJG10LW1pbiwgJHctbWF4LCAkdy1taW4pO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1sLCAkbXItbWF4LCAkbXItbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1yLCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1iLCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1sLCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgfVxuICB9XG59XG4iLCIvKiAgKi9cbi5pdGluZXJhcnktdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAzMnB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC5pdGluZXJhcnktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYygyM3B4ICsgKDMyIC0gMjMpICogKDEwMHZ3IC0gNTc1LjhweCkgLyAoMTQzOS44IC0gNTc1LjgpKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLml0aW5lcmFyeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICB9XG59XG5cbi5pdGluZXJhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbSAycmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaXRpbmVyYXJ5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLml0aW5lcmFyeS10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5pdGluZXJhcnktdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLml0aW5lcmFyeSAucG9ydEltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaXRpbmVyYXJ5X19jYXJyb3VzZWxXcmFwIC5jdXJzb3JJbml0aWFsIHtcbiAgY3Vyc29yOiBpbml0aWFsO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaXRpbmVyYXJ5X19jYXJyb3VzZWxXcmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLml0aW5lcmFyeV9fY2Fycm91c2VsV3JhcCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LCAuaXRpbmVyYXJ5X19jYXJyb3VzZWxXcmFwIC5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICAgIHRvcDogY2FsYyg1MCUgLSA1MHB4KTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuc2hpcEl0aW5lcmFyeV9fcGhvdG8gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLml0aW5lcmFyeV9fcGhvdG8ge1xuICAgIGhlaWdodDogMjAwcHg7XG4gIH1cbiAgLml0aW5lcmFyeV9fcGhvdG8gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLml0aW5lcmFyeV9fdGl0bGUsIGRpdiAuaXRpbmVyYXJ5X190aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5pdGluZXJhcnlfX3RpdGxlLCBkaXYgLml0aW5lcmFyeV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5LjhweCkge1xuICAuaXRpbmVyYXJ5X190aXRsZSwgZGl2IC5pdGluZXJhcnlfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaXRpbmVyYXJ5X19jb250ZW50VGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLml0aW5lcmFyeV9fY29udGVudE91dCB7XG4gICAgcGFkZGluZzogMThweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzO1xuICB9XG59XG5cbi5pdGluZXJhcnlfX3BvcnRDb250ZW50RGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1heC1oZWlnaHQ6IDMuNXJlbTtcbn1cbi5pdGluZXJhcnlfX3BvcnRDb250ZW50RGVzY3JpcHRpb24ub3BlbiB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5pdGluZXJhcnlfX3BvcnRDb250ZW50RGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5pdGluZXJhcnlfX2Nhcm91c2VsIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5pdGluZXJhcnlfX2NhcmRDb250ZW50IHtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gIH1cbn1cblxuLml0aW5lcmFyeV9fZGF5IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5pdGluZXJhcnlfX2RheSB7XG4gICAgZm9udC1zaXplOiAxNi4zM3B4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTkuOHB4KSB7XG4gIC5pdGluZXJhcnlfX2RheSB7XG4gICAgZm9udC1zaXplOiAxNi4zM3B4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLml0aW5lcmFyeV9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaW5pdGlhbDtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IGksXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDU3QUZGO1xuICBmb250LXNpemU6IDI1cHg7XG4gIGNvbG9yOiAjM2YzZjNmO1xuICAvKiBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwLjVyZW07ICovXG4gIGhlaWdodDogMzkuNXB4O1xuICB3aWR0aDogMzkuNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiBpOmhvdmVyLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCBpOmhvdmVyIHtcbiAgY29sb3I6ICMzZjNmM2Y7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXY6OmFmdGVyLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pdGluZXJhcnkgLnNlZS1tb3JlIGEsXG4udmlldy1tYXAgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5pdGluZXJhcnkgLnNlZS1tb3JlLFxuLml0aW5lcmFyeS10eXBlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLml0aW5lcmFyeSAudmlldy1tYXAsXG4uaXRpbmVyYXJ5LWRlcGFydHVyZSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIG1hcmdpbi10b3A6IDgycHggIWltcG9ydGFudDtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIG1hcmdpbi1sZWZ0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIG1hcmdpbi1yaWdodDogMjJweCAhaW1wb3J0YW50O1xufVxuXG4uaW5mby12aWV3LW1vcmUge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWF4LWhlaWdodDogMy4yNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaW5mby12aWV3LW1vcmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cbn1cblxuLmluZm8tdmlldy1tb3JlLmV4cGFuZGVkIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiB1bnNldDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaXRpbmVyYXJ5X19jb250ZW50U2VlTW9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2VlLW1vcmUgYSxcbi52aWV3LW1hcCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhYmxlLWl0aW5lcmFyeSB7XG4gIHBhZGRpbmctbGVmdDogNjVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLnRhYmxlLWl0aW5lcmFyeSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC50YWJsZS1pdGluZXJhcnkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIG1hcmdpbi10b3A6IDQxcHggIWltcG9ydGFudDtcbiAgfVxufVxuLnRlY2hzaGVldCB7XG4gIHBhZGRpbmc6IDAgNHB4O1xufVxuLnRlY2hzaGVldF9fbGlzdCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC50ZWNoc2hlZXRfX2xpc3Qge1xuICAgIGZvbnQtc2l6ZTogMTUuMTdweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5LjhweCkge1xuICAudGVjaHNoZWV0X19saXN0IHtcbiAgICBmb250LXNpemU6IDE1LjE3cHg7XG4gIH1cbn1cblxuLnRlY2hzaGVldF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuLnRlY2hzaGVldF9fbGFiZWwge1xuICBmbGV4OiAxO1xufVxuLnRlY2hzaGVldF9fdmFsdWUge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIG1heC13aWR0aDogNTAlO1xuICB0ZXh0LWFsaWduOiBlbmQ7XG59IiwiQGltcG9ydCBcIi4uL3V0aWxpdGllcy9pbmRleFwiO1xuXG4uaXRpbmVyYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMS41cmVtIDJyZW0gMnJlbTtcblxuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbi5pdGluZXJhcnktdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIEBleHRlbmQgJXRpdGxlLWNhcmQ7XG5cbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLml0aW5lcmFyeSAucG9ydEltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaXRpbmVyYXJ5X19jYXJyb3VzZWxXcmFwIHtcbiAgJiAuY3Vyc29ySW5pdGlhbHtcbiAgICBjdXJzb3I6IGluaXRpYWw7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJiAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LFxuICAgICYgLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNTBweCk7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5zaGlwSXRpbmVyYXJ5X19waG90byB7XG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xuICAgIC8vIGhlaWdodDogMzE1cHg7XG5cbiAgICBAaW5jbHVkZSBpbWFnZS1mdWxsLWNvbnRlbnQ7XG4gIH1cbn1cbi5pdGluZXJhcnlfX3Bob3RvIHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgaGVpZ2h0OiAyMDBweDtcblxuICAgIEBpbmNsdWRlIGltYWdlLWZ1bGwtY29udGVudDtcbiAgfVxufVxuXG4uaXRpbmVyYXJ5X190aXRsZSB7XG4gICYsXG4gIGRpdiAmIHtcbiAgICBAaW5jbHVkZSBtZWRpYVBob25lKFxuICAgICAgKFxuICAgICAgICBmb250LXNpemU6IDIxcHgsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB9XG4gIH1cbn1cblxuLml0aW5lcmFyeV9fY29udGVudFRpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvci1ncmF5O1xuICB9XG59XG4uaXRpbmVyYXJ5X19jb250ZW50T3V0IHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSgpIHtcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3ItZ3JheTtcbiAgfVxufVxuXG4uaXRpbmVyYXJ5X19wb3J0Q29udGVudERlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXgtaGVpZ2h0OiAzLjVyZW07XG5cbiAgJi5vcGVue1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cbn1cbi5pdGluZXJhcnlfX2Nhcm91c2VsIHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgQGluY2x1ZGUgd2lkdGgtZXhwYW5kZWQ7XG4gIH1cbn1cbi5pdGluZXJhcnlfX2NhcmRDb250ZW50IHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICB9XG59XG5cbi5pdGluZXJhcnlfX2RheSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBtZWRpYVBob25lKFxuICAgIChcbiAgICAgIGZvbnQtc2l6ZTogMTYuMzNweCxcbiAgICApXG4gICkge1xuICB9XG59XG5cbi5pdGluZXJhcnlfX2l0ZW0ge1xuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBpbml0aWFsO1xuICB9XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYgaSxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQgaSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1za3k7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgY29sb3I6ICMzZjNmM2Y7XG4gIC8qIHBhZGRpbmc6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDAuNXJlbTsgKi9cbiAgaGVpZ2h0OiAzOS41cHg7XG4gIHdpZHRoOiAzOS41cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiBpOmhvdmVyLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCBpOmhvdmVyIHtcbiAgY29sb3I6ICMzZjNmM2Y7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2OjphZnRlcixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQ6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xufVxuLml0aW5lcmFyeSAuc2VlLW1vcmUgYSxcbi52aWV3LW1hcCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5pdGluZXJhcnkgLnNlZS1tb3JlLFxuLml0aW5lcmFyeS10eXBlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5pdGluZXJhcnkgLnZpZXctbWFwLFxuLml0aW5lcmFyeS1kZXBhcnR1cmUge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgbWFyZ2luLXRvcDogODJweCAhaW1wb3J0YW50O1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbWFyZ2luLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIG1hcmdpbi1yaWdodDogMjJweCAhaW1wb3J0YW50O1xufVxuXG4uaW5mby12aWV3LW1vcmUge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWF4LWhlaWdodDogMy4yNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cbn1cbi5pbmZvLXZpZXctbW9yZS5leHBhbmRlZCB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogdW5zZXQ7XG59XG5cbi5pdGluZXJhcnlfX2NvbnRlbnRTZWVNb3JlIHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnNlZS1tb3JlIGEsXG4udmlldy1tYXAgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udGFibGUtaXRpbmVyYXJ5IHtcbiAgcGFkZGluZy1sZWZ0OiA2NXB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRsZykge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQGluY2x1ZGUgbWVkaWEoJG1kKSB7XG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIG1hcmdpbi10b3A6IDQxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGVjaHNoZWV0X19jb250YWluZXIge1xuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcbiAgfVxufVxuLnRlY2hzaGVldCB7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcbiAgfVxufVxuLnRlY2hzaGVldF9fbGlzdCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUoXG4gICAgKFxuICAgICAgZm9udC1zaXplOiAxNS4xN3B4LFxuICAgIClcbiAgKSB7XG4gIH1cbn1cbi50ZWNoc2hlZXRfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yLWdyYXk7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xuICB9XG59XG4udGVjaHNoZWV0X19sYWJlbCB7XG4gIGZsZXg6IDE7XG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xuICB9XG59XG4udGVjaHNoZWV0X192YWx1ZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgbWF4LXdpZHRoOiA1MCU7XG4gIHRleHQtYWxpZ246IGVuZDtcblxuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuXG4vLy8gRXZlbnQgd3JhcHBlclxuLy8vIEBhdXRob3IgU21hcnRJbkNvZGUgJGJnLXVybCxcblxuLy8vIERlZmluZSBjb2xvciBhbmQgaGVpZ2h0IG9mIGJveC1lbGVtZW50c1xuLy8vYmFuY2tncm91bmQgY29sb3IgYW5kIGhlaWdodFxuQG1peGluIGJnYygkbWluLWhlaWdodCwgJGJnLWNvbG9yOiB0cmFuc3BhcmVudCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xufVxuXG4vLy9iYW5ja2dyb3VuZCBpbWFnZSBhbmQgaGVpZ2h0XG5AbWl4aW4gYmdpKCRiZy1pbWFnZSwgJG1pbi1oZWlnaHQsICRiZy1wb3NpdGlvbjogY2VudGVyLCAkYmctcmVwZWF0OiBuby1yZXBlYXQsICRic2l6ZTogY292ZXIpIHtcbiAgJGJnLWltYWdlOiBcIi4uL2ltYWdlcy9cIiArICRiZy1pbWFnZTtcbiAgYmFja2dyb3VuZDogdXJsKCRiZy1pbWFnZSkgJGJnLXJlcGVhdCAkYmctcG9zaXRpb247XG4gIGJhY2tncm91bmQtc2l6ZTogJGJzaXplO1xuICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcbn1cblxuLy8vYmFuY2tncm91bmQgaW1hZ2UgYW5kIGhlaWdodFxuQG1peGluIGJnaW8oJGJnLWltYWdlLCAkYmctcG9zaXRpb246IGNlbnRlciwgJGJnLXJlcGVhdDogbm8tcmVwZWF0LCAkYnNpemU6IGNvdmVyKSB7XG4gICRiZy1pbWFnZTogXCIuLi9pbWFnZXMvXCIgKyAkYmctaW1hZ2U7XG4gIGJhY2tncm91bmQ6IHVybCgkYmctaW1hZ2UpICRiZy1yZXBlYXQgJGJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRic2l6ZTtcbn1cblxuLy8vIERlZmluZSBwYXJhbXMgQ29udGFpbmVyIHdpZHRoIGFuZCBwYWRkaW5nXG5AbWl4aW4gY29udGFpbmVyKCRtYXgtd2lkdGgsICRwYWQtbGVmdCwgJHBhZC1yaWdodDogJHBhZC1sZWZ0LCAkYm94LXM6IGNvbnRlbnQtYm94KSB7XG4gIGJveC1zaXppbmc6ICRib3gtcztcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQtbGVmdDtcbiAgcGFkZGluZy1yaWdodDogJHBhZC1yaWdodDtcbn1cblxuLy8vZm9udHMgZWxlbWVudHNcbkBtaXhpbiBmb250cyhcbiAgJGZvbnQtZmFtaWx5LFxuICAkZm9udC1zaXplOiBtZWRpdW0sXG4gICRmb250LWNvbG9yOiBibGFjayxcbiAgJGZvbnQtd2VpZ2h0OiBub3JtYWwsXG4gICRmb250LXN0eWxlOiBub3JtYWwsXG4gIC8vICRsaW5lLWhlaWdodDogbm9ybWFsXG4pIHtcbiAgY29sb3I6ICRmb250LWNvbG9yO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xuICAvLyBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xufVxuXG4vLy9kZWZpbmUgZmxleCBjZW50ZXJcbkBtaXhpbiBmbGV4Y2VuKCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ247XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG59XG5cbi8vL2RlZmluZSBhYnNvbHV0ZSBjZW50ZXJcbkBtaXhpbiBhYnNjZW4oJHRvcDogNTAlLCAkcmlnaHQ6IDUwJSwgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcbiAgdG9wOiAkdG9wO1xuICByaWdodDogJHJpZ2h0O1xuICBib3R0b206ICRib3R0b207XG4gIGxlZnQ6ICRsZWZ0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkcmlnaHQsIC0kdG9wKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5AbWl4aW4gbWVkaWEoJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skYnJlYWtwb2ludCArICdweCd9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhU20ge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbSArICdweCd9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhRGVza3RvcCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7KCRzbSArIDAuMikgKyAncHgnfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZWRpYVBob25lKCRwcm9wZXJ0aWVzOiBudWxsKSB7XG4gICRicmVha3BvaW50czogKCRzbS1weCwgJHhzLXB4KTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbS1weH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEBpZiAkcHJvcGVydGllcyB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsaXN0Lmxlbmd0aCgkYnJlYWtwb2ludHMpIHtcbiAgICAgICRicmVha3BvaW50OiBsaXN0Lm50aCgkYnJlYWtwb2ludHMsICRpKTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skYnJlYWtwb2ludH0pIHtcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWVzIGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZXMpID09IFwibGlzdFwiIGFuZCBsaXN0Lmxlbmd0aCgkdmFsdWVzKSA9PSAyIGFuZCAkaSA9PSAxIHtcbiAgICAgICAgICAgICRtYXg6IGxpc3QubnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgICAgICAgJG1pbjogbGlzdC5udGgoJHZhbHVlcywgMik7XG4gICAgICAgICAgICAkcmVzcG9uc2l2ZS12YWx1ZTogaWYoJGkgPT0gMSwgcmVzcG9uc2l2ZVVuaXRsZXNzKCRtYXgsICRtaW4sICRzbSwgJHhzKSwgJG1pbik7XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRyZXNwb25zaXZlLXZhbHVlO1xuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJHZhbHVlOiBpZigkaSA+IGxpc3QubGVuZ3RoKCR2YWx1ZXMpLCBsaXN0Lm50aCgkdmFsdWVzLCBsaXN0Lmxlbmd0aCgkdmFsdWVzKSksIGxpc3QubnRoKCR2YWx1ZXMsICRpKSk7XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjb250YWluZXIteCB7XG4gIC8vIEBpbmNsdWRlIG1xKHBhZGRpbmctbGVmdCwgMTYsICRsZyk7XG4gIC8vIEBpbmNsdWRlIG1xKHBhZGRpbmctcmlnaHQsIDE2LCAkbGcpO1xuXG4gIEBpbmNsdWRlIG1xKHBhZGRpbmctbGVmdCwgMTUsICRzbSk7XG4gIEBpbmNsdWRlIG1xKHBhZGRpbmctcmlnaHQsIDE1LCAkc20pO1xufVxuXG5AbWl4aW4gaW5wdXQtZGF0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgLyomOmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpZaUlHaGxhV2RvZEQwaU1qWWlJSFpwWlhkQ2IzZzlJakFnTUNBeU5pQXlOaUlnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BISmxZM1FnZDJsa2RHZzlJakkySWlCb1pXbG5hSFE5SWpJMklpQnllRDBpTVRNaUlHWnBiR3c5SWlORVEwUkNSRU1pTHo0S1BIQmhkR2dnWkQwaVRUZ3VPRGc0T0RrZ01USXVNMGd4TWk0MVZqRTFMamhJT0M0NE9EZzRPVTB4Tnk0MU5UVTJJREU0TGpaSU55NDBORFEwTkZZeE1DNDVTREUzTGpVMU5UWk5NVGN1TlRVMU5pQTNMalJJTVRZdU9ETXpNMVkyU0RFMUxqTTRPRGxXTnk0MFNEa3VOakV4TVRGV05rZzRMakUyTmpZM1ZqY3VORWczTGpRME5EUTBRemN1TURZeE16VWdOeTQwSURZdU5qa3pPVFVnTnk0MU5EYzFJRFl1TkRJek1EY2dOeTQ0TVRBd05VTTJMakUxTWpFNElEZ3VNRGN5TmlBMklEZ3VOREk0TnlBMklEZ3VPRll4T0M0MlF6WWdNVGd1T1RjeE15QTJMakUxTWpFNElERTVMak15TnpRZ05pNDBNak13TnlBeE9TNDFPRGs1UXpZdU5qa3pPVFVnTVRrdU9EVXlOU0EzTGpBMk1UTTFJREl3SURjdU5EUTBORFFnTWpCSU1UY3VOVFUxTmtNeE55NDVNemcySURJd0lERTRMak13TmlBeE9TNDROVEkxSURFNExqVTNOamtnTVRrdU5UZzVPVU14T0M0NE5EYzRJREU1TGpNeU56UWdNVGtnTVRndU9UY3hNeUF4T1NBeE9DNDJWamd1T0VNeE9TQTRMalF5T0RjZ01UZ3VPRFEzT0NBNExqQTNNallnTVRndU5UYzJPU0EzTGpneE1EQTFRekU0TGpNd05pQTNMalUwTnpVZ01UY3VPVE00TmlBM0xqUWdNVGN1TlRVMU5pQTNMalJhSWlCbWFXeHNQU0lqTkRrME5UUkdJaTgrQ2p3dmMzWm5QZ289XCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDVweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTNweCk7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9Ki9cbn1cblxuQG1peGluIHdpZHRoLWV4cGFuZGVkIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSAxMDB2dykgLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKCgxMDAlIC0gMTAwdncpIC8gMik7XG4gIHdpZHRoOiAxMDB2dztcbn1cbkBtaXhpbiBmdWxsLXdpZHRoIHtcbiAgQGluY2x1ZGUgd2lkdGgtZXhwYW5kZWQoKTtcbn1cblxuQG1peGluIGhpZGUtc2Nyb2xsYmFyIHtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMXB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBzY3JvbGwteC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgQGluY2x1ZGUgaGlkZS1zY3JvbGxiYXI7XG59XG5cbkBtaXhpbiBpbWFnZS1mdWxsLWNvbnRlbnQge1xuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuQG1peGluIGZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMTAxO1xufVxuXG5AbWl4aW4gcHgtbW9iaWxlIHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG5cbkBtaXhpbiBzZWxlY3RXcmFwcGVyIHtcbiAgc2VsZWN0IHtcbiAgICBvdXRsaW5lLWNvbG9yOiAkY29sb3Itc2t5O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itc2t5O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgXG4gICAgLy9iYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2ljb25zL2Fycm93LnBuZ1wiKSA5MCUgI2YwZjBmMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVRVaUlHaGxhV2RvZEQwaU9TSWdkbWxsZDBKdmVEMGlNQ0F3SURFMUlEa2lJR1pwYkd3OUltNXZibVVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrQ2p4d1lYUm9JR1E5SWswMkxqYzBOelF5SURndU5UQXdORFJETnk0eE5qSXpNaUE0TGpreE5UUTRJRGN1T0RNMk1USWdPQzQ1TVRVME9DQTRMakkxTVRBeUlEZ3VOVEF3TkRSTU1UUXVOakl6T1NBeUxqRXlOVFEwUXpFMUxqQXpPRGdnTVM0M01UQTBJREUxTGpBek9EZ2dNUzR3TXpZek9DQXhOQzQyTWpNNUlEQXVOakl4TXpNNFF6RTBMakl3T1NBd0xqSXdOakk1T1NBeE15NDFNelV5SURBdU1qQTJNams1SURFekxqRXlNRE1nTUM0Mk1qRXpNemhNTnk0ME9UYzFOaUEyTGpJME5UazFUREV1T0RjME9ETWdNQzQyTWpRMk5UaERNUzQwTlRrNU15QXdMakl3T1RZeE9TQXdMamM0TmpFek5DQXdMakl3T1RZeE9TQXdMak0zTVRJek5DQXdMall5TkRZMU9FTXRNQzR3TkRNMk5qWTBJREV1TURNNU55QXRNQzR3TkRNMk5qWTBJREV1TnpFek56SWdNQzR6TnpFeU16UWdNaTR4TWpnM05rdzJMamMwTkRFZ09DNDFNRE0zTmt3MkxqYzBOelF5SURndU5UQXdORFJhSWlCbWFXeHNQU0lqTURVM1FVWkdJaTgrQ2p3dmMzWm5QZ289XCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlO1xuICBcbiAgICAvLyBAaW5jbHVkZSBtcShiYWNrZ3JvdW5kLXBvc2l0aW9uLCA5NSUsICRzbSk7XG4gIFxuICAgICY6Zm9jdXMge1xuICAgICAgLy9iYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2ljb25zL2Fycm93LnBuZ1wiKSA5MCUgJHdoaXRlIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1UVWlJR2hsYVdkb2REMGlPU0lnZG1sbGQwSnZlRDBpTUNBd0lERTFJRGtpSUdacGJHdzlJbTV2Ym1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK0NqeHdZWFJvSUdROUlrMDJMamMwTnpReUlEZ3VOVEF3TkRSRE55NHhOakl6TWlBNExqa3hOVFE0SURjdU9ETTJNVElnT0M0NU1UVTBPQ0E0TGpJMU1UQXlJRGd1TlRBd05EUk1NVFF1TmpJek9TQXlMakV5TlRRMFF6RTFMakF6T0RnZ01TNDNNVEEwSURFMUxqQXpPRGdnTVM0d016WXpPQ0F4TkM0Mk1qTTVJREF1TmpJeE16TTRRekUwTGpJd09TQXdMakl3TmpJNU9TQXhNeTQxTXpVeUlEQXVNakEyTWprNUlERXpMakV5TURNZ01DNDJNakV6TXpoTU55NDBPVGMxTmlBMkxqSTBOVGsxVERFdU9EYzBPRE1nTUM0Mk1qUTJOVGhETVM0ME5UazVNeUF3TGpJd09UWXhPU0F3TGpjNE5qRXpOQ0F3TGpJd09UWXhPU0F3TGpNM01USXpOQ0F3TGpZeU5EWTFPRU10TUM0d05ETTJOalkwSURFdU1ETTVOeUF0TUM0d05ETTJOalkwSURFdU56RXpOeklnTUM0ek56RXlNelFnTWk0eE1qZzNOa3cyTGpjME5ERWdPQzQxTURNM05rdzJMamMwTnpReUlEZ3VOVEF3TkRSYUlpQm1hV3hzUFNJak1EVTNRVVpHSWk4K0Nqd3ZjM1puUGdvPVwiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCU7XG4gICAgICBvdXRsaW5lOiAkY29sb3Itc2t5O1xuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgICAmLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRleHQtbG9hZCB7XG4gIGNvbG9yOiAjOTk5OTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBhbmltYXRpb246IGZhZGVUZXh0IDRzIGluZmluaXRlO1xufVxuIl19 */
