/****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
#jquery-live-search {
  width: 100vw !important;
  margin-top: -0.375rem;
}

.block-call-to-action {
  position: relative;
  padding: clamp(4rem, -0.785046729rem + 9.968847352vw, 8rem) 0;
  text-align: center;
}
.block-call-to-action h1, .block-call-to-action .h1, .block-call-to-action h2, .block-call-to-action .h2, .block-call-to-action h3, .block-call-to-action .h3, .block-call-to-action h4, .block-call-to-action .h4, .block-call-to-action h5, .block-call-to-action .h5, .block-call-to-action h6, .block-call-to-action .h6 {
  color: #000;
}
.block-call-to-action__video-bg {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  top: 0;
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
.block-call-to-action__video-bg::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #000; /* stylelint-disable-line color-named */
  opacity: 0.5;
  position: absolute;
  left: 0;
  top: 0;
}
.block-call-to-action__video-bg img,
.block-call-to-action__video-bg .wp-video,
.block-call-to-action__video-bg .wp-video-shortcode {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  pointer-events: none;
}
.block-call-to-action__video-bg .mejs-controls {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}
.block-call-to-action__description {
  color: #000;
}
.block-call-to-action.page-block--dark h1, .block-call-to-action.page-block--dark .h1, .block-call-to-action.page-block--dark h2, .block-call-to-action.page-block--dark .h2, .block-call-to-action.page-block--dark h3, .block-call-to-action.page-block--dark .h3, .block-call-to-action.page-block--dark h4, .block-call-to-action.page-block--dark .h4, .block-call-to-action.page-block--dark h5, .block-call-to-action.page-block--dark .h5, .block-call-to-action.page-block--dark h6, .block-call-to-action.page-block--dark .h6 {
  color: #fff;
}
.block-call-to-action.page-block--dark .block-call-to-action__description {
  color: #fff;
}
.block-call-to-action__title {
  margin-bottom: 0.5rem;
}
.block-call-to-action__subtitle {
  font-size: 1.125rem;
  line-height: 1.75rem;
  margin-top: clamp(0.5rem, 0.2009345794rem + 0.6230529595vw, 0.75rem);
  margin-bottom: clamp(0.5rem, 0.2009345794rem + 0.6230529595vw, 0.75rem);
  font-family: "Untitled Sans", sans-serif;
}
.block-call-to-action .c-btn-wrapper,
.block-call-to-action .c-btn-group {
  margin-bottom: 0;
}
.block-call-to-action .c-btn-group {
  margin-top: 2.25rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 48rem) {
  .block-call-to-action .c-btn-group {
    flex-direction: row;
    justify-content: center;
  }
}
.block-call-to-action .c-btn-wrapper + .c-btn-wrapper {
  margin: 1.25rem 0 0;
}
@media (min-width: 48rem) {
  .block-call-to-action .c-btn-wrapper + .c-btn-wrapper {
    margin: 0 0 0 1.25rem;
  }
}
.block-call-to-action .c-btn {
  display: block;
  padding: clamp(0.4375rem, 0.1384345794rem + 0.6230529595vw, 0.6875rem) clamp(0.9375rem, 0.6384345794rem + 0.6230529595vw, 1.1875rem);
}
.block-call-to-action .acf-block__bg-image::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #000; /* stylelint-disable-line color-named */
  opacity: 50%;
}
.block-call-to-action--mini {
  padding-top: 4rem;
  padding-bottom: 4rem;
  text-align: left;
}
.block-call-to-action--mini .overline,
.block-call-to-action--mini .block-call-to-action__title,
.block-call-to-action--mini .block-call-to-action__description {
  max-width: 46.25rem;
}
@media (min-width: 36rem) and (max-width: 61.98rem) {
  .block-call-to-action--mini .block-call-to-action__title {
    margin: auto;
    text-align: center;
  }
}
@media (min-width: 62rem) {
  .block-call-to-action--mini .row div:nth-child(2) {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
.block-call-to-action--mini .c-btn-group {
  text-align: center;
}
@media (min-width: 48rem) {
  .block-call-to-action--mini .c-btn-group {
    flex-direction: row;
    justify-content: center;
  }
}
@media (min-width: 62rem) {
  .block-call-to-action--mini .c-btn-group {
    margin-top: 0;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9zcmMvX19zdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZWxlbWVudHMuc2NzcyIsImFjZi1ibG9ja3MvY3RhL3NyYy9zdHlsZS5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fbWl4aW5zLnNjc3MiLCJjc3Mvc3JjL19fc3R5bGVzL19mb250LXN0eWxlcy5zY3NzIiwiY3NzL3NyYy92ZW5kb3IvYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFnREE7QUFBQTtBQUFBO0FBOEJBO0FBQUE7QUFBQTtBQ29YQTtFQUNDO0VBQ0E7OztBQ3hjRDtFQUVDO0VBQ0E7RUFDQTs7QUN5QkE7RUR0QkM7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtBQUFBO0VBR0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBSUY7RUFDQzs7QUNyQkQ7RUQwQkU7O0FBR0Q7RUFDQzs7QUFJRjtFQUNDOztBQUdEO0VFcUJBO0VBQ0E7RUZwQkM7RUFDQTtFQUNBLGFGdEVVOztBRXlFWDtBQUFBO0VBRUM7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FHeEJFO0VIcUJIO0lBTUU7SUFDQTs7O0FBSUY7RUFDQzs7QUdqQ0U7RUhnQ0g7SUFJRTs7O0FBSUY7RUFDQztFQUNBOztBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUdDOztBR3ZDQztFSDBDRjtJQUVFO0lBQ0E7OztBR3pFQTtFSDhFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBSUY7RUFDQzs7QUd2RkM7RUhzRkY7SUFJRTtJQUNBOzs7QUczRkE7RUhzRkY7SUFTRSIsImZpbGUiOiJhY2YtYmxvY2tzL2N0YS9kaXN0L3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqXG4gKiBGb250c1xuICoqKioqKioqKioqKioqKiovXG4kZm9udC1iYXNlOiBcIlVudGl0bGVkIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRsaW5lczogXCJQdWJsaWNvIEJhbm5lclwiLCBzZXJpZjtcblxuLyoqKioqKioqKioqKioqKipcbiAqIFBhaW50c1xuICoqKioqKioqKioqKioqKiovXG4kcGFpbnRzOiAoXG5cdG1pc3Q6ICNjMWM0Y2MsXG5cdHNreTogI2FhYjNjYixcblx0cmFpbjogIzlkYjRjMCxcblx0bWlkbmlnaHQ6ICMzNTNjNTIsXG5cdHNhZ2U6ICNhYWIxOTksXG5cdHNwcmluZzogI2MwZDJhYixcblx0c3BydWNlOiAjNWY3YTdiLFxuXHRncm92ZTogIzJjNDc0OCxcblx0c2FuZDogI2I3YjNhNCxcblx0c2FmZnJvbjogI2YwY2Q3Zixcblx0Y2xlbWVudGluZTogI2UzYWY3ZCxcblx0Y2xheTogIzkwNmQ1ZCxcblx0Y2xvdWQ6ICNmNmY1ZWYsXG5cdHdoaXRlOiAjZmZmLFxuXHRibGFjazogIzAwMCxcblx0dGV4dC1kYXJrLXByaW1hcnk6ICMwMDAsXG5cdHRleHQtZGFyay1zZWNvbmRhcnk6ICM1ZTVmNjEsXG5cdHRleHQtZGFyay10ZXJ0aWFyeTogI2EwYTFhMyxcblx0dGV4dC1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHR0ZXh0LWxpZ2h0LXNlY29uZGFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLFxuXHR0ZXh0LWxpZ2h0LXRlcnRpYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksXG5cdGJvcmRlci1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHRib3JkZXItbGlnaHQtdGVydGlhcnk6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSxcblx0Ym9yZGVyLWRhcmstcHJpbWFyeTogIzAwMCxcblx0Ym9yZGVyLW5hdjogcmdiYSgwLCAwLCAwLCAwLjEpLFxuXHRpbnRlcmFjdGlvbjogI2YwY2Q3Zixcblx0aW50ZXJhY3Rpb24taG92ZXI6ICNmNWNmN2EsXG5cdGVycm9yOiAjOWUzNjJjLFxuXHR3YXJuaW5nOiAjZTU5NTQ1LFxuXHRzdWNjZXNzOiAjNDU3YTRhLFxuXHRpbmZvcm1hdGlvbjogIzMyNmJhOCxcblx0YXV0b2ZpbGw6ICNmMmY4ZmMsXG5cdGdyZXktNTA6ICNmNWY2ZjcsXG5cdGdyZXktMTAwOiAjZTJlNGU4LFxuXHRncmV5LTIwMDogI2M5Y2NkNCxcblx0Z3JleS0zMDA6ICNhZGIxYmMsXG5cdGdyZXktNDAwOiAjOTY5YmE5LFxuXHRncmV5LTUwMDogIzdmODU5NSxcblx0Z3JleS02MDA6ICM1NjViNjksXG5cdGdyZXktNzAwOiAjMzAzMzNhLFxuXHRncmV5LTgwMDogIzFkMWUyMyxcblx0Z3JleS05MDA6ICMwYTBhMGMsXG4pO1xuXG4vKioqKioqKioqKioqKioqKlxuICogRWZmZWN0c1xuICoqKioqKioqKioqKioqKiovXG4kZWZmZWN0czogKFxuKTtcblxuQG1peGluIGVsZXZhdGlvbiB7XG5cdGJveC1zaGFkb3c6IDAgcmVtKDEpIHJlbSgyKSByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSgxKSByZW0oMykgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIHJlbSgxKSByZW0oMikgcmdiYSgwLCAwLCAwLCAwLjA2KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSg0KSByZW0oOCkgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMSksIDAgcmVtKDIpIHJlbSg0KSByZW0oLTIpIHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMTIpIHJlbSgxNikgcmVtKC00KSByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIHJlbSg0KSByZW0oNikgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDIwKSByZW0oMjQpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCByZW0oOCkgcmVtKDgpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMjQpIHJlbSg0OCkgcmVtKC0xMikgcmdiYSgwLCAwLCAwLCAwLjE4KTtcblx0fVxufVxuXG4vKioqKioqKioqKioqKioqKlxuICogR3JpZCBTZXR0aW5nc1xuICoqKioqKioqKioqKioqKiovXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG5cdHhzOiAwLFxuXHRzbTogcmVtKDU3NiksXG5cdG1kOiByZW0oNzY4KSxcblx0bGc6IHJlbSg5OTIpLFxuXHRsZ2FsdDogcmVtKDEwMjApLFxuXHR4bDogcmVtKDEyMDApLFxuXHR4eGw6IHJlbSgxNDEwKVxuKTtcbiRjdXN0b20tYnJlYWtwb2ludHM6IChcblx0bW9iaWxlbWVudTogcmVtKDEyMDApLFxuXHRjYXJlZXJzbWVudTogcmVtKDEzMzApXG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG5cdHhzOiByZW0oNTc2KSxcblx0c206IHJlbSg3NjgpLFxuXHRtZDogcmVtKDk5MiksXG5cdGxnOiByZW0oMTIwMCksXG5cdHhsOiByZW0oMTQxMClcbik7XG5cbiRjb250YWluZXItc20tc3BhY2luZzogcmVtKDIwKTtcbiRjb250YWluZXItbWQtc3BhY2luZzogcmVtKDQwKTtcbiRjb250YWluZXItbGctc3BhY2luZzogcmVtKDYwKTtcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiByZW0oMTUpO1xuJGdyaWQtc20tZ3V0dGVyLXdpZHRoOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4kZ3JpZC1tZC1ndXR0ZXItd2lkdGg6IHJlbSgyMCk7XG4kZ3JpZC1sZy1ndXR0ZXItd2lkdGg6IHJlbSgzMCk7XG5cbi8vIFRyYW5zaXRpb25zXG4kdHJhbnNpdGlvbi1zdGFuZGFyZDogYWxsIDAuMnMgbGluZWFyO1xuXG4vLyBCbG9jayB0aXRsZVxuJGJsb2NrLXRpdGxlLW1iLXNtOiByZW0oNDApO1xuJGJsb2NrLXRpdGxlLW1iLW1kOiByZW0oNjQpO1xuXG4kbWVkaWEtbWFyZ2luOiAzMHB4O1xuJG1lZGlhLW1hcmdpbi1tb2JpbGU6IDIwcHg7XG5cbi8vIE91dGxpbmVcbiRvdXRsaW5lOiByZW0oMikgc29saWQgIzdhYWNmZTtcbiIsIi8vIEJ1dHRvbnMgYW5kIExpbmtzIC0gQ2F0ZWdvcnkgQmFkZ2VcbkBtaXhpbiBwaWxsLWJhZGdlKCAkY29sb3I6IG5vcm1hbCApIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRib3JkZXItcmFkaXVzOiByZW0oMzIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGJvcmRlcjogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNhZmZyb24pO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRib3JkZXI6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHBpbGwtYmFkZ2Utc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjQpOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cdFx0cGFkZGluZzogMCByZW0oMTApOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0aGVpZ2h0OiByZW0oMTkpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDE5KTtcblx0XHRwYWRkaW5nOiAwIHJlbSg4KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRoZWlnaHQ6IHJlbSgxNyk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTApO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdHBhZGRpbmc6IDAgcmVtKDYpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBJY29uXG5AbWl4aW4gbGluay13aXRoLWljb24oICRjb2xvcjogbm9ybWFsICkge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Z2FwOiByZW0oMik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ym9yZGVyOiAwLjVweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgtaWNvbi1zaXplKCAkc2l6ZTogbSApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHRmb250LXNpemU6IHJlbSgxNCk7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE0KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxMik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE0KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBDaXJjbGUgQnV0dG9uXG5AbWl4aW4gbGluay13aXRoLdGBaXJjbGUoICRjb2xvcjogbm9ybWFsICkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1zdGFuZGFyZDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3I7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IHJlbSgxKTtcblx0XHRsZWZ0OiAwO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGljb24tZm9udCgkaWNvbi1hcnJvdy1yaWdodCwgI3tyZW0oMTYpfSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHR9XG5cblx0c3BhbiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdCY6ZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGludGVyYWN0aW9uKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KGludGVyYWN0aW9uKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgt0YFpcmNsZS1zaXplKCAkc2l6ZTogcyApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0XHRnYXA6IHJlbSgxMCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIHJlbSgzNCkpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHdpZHRoOiByZW0oMjIpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdGdhcDogcmVtKDgpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSByZW0oMjYpKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBDaXJjbGUgQnRuXG5AbWl4aW4gY2lyY2xlLWJ0biggJHR5cGU6IHNlY29uZGFyeSwgJGNvbG9yOiBub3JtYWwgKSB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0Y29sb3I6ICRibGFjaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAwO1xuXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiAwLjVweCBzb2xpZCAkYmxhY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpZiAkdHlwZSA9PSBwcmltYXJ5IHtcblx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChpbnRlcmFjdGlvbik7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChpbnRlcmFjdGlvbi1ob3Zlcik7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5cdFx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRcdGNvbG9yOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcblx0XHRcdFx0b3V0bGluZTogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGNpcmNsZS1idG4tc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSB4bCB7XG5cdFx0d2lkdGg6IHJlbSg1Nik7XG5cdFx0aGVpZ2h0OiByZW0oNTYpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gbCB7XG5cdFx0d2lkdGg6IHJlbSg0OCk7XG5cdFx0aGVpZ2h0OiByZW0oNDgpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBtIHtcblx0XHR3aWR0aDogcmVtKDQwKTtcblx0XHRoZWlnaHQ6IHJlbSg0MCk7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDIwKTtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHR3aWR0aDogcmVtKDM2KTtcblx0XHRoZWlnaHQ6IHJlbSgzNik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRzaXplID09IHhzIHtcblx0XHR3aWR0aDogcmVtKDMyKTtcblx0XHRoZWlnaHQ6IHJlbSgzMik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE2KTtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7IC8vIHh4c1xuXHRcdHdpZHRoOiByZW0oMjQpO1xuXHRcdGhlaWdodDogcmVtKDI0KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMTYpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMTYpO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiNqcXVlcnktbGl2ZS1zZWFyY2gge1xuXHR3aWR0aDogMTAwdncgIWltcG9ydGFudDtcblx0bWFyZ2luLXRvcDogcmVtKC02KTtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9jc3Mvc3JjL2xpYi9iYXNlLWluY2x1ZGVzXCI7XG5cbi5ibG9jay1jYWxsLXRvLWFjdGlvbiB7XG5cdCRibG9jazogXCIuYmxvY2stY2FsbC10by1hY3Rpb25cIjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiByZXNwb25zaXZlLXZhbHVlcyg2NCwgMTI4KSAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgaGVhZGluZ3MoKSB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0fVxuXG5cdCZfX3ZpZGVvLWJnIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0b3A6IDA7XG5cdFx0YW5pbWF0aW9uOiBmYWRlSW5BbmltYXRpb24gZWFzZSAzcztcblx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChibGFjayk7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgY29sb3ItbmFtZWQgKi9cblx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0fVxuXG5cdFx0aW1nLFxuXHRcdC53cC12aWRlbyxcblx0XHQud3AtdmlkZW8tc2hvcnRjb2RlIHtcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Lm1lanMtY29udHJvbHMge1xuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG5cdFx0XHRvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGVzY3JpcHRpb24ge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdH1cblxuXHQmLnBhZ2UtYmxvY2stLWRhcmsge1xuXHRcdEBpbmNsdWRlIGhlYWRpbmdzKCkge1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0fVxuXG5cdFx0I3sgJGJsb2NrIH1fX2Rlc2NyaXB0aW9uIHtcblx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cdH1cblxuXHQmX19zdWJ0aXRsZSB7XG5cdFx0QGluY2x1ZGUgYm9keS1sYXJnZShmYWxzZSk7XG5cdFx0bWFyZ2luLXRvcDogcmVzcG9uc2l2ZS12YWx1ZXMoOCwgMTIpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDgsIDEyKTtcblx0XHRmb250LWZhbWlseTogJGZvbnQtYmFzZTtcblx0fVxuXG5cdC5jLWJ0bi13cmFwcGVyLFxuXHQuYy1idG4tZ3JvdXAge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuYy1idG4tZ3JvdXAge1xuXHRcdG1hcmdpbi10b3A6IHJlbSgzNik7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdC5jLWJ0bi13cmFwcGVyICsgLmMtYnRuLXdyYXBwZXIge1xuXHRcdG1hcmdpbjogcmVtKDIwKSAwIDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRtYXJnaW46IDAgMCAwIHJlbSgyMCk7XG5cdFx0fVxuXHR9XG5cblx0LmMtYnRuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiByZXNwb25zaXZlLXZhbHVlcyg3LCAxMSkgcmVzcG9uc2l2ZS12YWx1ZXMoMTUsIDE5KTtcblx0fVxuXG5cdC5hY2YtYmxvY2tfX2JnLWltYWdlIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChibGFjayk7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgY29sb3ItbmFtZWQgKi9cblx0XHRcdG9wYWNpdHk6IDUwJTtcblx0XHR9XG5cdH1cblxuXHQmLS1taW5pIHtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDY0KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDY0KTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0Lm92ZXJsaW5lLFxuXHRcdC5ibG9jay1jYWxsLXRvLWFjdGlvbl9fdGl0bGUsXG5cdFx0LmJsb2NrLWNhbGwtdG8tYWN0aW9uX19kZXNjcmlwdGlvbiB7XG5cdFx0XHRtYXgtd2lkdGg6IHJlbSg3NDApO1xuXHRcdH1cblxuXHRcdCN7ICRibG9jayB9X190aXRsZSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oc20sIG1kKSB7XG5cdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEJ1dHRvbnMgY29sXG5cdFx0LnJvdyBkaXY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYy1idG4tZ3JvdXAge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvL1RoaXMgZmlsZSBpcyBvbmx5IGZvciBtaXhpbnMuIERvbid0IGluY2x1ZGUgYW55IHN0eWxlcyBpbiB0aGlzIGZpbGUgb3IgZWxzZSB0aGV5IHdpbGwgcmVwZWF0ZWQgaW4gZXZlcnkgYmxvY2suXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQG1peGluIGNmIHtcblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxufVxuXG5AZnVuY3Rpb24gdnctc2l6ZSgkcywgJHc6IDE0NDApIHtcblx0QHJldHVybiBtYXRoLmRpdigkcywgJHcpICogMTAwICsgdnc7XG59XG5cbkBtaXhpbiBoZWFkaW5ncyggJHN0YXJ0OiAxLCAkZW5kOiA2ICkge1xuXHQkaGVhZGluZ3M6IFwiXCI7XG5cblx0QGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuXHRcdEBpZiAkaSAhPSAkc3RhcnQge1xuXHRcdFx0JGhlYWRpbmdzOiBcIiN7ICRoZWFkaW5ncyB9LGgjeyAkaSB9LC5oI3sgJGkgfVwiO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JGhlYWRpbmdzOiBcImgjeyAkaSB9LC5oI3sgJGkgfVwiO1xuXHRcdH1cblx0fVxuXG5cdCN7ICRoZWFkaW5ncyB9IHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gaWNvbi1mb250KCAkY29udGVudDogXCJcIiwgJGZvbnQtc2l6ZTogMjRweCApIHtcblx0Y29udGVudDogJGNvbnRlbnQ7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1pY29uZm9udDtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gcm0tYmVmb3JlKCkge1xuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG5AbWl4aW4gcm0tYWZ0ZXIoKSB7XG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWdyaWQoJHNtOiAxMiwgJG1kOiAxMiwgJGxnOiAxMiwgJHhsOiAxMiwgJHh4bDogMTIpIHtcblx0d2lkdGg6IGNhbGModmFyKC0tY29sdW1uV2lkdGgpICogI3skc219IC0gNDBweCk7XG5cdG1heC13aWR0aDogY2FsYyh2YXIoLS1jb2x1bW5NYXhXaWR0aCkgKiAjeyRzbX0gLSA0MHB4KTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0d2lkdGg6IGNhbGModmFyKC0tY29sdW1uV2lkdGgpICogI3skbWR9IC0gMzBweCk7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbHVtbk1heFdpZHRoKSAqICN7JG1kfSAtIDMwcHgpO1xuXHR9XG5cblx0QGlmICgkbGcgIT0gJG1kKSB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0d2lkdGg6IGNhbGModmFyKC0tY29sdW1uV2lkdGgpICogI3skbGd9IC0gMzBweCk7XG5cdFx0XHRtYXgtd2lkdGg6IGNhbGModmFyKC0tY29sdW1uTWF4V2lkdGgpICogI3skbGd9IC0gMzBweCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmICgkeGwgIT0gJGxnKSB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdFx0d2lkdGg6IGNhbGModmFyKC0tY29sdW1uV2lkdGgpICogI3skeGx9IC0gMzBweCk7XG5cdFx0XHRtYXgtd2lkdGg6IGNhbGModmFyKC0tY29sdW1uTWF4V2lkdGgpICogI3skeGx9IC0gMzBweCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmICgkeHhsICE9ICR4bCkge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cdFx0XHR3aWR0aDogY2FsYyh2YXIoLS1jb2x1bW5XaWR0aCkgKiAjeyR4eGx9IC0gMzBweCk7XG5cdFx0XHRtYXgtd2lkdGg6IGNhbGModmFyKC0tY29sdW1uTWF4V2lkdGgpICogI3skeHhsfSAtIDMwcHgpO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gc3Itb25seSgpIHtcblx0Y2xpcDogcmVjdCgwIDAgMCAwKTtcblx0Y2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuXHRoZWlnaHQ6IDFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR3aWR0aDogMXB4O1xufVxuIiwiLy9UaGlzIGZpbGUgaXMgb25seSBmb3IgbWl4aW5zLiBEb24ndCBpbmNsdWRlIGFueSBzdHlsZXMgaW4gdGhpcyBmaWxlIG9yIGVsc2UgdGhleSB3aWxsIHJlcGVhdGVkIGluIGV2ZXJ5IGJsb2NrLlxuXG5AbWl4aW4gaDEoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDQxLCA2MCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcyg0OSwgNjgpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDM2LCA0OCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcyg0NCwgNTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDMoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDMwLCAzNik7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygzNiwgNDQpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDQoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDI0LCAzMCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygzMiwgMzYpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDUoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDIwLCAyNCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygyOCwgMzIpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDYoICRtYXJnaW5zOiB0cnVlLCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG5cdH1cblxuXHRAaWYgKCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zICkge1xuXHRcdCsgaDEsXG5cdFx0KyAuaDEsXG5cdFx0KyBoMixcblx0XHQrIC5oMixcblx0XHQrIGgzLFxuXHRcdCsgLmgzLFxuXHRcdCsgaDQsXG5cdFx0KyAuaDQsXG5cdFx0KyBoNSxcblx0XHQrIC5oNSxcblx0XHQrIGg2LFxuXHRcdCsgLmg2IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBib2R5LXhsKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LWxhcmdlKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LXJlZ3VsYXIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE2LCAyNCk7XG5cdH1cbn1cblxuQG1peGluIGJvZHktbWVkaXVtKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNiwgMjQpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LXNtYWxsKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNCwgMjApO1xuXHR9XG59XG5cbkBtaXhpbiBkZXRhaWwoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE0LCAyMCk7XG5cdH1cbn1cblxuQG1peGluIG92ZXJsaW5lKCAkbWFyZ2luczogdHJ1ZSwgJHJlbW92ZV9oZWFkZXJfbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRsaW5lLWhlaWdodDogcmVtKDE2KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHR9XG5cblx0QGlmICggJHJlbW92ZV9oZWFkZXJfbWFyZ2lucyApIHtcblx0XHQrIGgxLFxuXHRcdCsgLmgxLFxuXHRcdCsgaDIsXG5cdFx0KyAuaDIsXG5cdFx0KyBoMyxcblx0XHQrIC5oMyxcblx0XHQrIGg0LFxuXHRcdCsgLmg0LFxuXHRcdCsgaDUsXG5cdFx0KyAuaDUsXG5cdFx0KyBoNixcblx0XHQrIC5oNiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gYm9keS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1sYXJnZSggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIGJvZHktMiggJG1hcmdpbnM6IHRydWUgKSB7XG5cdEBpbmNsdWRlIGJvZHktcmVndWxhciggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIGxpc3QoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBib2R5LWxhcmdlKCAkbWFyZ2lucyApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRAaW5jbHVkZSBib2R5LXhsKCAkbWFyZ2lucyApO1xuXHR9XG59XG5cbkBtaXhpbiBsZWFkKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS14bCggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIHF1b3RlKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgaDIoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1tZWRpdW0oICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0yKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1yZWd1bGFyKCAkbWFyZ2lucyApO1xufVxuXG5AbWl4aW4gYnV0dG9uLTEge1xuXHRAaW5jbHVkZSBib2R5LW1lZGl1bShmYWxzZSk7XG59XG5cbkBtaXhpbiBidXR0b24tMiB7XG5cdEBpbmNsdWRlIGJvZHktc21hbGwoZmFsc2UpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gY2FwdGlvbiggJG1hcmdpbnM6IHRydWUgKSB7XG5cdEBpbmNsdWRlIGJvZHktc21hbGwoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiB0YWcoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBkZXRhaWwoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlciB7XG5cdEBpbmNsdWRlIG92ZXJsaW5lO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXX0= */
