/*  */
.passenger__container {
  background-color: #ffffff;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.passenger__title {
  background-color: #32a3ed;
  color: #ffffff;
  align-items: center;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 575.8px) {
  .passenger__title {
    padding-top: 23px;
    padding-bottom: 23px;
  }
}

.passenger__title__right {
  align-items: center;
  display: flex;
  justify-content: end;
}

.passenger__title__right .ico {
  font-size: 1.4rem;
  padding-right: 20px;
}
@media screen and (max-width: 575.8px) {
  .passenger__title__right .ico {
    color: white;
  }
}

.passenger__title__left {
  font-size: 1.5rem;
  align-items: center;
  display: flex;
}
@media screen and (max-width: 575.8px) {
  .passenger__title__left {
    font-size: 16.33px;
  }
}
@media screen and (max-width: 359.8px) {
  .passenger__title__left {
    font-size: 16.33px;
  }
}

@media screen and (max-width: 575.8px) {
  .passenger__section {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.passenger__content {
  padding: 30px;
  padding-top: 24px;
}
@media (max-width: 575.8px) {
  .passenger__content {
    padding-left: 15px;
  }
}
@media (max-width: 575.8px) {
  .passenger__content {
    padding-right: 15px;
  }
}
@media screen and (max-width: 575.8px) {
  .passenger__content {
    padding-top: 29px;
    padding-bottom: 27px;
  }
}

@media screen and (max-width: 575.8px) {
  .passenger__content .scRow {
    flex-direction: column;
  }
}

@media screen and (max-width: 575.8px) {
  .passenger__content .form__wrap-max-min {
    min-width: auto;
    max-width: none;
  }
  .passenger__content .form__wrap-max-min:first-child .form-group {
    border-top: 1px solid #d3d3d3;
  }
}

@media screen and (max-width: 575.8px) {
  .passenger__content .control-label {
    min-width: 250px;
    font-weight: bold;
  }
}

.control-label-passenger {
  font-size: 14px;
}

.passenger__content .form-group {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
@media screen and (max-width: 575.8px) {
  .passenger__content .form-group {
    flex-direction: row;
    border-bottom: 1px solid #d3d3d3;
    min-height: 66px;
    align-items: center;
  }
}

.passenger__content input {
  border-radius: 20px;
  border-color: #32a3ed;
  font-size: 1rem;
}

.country__nationality select,
.country__code select,
.passenger__content select {
  outline-color: #32a3ed;
  border-radius: 20px;
  border-color: #32a3ed;
  font-size: 1rem;
  padding-left: 24px;
  font-weight: bold;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("/assets/icons/arrow.png") 90% #f0f0f0 no-repeat;
}
.country__nationality select:focus,
.country__code select:focus,
.passenger__content select:focus {
  background: url("/assets/icons/arrow.png") 90% white no-repeat;
  outline: #32a3ed;
}
@media screen and (max-width: 575.8px) {
  .country__nationality select, .country__nationality select:focus,
  .country__code select,
  .country__code select:focus,
  .passenger__content select,
  .passenger__content select:focus {
    background: transparent;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    padding-left: 12px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxpdGllcy9fY29sb3JzLnNjc3MiLCJjaGVja291dC9wYXNzZW5nZXJfZGF0YS5zY3NzIiwiY2hlY2tvdXQvcGFzc2VuZ2VyX2RhdGEuY3NzIiwidXRpbGl0aWVzL19jbWl4aW5zLnNjc3MiLCJ1dGlsaXRpZXMvX3Jlc3BvbnNpdmUuc2NzcyIsInV0aWxpdGllcy9fbWl4aW5zLWNsYXNzZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ0EsS0FBQTtBQ3BDQTtFQUNFLHlCQUFBO0VBQ0EsMkJBQUE7RUFDQSw0QkFBQTtBQ0FGOztBREdBO0VBQ0UseUJERVU7RUNEVixjQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0VBQ0EsOEJBQUE7QUNBRjtBQzhFRTtFRm5GRjtJQVFJLGlCQUFBO0lBQ0Esb0JBQUE7RUNDRjtBQUNGOztBREVBO0VBR0UsbUJBQUE7RUFHQSxhQUFBO0VBR0Esb0JBQUE7QUNDRjs7QURFQTtFQUNFLGlCQUFBO0VBQ0EsbUJBQUE7QUNDRjtBQ3VERTtFRjFERjtJQUtJLFlEbkJJO0VFcUJOO0FBQ0Y7O0FEQ0E7RUFDRSxpQkFBQTtFQUdBLG1CQUFBO0VBR0EsYUFBQTtBQ0VGO0FDZ0RNO0VGekROO0lFa0VZLGtCQURRO0VEcERsQjtBQUNGO0FDMkNNO0VGekROO0lFa0VZLGtCQURRO0VEL0NsQjtBQUNGOztBQzhCRTtFRm5DRjtJQUVJLGFBQUE7SUFDQSxnQkFBQTtFQ1FGO0FBQ0Y7O0FETEE7RUFDRSxhQUFBO0VBQ0EsaUJBQUE7QUNRRjtBRWtaRTtFSDVaRjtJRzZaSSxrQkFQWTtFRnhZZDtBQUNGO0FFNllFO0VINVpGO0lHNlpJLG1CQVBZO0VGbllkO0FBQ0Y7QUNRRTtFRjVCRjtJQU9JLGlCQUFBO0lBQ0Esb0JBQUE7RUNpQkY7QUFDRjs7QUNFRTtFRmpCRjtJQUVJLHNCQUFBO0VDa0JGO0FBQ0Y7O0FDSkU7RUZaRjtJQUVJLGVBQUE7SUFDQSxlQUFBO0VDbUJGO0VEakJFO0lBQ0UsNkJBQUE7RUNtQko7QUFDRjs7QUNkRTtFRkRGO0lBRUksZ0JBQUE7SUFDQSxpQkFBQTtFQ2tCRjtBQUNGOztBRGZBO0VBQ0UsZUFBQTtBQ2tCRjs7QURmQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLDhCQUFBO0VBQ0EsWUFBQTtBQ2tCRjtBQ2hDRTtFRlVGO0lBT0ksbUJBQUE7SUFDQSxnQ0FBQTtJQUNBLGdCQUFBO0lBQ0EsbUJBQUE7RUNtQkY7QUFDRjs7QURoQkE7RUFDRSxtQkFBQTtFQUNBLHFCRDFHVTtFQzJHVixlQUFBO0FDbUJGOztBR3BERTs7O0VBQ0Usc0JMM0VRO0VLNEVSLG1CQUFBO0VBQ0EscUJMN0VRO0VLOEVSLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBRUEsd0JBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBRUEsZ0VBQUE7QUh1REo7QUduREk7OztFQUNFLDhEQUFBO0VBQ0EsZ0JMNUZNO0FFbUpaO0FDbkVFO0VFZ0JJOzs7OztJQUNFLHVCQUFBO0lBQ0Esa0JBQUE7SUFDQSw0QkFBQTtTQUFBLHVCQUFBO0lBQ0Esa0JBQUE7RUgwRE47QUFDRiIsImZpbGUiOiJjaGVja291dC9wYXNzZW5nZXJfZGF0YS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZnVuY3Rpb24gY29sb3IoJGNvbG9yKSB7XHJcbi8vICAgQHJldHVybiB2YXIoLS1icy0jeyRjb2xvcn0pO1xyXG4vLyB9XHJcblxyXG4vLyAkdmlvbGV0LWNvbG9yOiAjNWYyNDllICFkZWZhdWx0O1xyXG5cclxuJGNvbG9yLWFkdmFudGFnZXM6ICNlOWY3ZTg7XHJcbiRjb2xvci1zdWNjZXNzOiAjMmJiMDE5O1xyXG4kY29sb3ItZ3JlZW4tbGlnaHQ6ICM1NmM3NDc7XHJcbiRjb2xvci1zdWNjZXNzLWxpZ2h0OiAjZTlmN2U4O1xyXG4kY29sb3Itc2t5LWxpZ2h0OiAjN2FiYmU3O1xyXG4kY29sb3Itc2t5OiAjMzJhM2VkO1xyXG4kdGV4dC1jb2xvcjogIzAwMDAwMDtcclxuJGNvbG9yLXRleHQ6ICMwMDAwMDA7XHJcbiRjb2xvci1ncmF5OiAjZDRkNGQ0O1xyXG4kY29sb3Itc2lsdmVyOiAjZjBmMGYwO1xyXG4kY29sb3ItbGlnaHQ6ICNmMmYyZjI7XHJcbiRjb2xvci13aGl0ZTogI2ZmZmZmZjtcclxuXHJcbiR3aGl0ZTogd2hpdGU7XHJcbiRibGFjazogYmxhY2s7XHJcbiRzdWNjZXNzOiAkY29sb3Itc3VjY2VzcztcclxuXHJcbi8vLyAgQ29sb3JzIEZvbnRzXHJcbiR0ZXh0LWNvbG9yOiBibGFjaztcclxuJHRleHQtbGlnaHQ6IHdoaXRlO1xyXG5cclxuLy8vIENvbG9ycyBCYWNrZ3JvdW5kc1xyXG4kYmctbGlnaHQ6IHdoaXRlO1xyXG4kYmctd2hpdGU6IHdoaXRlO1xyXG4kYmctZ3JheSA6IGdyYXk7XHJcbiRiZy1zaWx2ZXIgOiAjZjBmMGYwO1xyXG4kYmctc3VjY2VzcyA6ICMyYmIwMTk7XHJcblxyXG4vLy8gQm9yZGVyXHJcbiRib3JkZXItZ3JheSA6IGdyYXk7XHJcbiRib3JkZXItZ3JlZW46ICM1NmM3NDc7XHJcblxyXG4vKiAgKi9cclxuJGNvbG9yLWdyZWVuLWxpc3Q6ICMyYmIwMTk7XHJcbiRjb2xvci1ncmVlbi1saXN0LWxpZ2h0OiAjZTlmN2U4O1xyXG4kYm9yZGVyLWNvbG9yLWdyYXk6ICNkM2QzZDM7XHJcbiRiZy1jb2xvci1ncmF5OiAjZDNkM2QzO1xyXG4kY29sb3Itc2t5LWxpZ2h0OiAjZWNmOGZmOyIsIkBpbXBvcnQgXCIuLi91dGlsaXRpZXMvaW5kZXhcIjtcclxuXHJcbi5wYXNzZW5nZXJfX2NvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLnBhc3Nlbmdlcl9fdGl0bGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1za3k7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjNweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyM3B4O1xyXG4gIH1cclxufVxyXG5cclxuLnBhc3Nlbmdlcl9fdGl0bGVfX3JpZ2h0IHtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XHJcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxufVxyXG5cclxuLnBhc3Nlbmdlcl9fdGl0bGVfX3JpZ2h0IC5pY28ge1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5wYXNzZW5nZXJfX3RpdGxlX19sZWZ0IHtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYVBob25lKChmb250LXNpemU6IDE2LjMzcHgpKSB7XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi5wYXNzZW5nZXJfX3NlY3Rpb24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFzc2VuZ2VyX19jb250ZW50IHtcclxuICBwYWRkaW5nOiAzMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAyNHB4O1xyXG5cclxuICBAaW5jbHVkZSBjb250YWluZXIteDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjlweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyN3B4O1xyXG4gIH1cclxufVxyXG4ucGFzc2VuZ2VyX19jb250ZW50IC5zY1JvdyB7XHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIH1cclxufVxyXG4ucGFzc2VuZ2VyX19jb250ZW50IC5mb3JtX193cmFwLW1heC1taW4ge1xyXG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xyXG4gICAgbWluLXdpZHRoOiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQgLmZvcm0tZ3JvdXAge1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvci1ncmF5O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhc3Nlbmdlcl9fY29udGVudCAuY29udHJvbC1sYWJlbCB7XHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udHJvbC1sYWJlbC1wYXNzZW5nZXJ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4ucGFzc2VuZ2VyX19jb250ZW50IC5mb3JtLWdyb3VwIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGhlaWdodDogMTAwJTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3ItZ3JheTtcclxuICAgIG1pbi1oZWlnaHQ6IDY2cHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnBhc3Nlbmdlcl9fY29udGVudCBpbnB1dCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICBib3JkZXItY29sb3I6ICRjb2xvci1za3k7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG4uY291bnRyeV9fbmF0aW9uYWxpdHkgLFxyXG4uY291bnRyeV9fY29kZSAsXHJcbi5wYXNzZW5nZXJfX2NvbnRlbnQgIHtcclxuICBAaW5jbHVkZSBzZWxlY3RXcmFwcGVyO1xyXG59XHJcbiIsIi8qICAqL1xuLnBhc3Nlbmdlcl9fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xufVxuXG4ucGFzc2VuZ2VyX190aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMmEzZWQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5wYXNzZW5nZXJfX3RpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMjNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjNweDtcbiAgfVxufVxuXG4ucGFzc2VuZ2VyX190aXRsZV9fcmlnaHQge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogZW5kO1xufVxuXG4ucGFzc2VuZ2VyX190aXRsZV9fcmlnaHQgLmljbyB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAucGFzc2VuZ2VyX190aXRsZV9fcmlnaHQgLmljbyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbi5wYXNzZW5nZXJfX3RpdGxlX19sZWZ0IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLnBhc3Nlbmdlcl9fdGl0bGVfX2xlZnQge1xuICAgIGZvbnQtc2l6ZTogMTYuMzNweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5LjhweCkge1xuICAucGFzc2VuZ2VyX190aXRsZV9fbGVmdCB7XG4gICAgZm9udC1zaXplOiAxNi4zM3B4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLnBhc3Nlbmdlcl9fc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5wYXNzZW5nZXJfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMjRweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5wYXNzZW5nZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLnBhc3Nlbmdlcl9fY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAucGFzc2VuZ2VyX19jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMjlweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjdweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5wYXNzZW5nZXJfX2NvbnRlbnQgLnNjUm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLnBhc3Nlbmdlcl9fY29udGVudCAuZm9ybV9fd3JhcC1tYXgtbWluIHtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC5wYXNzZW5nZXJfX2NvbnRlbnQgLmZvcm1fX3dyYXAtbWF4LW1pbjpmaXJzdC1jaGlsZCAuZm9ybS1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkM2QzZDM7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAucGFzc2VuZ2VyX19jb250ZW50IC5jb250cm9sLWxhYmVsIHtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG5cbi5jb250cm9sLWxhYmVsLXBhc3NlbmdlciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnBhc3Nlbmdlcl9fY29udGVudCAuZm9ybS1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAucGFzc2VuZ2VyX19jb250ZW50IC5mb3JtLWdyb3VwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzO1xuICAgIG1pbi1oZWlnaHQ6IDY2cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4ucGFzc2VuZ2VyX19jb250ZW50IGlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYm9yZGVyLWNvbG9yOiAjMzJhM2VkO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5jb3VudHJ5X19uYXRpb25hbGl0eSBzZWxlY3QsXG4uY291bnRyeV9fY29kZSBzZWxlY3QsXG4ucGFzc2VuZ2VyX19jb250ZW50IHNlbGVjdCB7XG4gIG91dGxpbmUtY29sb3I6ICMzMmEzZWQ7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlci1jb2xvcjogIzMyYTNlZDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pY29ucy9hcnJvdy5wbmdcIikgOTAlICNmMGYwZjAgbm8tcmVwZWF0O1xufVxuLmNvdW50cnlfX25hdGlvbmFsaXR5IHNlbGVjdDpmb2N1cyxcbi5jb3VudHJ5X19jb2RlIHNlbGVjdDpmb2N1cyxcbi5wYXNzZW5nZXJfX2NvbnRlbnQgc2VsZWN0OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pY29ucy9hcnJvdy5wbmdcIikgOTAlIHdoaXRlIG5vLXJlcGVhdDtcbiAgb3V0bGluZTogIzMyYTNlZDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmNvdW50cnlfX25hdGlvbmFsaXR5IHNlbGVjdCwgLmNvdW50cnlfX25hdGlvbmFsaXR5IHNlbGVjdDpmb2N1cyxcbiAgLmNvdW50cnlfX2NvZGUgc2VsZWN0LFxuICAuY291bnRyeV9fY29kZSBzZWxlY3Q6Zm9jdXMsXG4gIC5wYXNzZW5nZXJfX2NvbnRlbnQgc2VsZWN0LFxuICAucGFzc2VuZ2VyX19jb250ZW50IHNlbGVjdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgfVxufSIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcclxuQHVzZSBcInNhc3M6bWV0YVwiO1xyXG5cclxuLy8vIEV2ZW50IHdyYXBwZXJcclxuLy8vIEBhdXRob3IgU21hcnRJbkNvZGUgJGJnLXVybCxcclxuXHJcbi8vLyBEZWZpbmUgY29sb3IgYW5kIGhlaWdodCBvZiBib3gtZWxlbWVudHNcclxuLy8vYmFuY2tncm91bmQgY29sb3IgYW5kIGhlaWdodFxyXG5AbWl4aW4gYmdjKCRtaW4taGVpZ2h0LCAkYmctY29sb3I6IHRyYW5zcGFyZW50KSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xyXG4gIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xyXG59XHJcblxyXG4vLy9iYW5ja2dyb3VuZCBpbWFnZSBhbmQgaGVpZ2h0XHJcbkBtaXhpbiBiZ2koJGJnLWltYWdlLCAkbWluLWhlaWdodCwgJGJnLXBvc2l0aW9uOiBjZW50ZXIsICRiZy1yZXBlYXQ6IG5vLXJlcGVhdCwgJGJzaXplOiBjb3Zlcikge1xyXG4gICRiZy1pbWFnZTogXCIuLi9pbWFnZXMvXCIgKyAkYmctaW1hZ2U7XHJcbiAgYmFja2dyb3VuZDogdXJsKCRiZy1pbWFnZSkgJGJnLXJlcGVhdCAkYmctcG9zaXRpb247XHJcbiAgYmFja2dyb3VuZC1zaXplOiAkYnNpemU7XHJcbiAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XHJcbn1cclxuXHJcbi8vL2JhbmNrZ3JvdW5kIGltYWdlIGFuZCBoZWlnaHRcclxuQG1peGluIGJnaW8oJGJnLWltYWdlLCAkYmctcG9zaXRpb246IGNlbnRlciwgJGJnLXJlcGVhdDogbm8tcmVwZWF0LCAkYnNpemU6IGNvdmVyKSB7XHJcbiAgJGJnLWltYWdlOiBcIi4uL2ltYWdlcy9cIiArICRiZy1pbWFnZTtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJGJnLWltYWdlKSAkYmctcmVwZWF0ICRiZy1wb3NpdGlvbjtcclxuICBiYWNrZ3JvdW5kLXNpemU6ICRic2l6ZTtcclxufVxyXG5cclxuLy8vIERlZmluZSBwYXJhbXMgQ29udGFpbmVyIHdpZHRoIGFuZCBwYWRkaW5nXHJcbkBtaXhpbiBjb250YWluZXIoJG1heC13aWR0aCwgJHBhZC1sZWZ0LCAkcGFkLXJpZ2h0OiAkcGFkLWxlZnQsICRib3gtczogY29udGVudC1ib3gpIHtcclxuICBib3gtc2l6aW5nOiAkYm94LXM7XHJcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZC1sZWZ0O1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQtcmlnaHQ7XHJcbn1cclxuXHJcbi8vL2ZvbnRzIGVsZW1lbnRzXHJcbkBtaXhpbiBmb250cyhcclxuICAkZm9udC1mYW1pbHksXHJcbiAgJGZvbnQtc2l6ZTogbWVkaXVtLFxyXG4gICRmb250LWNvbG9yOiBibGFjayxcclxuICAkZm9udC13ZWlnaHQ6IG5vcm1hbCxcclxuICAkZm9udC1zdHlsZTogbm9ybWFsLFxyXG4gIC8vICRsaW5lLWhlaWdodDogbm9ybWFsXHJcbikge1xyXG4gIGNvbG9yOiAkZm9udC1jb2xvcjtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xyXG4gIC8vIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbn1cclxuXHJcbi8vL2RlZmluZSBmbGV4IGNlbnRlclxyXG5AbWl4aW4gZmxleGNlbigkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGNlbnRlcikge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6ICRhbGlnbjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG59XHJcblxyXG4vLy9kZWZpbmUgYWJzb2x1dGUgY2VudGVyXHJcbkBtaXhpbiBhYnNjZW4oJHRvcDogNTAlLCAkcmlnaHQ6IDUwJSwgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICB0b3A6ICR0b3A7XHJcbiAgcmlnaHQ6ICRyaWdodDtcclxuICBib3R0b206ICRib3R0b207XHJcbiAgbGVmdDogJGxlZnQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHJpZ2h0LCAtJHRvcCk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG5AbWl4aW4gbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50ICsgJ3B4J30pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1lZGlhU20ge1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtICsgJ3B4J30pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1lZGlhRGVza3RvcCB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3soJHNtICsgMC4yKSArICdweCd9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpYVBob25lKCRwcm9wZXJ0aWVzOiBudWxsKSB7XHJcbiAgJGJyZWFrcG9pbnRzOiAoJHNtLXB4LCAkeHMtcHgpO1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbS1weH0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgQGlmICRwcm9wZXJ0aWVzIHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGlzdC5sZW5ndGgoJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICRicmVha3BvaW50OiBsaXN0Lm50aCgkYnJlYWtwb2ludHMsICRpKTtcclxuXHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnR9KSB7XHJcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWVzIGluICRwcm9wZXJ0aWVzIHtcclxuICAgICAgICAgIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlcykgPT0gXCJsaXN0XCIgYW5kIGxpc3QubGVuZ3RoKCR2YWx1ZXMpID09IDIgYW5kICRpID09IDEge1xyXG4gICAgICAgICAgICAkbWF4OiBsaXN0Lm50aCgkdmFsdWVzLCAxKTtcclxuICAgICAgICAgICAgJG1pbjogbGlzdC5udGgoJHZhbHVlcywgMik7XHJcbiAgICAgICAgICAgICRyZXNwb25zaXZlLXZhbHVlOiBpZigkaSA9PSAxLCByZXNwb25zaXZlVW5pdGxlc3MoJG1heCwgJG1pbiwgJHNtLCAkeHMpLCAkbWluKTtcclxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkcmVzcG9uc2l2ZS12YWx1ZTtcclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkdmFsdWU6IGlmKCRpID4gbGlzdC5sZW5ndGgoJHZhbHVlcyksIGxpc3QubnRoKCR2YWx1ZXMsIGxpc3QubGVuZ3RoKCR2YWx1ZXMpKSwgbGlzdC5udGgoJHZhbHVlcywgJGkpKTtcclxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xyXG5AdXNlICdzYXNzOm1ldGEnO1xyXG5AdXNlICdzYXNzOm1hdGgnO1xyXG5AdXNlICdzYXNzOnN0cmluZyc7XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXFxcXFxyXG4vLyBSZXNwb25zaXZlIFZhcmlhYmxlcyBmb3IgcmVzcG9uc2l2ZSBtaXhpbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxcXFxcclxuXHJcbi8vRm9yIG1peGluIFJlc3BvbnNpdmVcclxuJHBob25lLXJlc3BvbnNpdmU6ICRzbTtcclxuJHRhYmxldC1yZXNwb25zaXZlOiAkbGc7XHJcbiRkZXNrdG9wLXJlc3BvbnNpdmU6ICR4eGw7XHJcblxyXG4vL0ZvciBNZWRpYSBRdWVyeSBibG9ja1xyXG4kZGQ6IDAuMDI7IC8vZGlmZXJlbmNlXHJcbiRwaG9uZS1zbWFsbDogKCR4cyAtICRkZCkgKyBweDtcclxuJHBob25lOiAoJHNtIC0gJGRkKSArIHB4O1xyXG4kcGhvbmUtbGFyZ2U6ICgkbWQgLSAkZGQpICsgcHg7XHJcbiR0YWJsZXQtc21hbGw6IDc5MHB4O1xyXG4kdGFibGV0OiAoJGxnIC0gJGRkKSArIHB4O1xyXG4kZGVza3RvcC1zbWFsbDogMTA5MHB4O1xyXG4kZGVza3RvcDogKCR4bCAtICRkZCkgKyBweDtcclxuJGRlc2t0b3AtbWVkaXVtOiAoJHh4bCAtICRkZCkgKyBweDtcclxuJGRlc2t0b3AtbGFyZ2U6IDE2NTBweDtcclxuJGRlc2t0b3AteC1sYXJnZTogMTk1MHB4O1xyXG5cclxuJHBob25lLWRlZmF1bHQ6ICRwaG9uZS1zbWFsbDsgLy9kZWZhdWx0XHJcbiR0YWJsZXQtZGVmYXVsdDogJHRhYmxldDtcclxuJGRlc2t0b3AtZGVmYXVsdDogJGRlc2t0b3AtbWVkaXVtOyAvL2RlZmF1bHRcclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcXFxcXHJcbi8vIFJlc3BvbnNpdmUgTWl4aW5zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcXFxcXHJcblxyXG4vLy8gVmFyOiAgUHJvcCBmb3IgZnJhbWV3b3JrIGNzcyAtLS0tLS0tLS0tLS0tLS0tLS1cXFxcXHJcbiRwcm9wZXJ0eS1hbGw6IChcclxuICBpdGVtcy1jZW50ZXI6IGFsaWduLWl0ZW1zLFxyXG4gIG1pbi13LWF1dG86IG1pbi13aWR0aCxcclxuICBmbGV4LTE6IGZsZXgsXHJcbiAgZmxleC1pbml0aWFsOiBmbGV4LFxyXG4gIGZsZXgtY29sOiBmbGV4LWRpcmVjdGlvbixcclxuICBmbGV4LXdyYXA6IGZsZXgtd3JhcCxcclxuICBtci0wOiBtYXJnaW4tcmlnaHQsXHJcbiAgbWwtMDogbWFyZ2luLWxlZnQsXHJcbik7XHJcblxyXG4kcHJvcGVydHktdmFsdWUtYWxsOiAoXHJcbiAgaXRlbXMtY2VudGVyOiBjZW50ZXIsXHJcbiAgbWluLXctYXV0bzogYXV0byxcclxuICBmbGV4LTE6IDEgMSAwJSxcclxuICBmbGV4LWluaXRpYWw6IDAgMSBhdXRvLFxyXG4gIGZsZXgtY29sOiBjb2x1bW4sXHJcbiAgZmxleC13cmFwOiB3cmFwLFxyXG4gIG1yLTA6IDAsXHJcbiAgbWwtMDogMCxcclxuKTtcclxuXHJcbi8vLyBWYXI6ICBQcm9wIGZvciByZXNwb25zaXZlIGdsb2JhbCAtLS0tLS0tLS0tLS0tLS0tLS1cXFxcXHJcbiRwcm9wZXJ0eS1tYXA6IChcclxuICBmejogZm9udC1zaXplLFxyXG4gIGxoOiBsaW5lLWhlaWdodCxcclxuICBtOiBtYXJnaW4sXHJcbiAgbXQ6IG1hcmdpbi10b3AsXHJcbiAgbXI6IG1hcmdpbi1yaWdodCxcclxuICBtYjogbWFyZ2luLWJvdHRvbSxcclxuICBtbDogbWFyZ2luLWxlZnQsXHJcbiAgcDogcGFkZGluZyxcclxuICBwdDogcGFkZGluZy10b3AsXHJcbiAgcHI6IHBhZGRpbmctcmlnaHQsXHJcbiAgcGI6IHBhZGRpbmctYm90dG9tLFxyXG4gIHBsOiBwYWRkaW5nLWxlZnQsXHJcbiAgdDogdG9wLFxyXG4gIGw6IGxlZnQsXHJcbiAgYjogYm90dG9tLFxyXG4gIHI6IHJpZ2h0LFxyXG4gIHc6IHdpZHRoLFxyXG4gIG13OiBtYXgtd2lkdGgsXHJcbiAgbXh3OiBtYXgtd2lkdGgsXHJcbiAgbWF4dzogbWF4LXdpZHRoLFxyXG4gIG1udzogbWluLXdpZHRoLFxyXG4gIG1pbnc6IG1pbi13aWR0aCxcclxuICBoOiBoZWlnaHQsXHJcbiAgbWg6IG1pbi1oZWlnaHQsXHJcbiAgbW5oOiBtaW4taGVpZ2h0LFxyXG4gIG1pbmg6IG1pbi1oZWlnaHQsXHJcbiAgbXhoOiBtYXgtaGVpZ2h0LFxyXG4gIG1heGg6IG1heC1oZWlnaHQsXHJcbiAgYno6IGJhY2tncm91bmQtc2l6ZSxcclxuKTtcclxuXHJcbi8vLyBTY2hlbWFcclxuLy8vIGNhbGMoICN7JG1pbi1weH0gKyAoI3skbWF4fSAtICN7JG1pbn0pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgLyAoI3skdy1tYXh9IC0gI3skdy1taW59KSkpO1xyXG4vLy8gY2FsYyggMTZweCArICgyMSAtIDE2KSAqICgoMTAwdncgLSAzNjBweCkgLyAoMTQ0MCAtIDM2MCkpKTtcclxuXHJcbi8vLyBGdW5jdGlvbiBSZXNwb25zaXZlIC0tLS0tLS0tLS0tLS0tLVxcXFxcclxuLy8vIEhvdyB1c2U6IHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcGwtbWF4LCAkcGwtbWluLCAkdy1tYXgsICR3LW1pbikgO1xyXG5AZnVuY3Rpb24gcmVzcG9uc2l2ZShcclxuICAkbWF4LFxyXG4gICRtaW46IFwiXCIsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcclxuKSB7XHJcbiAgQGlmICgkbWluID09IFwiXCIgb3IgJG1heCA9PSRtaW4pIHtcclxuICAgIEByZXR1cm4gJG1heCArIHB4O1xyXG4gIH1cclxuXHJcbiAgJG1pbi1weDogJG1pbiArIHB4O1xyXG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XHJcbiAgJHJlc3VsdDogY2FsYyhcclxuICAgICN7JG1pbi1weH0gKyAoI3skbWF4fSAtICN7JG1pbn0pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xyXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXHJcbiAgKTtcclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCRudW1iZXIpIHtcclxuICBAcmV0dXJuIG1hdGguZGl2KCRudW1iZXIsICgkbnVtYmVyICogMCArIDEpKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlc3BvbnNpdmVVbml0bGVzcyhcclxuICAkbWF4LFxyXG4gICRtaW46IFwiXCIsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcclxuKSB7XHJcblxyXG4gICRtYXh1bmxlc3M6IGlmKG1hdGguaXMtdW5pdGxlc3MoJG1heCksICRtYXgsIHN0cmlwLXVuaXRzKCRtYXgpKTtcclxuICAkbWludW5sZXNzOiBpZihtYXRoLmlzLXVuaXRsZXNzKCRtaW4pLCAkbWluLCBzdHJpcC11bml0cygkbWluKSk7XHJcblxyXG4gIEBpZiAoJG1pbnVubGVzcyA9PSBcIlwiIG9yICRtYXh1bmxlc3MgPT0gJG1pbnVubGVzcykge1xyXG4gICAgQHJldHVybiAkbWF4dW5sZXNzICsgcHg7XHJcbiAgfVxyXG5cclxuICAkbWluLXB4OiAkbWludW5sZXNzICsgcHg7XHJcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcclxuICAkcmVzdWx0OiBjYWxjKFxyXG4gICAgI3skbWluLXB4fSArICgjeyRtYXh1bmxlc3N9IC0gI3skbWludW5sZXNzfSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXHJcbiAgICAgICAgICAoI3skdy1tYXh9IC0gI3skdy1taW59KSlcclxuICApO1xyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vIE1peGlucyBSZXNwb25zaXZlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcXFxcclxuXHJcbi8vSG93IHRvIHVzZTogICBAaW5jbHVkZSAgZm9udC1yZXNwb25zaXZlKDI2LCAyMCkgb3IgZm9udC1yZXNwb25zaXZlKDI2LCAyMCwgMTQ0MCwgMzYwKVxyXG4vLyBmb250LXNpemU6IGNhbGMoMTZweCArICgyNiAtIDE2KSAqICgoMTAwdncgLSAzMDBweCkgLyAoMTYwMCAtIDMwMCkpKSA7XHJcbkBtaXhpbiBmb250LXJlc3BvbnNpdmUoXHJcbiAgJGYtbWF4LFxyXG4gICRmLW1pbjogJGZvbnQtc2l6ZS1zbWFsbCxcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxyXG4pIHtcclxuICAkZi1taW4tcHg6ICRmLW1pbiArIHB4O1xyXG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XHJcbiAgJGZvbnQtc2l6ZTogJGYtbWF4ICsgcHg7XHJcbiAgJGRlc2t0b3AtcHg6ICRkZXNrdG9wLXJlc3BvbnNpdmUgKiAxcHg7XHJcbiAgJHBob25lLXB4OiAkcGhvbmUtcmVzcG9uc2l2ZSAqIDFweDtcclxuXHJcbiAgJHJlc3VsdC1jYWxjOiByZXNwb25zaXZlKCRmLW1heCwgJGYtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcblxyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuXHJcbiAgQGlmICgkdy1tYXggPT0kZGVza3RvcC1yZXNwb25zaXZlIGFuZCAkdy1taW4gPT0kcGhvbmUtcmVzcG9uc2l2ZSkge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRkZXNrdG9wLXB4KSB7XHJcbiAgICAgICYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHJlc3VsdC1jYWxjO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRwaG9uZS1weCkge1xyXG4gICAgICAmIHtcclxuICAgICAgICBmb250LXNpemU6ICN7JGYtbWluLXB4fTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgZm9udC1zaXplOiAkcmVzdWx0LWNhbGM7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3LW1pbi1weCkge1xyXG4gICAgICAmIHtcclxuICAgICAgICBmb250LXNpemU6ICN7JGYtbWluLXB4fTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gSG93IHRvIHVzZTogICBAaW5jbHVkZSByKGZvbnQtc2l6ZSwgNjAsIDM5LCAxNDQwLCAzNzUpIG9yICBAaW5jbHVkZSAgcmVzcG9uc2l2ZShmeiwgNjAsIDM5LCAxNDQwLCAzNzUpIG9yICBAaW5jbHVkZSAgcmVzcG9uc2l2ZShmeiwgNjBweCwgMzlweCwgMTQ0MCwgMzc1LCBmYWxzZSlcclxuLy8gQGluY2x1ZGUgcmVzcG9uc2l2ZShoLCA2Ni4xMSwgMzApO1xyXG5AbWl4aW4gcihcclxuICAkYXR0cjogXCJcIixcclxuICAkdmFsdWUtbWluOiBcIlwiLFxyXG4gICR2YWx1ZS1tYXg6IFwiXCIsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZSxcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJG9ubHktbWVkLXF1ZXJ5OiBmYWxzZVxyXG4pIHtcclxuICBAaWYgJHctbWluID09IFwiXCIge1xyXG4gICAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZTtcclxuICB9XHJcblxyXG4gIEBpZiAkdy1tYXggPT0gXCJcIiB7XHJcbiAgICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmU7XHJcbiAgfVxyXG5cclxuICBAaWYgJHZhbHVlLW1heCA9PSBcIlwiIHtcclxuICAgICRzaXplLW1heDogJHZhbHVlLW1pbjtcclxuICB9XHJcblxyXG4gIC8vY29uZGl0aW9uYWwgaWYgYXR0cmlidXRlcyBleGlzdCBweFxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWlufSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHNpemUtbWluOiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1taW59LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1heH0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICRzaXplLW1heDogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWF4fSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICR3LW1pbjogc3RyaW5nLnNsaWNlKCN7JHctbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICR3LW1heDogc3RyaW5nLnNsaWNlKCN7JHctbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgJHNpemUtbWF4LXB4OiAkdmFsdWUtbWF4ICsgcHg7XHJcbiAgJHNpemUtbWluLXB4OiAkdmFsdWUtbWluICsgcHg7XHJcbiAgJHctbWF4LXB4OiAkdy1tYXggKyBweDtcclxuICAkdy1taW4tcHg6ICR3LW1pbiArIHB4O1xyXG5cclxuICAkcmVzcG9uc2l2ZS1jYWxjOiBjYWxjKFxyXG4gICAgI3skc2l6ZS1taW4tcHh9ICsgKCN7JHZhbHVlLW1heH0gLSAjeyR2YWx1ZS1taW59KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC9cclxuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxyXG4gICk7XHJcblxyXG4gICRwcm9wZXJ0eTogXCJcIjtcclxuXHJcbiAgQGlmIChtYXAuaGFzLWtleSgkcHJvcGVydHktbWFwLCAkYXR0cikpIHtcclxuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktbWFwLCAkYXR0cik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkcHJvcGVydHk6ICRhdHRyO1xyXG4gIH1cclxuXHJcbiAgQGlmIChub3QgJG9ubHktbWVkLXF1ZXJ5KSB7XHJcbiAgICAvL2ltcHJlc3MgYXR0cmlidXRlIHlvdXIgc3R5bGVzIGNzc1xyXG4gICAgI3skcHJvcGVydHl9OiAkc2l6ZS1taW4tcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRzaXplLW1pbi1weCAhPSAkc2l6ZS1tYXgtcHgpIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyR3LW1pbi1weH0pIHtcclxuICAgICAgI3skcHJvcGVydHl9OiAkcmVzcG9uc2l2ZS1jYWxjO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyR3LW1heC1weH0pIHtcclxuICAgICAgI3skcHJvcGVydHl9OiAjeyRzaXplLW1heC1weH07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIHIoZm9udC1zaXplLCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MHB4LCAzOXB4LCAxNDQwLCAzNzUsIGZhbHNlKVxyXG4vLyBAaW5jbHVkZSByZXNwb25zaXZlKGgsIDY2LjExLCAzMCk7XHJcbkBtaXhpbiByaShcclxuICAkYXR0cjogXCJcIixcclxuICAkdmFsdWUtbWF4OiBcIlwiLFxyXG4gICR2YWx1ZS1taW46IFwiXCIsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcclxuKSB7XHJcbiAgQGluY2x1ZGUgcihcclxuICAgICRhdHRyLFxyXG4gICAgJHZhbHVlLW1pbixcclxuICAgICR2YWx1ZS1tYXgsXHJcbiAgICAkdy1taW4sXHJcbiAgICAkdy1tYXgsXHJcbiAgKVxyXG59XHJcblxyXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIHJlc3BvbnNpdmUoZm9udC1zaXplLCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MHB4LCAzOXB4LCAxNDQwLCAzNzUsIGZhbHNlKVxyXG4vLyBAaW5jbHVkZSByZXNwb25zaXZlKGgsIDY2LjExLCAzMCk7XHJcbkBtaXhpbiByZXNwb25zaXZlKFxyXG4gICRhdHRyOiBcIlwiLFxyXG4gICR2YWx1ZS1tYXg6IFwiXCIsXHJcbiAgJHZhbHVlLW1pbjogXCJcIixcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZSxcclxuICAkb25seS1tZWQtcXVlcnk6IGZhbHNlXHJcbikge1xyXG4gIEBpZiAkdy1tYXggPT0gXCJcIiB7XHJcbiAgICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmU7XHJcbiAgfVxyXG5cclxuICBAaWYgJHZhbHVlLW1pbiA9PSBcIlwiIHtcclxuICAgICRzaXplLW1pbjogJHZhbHVlLW1heDtcclxuICB9XHJcblxyXG4gIC8vY29uZGl0aW9uYWwgaWYgYXR0cmlidXRlcyBleGlzdCBweFxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWF4fSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHNpemUtbWF4OiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1tYXh9LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1pbn0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICRzaXplLW1pbjogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWlufSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICR3LW1heDogc3RyaW5nLnNsaWNlKCN7JHctbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICR3LW1pbjogc3RyaW5nLnNsaWNlKCN7JHctbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgJHNpemUtbWF4LXB4OiAkdmFsdWUtbWF4ICsgcHg7XHJcbiAgJHNpemUtbWluLXB4OiAkdmFsdWUtbWluICsgcHg7XHJcbiAgJHctbWF4LXB4OiAkdy1tYXggKyBweDtcclxuICAkdy1taW4tcHg6ICR3LW1pbiArIHB4O1xyXG4gICRkZXNrdG9wLXB4OiAkZGVza3RvcC1yZXNwb25zaXZlICogMXB4O1xyXG4gICRwaG9uZS1weDogJHBob25lLXJlc3BvbnNpdmUgKiAxcHg7XHJcblxyXG4gICRyZXNwb25zaXZlLWNhbGM6IGNhbGMoXHJcbiAgICAjeyRzaXplLW1pbi1weH0gKyAoI3skdmFsdWUtbWF4fSAtICN7JHZhbHVlLW1pbn0pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xyXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXHJcbiAgKTtcclxuXHJcbiAgJHByb3BlcnR5OiBcIlwiO1xyXG5cclxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1tYXAsICRhdHRyKSkge1xyXG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1tYXAsICRhdHRyKTtcclxuICB9IEBlbHNlIHtcclxuICAgICRwcm9wZXJ0eTogJGF0dHI7XHJcbiAgfVxyXG5cclxuICBAaWYgKG5vdCAkb25seS1tZWQtcXVlcnkpIHtcclxuICAgIC8vICYge1xyXG4gICAgICAvL2ltcHJlc3MgYXR0cmlidXRlIHlvdXIgc3R5bGVzIGNzc1xyXG4gICAgICAjeyRwcm9wZXJ0eX06ICRzaXplLW1heC1weDtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIEBpZiAoJHNpemUtbWF4LXB4ICE9JHNpemUtbWluLXB4KSB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skdy1tYXgtcHh9KSB7XHJcbiAgICAgICN7JHByb3BlcnR5fTogJHJlc3BvbnNpdmUtY2FsYztcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skdy1taW4tcHh9KSB7XHJcbiAgICAgICN7JHByb3BlcnR5fTogJHNpemUtbWluLXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gT25seSBSZXNwb25zaXZlIE1lZGlhIHF1ZXJ5IGlubGluZVxyXG4vL0hvdyB0byB1c2U6ICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1tcShmeiwgNjAsIDM5LCAxNDQwKSB3aGVyZVxyXG4vLyBhdHRyOiBBdHJpYnV0byBkZSBsYSBwcm9waWVkYWRcclxuLy8gc2l6ZS1tYXg6IFZhbG9yIG1heGltbyBkZSBsYSBxdWVyeSBpbmljaWFsXHJcbi8vIHNpemUtbWluOiBWYWxvciBtaW5pbW8gZGUgbGEgcXVlcnkgaW5pY2lhbFxyXG4vLyB3LW1heDogUGFudGFsbGEgbWF4aW1hIHkgTWVkaWEgcXVlcnkgcG9yIGRlZmVjdG9cclxuLy8gdy1taW46IFBhbnRhbGxhIG1pbmltYVxyXG4vLyB0d28tbXE6IFNpIHNlIHJlcXVpZXJlIHBhcmEgbGEgaW50ZXJydXBjaW9uIGRlIGxhIHNlZ3VuZGEgbWVkaWEgcXVlcnlcclxuQG1peGluIHJlc3BvbnNpdmUtbXEoXHJcbiAgJGF0dHI6IFwiXCIsXHJcbiAgJHZhbHVlLW1heDogXCJcIixcclxuICAkdmFsdWUtbWluOiBcIlwiLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlLFxyXG4gICR0d28tbXE6IGZhbHNlXHJcbikge1xyXG4gIEBpZiAkdmFsdWUtbWluID09IFwiXCIge1xyXG4gICAgJHNpemUtbWluOiAkdmFsdWUtbWF4O1xyXG4gIH1cclxuXHJcbiAgLy9jb25kaXRpb25hbCBpZiBhdHRyaWJ1dGVzIGV4aXN0IHB4XHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1tYXh9LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkc2l6ZS1tYXg6IHN0cmluZy5zbGljZSgjeyRzaXplLW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1heH0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWlufSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHNpemUtbWluOiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1taW59LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHctbWF4OiBzdHJpbmcuc2xpY2UoI3skdy1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHctbWluOiBzdHJpbmcuc2xpY2UoI3skdy1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1taW59LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICAkc2l6ZS1tYXgtcHg6ICR2YWx1ZS1tYXggKyBweDtcclxuICAkc2l6ZS1taW4tcHg6ICR2YWx1ZS1taW4gKyBweDtcclxuICAkdy1tYXgtcHg6ICR3LW1heCArIHB4O1xyXG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XHJcbiAgJGRlc2t0b3AtcHg6ICRkZXNrdG9wLXJlc3BvbnNpdmUgKiAxcHg7XHJcbiAgJHBob25lLXB4OiAkcGhvbmUtcmVzcG9uc2l2ZSAqIDFweDtcclxuXHJcbiAgJHJlc3BvbnNpdmUtY2FsYzogY2FsYyhcclxuICAgICN7JHNpemUtbWluLXB4fSArICgjeyR2YWx1ZS1tYXh9IC0gI3skdmFsdWUtbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXHJcbiAgICAgICAgICAoI3skdy1tYXh9IC0gI3skdy1taW59KSlcclxuICApO1xyXG5cclxuICAkcHJvcGVydHk6IFwiXCI7XHJcblxyXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LW1hcCwgJGF0dHIpKSB7XHJcbiAgICAkcHJvcGVydHk6IG1hcC5nZXQoJHByb3BlcnR5LW1hcCwgJGF0dHIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHByb3BlcnR5OiAkYXR0cjtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAjeyR3LW1heC1weH0pIHtcclxuICAgICN7JHByb3BlcnR5fTogJHJlc3BvbnNpdmUtY2FsYztcclxuICB9XHJcblxyXG4gIEBpZiAoJHR3by1tcSkge1xyXG4gICAgQGlmICgkc2l6ZS1tYXgtcHggIT0kc2l6ZS1taW4tcHgpIHtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHctbWluLXB4fSkge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogI3skc2l6ZS1taW4tcHh9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPbmx5IFJlc3BvbnNpdmUgTWVkaWEgcXVlcnkgaW5saW5lXHJcbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgbXEyKGZ6LCA2MCwgMTQ0MClcclxuQG1peGluIG1xaSgkYXR0cjogXCJcIiwgJHNjcmVlbjogJGRlc2t0b3AtcmVzcG9uc2l2ZSkge1xyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skc2NyZWVufSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHNjcmVlbjogc3RyaW5nLnNsaWNlKCN7JHNjcmVlbn0sIDEsIHN0cmluZy5pbmRleCgjeyRzY3JlZW59LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICAkcHJvcGVydHk6IFwiXCI7XHJcbiAgJHZhbHVlOiBcIlwiO1xyXG5cclxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1hbGwsICRhdHRyKSkge1xyXG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1hbGwsICRhdHRyKTtcclxuICAgICR2YWx1ZTogbWFwLmdldCgkcHJvcGVydHktdmFsdWUtYWxsLCAkYXR0cik7XHJcblxyXG4gICAgJHNjcmVlbi1weDogJHNjcmVlbiArIHB4O1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRzY3JlZW4tcHh9KSB7XHJcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gT25seSBSZXNwb25zaXZlIE1lZGlhIHF1ZXJ5IGlubGluZVxyXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIG1xKGZ6LCA2MCwgMTQ0MClcclxuQG1peGluIG1xKCRhdHRyOiBcIlwiLCAkdmFsdWU6IFwiXCIsICRzY3JlZW46ICRkZXNrdG9wLXJlc3BvbnNpdmUpIHtcclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHNjcmVlbn0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICRzY3JlZW46IHN0cmluZy5zbGljZSgjeyRzY3JlZW59LCAxLCBzdHJpbmcuaW5kZXgoI3skc2NyZWVufSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgJHByb3BlcnR5OiBcIlwiO1xyXG5cclxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1tYXAsICRhdHRyKSkge1xyXG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1tYXAsICRhdHRyKTtcclxuICB9IEBlbHNlIHtcclxuICAgICRwcm9wZXJ0eTogJGF0dHI7XHJcbiAgfVxyXG5cclxuICAkc2l6ZS1weDogXCJcIjtcclxuXHJcbiAgQGlmIChtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAkc2l6ZS1weDogI3skdmFsdWV9O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHB4OiBzdHJpbmcuaW5kZXgoI3skdmFsdWV9LCBcInB4XCIpO1xyXG4gICAgJGVtOiBzdHJpbmcuaW5kZXgoI3skdmFsdWV9LCBcImVtXCIpO1xyXG4gICAgJHJlbTogc3RyaW5nLmluZGV4KCN7JHZhbHVlfSwgXCJyZW1cIik7XHJcbiAgICAkcGVyY2VudDogc3RyaW5nLmluZGV4KCN7JHZhbHVlfSwgXCIlXCIpO1xyXG5cclxuICAgIEBpZiAoJGVtIG9yICRyZW0gb3IgJHBlcmNlbnQgb3IgJHB4KSB7XHJcbiAgICAgICRzaXplLXB4OiAjeyR2YWx1ZX07XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHNpemUtcHg6ICR2YWx1ZSArIHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJHNjcmVlbi1weDogJHNjcmVlbiArIHB4O1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogI3skc2NyZWVuLXB4fSkge1xyXG4gICAgI3skcHJvcGVydHl9OiAkc2l6ZS1weDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwLXJlc3BvbnNpdmUoXHJcbiAgJHB0LW1heDogXCJcIixcclxuICAkcHQtbWluOiBcIlwiLFxyXG4gICRwci1tYXg6IFwiXCIsXHJcbiAgJHByLW1pbjogXCJcIixcclxuICAkcGItbWF4OiBcIlwiLFxyXG4gICRwYi1taW46IFwiXCIsXHJcbiAgJHBsLW1heDogXCJcIixcclxuICAkcGwtbWluOiBcIlwiLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXHJcbikge1xyXG4gIEBpZiAkcHQtbWF4ICE9IFwiXCIgYW5kICRwdC1taW4gIT0gXCJcIiB7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcblxyXG4gICAgQGlmICRwci1tYXggIT0gXCJcIiBhbmQgJHByLW1pbiAhPSBcIlwiIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogcmVzcG9uc2l2ZSgkcHItbWF4LCAkcHItbWluLCAkdy1tYXgsICR3LW1pbik7XHJcblxyXG4gICAgICBAaWYgJHBiLW1heCAhPSBcIlwiIGFuZCAkcGItbWluICE9IFwiXCIge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZXNwb25zaXZlKCRwYi1tYXgsICRwYi1taW4sICR3LW1heCwgJHctbWluKTtcclxuXHJcbiAgICAgICAgQGlmICRwbC1tYXggIT0gXCJcIiBhbmQgJHBsLW1pbiAhPSBcIlwiIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcGwtbWF4LCAkcGwtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHByLW1heCwgJHByLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlc3BvbnNpdmUoJHB0LW1heCwgJHB0LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcHItbWF4LCAkcHItbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZXNwb25zaXZlKCRwdC1tYXgsICRwdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IHJlc3BvbnNpdmUoJHB0LW1heCwgJHB0LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHB0LW1heCwgJHB0LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG0tcmVzcG9uc2l2ZShcclxuICAkbXQtbWF4OiBcIlwiLFxyXG4gICRtdC1taW46IFwiXCIsXHJcbiAgJG1yLW1heDogXCJcIixcclxuICAkbXItbWluOiBcIlwiLFxyXG4gICRtYi1tYXg6IFwiXCIsXHJcbiAgJG1iLW1pbjogXCJcIixcclxuICAkbWwtbWF4OiBcIlwiLFxyXG4gICRtbC1taW46IFwiXCIsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcclxuKSB7XHJcbiAgQGlmICRtdC1tYXggIT0gXCJcIiBhbmQgJG10LW1pbiAhPSBcIlwiIHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobXQsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuXHJcbiAgICBAaWYgJG1yLW1heCAhPSBcIlwiIGFuZCAkbXItbWluICE9IFwiXCIge1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1yLCAkbXItbWF4LCAkbXItbWluLCAkdy1tYXgsICR3LW1pbik7XHJcblxyXG4gICAgICBAaWYgJG1iLW1heCAhPSBcIlwiIGFuZCAkbWItbWluICE9IFwiXCIge1xyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWIsICRtYi1tYXgsICRtYi1taW4sICR3LW1heCwgJHctbWluKTtcclxuXHJcbiAgICAgICAgQGlmICRtbC1tYXggIT0gXCJcIiBhbmQgJG1sLW1pbiAhPSBcIlwiIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWwsICRtbC1tYXgsICRtbC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWwsICRtci1tYXgsICRtci1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWIsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1sLCAkbXItbWF4LCAkbXItbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1yLCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWIsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtbCwgJG10LW1heCwgJG10LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gY29udGFpbmVyLXgge1xyXG4gIC8vIEBpbmNsdWRlIG1xKHBhZGRpbmctbGVmdCwgMTYsICRsZyk7XHJcbiAgLy8gQGluY2x1ZGUgbXEocGFkZGluZy1yaWdodCwgMTYsICRsZyk7XHJcblxyXG4gIEBpbmNsdWRlIG1xKHBhZGRpbmctbGVmdCwgMTUsICRzbSk7XHJcbiAgQGluY2x1ZGUgbXEocGFkZGluZy1yaWdodCwgMTUsICRzbSk7XHJcbn1cclxuXHJcbkBtaXhpbiBpbnB1dC1kYXRlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG5cclxuICAvKiY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qWWlJR2hsYVdkb2REMGlNallpSUhacFpYZENiM2c5SWpBZ01DQXlOaUF5TmlJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEpsWTNRZ2QybGtkR2c5SWpJMklpQm9aV2xuYUhROUlqSTJJaUJ5ZUQwaU1UTWlJR1pwYkd3OUlpTkVRMFJDUkVNaUx6NEtQSEJoZEdnZ1pEMGlUVGd1T0RnNE9Ea2dNVEl1TTBneE1pNDFWakUxTGpoSU9DNDRPRGc0T1UweE55NDFOVFUySURFNExqWklOeTQwTkRRME5GWXhNQzQ1U0RFM0xqVTFOVFpOTVRjdU5UVTFOaUEzTGpSSU1UWXVPRE16TTFZMlNERTFMak00T0RsV055NDBTRGt1TmpFeE1URldOa2c0TGpFMk5qWTNWamN1TkVnM0xqUTBORFEwUXpjdU1EWXhNelVnTnk0MElEWXVOamt6T1RVZ055NDFORGMxSURZdU5ESXpNRGNnTnk0NE1UQXdOVU0yTGpFMU1qRTRJRGd1TURjeU5pQTJJRGd1TkRJNE55QTJJRGd1T0ZZeE9DNDJRellnTVRndU9UY3hNeUEyTGpFMU1qRTRJREU1TGpNeU56UWdOaTQwTWpNd055QXhPUzQxT0RrNVF6WXVOamt6T1RVZ01Ua3VPRFV5TlNBM0xqQTJNVE0xSURJd0lEY3VORFEwTkRRZ01qQklNVGN1TlRVMU5rTXhOeTQ1TXpnMklESXdJREU0TGpNd05pQXhPUzQ0TlRJMUlERTRMalUzTmprZ01Ua3VOVGc1T1VNeE9DNDRORGM0SURFNUxqTXlOelFnTVRrZ01UZ3VPVGN4TXlBeE9TQXhPQzQyVmpndU9FTXhPU0E0TGpReU9EY2dNVGd1T0RRM09DQTRMakEzTWpZZ01UZ3VOVGMyT1NBM0xqZ3hNREExUXpFNExqTXdOaUEzTGpVME56VWdNVGN1T1RNNE5pQTNMalFnTVRjdU5UVTFOaUEzTGpSYUlpQm1hV3hzUFNJak5EazBOVFJHSWk4K0Nqd3ZjM1puUGdvPVwiKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiA0NXB4O1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDEzcHgpO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfSovXHJcbn1cclxuXHJcbkBtaXhpbiB3aWR0aC1leHBhbmRlZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSAxMDB2dykgLyAyKTtcclxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoKDEwMCUgLSAxMDB2dykgLyAyKTtcclxuICB3aWR0aDogMTAwdnc7XHJcbn1cclxuQG1peGluIGZ1bGwtd2lkdGgge1xyXG4gIEBpbmNsdWRlIHdpZHRoLWV4cGFuZGVkKCk7XHJcbn1cclxuXHJcbkBtaXhpbiBoaWRlLXNjcm9sbGJhciB7XHJcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xyXG4gIHNjcm9sbGJhci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHNjcm9sbC14LWZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgb3ZlcmZsb3cteDogYXV0bztcclxuXHJcbiAgQGluY2x1ZGUgaGlkZS1zY3JvbGxiYXI7XHJcbn1cclxuXHJcbkBtaXhpbiBpbWFnZS1mdWxsLWNvbnRlbnQge1xyXG4gIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmaXhlZC1ib3R0b20ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IGF1dG87XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgei1pbmRleDogMTEwMTtcclxufVxyXG5cclxuQG1peGluIHB4LW1vYmlsZSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gc2VsZWN0V3JhcHBlciB7XHJcbiAgc2VsZWN0IHtcclxuICAgIG91dGxpbmUtY29sb3I6ICRjb2xvci1za3k7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itc2t5O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgXHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIFxyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pY29ucy9hcnJvdy5wbmdcIikgOTAlICNmMGYwZjAgbm8tcmVwZWF0O1xyXG4gIFxyXG4gICAgLy8gQGluY2x1ZGUgbXEoYmFja2dyb3VuZC1wb3NpdGlvbiwgOTUlLCAkc20pO1xyXG4gIFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaWNvbnMvYXJyb3cucG5nXCIpIDkwJSAkd2hpdGUgbm8tcmVwZWF0O1xyXG4gICAgICBvdXRsaW5lOiAkY29sb3Itc2t5O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICAgICYsICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LWxvYWQge1xyXG4gIGNvbG9yOiAjOTk5OTtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBhbmltYXRpb246IGZhZGVUZXh0IDRzIGluZmluaXRlO1xyXG59XHJcbiJdfQ== */
