section.roadmap-block {
  margin-bottom: var(--spacer1);
  display: grid;
  grid-template-columns: 1fr;
}
section.roadmap-block img {
  height: -moz-fit-content;
  height: fit-content;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  border-radius: var(--border-radius, 6px);
}
@media (min-width: 768px) {
  section.roadmap-block img {
    grid-column: 4/-1;
  }
}
section.roadmap-block h2 span {
  display: block;
  color: #76bb28;
}
section.roadmap-block h2 + ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: var(--spacer0) auto;
}
section.roadmap-block h2 + ul > li {
  width: 100%;
  max-width: 360px;
  margin-top: 0;
  padding: 0;
}
section.roadmap-block h2 + ul > li h3 {
  padding-left: 32px;
  margin-bottom: calc(var(--gap) * 0.5);
}
section.roadmap-block h2 + ul > li:before {
  width: 20px;
  height: 20px;
  top: 12px;
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%2387b546' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
section.roadmap-block .roadmap {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
section.roadmap-block .roadmap h3 {
  grid-column: 1/-1;
  margin-bottom: calc(var(--gap) * 2);
}
section.roadmap-block .roadmap > div {
  padding: calc(var(--gap) * 2) calc(var(--gap) * 0.5) calc(var(--gap) * 2) var(--gap);
  border-bottom: 1px solid #a1a1a1;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
  font-size: 0.8em;
}
section.roadmap-block .roadmap > div:nth-last-of-type(1), section.roadmap-block .roadmap > div:nth-last-of-type(2) {
  border-bottom: none;
}
section.roadmap-block .roadmap > div:nth-of-type(2n) {
  border-left: 1px solid #a1a1a1;
}
section.roadmap-block .roadmap > div > svg {
  height: 32px;
  width: auto;
  fill: #76bb28;
}
@media (max-width: 450px) {
  section.roadmap-block .roadmap {
    grid-template-columns: 1fr;
  }
  section.roadmap-block .roadmap > div:nth-of-type(2n) {
    border-left: none;
  }
}
@media (min-width: 768px) and (max-width: 1079px) {
  section.roadmap-block {
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 0 calc(var(--gap) * 2);
  }
  section.roadmap-block > div:first-of-type {
    grid-column: 1/-1;
  }
  section.roadmap-block .roadmap {
    grid-column: 1/4;
    grid-template-columns: repeat(3, 33%);
  }
  section.roadmap-block .roadmap > div {
    border-left: 1px solid #a1a1a1;
  }
  section.roadmap-block .roadmap > div:nth-of-type(3n + 1) {
    border-left: none;
    padding-left: 0;
  }
  section.roadmap-block .roadmap > div:nth-of-type(3n) {
    border-right: none;
    padding-right: 0;
  }
  section.roadmap-block .roadmap > div:nth-of-type(1), section.roadmap-block .roadmap > div:nth-of-type(2), section.roadmap-block .roadmap > div:nth-of-type(3) {
    border-top: none;
  }
  section.roadmap-block .roadmap > div:nth-last-of-type(1), section.roadmap-block .roadmap > div:nth-last-of-type(2), section.roadmap-block .roadmap > div:nth-last-of-type(3) {
    border-bottom: none;
  }
}
@media (min-width: 1080px) {
  section.roadmap-block {
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 0 calc(var(--gap) * 2);
  }
  section.roadmap-block > div:first-of-type {
    grid-column: 1/-1;
  }
  section.roadmap-block .roadmap {
    grid-column: 1/4;
    grid-template-columns: repeat(4, 25%);
  }
  section.roadmap-block .roadmap > div {
    border-left: 1px solid #a1a1a1;
  }
  section.roadmap-block .roadmap > div:nth-of-type(4n + 1) {
    border-left: none;
    padding-left: 0;
  }
  section.roadmap-block .roadmap > div:nth-of-type(4n) {
    border-right: none;
    padding-right: 0;
  }
  section.roadmap-block .roadmap > div:nth-of-type(1), section.roadmap-block .roadmap > div:nth-of-type(2), section.roadmap-block .roadmap > div:nth-of-type(3), section.roadmap-block .roadmap > div:nth-of-type(4) {
    border-top: none;
  }
  section.roadmap-block .roadmap > div:nth-last-of-type(1), section.roadmap-block .roadmap > div:nth-last-of-type(2), section.roadmap-block .roadmap > div:nth-last-of-type(3), section.roadmap-block .roadmap > div:nth-last-of-type(4) {
    border-bottom: none;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcm9hZG1hcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY3JlYXRlL191bml0cy5zY3NzIiwiY29tcG9uZW50cy9yb2FkbWFwLmNzcyIsIl92YXJpYWJsZXMvdW5pdHMuc2NzcyIsIl92YXJpYWJsZXMvY29sb3Vycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0ksNkJDc0dPO0VEckdQLGFBQUE7RUFDQSwwQkFBQTtBRURKO0FGR0k7RUFDSSx3QkFBQTtFQUFBLG1CQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtFQUNBLFdBQUE7RUFDQSx3Q0dvQ1M7QURyQ2pCO0FGRVE7RUFMSjtJQU1RLGlCQUFBO0VFQ1Y7QUFDRjtBRkdRO0VBQ0ksY0FBQTtFQUNBLGNJWUY7QUZiVjtBRklRO0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLDhCQUFBO0VBQ0EsMkJBQUE7QUVGWjtBRkdZO0VBQ0ksV0FBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLFVBQUE7QUVEaEI7QUZFZ0I7RUFDSSxrQkFBQTtFQUNBLHFDQ2NaO0FDZFI7QUZHZ0I7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSwyVEFBQTtBRURwQjtBRk9JO0VBQ0ksYUFBQTtFQUNBLDhCQUFBO0FFTFI7QUZPUTtFQUNJLGlCQUFBO0VBQ0EsbUNDSEo7QUNGUjtBRlFRO0VBQ0ksb0ZBQUE7RUFDQSxnQ0FBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QUVOWjtBRlFZO0VBRUksbUJBQUE7QUVQaEI7QUZVWTtFQUNJLDhCQUFBO0FFUmhCO0FGV1k7RUFDSSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGFJaEROO0FGdUNWO0FGYUk7RUFDSTtJQUNJLDBCQUFBO0VFWFY7RUZhYztJQUNJLGlCQUFBO0VFWGxCO0FBQ0Y7QUZrQkk7RUEvRko7SUFnR1EscUNBQUE7SUFDQSxnQ0FBQTtFRWZOO0VGaUJVO0lBQ0ksaUJBQUE7RUVmZDtFRmtCTTtJQUNJLGdCQUFBO0lBQ0EscUNBQUE7RUVoQlY7RUZrQlU7SUFDSSw4QkFBQTtFRWhCZDtFRmlCYztJQUNJLGlCQUFBO0lBQ0EsZUFBQTtFRWZsQjtFRmlCYztJQUNJLGtCQUFBO0lBQ0EsZ0JBQUE7RUVmbEI7RUZrQmM7SUFHSSxnQkFBQTtFRWxCbEI7RUZxQmM7SUFHSSxtQkFBQTtFRXJCbEI7QUFDRjtBRjBCSTtFQXJJSjtJQXNJUSxxQ0FBQTtJQUNBLGdDQUFBO0VFdkJOO0VGeUJVO0lBQ0ksaUJBQUE7RUV2QmQ7RUYwQk07SUFDSSxnQkFBQTtJQUNBLHFDQUFBO0VFeEJWO0VGMEJVO0lBQ0ksOEJBQUE7RUV4QmQ7RUZ5QmM7SUFDSSxpQkFBQTtJQUNBLGVBQUE7RUV2QmxCO0VGeUJjO0lBQ0ksa0JBQUE7SUFDQSxnQkFBQTtFRXZCbEI7RUYwQmM7SUFJSSxnQkFBQTtFRTNCbEI7RUY4QmM7SUFJSSxtQkFBQTtFRS9CbEI7QUFDRiIsImZpbGUiOiJjb21wb25lbnRzL3JvYWRtYXAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbnNlY3Rpb24ucm9hZG1hcC1ibG9ja3tcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cbiAgICBpbWd7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KXtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiA0LyAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgye1xuICAgICAgICBzcGFue1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuMjtcbiAgICAgICAgfVxuXG4gICAgICAgICsgdWx7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlcjAgYXV0bztcbiAgICAgICAgICAgID4gbGl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgaDN7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzODdiNTQ2JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvYWRtYXB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgXG4gICAgICAgIGgze1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXZ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2FwMiAkZ2FwMCAkZ2FwMiAkZ2FwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhMWExYTE7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiAxMHB4OyBcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuXG4gICAgICAgICAgICAmOm50aC1sYXN0LW9mLXR5cGUoMSksXG4gICAgICAgICAgICAmOm50aC1sYXN0LW9mLXR5cGUoMil7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgybil7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYTFhMWExO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHN2Z3tcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgZmlsbDogJGdyZWVuMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgICAgICAgLnJvYWRtYXB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgID4gZGl2e1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMm4pe1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTA3OXB4KXtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgICAgZ3JpZC1nYXA6IDAgJGdhcDI7XG4gICAgICAgICYgPiBkaXZ7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucm9hZG1hcHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDMzJSk7XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhMWExYTE7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzbiArIDEpe1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuKXtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSksXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSxcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpe1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgxKSxcbiAgICAgICAgICAgICAgICAmOm50aC1sYXN0LW9mLXR5cGUoMiksXG4gICAgICAgICAgICAgICAgJjpudGgtbGFzdC1vZi10eXBlKDMpe1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDgwcHgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgICAgZ3JpZC1nYXA6IDAgJGdhcDI7XG4gICAgICAgICYgPiBkaXZ7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucm9hZG1hcHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDI1JSk7XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhMWExYTE7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0biArIDEpe1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDRuKXtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSksXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSxcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpLFxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNCl7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtbGFzdC1vZi10eXBlKDEpLFxuICAgICAgICAgICAgICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgyKSxcbiAgICAgICAgICAgICAgICAmOm50aC1sYXN0LW9mLXR5cGUoMyksXG4gICAgICAgICAgICAgICAgJjpudGgtbGFzdC1vZi10eXBlKDQpe1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZXYgdmFsdWVzIGRlZmluZWQgYmVsb3cuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuXG4vLyBUaGVzZSB0aHJlZSB2YWx1ZXMgd2lsbCBhY3QgYSBjb25zdGFudCBiYXNlbGluZSBmb3IgYWxsIGZvbGxvd2luZyB1bml0IGRlbGNhcmF0aW9ucy5cblxuLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbi8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuJGdhcCA6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1nYXAgOiAkZ2FwO1xuXG4vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiRzcGFjZXIgOiA0dmggIWRlZmF1bHQ7IFxuJGJhc2Utc3BhY2VyIDogJHNwYWNlcjsgXG5cbi8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbi8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiRndXR0ZXIgOiAzdncgIWRlZmF1bHQ7XG4kYmFzZS1ndXR0ZXIgOiAkZ3V0dGVyOyBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzYm9sdXRlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG5cbkBmdW5jdGlvbiBnYXAoJGFtb3VudCA6IDEpIHtcbiAgQGlmICggJGFtb3VudCA9PSAxICkgeyBcbiAgICBAcmV0dXJuIHZhcigtLWdhcCk7IFxuICB9IEBlbHNlIHsgXG4gICAgQHJldHVybiBjYWxjKHZhcigtLWdhcCkgKiAjeyRhbW91bnR9KTsgXG4gIH1cbn1cblxuJGdhcDAgOiBnYXAoMC41KTsgJGdhcDAtIDogZ2FwKC0wLjUpO1xuJGdhcCAgOiBnYXAoMSk7ICAgJGdhcC0gIDogZ2FwKC0xKTtcbiRnYXAyIDogZ2FwKDIpOyAgICRnYXAyLSA6IGdhcCgtMik7XG4kZ2FwMyA6IGdhcCgzKTsgICAkZ2FwMy0gOiBnYXAoLTMpO1xuJGdhcDQgOiBnYXAoNCk7ICAgJGdhcDQtIDogZ2FwKC00KTtcbiRnYXA1IDogZ2FwKDUpOyAgICRnYXA1LSA6IGdhcCgtNSk7XG4kZ2FwNiA6IGdhcCg2KTsgICAkZ2FwNi0gOiBnYXAoLTYpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVsYXRpdmUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gX2R5bmFtaWMtdW5pdCgkY3VzdG9tLXByb3BlcnR5LCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG5cbiAgLy8gQ2FsYyBNZXRob2RcbiAgJHJlc3VsdCA6IGNhbGMoKCN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9KSArICN7aWYoJG1pbiA9PSAwLCAwcHgsICRtaW4pfSk7XG4gIFxuICAvLyBDbGFtcCBNZXRob2RcbiAgQGlmICggJHVzZS1jbGFtcCApIHtcbiAgICBAaWYgKCAkYW1vdW50ID09IDAgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3ttYXRoLmRpdigkbWluLCAyKX0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAwLjUsICN7JG1heH0pO1xuICAgIH0gQGVsc2UgaWYgKCAkYW1vdW50ID09IDEgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0sICN7JG1heH0pO1xuICAgIH1cbiAgfSBcblxuICBAaWYgKCAkdXNlLW5lZ2F0aXZlICkge1xuICAgICRyZXN1bHQgOiBjYWxjKC0xICogI3skcmVzdWx0fSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG5cbn0gXG5cbi8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIHNwYWNlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1zcGFjZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJHNwYWNlcjAgOiB2YXIoLS1zcGFjZXIwKTsgJHNwYWNlcjAtIDogdmFyKC0tc3BhY2VyMC0pO1xuJHNwYWNlciAgOiB2YXIoLS1zcGFjZXIxKTsgJHNwYWNlci0gIDogdmFyKC0tc3BhY2VyMS0pO1xuJHNwYWNlcjIgOiB2YXIoLS1zcGFjZXIyKTsgJHNwYWNlcjItIDogdmFyKC0tc3BhY2VyMi0pO1xuJHNwYWNlcjMgOiB2YXIoLS1zcGFjZXIzKTsgJHNwYWNlcjMtIDogdmFyKC0tc3BhY2VyMy0pO1xuJHNwYWNlcjQgOiB2YXIoLS1zcGFjZXI0KTsgJHNwYWNlcjQtIDogdmFyKC0tc3BhY2VyNC0pO1xuJHNwYWNlcjUgOiB2YXIoLS1zcGFjZXI1KTsgJHNwYWNlcjUtIDogdmFyKC0tc3BhY2VyNS0pO1xuJHNwYWNlcjYgOiB2YXIoLS1zcGFjZXI2KTsgJHNwYWNlcjYtIDogdmFyKC0tc3BhY2VyNi0pO1xuXG4vLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbi8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gZ3V0dGVyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLWd1dHRlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kZ3V0dGVyMCA6IHZhcigtLWd1dHRlcjApOyAkZ3V0dGVyMC0gOiB2YXIoLS1ndXR0ZXIwLSk7XG4kZ3V0dGVyICA6IHZhcigtLWd1dHRlcjEpOyAkZ3V0dGVyLSAgOiB2YXIoLS1ndXR0ZXIxLSk7XG4kZ3V0dGVyMiA6IHZhcigtLWd1dHRlcjIpOyAkZ3V0dGVyMi0gOiB2YXIoLS1ndXR0ZXIyLSk7XG4kZ3V0dGVyMyA6IHZhcigtLWd1dHRlcjMpOyAkZ3V0dGVyMy0gOiB2YXIoLS1ndXR0ZXIzLSk7XG4kZ3V0dGVyNCA6IHZhcigtLWd1dHRlcjQpOyAkZ3V0dGVyNC0gOiB2YXIoLS1ndXR0ZXI0LSk7XG4kZ3V0dGVyNSA6IHZhcigtLWd1dHRlcjUpOyAkZ3V0dGVyNS0gOiB2YXIoLS1ndXR0ZXI1LSk7XG4kZ3V0dGVyNiA6IHZhcigtLWd1dHRlcjYpOyAkZ3V0dGVyNi0gOiB2YXIoLS1ndXR0ZXI2LSk7XG4iLCJzZWN0aW9uLnJvYWRtYXAtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZXIxKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG59XG5zZWN0aW9uLnJvYWRtYXAtYmxvY2sgaW1nIHtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIHNlY3Rpb24ucm9hZG1hcC1ibG9jayBpbWcge1xuICAgIGdyaWQtY29sdW1uOiA0Ly0xO1xuICB9XG59XG5zZWN0aW9uLnJvYWRtYXAtYmxvY2sgaDIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzc2YmIyODtcbn1cbnNlY3Rpb24ucm9hZG1hcC1ibG9jayBoMiArIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogdmFyKC0tc3BhY2VyMCkgYXV0bztcbn1cbnNlY3Rpb24ucm9hZG1hcC1ibG9jayBoMiArIHVsID4gbGkge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzNjBweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDtcbn1cbnNlY3Rpb24ucm9hZG1hcC1ibG9jayBoMiArIHVsID4gbGkgaDMge1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5zZWN0aW9uLnJvYWRtYXAtYmxvY2sgaDIgKyB1bCA+IGxpOmJlZm9yZSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRvcDogMTJweDtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzODdiNTQ2JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG5zZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG59XG5zZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgaDMge1xuICBncmlkLWNvbHVtbjogMS8tMTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5zZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgPiBkaXYge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAyKSBjYWxjKHZhcigtLWdhcCkgKiAwLjUpIGNhbGModmFyKC0tZ2FwKSAqIDIpIHZhcigtLWdhcCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYTFhMWExO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZ2FwOiAxMHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1sYXN0LW9mLXR5cGUoMSksIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCA+IGRpdjpudGgtbGFzdC1vZi10eXBlKDIpIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbnNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCA+IGRpdjpudGgtb2YtdHlwZSgybikge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhMWExYTE7XG59XG5zZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgPiBkaXYgPiBzdmcge1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiBhdXRvO1xuICBmaWxsOiAjNzZiYjI4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbiAgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1vZi10eXBlKDJuKSB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwNzlweCkge1xuICBzZWN0aW9uLnJvYWRtYXAtYmxvY2sge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gICAgZ3JpZC1nYXA6IDAgY2FsYyh2YXIoLS1nYXApICogMik7XG4gIH1cbiAgc2VjdGlvbi5yb2FkbWFwLWJsb2NrID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICB9XG4gIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvNDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAzMyUpO1xuICB9XG4gIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCA+IGRpdiB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYTFhMWExO1xuICB9XG4gIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCA+IGRpdjpudGgtb2YtdHlwZSgzbiArIDEpIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1vZi10eXBlKDNuKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1vZi10eXBlKDEpLCBzZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgPiBkaXY6bnRoLW9mLXR5cGUoMiksIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCA+IGRpdjpudGgtb2YtdHlwZSgzKSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuICBzZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgPiBkaXY6bnRoLWxhc3Qtb2YtdHlwZSgxKSwgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1sYXN0LW9mLXR5cGUoMiksIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCA+IGRpdjpudGgtbGFzdC1vZi10eXBlKDMpIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gIHNlY3Rpb24ucm9hZG1hcC1ibG9jayB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICBncmlkLWdhcDogMCBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgfVxuICBzZWN0aW9uLnJvYWRtYXAtYmxvY2sgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbiAgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwIHtcbiAgICBncmlkLWNvbHVtbjogMS80O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDI1JSk7XG4gIH1cbiAgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2IHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhMWExYTE7XG4gIH1cbiAgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1vZi10eXBlKDRuICsgMSkge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICBzZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgPiBkaXY6bnRoLW9mLXR5cGUoNG4pIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICBzZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgPiBkaXY6bnRoLW9mLXR5cGUoMSksIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCA+IGRpdjpudGgtb2YtdHlwZSgyKSwgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1vZi10eXBlKDMpLCBzZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgPiBkaXY6bnRoLW9mLXR5cGUoNCkge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbiAgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1sYXN0LW9mLXR5cGUoMSksIHNlY3Rpb24ucm9hZG1hcC1ibG9jayAucm9hZG1hcCA+IGRpdjpudGgtbGFzdC1vZi10eXBlKDIpLCBzZWN0aW9uLnJvYWRtYXAtYmxvY2sgLnJvYWRtYXAgPiBkaXY6bnRoLWxhc3Qtb2YtdHlwZSgzKSwgc2VjdGlvbi5yb2FkbWFwLWJsb2NrIC5yb2FkbWFwID4gZGl2Om50aC1sYXN0LW9mLXR5cGUoNCkge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBAc2VlIGh0dHBzOi8vY29kZXBlbi5pby9tYXJrbm90dG9uL3Blbi9FeFBiTkdlXG4vLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWFya25vdHRvbi9kb2dnaXN0eWxlL2Jsb2IvbWFzdGVyL2xpYnJhcnkvc3JjL2NyZWF0ZS9fdW5pdHMuc2Nzc1xuXG4vLy8gVGhpcyB1bml0cyBjcmVhdG9yIHdpbGwgcmVuZGVyIHNpeCBwb3NpdGl2ZSBhbmQgc2l4IG5lZ2F0aXZlIHNhc3MgdmFyaWFibGVzIGZvciBcbi8vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZSB2YWx1ZXMgZGVmaW5lZCBiZWxvdy4gXG5cbkBmb3J3YXJkICdjcmVhdGUvdW5pdHMnIHdpdGggKFxuXG4gIC8vLyBHYXBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLy8gR2FwcyBhcmUgYW4gYWJzb2x1dGUgdW5pdCAocHgpIGludGVuZGVkIHRvIGJlIHVzZWQgb24gaW5kaXZpZHVhbCBlbGVtZW50cyB3aXRoaW4gYSBjb21wb25lbnRlZC4gXG4gIC8vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHNwYWNpbmcgYW1vbmdzdCBibG9jaywgaW5saW5lLCB0YWJsZSBhbmQgZ3JvdXAgaHRtbCBlbGVtZW50cy5cbiAgLy8vIEdhcHMgbXVzdCB1c2UgYW4gYWJzb2x1dGUgYW5kIHN0YXRpYyAncHgnIHVuaXQuIEl0IHNob3VsZCBub3QgYmUgcmVsYXRpdmUgdG8gYW55XG4gIC8vLyBwYXJlbnQgY29udGFpbmVyIGFuZCBpcyBub3QgaW50ZW5kZWQgZm9yIGZvbnQgc2l6ZXMsIHNvIHlvdSBzaG91bGQgbm90IHVzZSAncmVtJyBvciAnZW0nLiBcbiAgLy8vIEByZXN1bHQgOiAkZ2FwMCwgJGdhcCwgJGdhcDIsICRnYXAzLCAkZ2FwNCwgJGdhcDUgLCAkZ2FwNiwgJGdhcDAtLCAkZ2FwLSwgJGdhcDItLCAkZ2FwMy0sICRnYXA0LSwgJGdhcDUtIGFuZCAkZ2FwNi1cbiAgXG4gICRnYXAgOiAxNnB4LFxuXG4gIC8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNwYWNlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgaGVpZ2h0ICh2aCkgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgY29tcG9uZW50ZWQgbGV2ZWwuXG4gIC8vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuICAvLy8gU3BhY2VycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkc3BhY2VyICogeCkgKyAkZ2FwYC4gXG4gIC8vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdmggc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuICAvLy8gU3BhY2VycyBtdXN0IHVzZSBhICd2aCcgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgaGVpZ2h0LXdpc2UuXG4gIC8vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb24gYSBjb21wb25lbnQgbGV2ZWwuXG4gIC8vLyBAcmVzdWx0IDogJHNwYWNlcjAsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXI0LCAkc3BhY2VyNSwgJHNwYWNlcjYsICRzcGFjZXIwLSwgJHNwYWNlci0sICRzcGFjZXItLCAkc3BhY2VyLSwgJHNwYWNlcjQtLCAkc3BhY2VyNS0gYW5kICRzcGFjZXI2LVxuICBcbiAgJHNwYWNlciA6IDR2aCwgXG5cbiAgLy8gR3V0dGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbiAgLy8gZm9yIGV4YW1wbGUsIGEgd3JhcHBlciBjb250YWluZXIgb3IgYm9keSB3aXRoIG5lc3RlZCBjb21wb25lbnRzLiBcbiAgLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBsZWZ0IGFuZCByaWdodCBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbiAgLy8vIEd1dHRlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJGd1dHRlciAqIHgpICsgJGdhcGAuIFxuICAvLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZ3IHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcbiAgLy8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuICAvLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbiAgLy8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiAgLy8vIEByZXN1bHQgOiAkZ3V0dGVyMCwgJGd1dHRlciwgJGd1dHRlcjIsICRndXR0ZXIzLCAkZ3V0dGVyNCwgJGd1dHRlcjUsICRndXR0ZXI2LCAkZ3V0dGVyMC0sICRndXR0ZXItLCAkZ3V0dGVyMi0sICRndXR0ZXIzLSwgJGd1dHRlcjQtLCAkZ3V0dGVyNS0gYW5kICRndXR0ZXI2LVxuICBcbiAgJGd1dHRlciA6IDN2dywgXG5cbik7XG5cbiRib3JkZXItcmFkaXVzIDogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiRzaWRlYmFyLXdpZHRoIDogNTAwcHg7IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG91cnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBFeHBsaWNpdCBDb2xvdXJzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gRXhwbGljaXQgY29sb3VycyBhcmUgYSB3aGF0IHRoZXkgYXJlLiBHcmVlbiBpcyBncmVlbiwgYmx1ZSBpcyBibHVlLi4uIG5vIG9ic2N1cml0eS5cbi8vLyBXZSBzdWZmaXggbnVtYmVycyB0byBkZWZpbmUgdmFyaWF0aW9ucyBvZiBjb2xvdXJzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgb2Ygc2hhZGUuIFxuLy8vIEV4YW1wbGU6IGdyZWVuMSwgZ3JlZW4yLCBncmVlbjMsIGdyZWVuNC4gVGhpcyBpcyBzbyB3ZSBjYW4gaW1taWRpYXRlbHkgc2VlIGhvdyBcbi8vLyBtYW55IG9wdGlvbnMgd2UgaGF2ZSBmb3IgYSBzaW5nbGUgY29sb3VyIGF0IGEgZ2xhbmNlLiBJZiB5b3Ugc2VlICRncmVlbjQsIHlvdSBrbm93IHRoaXNcbi8vLyBwcm9qZWN0IGlzIHVzaW5nIGZvdXIgdmFyaWF0aW9ucyBvZiBncmVlbi4gVGhpcyBpcyBhbHNvIG9mdGVuIHVzZWZ1bCBiZWNhdXNlIG1hbnkgZGV2ZWxvcG1lbnQgXG4vLy8gdG9vbHMgd2lsbCBhdXRvLXN1Z2dlc3QgY29sb3VycyB3aXRoIGFjdHVhbCBleGFtcGxlcyBvZiB0aGUgY29sb3VyLiBcbi8vLyBUaGUgUGFsbGV0ZXMgbW9kdWxlIChhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZSkgd2lsbCBvdXRwdXQgc2hhZGVkIG5hbWVkIHZhcmlhdGlvbnMsIFxuLy8vLyA8Y29sb3VyPi1kYXJrIGFuZCA8Y29sb3VyPi1saWdodC4gSWYgeW91IG5lZWQgYWRkaXRpb25hbCBzaGFkZXMgcGxlYXNlIHJlZnJhaW0gZnJvbSBnb2luZyBkb3duIFxuLy8vIHRoZSAnbGlnaHRlcicsICdsaWdodGVzdCcsICdkYXJrZXInLCAnZGFya2VzdCcgY29udmVudGlvbi4gVGhlc2UgYXJlIG5vdCBwYXJ0aWN1YXJseSBsZWdpYWJsZSBcbi8vLyBhbmQgdGhleSBhcmUgbGltaXRlZCBieSBob3cgY3JlYXRpdmUgKGNvbmZ1c2luZykgeW91ciB3b3JkaW5nIGNhbiBiZS4gXG4vLy8gSXQgaXMgYmV0dGVyIHRvIGRlZmluZSBhIG5ldyBleHBsY2l0IGNvbG91ciBlbnRpcmVseS4gXG4vLy8gQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL3doYXQtZG8teW91LW5hbWUtY29sb3ItdmFyaWFibGVzL1xuXG4kYmx1ZSAgIDogIzEzMWY2YjsgLy8gUHJpbWFyeVxuJGJsdWUyICA6ICMyOTJCNjg7IC8vIE5ha2VkIExpbmtcbiRibHVlMyAgOiAjM2QzZjdmOyAvLyBMaWdudCBHcmFkaWVudFxuJGJsdWU0ICA6ICMxMDEyNGQ7IC8vIERhcmsgR3JhZGllbnRcbiRibHVlNSAgOiAjMDA5NUZGOyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXIgIFxuLy8gJHJlZCAgICA6ICNFMDNBNDA7IC8vIFNlY29uZGFyeVxuJHJlZCAgICA6ICNERjMwMzU7IC8vIFNlY29uZGFyeSAtIFRoaXMgcGFzc2VzIHRoZSBjb250cmFzdCByYXRpbyBhY2Nlc3NpYmlsaXR5IHRlc3QgaW4gR29vZ2xlcyBMaWdodGhvdXNlIFxuJGdyZXkgICA6ICM5Njk2OTU7XG4kZ3JleTIgIDogIzZBNkE2QTsgLy8gRm9udFxuJGdyZXkzICA6ICNGNEY0RjQ7IC8vIExpZ2h0ZXIgR3JleSBCYWNrZ3JvdW5kXG4kZ3JleTQgIDogI2RjZGNkYzsgXG4kZ3JleTUgIDogI0IxQjFCMTsgLy8gU3BhY2VycyA8aHI+XG4kZ3JleTYgIDogIzMzMzIzNjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyICBcbiRncmVlbiAgOiAjNTBCQzA4O1xuJGdyZWVuMiA6ICM3NmJiMjg7IC8vIEVTRyBncmVlblxuJHllbGxvdyA6ICNGNkY0REI7IC8vIERpc2NsYWltZXIgQmFja2dyb3VuZFxuJHllbGxvdzIgOiAjRkNCMDAyOyBcbiRibGFjayAgOiAjMUUxQTFBO1xuXG4kbWFyayA6ICRibHVlNTsgLy8gYmFja2dyb3VuZCBjb2xvdXIgZm9yIDxtYXJrPiB0YWdzXG5cbiRwcmltYXJ5ICAgOiB2YXIoLS1wcmltYXJ5LCAgI3skYmx1ZX0pO1xuJHNlY29uZGFyeSA6IHZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG5cbi8vLyBQYWxldHRlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gQnkgbG9hZGluZyBjb25maWd1cmF0aW9ucyBpbnRvIHRoaXMgJ3BhbGxldGUnIG1vZHVsZSwgd2Ugd2lsbCBiZSBhYmxlXG4vLy8gdG8gZGVjbGFyZSB2YXJpYW50cyBvZiBhIGZldyBjb21tb24gY29sb3Vycy4gWW91IGNhbiBhbHNvIGFkanVzdCB0aGUgbGlnaHRuZXNzXG4vLy8gb3IgZGFya25lc3Mgb2YgZWFjaCB2YXJpYW50IGJ5IHBhc3NpbmcgaW4gdGhlIHJlbGV2YW50IHByaXZhdGUgcnVsZXMuIFxuLy8vIFBhbGV0dGUgd2lsbCBhbHNvIGV4cG9zZSBwb3B1bGFyIHNvY2lhbCBtZWRpYSBjb2xvdXJzIGFuZCB0aGUgWWVsbG8gYnJhbmQgY29sb3VyLlxuLy8vIEBzZWUgaHR0cHM6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vYXQtcnVsZXMvZm9yd2FyZCNjb25maWd1cmluZy1tb2R1bGVzXG4vLy8gQG91dHB1dCAkZ3JlZW4gOiAjMDI5MjlBOyAkZ3JlZW4tZGFyayA6ICMyNTY1Njk7ICRncmVlbi1saWdodDogIzA0YjljNDtcblxuQGZvcndhcmQgJ2NyZWF0ZS9wYWxldHRlJyB3aXRoIChcbiAgJGJsdWUgICA6ICRibHVlLFxuICAkcmVkICAgIDogJHJlZCxcbiAgJGdyZXkgICA6ICRncmV5LFxuICAkeWVsbG93IDogJHllbGxvdyxcbiAgJGdyZWVuICA6ICRncmVlbixcbiAgJGJsYWNrICA6ICRibGFja1xuKTtcbiJdfQ== */