.slice.highlights .subtitle-w {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}
.slice.highlights .subtitle-w .toggle-nav {
  position: relative;
  margin-right: 10px;
  height: 34px;
  width: 34px;
  cursor: pointer;
  border: 1px solid #e1e1e1;
  display: none;
}
@media only screen and (max-width: 1024px) {
  .slice.highlights .subtitle-w .toggle-nav {
    display: block;
  }
}
.slice.highlights .subtitle-w .toggle-nav .icon-nav {
  position: absolute;
  left: 6px;
  top: 15px;
}
.slice.highlights .subtitle-w .toggle-nav .icon-nav span,
.slice.highlights .subtitle-w .toggle-nav .icon-nav span:before,
.slice.highlights .subtitle-w .toggle-nav .icon-nav span:after {
  cursor: pointer;
  border-radius: 1px;
  height: 2px;
  width: 20px;
  background: #7a7a7a;
  position: absolute;
  display: block;
  content: '';
  transition: all 300ms ease-in-out;
}
.slice.highlights .subtitle-w .toggle-nav .icon-nav span:before {
  top: -7px;
}
.slice.highlights .subtitle-w .toggle-nav .icon-nav span:after {
  bottom: -7px;
}
.slice.highlights .subtitle-w .toggle-nav .icon-nav.active span {
  background-color: transparent;
}
.slice.highlights .subtitle-w .toggle-nav .icon-nav.active span:before,
.slice.highlights .subtitle-w .toggle-nav .icon-nav.active span:after {
  top: 0;
}
.slice.highlights .subtitle-w .toggle-nav .icon-nav.active span:before {
  transform: rotate(45deg);
}
.slice.highlights .subtitle-w .toggle-nav .icon-nav.active span:after {
  transform: rotate(-45deg);
}
.slice.highlights .slice-i {
  border-top: 1px solid #e1e1e1;
}
.slice.highlights .slice-i .highlights-select {
  padding: 0 30px;
}
.slice.highlights .slice-i .highlights-select:before {
  content: '';
  display: table;
}
.slice.highlights .slice-i .highlights-select:after {
  content: '';
  display: table;
  clear: both;
}
@media only screen and (max-width: 1200px) {
  .slice.highlights .slice-i .highlights-select {
    padding: 0 15px;
  }
}
@media only screen and (max-width: 1024px) {
  .slice.highlights .slice-i .highlights-select {
    display: none;
  }
}
.slice.highlights .slice-i .highlights-select .highlight-select:hover,
.slice.highlights .slice-i .highlights-select .highlight-select.active {
  background-color: #34495e;
  cursor: pointer;
}
.slice.highlights .slice-i .highlights-select .highlight-select:hover:after,
.slice.highlights .slice-i .highlights-select .highlight-select.active:after {
  border-color: #34495e transparent transparent transparent;
}
.slice.highlights .slice-i .highlights-select .highlight-select {
  width: calc(99.9% * 1/6 - (30px - 30px * 1/6));
  position: relative;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: #9da4aa;
  padding: 25px 5px 15px;
  -ms-flex-align: center;
      align-items: center;
}
.slice.highlights .slice-i .highlights-select .highlight-select:nth-child(1n) {
  float: left;
  margin-right: 30px;
  clear: none;
}
.slice.highlights .slice-i .highlights-select .highlight-select:last-child {
  margin-right: 0;
}
.slice.highlights .slice-i .highlights-select .highlight-select:nth-child(6n) {
  margin-right: 0;
  float: right;
}
.slice.highlights .slice-i .highlights-select .highlight-select:nth-child(6n + 1) {
  clear: both;
}
.slice.highlights .slice-i .highlights-select .highlight-select:after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 12px 0 12px;
  border-color: transparent transparent transparent transparent;
}
@media only screen and (max-width: 1200px) {
  .slice.highlights .slice-i .highlights-select .highlight-select {
    width: calc(99.9% * 1/6 - (20px - 20px * 1/6));
    padding: 15px 5px 15px;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(1n) {
    float: left;
    margin-right: 20px;
    clear: none;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:last-child {
    margin-right: 0;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(6n) {
    margin-right: 0;
    float: right;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(6n + 1) {
    clear: both;
  }
}
@media only screen and (max-width: 1024px) {
  .slice.highlights .slice-i .highlights-select .highlight-select {
    width: calc(99.9% * 1/6 - (10px - 10px * 1/6));
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(1n) {
    float: left;
    margin-right: 10px;
    clear: none;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:last-child {
    margin-right: 0;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(6n) {
    margin-right: 0;
    float: right;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(6n + 1) {
    clear: both;
  }
}
@media only screen and (max-width: 992px) {
  .slice.highlights .slice-i .highlights-select .highlight-select {
    width: calc(99.9% * 1/3 - (10px - 10px * 1/3));
    margin-bottom: 10px;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(1n) {
    float: left;
    margin-right: 10px;
    clear: none;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:last-child {
    margin-right: 0;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(3n) {
    margin-right: 0;
    float: right;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(3n + 1) {
    clear: both;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:after {
    border: none;
  }
}
@media only screen and (max-width: 524px) {
  .slice.highlights .slice-i .highlights-select .highlight-select {
    width: calc(99.9% * 1/2 - (10px - 10px * 1/2));
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(1n) {
    float: left;
    margin-right: 10px;
    clear: none;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:last-child {
    margin-right: 0;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(2n) {
    margin-right: 0;
    float: right;
  }
  .slice.highlights .slice-i .highlights-select .highlight-select:nth-child(2n + 1) {
    clear: both;
  }
}
.slice.highlights .slice-i .highlights-select .highlight-select .select-icon {
  margin-bottom: 10px;
}
@media only screen and (max-width: 992px) {
  .slice.highlights .slice-i .highlights-select .highlight-select .select-icon img {
    width: 90%;
  }
}
.slice.highlights .slice-i .highlights-select .highlight-select .select-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  color: #fff;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 13px;
  text-align: center;
  line-height: 13px;
  min-height: 40px;
  margin: 0;
}
@media only screen and (max-width: 1200px) {
  .slice.highlights .slice-i .highlights-select .highlight-select .select-title {
    font-weight: normal;
  }
}
@media only screen and (max-width: 992px) {
  .slice.highlights .slice-i .highlights-select .highlight-select .select-title {
    min-height: 24px;
  }
}
@media only screen and (max-width: 524px) {
  .slice.highlights .slice-i .highlights-select .highlight-select .select-title {
    min-height: 28px;
  }
}
@media only screen and (max-width: 370px) {
  .slice.highlights .slice-i .highlights-select .highlight-select .select-title {
    min-height: 40px;
  }
}
.slice.highlights .slice-i .highlight-w .highlight.active {
  display: block;
}
.slice.highlights .slice-i .highlight-w .highlight {
  display: none;
  width: 100%;
  margin-top: 20px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhpZ2hsaWdodHMuc3R5bCIsImhpZ2hsaWdodHMuY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3J1cHR1cmUvcnVwdHVyZS9pbmRleC5zdHlsIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdJO0VBQ0kscUJBQUE7RUFBQSxjQUFBO0VBQ0Esc0JBQUE7TUFBQSx3QkFBQTtDQ0ZQO0FER087RUFDSSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLDBCQUFBO0VBQ0EsY0FBQTtDQ0RYO0FDbUlVO0VBQUE7SUZoSUssZUFBQTtHQ0NiO0NBQ0Y7QUREVztFQUNJLG1CQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7Q0NHZjtBREZlOzs7RUFHSSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxrQ0FBQTtDQ0luQjtBREhlO0VBQ0ksVUFBQTtDQ0tuQjtBREplO0VBQ0ksYUFBQTtDQ01uQjtBRExlO0VBQ0ksOEJBQUE7Q0NPbkI7QURObUI7O0VBRUksT0FBQTtDQ1F2QjtBRFBtQjtFQUNJLHlCQUFBO0NDU3ZCO0FEUm1CO0VBQ0ksMEJBQUE7Q0NVdkI7QURURztFQUNJLDhCQUFBO0NDV1A7QURWTztFQUNJLGdCQUFBO0NDYVg7QURkTztFQUVJLFlBQUE7RUFBQSxlQUFBO0NDWVg7QURkTztFQUVJLFlBQUE7RUFBQSxlQUFBO0VBQUEsWUFBQTtDQ1lYO0FDa0ZVO0VBQUE7SUY1RkssZ0JBQUE7R0NjYjtDQUNGO0FDNkVVO0VBQUE7SUYxRkssY0FBQTtHQ2lCYjtDQUNGO0FEakJXOztFQUVJLDBCQUFBO0VBQ0EsZ0JBQUE7Q0NtQmY7QURsQmU7O0VBQ0ksMERBQUE7Q0NxQm5CO0FEcEJXO0VBQ0ksK0NBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7RUFBQSxjQUFBO0VBQ0EsMkJBQUE7TUFBQSx1QkFBQTtFQUNBLG9CQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtNQUFBLG9CQUFBO0NDc0JmO0FEOUJXO0VBQ0ksWUFBQTtFQUFBLG1CQUFBO0VBQUEsWUFBQTtDQzZCZjtBRDlCVztFQUNJLGdCQUFBO0NDNkJmO0FEOUJXO0VBQ0ksZ0JBQUE7RUFBQSxhQUFBO0NDNkJmO0FEOUJXO0VBQ0ksWUFBQTtDQzZCZjtBRHJCZTtFQUNJLFlBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQ0EsNEJBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLG9CQUFBO0VBQ0EsK0JBQUE7RUFDQSw4REFBQTtDQ3VCbkI7QUN5Q1U7RUFBQTtJRjlEUywrQ0FBQTtJQUNBLHVCQUFBO0dDeUJqQjtFQ29DUTtJRjlEUyxZQUFBO0lBQUEsbUJBQUE7SUFBQSxZQUFBO0dDMEJqQjtFQ29DUTtJRjlEUyxnQkFBQTtHQzBCakI7RUNvQ1E7SUY5RFMsZ0JBQUE7SUFBQSxhQUFBO0dDMEJqQjtFQ29DUTtJRjlEUyxZQUFBO0dDMEJqQjtDQUNGO0FDbUNVO0VBQUE7SUYzRFMsK0NBQUE7R0M0QmpCO0VDK0JRO0lGM0RTLFlBQUE7SUFBQSxtQkFBQTtJQUFBLFlBQUE7R0M0QmpCO0VDK0JRO0lGM0RTLGdCQUFBO0dDNEJqQjtFQytCUTtJRjNEUyxnQkFBQTtJQUFBLGFBQUE7R0M0QmpCO0VDK0JRO0lGM0RTLFlBQUE7R0M0QmpCO0NBQ0Y7QUM4QlU7RUFBQTtJRnpEUywrQ0FBQTtJQUNBLG9CQUFBO0dDK0JqQjtFQ3lCUTtJRnpEUyxZQUFBO0lBQUEsbUJBQUE7SUFBQSxZQUFBO0dDZ0NqQjtFQ3lCUTtJRnpEUyxnQkFBQTtHQ2dDakI7RUN5QlE7SUZ6RFMsZ0JBQUE7SUFBQSxhQUFBO0dDZ0NqQjtFQ3lCUTtJRnpEUyxZQUFBO0dDZ0NqQjtFRDlCaUI7SUFDSSxhQUFBO0dDZ0NyQjtDQUNGO0FDcUJVO0VBQUE7SUZwRFMsK0NBQUE7R0NtQ2pCO0VDaUJRO0lGcERTLFlBQUE7SUFBQSxtQkFBQTtJQUFBLFlBQUE7R0NtQ2pCO0VDaUJRO0lGcERTLGdCQUFBO0dDbUNqQjtFQ2lCUTtJRnBEUyxnQkFBQTtJQUFBLGFBQUE7R0NtQ2pCO0VDaUJRO0lGcERTLFlBQUE7R0NtQ2pCO0NBQ0Y7QURuQ2U7RUFDSSxvQkFBQTtDQ3FDbkI7QUNhVTtFRmhEYTtJQUNJLFdBQUE7R0NzQ3pCO0NBQ0Y7QUR0Q2U7RUFDSSxxQkFBQTtFQUFBLGNBQUE7RUFDQSxvQkFBQTtNQUFBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsMEJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7Q0N3Q25CO0FDSlU7RUFBQTtJRmxDYSxvQkFBQTtHQzBDckI7Q0FDRjtBQ1RVO0VBQUE7SUZoQ2EsaUJBQUE7R0M2Q3JCO0NBQ0Y7QUNkVTtFQUFBO0lGOUJhLGlCQUFBO0dDZ0RyQjtDQUNGO0FDbkJVO0VBQUE7SUY1QmEsaUJBQUE7R0NtRHJCO0NBQ0Y7QURsRFc7RUFDSSxlQUFBO0NDb0RmO0FEbkRXO0VBQ0ksY0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtDQ3FEZiIsImZpbGUiOiJoaWdobGlnaHRzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi9nbG9iYWwvX19fdmFyaWFibGVzXCJcblxuLnNsaWNlLmhpZ2hsaWdodHNcbiAgICAuc3VidGl0bGUtd1xuICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgICAgICAudG9nZ2xlLW5hdlxuICAgICAgICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCAxMHB4XG4gICAgICAgICAgICBoZWlnaHQgMzRweFxuICAgICAgICAgICAgd2lkdGggMzRweFxuICAgICAgICAgICAgY3Vyc29yIHBvaW50ZXJcbiAgICAgICAgICAgIGJvcmRlciAxcHggc29saWQgI2UxZTFlMVxuICAgICAgICAgICAgZGlzcGxheSBub25lXG4gICAgICAgICAgICArYmVsb3coMTAyNHB4KVxuICAgICAgICAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgICAgIC5pY29uLW5hdlxuICAgICAgICAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICAgICAgICAgbGVmdCA2cHhcbiAgICAgICAgICAgICAgICB0b3AgMTVweFxuICAgICAgICAgICAgICAgIHNwYW4sXG4gICAgICAgICAgICAgICAgc3BhbjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgc3BhbjphZnRlclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3IgcG9pbnRlclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzIDFweFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgMnB4XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDIwcHhcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCAjNjM2MzYzICsgMTUlXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCAnJ1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIGFsbCAzMDBtcyBlYXNlLWluLW91dFxuICAgICAgICAgICAgICAgIHNwYW46YmVmb3JlXG4gICAgICAgICAgICAgICAgICAgIHRvcCAtN3B4XG4gICAgICAgICAgICAgICAgc3BhbjphZnRlclxuICAgICAgICAgICAgICAgICAgICBib3R0b20gLTdweFxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHNwYW5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciB0cmFuc3BhcmVudFxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wIDBcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSByb3RhdGUoNDVkZWcpXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSByb3RhdGUoLTQ1ZGVnKVxuICAgIC5zbGljZS1pXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTFlMWUxXG4gICAgICAgIC5oaWdobGlnaHRzLXNlbGVjdFxuICAgICAgICAgICAgcGFkZGluZyAwIDMwcHhcbiAgICAgICAgICAgIGxvc3QtdXRpbGl0eSBjbGVhcmZpeFxuICAgICAgICAgICAgK2JlbG93KDEyMDBweClcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDAgMTVweFxuICAgICAgICAgICAgK2JlbG93KDEwMjRweClcbiAgICAgICAgICAgICAgICBkaXNwbGF5IG5vbmVcbiAgICAgICAgICAgIC5oaWdobGlnaHQtc2VsZWN0OmhvdmVyXG4gICAgICAgICAgICAuaGlnaGxpZ2h0LXNlbGVjdC5hY3RpdmVcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ0OTVlXG4gICAgICAgICAgICAgICAgY3Vyc29yIHBvaW50ZXJcbiAgICAgICAgICAgICAgICAmOmFmdGVyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzM0NDk1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudFxuICAgICAgICAgICAgLmhpZ2hsaWdodC1zZWxlY3RcbiAgICAgICAgICAgICAgICBsb3N0LWNvbHVtbiAxLzYgNiAzMHB4XG4gICAgICAgICAgICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICAgICAgICAgICBjdXJzb3IgcG9pbnRlclxuICAgICAgICAgICAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uIGNvbHVtblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5ZGE0YWFcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDI1cHggNXB4IDE1cHhcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICAgICAgICAgICAgJjphZnRlclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJ1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJVxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDBcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWRcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4IDEycHggMCAxMnB4XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnRcbiAgICAgICAgICAgICAgICArYmVsb3coMTIwMHB4KVxuICAgICAgICAgICAgICAgICAgICBsb3N0LWNvbHVtbiAxLzYgNiAyMHB4XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgMTVweCA1cHggMTVweFxuICAgICAgICAgICAgICAgICtiZWxvdygxMDI0cHgpXG4gICAgICAgICAgICAgICAgICAgIGxvc3QtY29sdW1uIDEvNiA2IDEwcHhcbiAgICAgICAgICAgICAgICArYmVsb3coOTkycHgpXG4gICAgICAgICAgICAgICAgICAgIGxvc3QtY29sdW1uIDEvMyAzIDEwcHhcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSAxMHB4XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlciBub25lXG4gICAgICAgICAgICAgICAgK2JlbG93KDUyNHB4KVxuICAgICAgICAgICAgICAgICAgICBsb3N0LWNvbHVtbiAxLzIgMiAxMHB4XG4gICAgICAgICAgICAgICAgLnNlbGVjdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gMTBweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coOTkycHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA5MCVcbiAgICAgICAgICAgICAgICAuc2VsZWN0LXRpdGxlXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtcyBmbGV4LWVuZFxuICAgICAgICAgICAgICAgICAgICBjb2xvciB3aGl0ZVxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodCBib2xkXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemUgMTNweFxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodCAxM3B4XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQgNDBweFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4gMFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coMTIwMHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQgbm9ybWFsXG4gICAgICAgICAgICAgICAgICAgICtiZWxvdyg5OTJweClcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQgMjRweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coNTI0cHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0IDI4cHhcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDM3MHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodCA0MHB4XG4gICAgICAgIC5oaWdobGlnaHQtd1xuICAgICAgICAgICAgLmhpZ2hsaWdodC5hY3RpdmVcbiAgICAgICAgICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICAgICAuaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgZGlzcGxheSBub25lXG4gICAgICAgICAgICAgICAgd2lkdGggMTAwJVxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3AgMjBweFxuIiwiLnNsaWNlLmhpZ2hsaWdodHMgLnN1YnRpdGxlLXcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5zbGljZS5oaWdobGlnaHRzIC5zdWJ0aXRsZS13IC50b2dnbGUtbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGhlaWdodDogMzRweDtcbiAgd2lkdGg6IDM0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5zbGljZS5oaWdobGlnaHRzIC5zdWJ0aXRsZS13IC50b2dnbGUtbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnNsaWNlLmhpZ2hsaWdodHMgLnN1YnRpdGxlLXcgLnRvZ2dsZS1uYXYgLmljb24tbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA2cHg7XG4gIHRvcDogMTVweDtcbn1cbi5zbGljZS5oaWdobGlnaHRzIC5zdWJ0aXRsZS13IC50b2dnbGUtbmF2IC5pY29uLW5hdiBzcGFuLFxuLnNsaWNlLmhpZ2hsaWdodHMgLnN1YnRpdGxlLXcgLnRvZ2dsZS1uYXYgLmljb24tbmF2IHNwYW46YmVmb3JlLFxuLnNsaWNlLmhpZ2hsaWdodHMgLnN1YnRpdGxlLXcgLnRvZ2dsZS1uYXYgLmljb24tbmF2IHNwYW46YWZ0ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjN2E3YTdhO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuLnNsaWNlLmhpZ2hsaWdodHMgLnN1YnRpdGxlLXcgLnRvZ2dsZS1uYXYgLmljb24tbmF2IHNwYW46YmVmb3JlIHtcbiAgdG9wOiAtN3B4O1xufVxuLnNsaWNlLmhpZ2hsaWdodHMgLnN1YnRpdGxlLXcgLnRvZ2dsZS1uYXYgLmljb24tbmF2IHNwYW46YWZ0ZXIge1xuICBib3R0b206IC03cHg7XG59XG4uc2xpY2UuaGlnaGxpZ2h0cyAuc3VidGl0bGUtdyAudG9nZ2xlLW5hdiAuaWNvbi1uYXYuYWN0aXZlIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljZS5oaWdobGlnaHRzIC5zdWJ0aXRsZS13IC50b2dnbGUtbmF2IC5pY29uLW5hdi5hY3RpdmUgc3BhbjpiZWZvcmUsXG4uc2xpY2UuaGlnaGxpZ2h0cyAuc3VidGl0bGUtdyAudG9nZ2xlLW5hdiAuaWNvbi1uYXYuYWN0aXZlIHNwYW46YWZ0ZXIge1xuICB0b3A6IDA7XG59XG4uc2xpY2UuaGlnaGxpZ2h0cyAuc3VidGl0bGUtdyAudG9nZ2xlLW5hdiAuaWNvbi1uYXYuYWN0aXZlIHNwYW46YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLnNsaWNlLmhpZ2hsaWdodHMgLnN1YnRpdGxlLXcgLnRvZ2dsZS1uYXYgLmljb24tbmF2LmFjdGl2ZSBzcGFuOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMWUxZTE7XG59XG4uc2xpY2UuaGlnaGxpZ2h0cyAuc2xpY2UtaSAuaGlnaGxpZ2h0cy1zZWxlY3Qge1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIGxvc3QtdXRpbGl0eTogY2xlYXJmaXg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuc2xpY2UuaGlnaGxpZ2h0cyAuc2xpY2UtaSAuaGlnaGxpZ2h0cy1zZWxlY3Qge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNsaWNlLmhpZ2hsaWdodHMgLnNsaWNlLWkgLmhpZ2hsaWdodHMtc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uc2xpY2UuaGlnaGxpZ2h0cyAuc2xpY2UtaSAuaGlnaGxpZ2h0cy1zZWxlY3QgLmhpZ2hsaWdodC1zZWxlY3Q6aG92ZXIsXG4uc2xpY2UuaGlnaGxpZ2h0cyAuc2xpY2UtaSAuaGlnaGxpZ2h0cy1zZWxlY3QgLmhpZ2hsaWdodC1zZWxlY3QuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0NDk1ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNsaWNlLmhpZ2hsaWdodHMgLnNsaWNlLWkgLmhpZ2hsaWdodHMtc2VsZWN0IC5oaWdobGlnaHQtc2VsZWN0OmhvdmVyOmFmdGVyLFxuLnNsaWNlLmhpZ2hsaWdodHMgLnNsaWNlLWkgLmhpZ2hsaWdodHMtc2VsZWN0IC5oaWdobGlnaHQtc2VsZWN0LmFjdGl2ZTphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzM0NDk1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cbi5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHRzLXNlbGVjdCAuaGlnaGxpZ2h0LXNlbGVjdCB7XG4gIGxvc3QtY29sdW1uOiAxLzYgNiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogIzlkYTRhYTtcbiAgcGFkZGluZzogMjVweCA1cHggMTVweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHRzLXNlbGVjdCAuaGlnaGxpZ2h0LXNlbGVjdDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMTBweCAxMnB4IDAgMTJweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHRzLXNlbGVjdCAuaGlnaGxpZ2h0LXNlbGVjdCB7XG4gICAgbG9zdC1jb2x1bW46IDEvNiA2IDIwcHg7XG4gICAgcGFkZGluZzogMTVweCA1cHggMTVweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNsaWNlLmhpZ2hsaWdodHMgLnNsaWNlLWkgLmhpZ2hsaWdodHMtc2VsZWN0IC5oaWdobGlnaHQtc2VsZWN0IHtcbiAgICBsb3N0LWNvbHVtbjogMS82IDYgMTBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuc2xpY2UuaGlnaGxpZ2h0cyAuc2xpY2UtaSAuaGlnaGxpZ2h0cy1zZWxlY3QgLmhpZ2hsaWdodC1zZWxlY3Qge1xuICAgIGxvc3QtY29sdW1uOiAxLzMgMyAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLnNsaWNlLmhpZ2hsaWdodHMgLnNsaWNlLWkgLmhpZ2hsaWdodHMtc2VsZWN0IC5oaWdobGlnaHQtc2VsZWN0OmFmdGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTI0cHgpIHtcbiAgLnNsaWNlLmhpZ2hsaWdodHMgLnNsaWNlLWkgLmhpZ2hsaWdodHMtc2VsZWN0IC5oaWdobGlnaHQtc2VsZWN0IHtcbiAgICBsb3N0LWNvbHVtbjogMS8yIDIgMTBweDtcbiAgfVxufVxuLnNsaWNlLmhpZ2hsaWdodHMgLnNsaWNlLWkgLmhpZ2hsaWdodHMtc2VsZWN0IC5oaWdobGlnaHQtc2VsZWN0IC5zZWxlY3QtaWNvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHRzLXNlbGVjdCAuaGlnaGxpZ2h0LXNlbGVjdCAuc2VsZWN0LWljb24gaW1nIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG59XG4uc2xpY2UuaGlnaGxpZ2h0cyAuc2xpY2UtaSAuaGlnaGxpZ2h0cy1zZWxlY3QgLmhpZ2hsaWdodC1zZWxlY3QgLnNlbGVjdC10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHRzLXNlbGVjdCAuaGlnaGxpZ2h0LXNlbGVjdCAuc2VsZWN0LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHRzLXNlbGVjdCAuaGlnaGxpZ2h0LXNlbGVjdCAuc2VsZWN0LXRpdGxlIHtcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyNHB4KSB7XG4gIC5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHRzLXNlbGVjdCAuaGlnaGxpZ2h0LXNlbGVjdCAuc2VsZWN0LXRpdGxlIHtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3MHB4KSB7XG4gIC5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHRzLXNlbGVjdCAuaGlnaGxpZ2h0LXNlbGVjdCAuc2VsZWN0LXRpdGxlIHtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICB9XG59XG4uc2xpY2UuaGlnaGxpZ2h0cyAuc2xpY2UtaSAuaGlnaGxpZ2h0LXcgLmhpZ2hsaWdodC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljZS5oaWdobGlnaHRzIC5zbGljZS1pIC5oaWdobGlnaHQtdyAuaGlnaGxpZ2h0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4iLCJiYXNlLWZvbnQtc2l6ZSA/PSAxNnB4XG5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcyA/PSBmYWxzZVxuXG5ydXB0dXJlID0ge1xuICByYXN0ZXJpc2UtbWVkaWEtcXVlcmllczogcmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXNcbiAgbW9iaWxlLWN1dG9mZjogNDAwcHhcbiAgZGVza3RvcC1jdXRvZmY6IDEwNTBweFxuICBoZC1jdXRvZmY6IDE4MDBweFxuICBlbmFibGUtZW0tYnJlYWtwb2ludHM6IGZhbHNlXG4gIGJhc2UtZm9udC1zaXplOiBiYXNlLWZvbnQtc2l6ZVxuICBhbnRpLW92ZXJsYXA6IGZhbHNlXG4gIGRlbnNpdHktcXVlcmllczogJ2RwcHgnICd3ZWJraXQnICdtb3onICdkcGknXG4gIHJldGluYS1kZW5zaXR5OiAxLjVcbiAgdXNlLWRldmljZS13aWR0aDogZmFsc2Vcbn1cbnJ1cHR1cmUuc2NhbGUgPSAwIChydXB0dXJlLm1vYmlsZS1jdXRvZmYpIDYwMHB4IDgwMHB4IChydXB0dXJlLmRlc2t0b3AtY3V0b2ZmKSAocnVwdHVyZS5oZC1jdXRvZmYpXG5ydXB0dXJlLnNjYWxlLW5hbWVzID0gJ3hzJyAncycgJ20nICdsJyAneGwnICdoZCdcblxuLWlzLXN0cmluZyh2YWwpXG4gIGlmIHR5cGVvZih2YWwpIGlzIG5vdCAndW5pdCdcbiAgICBpZiB2YWwgaXMgYSAnc3RyaW5nJyBvciB2YWwgaXMgYSAnaWRlbnQnXG4gICAgICB0cnVlXG4gICAgZWxzZVxuICAgICAgZmFsc2VcbiAgZWxzZVxuICAgIGZhbHNlXG5cbi1nZXQtc2NhbGUtbnVtYmVyKHNjYWxlLW5hbWUpXG4gIGZvciBsaXN0LWl0ZW0sIGkgaW4gcnVwdHVyZS5zY2FsZS1uYW1lc1xuICAgIGlmIGxpc3QtaXRlbSBpcyBzY2FsZS1uYW1lXG4gICAgICByZXR1cm4gaSArIDFcbiAgcmV0dXJuIGZhbHNlXG5cbi1jb252ZXJ0LXRvKHRvLXVuaXQsIHZhbHVlLCBjb250ZXh0ID0gcnVwdHVyZS5iYXNlLWZvbnQtc2l6ZSlcbiAgZnJvbS11bml0ID0gdW5pdCh2YWx1ZSlcbiAgcmV0dXJuIHZhbHVlIGlmIHRvLXVuaXQgaXMgZnJvbS11bml0XG4gIGlmIHRvLXVuaXQgaW4gKCdlbScgJ3JlbScpXG4gICAgcmV0dXJuIHZhbHVlIGlmIGZyb20tdW5pdCBpbiAoJ2VtJyAncmVtJylcbiAgICByZXR1cm4gdW5pdCgodmFsdWUgLyBjb250ZXh0KSwgdG8tdW5pdClcbiAgaWYgdG8tdW5pdCBpcyAncHgnXG4gICAgcmV0dXJuIHVuaXQoKHZhbHVlICogY29udGV4dCksICdweCcpXG5cbi1vbi1zY2FsZShuKVxuICByZXR1cm4gdW5pdChuKSBpcyAnJ1xuXG4tbGFyZ2VyLXRoYW4tc2NhbGUobilcbiAgcmV0dXJuIChuID4gKGxlbmd0aChydXB0dXJlLnNjYWxlKSAtIDEpKSBhbmQgLW9uLXNjYWxlKG4pXG5cbi1pcy16ZXJvKG4pXG4gIHJldHVybiBuIGlzIDBcblxuLW92ZXJsYXAtc2hpZnQoYW50aS1vdmVybGFwLCBuKVxuICBzaGlmdC11bml0ID0gdW5pdChuKVxuICBhbnRpLW92ZXJsYXAgPSAwcHggdW5sZXNzIGFudGktb3ZlcmxhcFxuICBhbnRpLW92ZXJsYXAgPSAxcHggaWYgYW50aS1vdmVybGFwIGlzIHRydWVcbiAgaWYgbGVuZ3RoKGFudGktb3ZlcmxhcCkgaXMgMVxuICAgIHJldHVybiAtY29udmVydC10byhzaGlmdC11bml0LCBhbnRpLW92ZXJsYXApXG4gIGZvciB2YWwgaW4gYW50aS1vdmVybGFwXG4gICAgcmV0dXJuIHZhbCBpZiB1bml0KHZhbCkgaXMgc2hpZnQtdW5pdFxuXG4tYWRqdXN0LW92ZXJsYXAoYW50aS1vdmVybGFwLCBuLCBzaWRlID0gJ21pbicpXG4gIC1zaGlmdCA9IC1vdmVybGFwLXNoaWZ0KGFudGktb3ZlcmxhcCwgbilcbiAgaWYgKHNpZGUgaXMgJ21pbicgYW5kIC1zaGlmdCA+IDApIG9yIChzaWRlIGlzICdtYXgnIGFuZCAtc2hpZnQgPCAwKVxuICAgIG4gPSBuICsgLXNoaWZ0XG4gIHJldHVybiBuXG5cbi1pcy1wb3NpdGl2ZShuKVxuICByZXR1cm4gbiA+PSAwXG5cbi1kZW5zaXR5LXF1ZXJpZXMoZGVuc2l0eSlcbiAgaWYgdHlwZW9mKGRlbnNpdHkpIGlzIG5vdCAndW5pdCdcbiAgICBpZiBub3QgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgICAgZGVuc2l0eSA9ICclcycgJSBkZW5zaXR5XG4gIGRlbnNpdHkgPSBydXB0dXJlLnJldGluYS1kZW5zaXR5IGlmIGRlbnNpdHkgaXMgJ3JldGluYSdcbiAgcXVlcmllcyA9ICgpXG4gIGZvciBxdWVyeSBpbiBydXB0dXJlLmRlbnNpdHktcXVlcmllc1xuICAgIGlmIHF1ZXJ5IGlzICd3ZWJraXQnXG4gICAgICBwdXNoKHF1ZXJpZXMsICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAlcyknICUgKGRlbnNpdHkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ21veidcbiAgICAgIHB1c2gocXVlcmllcywgJyhtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICVzKScgJSAoZGVuc2l0eSkpXG4gICAgZWxzZSBpZiBxdWVyeSBpcyAnbydcbiAgICAgIHB1c2gocXVlcmllcywgJygtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAlcy8xKScgJSAoZGVuc2l0eSkpXG4gICAgZWxzZSBpZiBxdWVyeSBpcyAncmF0aW8nXG4gICAgICBwdXNoKHF1ZXJpZXMsICcobWluLWRldmljZS1waXhlbC1yYXRpbzogJXMpJyAlIChkZW5zaXR5KSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdkcGknXG4gICAgICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgICAgIGRlbnNpdHk9Y29udmVydChkZW5zaXR5KVxuICAgICAgcHVzaChxdWVyaWVzLCAnKG1pbi1yZXNvbHV0aW9uOiAlc2RwaSknICUgKHJvdW5kKGRlbnNpdHkgKiA5NiwgMSkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ2RwcHgnXG4gICAgICBwdXNoKHF1ZXJpZXMsICcobWluLXJlc29sdXRpb246ICVzZHBweCknICUgKGRlbnNpdHkpKVxuICByZXR1cm4gcXVlcmllc1xuXG5jcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGNsYXNzKVxuICAveycnICsgY2xhc3MgKyAnICcgKyBzZWxlY3RlZH1cbiAgICB7YmxvY2t9XG5cbi8vICtiZXR3ZWVuKG1pbiwgbWF4KVxuLy8gdXNhZ2UgKHNjYWxlIGNhbiBiZSBtaXhlZCB3aXRoIGN1c3RvbSB2YWx1ZXMpOlxuLy8gICAtICtiZXR3ZWVuKDEsIDMpIHNjYWxlOnNjYWxlXG4vLyAgIC0gK2JldHdlZW4oMCwgMykgMCB3aWR0aDpzY2FsZVxuLy8gICAtICtiZXR3ZWVuKDIwMHB4LCA1MDBweCkgY3VzdG9tOmN1c3RvbVxuLy8gICAtICtiZXR3ZWVuKDAsIDMwMHB4KSAwIHdpZHRoOmN1c3RvbVxuLy8gICAtICtiZXR3ZWVuKDEsIDMwMHB4KSBzY2FsZTpjdXN0b21cbi8vICAgLSArYmV0d2VlbigyMDBweCwgNCkgY3VzdG9tOnNjYWxlXG5cbmJldHdlZW4obWluLCBtYXgsIGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIHNlbGVjdGVkID0gc2VsZWN0b3IoKVxuXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgaWYgLWlzLXN0cmluZyhtaW4pXG4gICAgbWluID0gLWdldC1zY2FsZS1udW1iZXIobWluKVxuICBpZiAtaXMtc3RyaW5nKG1heClcbiAgICBtYXggPSAtZ2V0LXNjYWxlLW51bWJlcihtYXgpXG5cbiAgLW1pbiA9IHJ1cHR1cmUuc2NhbGVbbWluIC0gMV0gdW5sZXNzIC1pcy16ZXJvKG1pbikgb3IgKG5vdCAtb24tc2NhbGUobWluKSlcbiAgLW1heCA9IHJ1cHR1cmUuc2NhbGVbbWF4XSB1bmxlc3Mgbm90IC1vbi1zY2FsZShtYXgpXG4gIC1taW4gPz0gbWluXG4gIC1tYXggPz0gbWF4XG5cbiAgaWYgKHJ1cHR1cmUucmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXMpXG4gICAgaWYgbm90IChkZW5zaXR5IG9yIC1tYXggb3Igb3JpZW50YXRpb24pXG4gICAgICB7YmxvY2t9XG4gIGVsc2VcbiAgICBjb25kaXRpb24gPSAnb25seSBzY3JlZW4nXG4gICAgdXNlLWRldmljZS13aWR0aCA9IHVzZS1kZXZpY2Utd2lkdGggPyAnZGV2aWNlLScgOiAnJ1xuICAgIHVubGVzcyAtbWluIGlzIDBcbiAgICAgIC1taW4gPSAtY29udmVydC10bygnZW0nLCAtbWluKSBpZiBydXB0dXJlLmVuYWJsZS1lbS1icmVha3BvaW50c1xuICAgICAgLW1pbiA9IC1hZGp1c3Qtb3ZlcmxhcChhbnRpLW92ZXJsYXAsIC1taW4sIHNpZGU6ICdtaW4nKVxuICAgICAgY29uZGl0aW9uID0gY29uZGl0aW9uICsgJyBhbmQgKG1pbi0nICsgdXNlLWRldmljZS13aWR0aCArICd3aWR0aDogJXMpJyAlICgtbWluKVxuICAgIHVubGVzcyAtbGFyZ2VyLXRoYW4tc2NhbGUobWF4KVxuICAgICAgLW1heCA9IC1jb252ZXJ0LXRvKCdlbScsIC1tYXgpIGlmIHJ1cHR1cmUuZW5hYmxlLWVtLWJyZWFrcG9pbnRzXG4gICAgICAtbWF4ID0gLWFkanVzdC1vdmVybGFwKGFudGktb3ZlcmxhcCwgLW1heCwgc2lkZTogJ21heCcpXG4gICAgICBjb25kaXRpb24gPSBjb25kaXRpb24gKyAnIGFuZCAobWF4LScgKyB1c2UtZGV2aWNlLXdpZHRoICsgJ3dpZHRoOiAlcyknICUgKC1tYXgpXG4gICAgaWYgb3JpZW50YXRpb25cbiAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbiArICcgYW5kIChvcmllbnRhdGlvbjogJXMpJyAlIChvcmllbnRhdGlvbilcbiAgICBpZiBkZW5zaXR5XG4gICAgICBjb25kaXRpb25zID0gKClcbiAgICAgIGZvciBxdWVyeSBpbiAtZGVuc2l0eS1xdWVyaWVzKGRlbnNpdHkpXG4gICAgICAgIHB1c2goY29uZGl0aW9ucywgY29uZGl0aW9uICsgJyBhbmQgJXMnICUgKHF1ZXJ5KSlcbiAgICAgIGNvbmRpdGlvbiA9IGpvaW4oJywgJywgY29uZGl0aW9ucylcbiAgICBAbWVkaWEgY29uZGl0aW9uXG4gICAgICB7YmxvY2t9XG4gIGlmIGZhbGxiYWNrLWNsYXNzXG4gICAgK2NyZWF0ZS1mYWxsYmFjay1jbGFzcyhzZWxlY3RlZCwgZmFsbGJhY2stY2xhc3MpXG4gICAgICB7YmxvY2t9XG5cbmF0KHNjYWxlLXBvaW50LCBhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICtiZXR3ZWVuKHNjYWxlLXBvaW50LCBzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5mcm9tLXdpZHRoKHNjYWxlLXBvaW50LCBhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICtiZXR3ZWVuKHNjYWxlLXBvaW50LCBsZW5ndGgocnVwdHVyZS5zY2FsZSksIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxuYWJvdmUgPSBmcm9tLXdpZHRoXG5cbnRvLXdpZHRoKHNjYWxlLXBvaW50LCBhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICtiZXR3ZWVuKDEsIHNjYWxlLXBvaW50LCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmJlbG93ID0gdG8td2lkdGhcblxubW9iaWxlKGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2JlbG93KHJ1cHR1cmUubW9iaWxlLWN1dG9mZiwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG50YWJsZXQoYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbihydXB0dXJlLm1vYmlsZS1jdXRvZmYsIHJ1cHR1cmUuZGVza3RvcC1jdXRvZmYsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxuZGVza3RvcChhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICthYm92ZShydXB0dXJlLmRlc2t0b3AtY3V0b2ZmLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmhkKGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2Fib3ZlKHJ1cHR1cmUuaGQtY3V0b2ZmLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmRlbnNpdHkoZGVuc2l0eSwgb3JpZW50YXRpb24gPSBudWxsLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIHNlbGVjdGVkID0gc2VsZWN0b3IoKVxuICBpZiBub3QgKHJ1cHR1cmUucmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXMpXG4gICAgY29uZGl0aW9ucyA9ICgpXG4gICAgZm9yIHF1ZXJ5IGluIC1kZW5zaXR5LXF1ZXJpZXMoZGVuc2l0eSlcbiAgICAgIGNvbmRpdGlvbiA9ICdvbmx5IHNjcmVlbiBhbmQgJXMnICUgKHF1ZXJ5KVxuICAgICAgaWYgb3JpZW50YXRpb25cbiAgICAgICAgY29uZGl0aW9uID0gY29uZGl0aW9uICsgJyBhbmQgKG9yaWVudGF0aW9uOiAlcyknICUgKG9yaWVudGF0aW9uKVxuICAgICAgcHVzaChjb25kaXRpb25zLCBjb25kaXRpb24pXG4gICAgY29uZGl0aW9uID0gam9pbignLCAnLCBjb25kaXRpb25zKVxuICAgIEBtZWRpYSBjb25kaXRpb25cbiAgICAgIHtibG9ja31cbiAgICBpZiBmYWxsYmFjay1jbGFzc1xuICAgICAgK2NyZWF0ZS1mYWxsYmFjay1jbGFzcyhzZWxlY3RlZCwgZmFsbGJhY2stY2xhc3MpXG4gICAgICAgIHtibG9ja31cblxucGl4ZWwtcmF0aW8gPSBkZW5zaXR5XG5cbnJldGluYShvcmllbnRhdGlvbiA9IG51bGwsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgK2RlbnNpdHkoJ3JldGluYScsIG9yaWVudGF0aW9uLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmxhbmRzY2FwZShkZW5zaXR5ID0gbnVsbCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBzZWxlY3RlZCA9IHNlbGVjdG9yKClcbiAgaWYgbm90IChydXB0dXJlLnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzKVxuICAgIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICAgaWYgZGVuc2l0eVxuICAgICAgK3BpeGVsLXJhdGlvKGRlbnNpdHksIG9yaWVudGF0aW9uOiBsYW5kc2NhcGUsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICB7YmxvY2t9XG4gICAgZWxzZVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcbiAgICAgICAge2Jsb2NrfVxuICAgICAgaWYgZmFsbGJhY2stY2xhc3NcbiAgICAgICAgK2NyZWF0ZS1mYWxsYmFjay1jbGFzcyhzZWxlY3RlZCwgZmFsbGJhY2stY2xhc3MpXG4gICAgICAgICAge2Jsb2NrfVxuXG5wb3J0cmFpdChkZW5zaXR5ID0gbnVsbCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBzZWxlY3RlZCA9IHNlbGVjdG9yKClcbiAgaWYgbm90IChydXB0dXJlLnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzKVxuICAgIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICAgaWYgZGVuc2l0eVxuICAgICAgK3BpeGVsLXJhdGlvKGRlbnNpdHksIG9yaWVudGF0aW9uOiBwb3J0cmFpdCwgZmFsbGJhY2stY2xhc3MpXG4gICAgICAgIHtibG9ja31cbiAgICBlbHNlXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXG4gICAgICAgIHtibG9ja31cbiAgICAgIGlmIGZhbGxiYWNrLWNsYXNzXG4gICAgICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICAgIHtibG9ja31cbiJdfQ== */
