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

.block-stat-callout {
  margin: 0;
  padding-top: clamp(4rem, 1.6074766355rem + 4.984423676vw, 6rem);
  padding-bottom: clamp(4rem, 1.6074766355rem + 4.984423676vw, 6rem);
  text-align: center;
}
.block-stat-callout__description {
  justify-content: center;
}
.block-stat-callout__section-title + p {
  font-size: 1.125rem;
  line-height: 1.75rem;
  margin-top: clamp(0.375rem, -0.0735981308rem + 0.9345794393vw, 0.75rem);
}
.block-stat-callout .animated-numbers {
  margin: clamp(2.5rem, 1.9018691589rem + 1.246105919vw, 3rem) clamp(-1.875rem, -0.5023364486rem + -1.5576323988vw, -1.25rem) 0;
  padding: 0;
  list-style: none;
}
.block-stat-callout .animated-numbers__single {
  padding-right: clamp(1.25rem, 0.5023364486rem + 1.5576323988vw, 1.875rem);
  padding-left: clamp(0.625rem, -0.8703271028rem + 3.1152647975vw, 1.875rem);
  /* stylelint-disable max-nesting-depth */
  /* stylelint-enable max-nesting-depth */
}
@media (min-width: 48rem) {
  .block-stat-callout .animated-numbers__single.col-md-4:nth-child(n+2), .block-stat-callout .animated-numbers__single.col-md-6:nth-child(even) {
    border-left: 0.0625rem solid #000;
  }
}
@media (min-width: 62rem) {
  .block-stat-callout .animated-numbers__single.col-md-6:nth-child(3) {
    border-left: 0.0625rem solid #000;
  }
}
.block-stat-callout .animated-numbers__single + .animated-numbers__single {
  margin-top: 3.5rem;
}
@media (min-width: 48rem) {
  .block-stat-callout .animated-numbers__single + .animated-numbers__single.col-md-4:nth-child(n+2), .block-stat-callout .animated-numbers__single + .animated-numbers__single.col-md-6:nth-child(2) {
    margin-top: 0;
  }
}
@media (min-width: 62rem) {
  .block-stat-callout .animated-numbers__single + .animated-numbers__single.col-md-6:nth-child(n+3) {
    margin-top: 0;
  }
}
.block-stat-callout .animated-numbers__description {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-top: 0.25rem;
}
@media (min-width: 48rem) {
  .block-stat-callout .animated-numbers__description {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.block-stat-callout .animated-numbers__number {
  font-size: clamp(2.25rem, 1.3528037383rem + 1.8691588785vw, 3rem);
  line-height: clamp(2.75rem, 1.8528037383rem + 1.8691588785vw, 3.5rem);
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Publico Banner", serif;
  font-weight: 300;
}
.block-stat-callout.page-block--dark .animated-numbers__single[class^=col-] {
  border-color: #fff;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9zcmMvX19zdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZWxlbWVudHMuc2NzcyIsImFjZi1ibG9ja3Mvc3RhdC1jYWxsb3V0L3NyYy9zdHlsZS5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZm9udC1zdHlsZXMuc2NzcyIsImNzcy9zcmMvdmVuZG9yL2Jvb3RzdHJhcC9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBZ0RBO0FBQUE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUNvWEE7RUFDQztFQUNBOzs7QUN4Y0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUlBO0VDNEVEO0VBQ0E7RUQzRUU7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0FBZUE7QUFpQkE7O0FFQ0M7RUY5QkE7SUFFQzs7O0FFNEJEO0VGdkJBO0lBQ0M7OztBQUtGO0VBQ0M7O0FFZ0JBO0VGYkM7SUFFQzs7O0FFV0Y7RUZOQztJQUNDOzs7QUFPSjtFQ3FDRDtFQUNBO0VEcENFOztBRUpDO0VGRUY7SUM0QkQ7SUFDQTs7O0FEcEJDO0VDMUREO0VBQ0E7RUFHQztFQUNBO0VEdURDLGFGckVjO0VFc0VkOztBQU1BO0VBQ0MiLCJmaWxlIjoiYWNmLWJsb2Nrcy9zdGF0LWNhbGxvdXQvZGlzdC9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKlxuICogRm9udHNcbiAqKioqKioqKioqKioqKioqL1xuJGZvbnQtYmFzZTogXCJVbnRpdGxlZCBTYW5zXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1oZWFkbGluZXM6IFwiUHVibGljbyBCYW5uZXJcIiwgc2VyaWY7XG5cbi8qKioqKioqKioqKioqKioqXG4gKiBQYWludHNcbiAqKioqKioqKioqKioqKioqL1xuJHBhaW50czogKFxuXHRtaXN0OiAjYzFjNGNjLFxuXHRza3k6ICNhYWIzY2IsXG5cdHJhaW46ICM5ZGI0YzAsXG5cdG1pZG5pZ2h0OiAjMzUzYzUyLFxuXHRzYWdlOiAjYWFiMTk5LFxuXHRzcHJpbmc6ICNjMGQyYWIsXG5cdHNwcnVjZTogIzVmN2E3Yixcblx0Z3JvdmU6ICMyYzQ3NDgsXG5cdHNhbmQ6ICNiN2IzYTQsXG5cdHNhZmZyb246ICNmMGNkN2YsXG5cdGNsZW1lbnRpbmU6ICNlM2FmN2QsXG5cdGNsYXk6ICM5MDZkNWQsXG5cdGNsb3VkOiAjZjZmNWVmLFxuXHR3aGl0ZTogI2ZmZixcblx0YmxhY2s6ICMwMDAsXG5cdHRleHQtZGFyay1wcmltYXJ5OiAjMDAwLFxuXHR0ZXh0LWRhcmstc2Vjb25kYXJ5OiAjNWU1ZjYxLFxuXHR0ZXh0LWRhcmstdGVydGlhcnk6ICNhMGExYTMsXG5cdHRleHQtbGlnaHQtcHJpbWFyeTogI2ZmZixcblx0dGV4dC1saWdodC1zZWNvbmRhcnk6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSxcblx0dGV4dC1saWdodC10ZXJ0aWFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLFxuXHRib3JkZXItbGlnaHQtcHJpbWFyeTogI2ZmZixcblx0Ym9yZGVyLWxpZ2h0LXRlcnRpYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiksXG5cdGJvcmRlci1kYXJrLXByaW1hcnk6ICMwMDAsXG5cdGJvcmRlci1uYXY6IHJnYmEoMCwgMCwgMCwgMC4xKSxcblx0aW50ZXJhY3Rpb246ICNmMGNkN2YsXG5cdGludGVyYWN0aW9uLWhvdmVyOiAjZjVjZjdhLFxuXHRlcnJvcjogIzllMzYyYyxcblx0d2FybmluZzogI2U1OTU0NSxcblx0c3VjY2VzczogIzQ1N2E0YSxcblx0aW5mb3JtYXRpb246ICMzMjZiYTgsXG5cdGF1dG9maWxsOiAjZjJmOGZjLFxuXHRncmV5LTUwOiAjZjVmNmY3LFxuXHRncmV5LTEwMDogI2UyZTRlOCxcblx0Z3JleS0yMDA6ICNjOWNjZDQsXG5cdGdyZXktMzAwOiAjYWRiMWJjLFxuXHRncmV5LTQwMDogIzk2OWJhOSxcblx0Z3JleS01MDA6ICM3Zjg1OTUsXG5cdGdyZXktNjAwOiAjNTY1YjY5LFxuXHRncmV5LTcwMDogIzMwMzMzYSxcblx0Z3JleS04MDA6ICMxZDFlMjMsXG5cdGdyZXktOTAwOiAjMGEwYTBjLFxuKTtcblxuLyoqKioqKioqKioqKioqKipcbiAqIEVmZmVjdHNcbiAqKioqKioqKioqKioqKioqL1xuJGVmZmVjdHM6IChcbik7XG5cbkBtaXhpbiBlbGV2YXRpb24ge1xuXHRib3gtc2hhZG93OiAwIHJlbSgxKSByZW0oMikgcmdiYSgwLCAwLCAwLCAwLjA1KTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMSkgcmVtKDMpIHJnYmEoMCwgMCwgMCwgMC4xKSwgMCByZW0oMSkgcmVtKDIpIHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oNCkgcmVtKDgpIHJlbSgtMikgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIHJlbSgyKSByZW0oNCkgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDEyKSByZW0oMTYpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCByZW0oNCkgcmVtKDYpIHJlbSgtMikgcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSgyMCkgcmVtKDI0KSByZW0oLTQpIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgcmVtKDgpIHJlbSg4KSByZW0oLTQpIHJnYmEoMCwgMCwgMCwgMC4wMyk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDI0KSByZW0oNDgpIHJlbSgtMTIpIHJnYmEoMCwgMCwgMCwgMC4xOCk7XG5cdH1cbn1cblxuLyoqKioqKioqKioqKioqKipcbiAqIEdyaWQgU2V0dGluZ3NcbiAqKioqKioqKioqKioqKioqL1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuXHR4czogMCxcblx0c206IHJlbSg1NzYpLFxuXHRtZDogcmVtKDc2OCksXG5cdGxnOiByZW0oOTkyKSxcblx0bGdhbHQ6IHJlbSgxMDIwKSxcblx0eGw6IHJlbSgxMjAwKSxcblx0eHhsOiByZW0oMTQxMClcbik7XG4kY3VzdG9tLWJyZWFrcG9pbnRzOiAoXG5cdG1vYmlsZW1lbnU6IHJlbSgxMjAwKSxcblx0Y2FyZWVyc21lbnU6IHJlbSgxMzMwKVxuKTtcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuXHR4czogcmVtKDU3NiksXG5cdHNtOiByZW0oNzY4KSxcblx0bWQ6IHJlbSg5OTIpLFxuXHRsZzogcmVtKDEyMDApLFxuXHR4bDogcmVtKDE0MTApXG4pO1xuXG4kY29udGFpbmVyLXNtLXNwYWNpbmc6IHJlbSgyMCk7XG4kY29udGFpbmVyLW1kLXNwYWNpbmc6IHJlbSg0MCk7XG4kY29udGFpbmVyLWxnLXNwYWNpbmc6IHJlbSg2MCk7XG5cbiRncmlkLWd1dHRlci13aWR0aDogcmVtKDE1KTtcbiRncmlkLXNtLWd1dHRlci13aWR0aDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuJGdyaWQtbWQtZ3V0dGVyLXdpZHRoOiByZW0oMjApO1xuJGdyaWQtbGctZ3V0dGVyLXdpZHRoOiByZW0oMzApO1xuXG4vLyBUcmFuc2l0aW9uc1xuJHRyYW5zaXRpb24tc3RhbmRhcmQ6IGFsbCAwLjJzIGxpbmVhcjtcblxuLy8gQmxvY2sgdGl0bGVcbiRibG9jay10aXRsZS1tYi1zbTogcmVtKDQwKTtcbiRibG9jay10aXRsZS1tYi1tZDogcmVtKDY0KTtcblxuJG1lZGlhLW1hcmdpbjogMzBweDtcbiRtZWRpYS1tYXJnaW4tbW9iaWxlOiAyMHB4O1xuXG4vLyBPdXRsaW5lXG4kb3V0bGluZTogcmVtKDIpIHNvbGlkICM3YWFjZmU7XG4iLCIvLyBCdXR0b25zIGFuZCBMaW5rcyAtIENhdGVnb3J5IEJhZGdlXG5AbWl4aW4gcGlsbC1iYWRnZSggJGNvbG9yOiBub3JtYWwgKSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Ym9yZGVyLXJhZGl1czogcmVtKDMyKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdEBpZiAkY29sb3IgPT0gbm9ybWFsIHtcblx0XHRib3JkZXI6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1kYXJrLXByaW1hcnkpO1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdLFxuXHRcdCZbZGF0YS1maWx0ZXJdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChzYWZmcm9uKTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ym9yZGVyOiAwLjVweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdLFxuXHRcdCZbZGF0YS1maWx0ZXJdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KGJvcmRlci1kYXJrLXByaW1hcnkpO1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBwaWxsLWJhZGdlLXNpemUoICRzaXplOiBtICkge1xuXHRAaWYgJHNpemUgPT0gbSB7XG5cdFx0aGVpZ2h0OiByZW0oMjQpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTsgLy8gZG9lc24ndCBtYXRjaCBmaWdtYSB0byBjb21wZW5zZSBwZWN1bGlhciBmb250IGFuZCBrZWVwIGNlbnRlci12YWxpZ25lZFxuXHRcdHBhZGRpbmc6IDAgcmVtKDEwKTsgLy8gZG9lc24ndCBtYXRjaCBmaWdtYSB0byBjb21wZW5zZSBwZWN1bGlhciBmb250IGFuZCBrZWVwIGNlbnRlci12YWxpZ25lZFxuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRzaXplID09IHMge1xuXHRcdGhlaWdodDogcmVtKDE5KTtcblx0XHRmb250LXNpemU6IHJlbSgxMik7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgxOSk7XG5cdFx0cGFkZGluZzogMCByZW0oOCk7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0aGVpZ2h0OiByZW0oMTcpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEwKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDE3KTtcblx0XHRwYWRkaW5nOiAwIHJlbSg2KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oNik7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBMaW5rIHdpdGggSWNvblxuQG1peGluIGxpbmstd2l0aC1pY29uKCAkY29sb3I6IG5vcm1hbCApIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGdhcDogcmVtKDIpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGJvcmRlcjogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0JltocmVmXSB7XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gbGluay13aXRoLWljb24tc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMjApICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMjApICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE3KTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oNik7XG5cdFx0fVxuXG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE2KSAhaW1wb3J0YW50O1xuXHRcdFx0aGVpZ2h0OiByZW0oMTYpO1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0aGVpZ2h0OiByZW0oMTIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgxNCk7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBMaW5rIHdpdGggQ2lyY2xlIEJ1dHRvblxuQG1peGluIGxpbmstd2l0aC3RgWlyY2xlKCAkY29sb3I6IG5vcm1hbCApIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cdFx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tc3RhbmRhcmQ7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLWNvbG9yO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiByZW0oMSk7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBpY29uLWZvbnQoJGljb24tYXJyb3ctcmlnaHQsICN7cmVtKDE2KX0pO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRmbGV4LXNocmluazogMDtcblx0fVxuXG5cdHNwYW4ge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHQmOmVtcHR5IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBwYWludChpbnRlcmFjdGlvbik7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChpbnRlcmFjdGlvbik7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLFxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6OmFmdGVyLFxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6OmFmdGVyLFxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjk1O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gbGluay13aXRoLdGBaXJjbGUtc2l6ZSggJHNpemU6IHMgKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgyNCk7XG5cdFx0Z2FwOiByZW0oMTApO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSByZW0oMzQpKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogcmVtKDIyKTtcblx0XHRcdGhlaWdodDogcmVtKDIyKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRzaXplID09IHMge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0XHRnYXA6IHJlbSg4KTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gcmVtKDI2KSk7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0d2lkdGg6IHJlbSgxOCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxOCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE2KSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIEJ1dHRvbnMgYW5kIExpbmtzIC0gQ2lyY2xlIEJ0blxuQG1peGluIGNpcmNsZS1idG4oICR0eXBlOiBzZWNvbmRhcnksICRjb2xvcjogbm9ybWFsICkge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogMDtcblxuXHQmOmZvY3VzLFxuXHQmOmFjdGl2ZSB7XG5cdFx0b3V0bGluZTogMC41cHggc29saWQgJGJsYWNrO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgJHR5cGUgPT0gcHJpbWFyeSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdFx0YmFja2dyb3VuZDogcGFpbnQoaW50ZXJhY3Rpb24pO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcGFpbnQoaW50ZXJhY3Rpb24taG92ZXIpO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0YmFja2dyb3VuZDogcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcblx0XHRcdH1cblxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuXHRcdEBpZiAkY29sb3IgPT0gbm9ybWFsIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG5cdFx0XHRcdG91dGxpbmU6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRcdH1cblxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBjaXJjbGUtYnRuLXNpemUoICRzaXplOiBtICkge1xuXHRAaWYgJHNpemUgPT0geGwge1xuXHRcdHdpZHRoOiByZW0oNTYpO1xuXHRcdGhlaWdodDogcmVtKDU2KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMjApO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjApO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRzaXplID09IGwge1xuXHRcdHdpZHRoOiByZW0oNDgpO1xuXHRcdGhlaWdodDogcmVtKDQ4KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMjApO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjApO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gbSB7XG5cdFx0d2lkdGg6IHJlbSg0MCk7XG5cdFx0aGVpZ2h0OiByZW0oNDApO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0d2lkdGg6IHJlbSgzNik7XG5cdFx0aGVpZ2h0OiByZW0oMzYpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgxOCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxOCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSB4cyB7XG5cdFx0d2lkdGg6IHJlbSgzMik7XG5cdFx0aGVpZ2h0OiByZW0oMzIpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgxNik7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgeyAvLyB4eHNcblx0XHR3aWR0aDogcmVtKDI0KTtcblx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE2KTtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4janF1ZXJ5LWxpdmUtc2VhcmNoIHtcblx0d2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi10b3A6IHJlbSgtNik7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vY3NzL3NyYy9saWIvYmFzZS1pbmNsdWRlc1wiO1xuXG4uYmxvY2stc3RhdC1jYWxsb3V0IHtcblx0JHNlbGY6ICY7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZy10b3A6IHJlc3BvbnNpdmUtdmFsdWVzKDY0LCA5Nik7XG5cdHBhZGRpbmctYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcyg2NCwgOTYpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Jl9fZGVzY3JpcHRpb24ge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0Jl9fc2VjdGlvbi10aXRsZSB7XG5cdFx0KyBwIHtcblx0XHRcdEBpbmNsdWRlIGJvZHktbGFyZ2UoZmFsc2UpO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVzcG9uc2l2ZS12YWx1ZXMoNiwgMTIpO1xuXHRcdH1cblx0fVxuXG5cdC5hbmltYXRlZC1udW1iZXJzIHtcblx0XHRtYXJnaW46IHJlc3BvbnNpdmUtdmFsdWVzKDQwLCA0OCkgcmVzcG9uc2l2ZS12YWx1ZXMoLTIwLCAtMzApIDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0Jl9fc2luZ2xlIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlc3BvbnNpdmUtdmFsdWVzKDIwLCAzMCk7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUtdmFsdWVzKDEwLCAzMCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdFx0Ji5jb2wtbWQtNDpudGgtY2hpbGQobisyKSxcblx0XHRcdFx0Ji5jb2wtbWQtNjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiByZW0oMSkgc29saWQgJGJsYWNrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdFx0Ji5jb2wtbWQtNjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiByZW0oMSkgc29saWQgJGJsYWNrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8qIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG5cdFx0XHQrIC5hbmltYXRlZC1udW1iZXJzX19zaW5nbGUge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0oNTYpO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdFx0XHQmLmNvbC1tZC00Om50aC1jaGlsZChuKzIpLFxuXHRcdFx0XHRcdCYuY29sLW1kLTY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0XHRcdCYuY29sLW1kLTY6bnRoLWNoaWxkKG4rMykge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC8qIHN0eWxlbGludC1lbmFibGUgbWF4LW5lc3RpbmctZGVwdGggKi9cblx0XHR9XG5cblx0XHQmX19kZXNjcmlwdGlvbiB7XG5cdFx0XHRAaW5jbHVkZSBib2R5LXJlZ3VsYXIoZmFsc2UpO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDQpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRcdEBpbmNsdWRlIGJvZHktbGFyZ2UoZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX251bWJlciB7XG5cdFx0XHRAaW5jbHVkZSBoMihmYWxzZSk7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtaGVhZGxpbmVzO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHR9XG5cdH1cblxuXHQmLnBhZ2UtYmxvY2stLWRhcmsge1xuXHRcdC5hbmltYXRlZC1udW1iZXJzIHtcblx0XHRcdCZfX3NpbmdsZVtjbGFzc149XCJjb2wtXCJdIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy9UaGlzIGZpbGUgaXMgb25seSBmb3IgbWl4aW5zLiBEb24ndCBpbmNsdWRlIGFueSBzdHlsZXMgaW4gdGhpcyBmaWxlIG9yIGVsc2UgdGhleSB3aWxsIHJlcGVhdGVkIGluIGV2ZXJ5IGJsb2NrLlxuXG5AbWl4aW4gaDEoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDQxLCA2MCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcyg0OSwgNjgpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDM2LCA0OCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcyg0NCwgNTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDMoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDMwLCAzNik7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygzNiwgNDQpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDQoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDI0LCAzMCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygzMiwgMzYpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDUoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDIwLCAyNCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygyOCwgMzIpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDYoICRtYXJnaW5zOiB0cnVlLCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG5cdH1cblxuXHRAaWYgKCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zICkge1xuXHRcdCsgaDEsXG5cdFx0KyAuaDEsXG5cdFx0KyBoMixcblx0XHQrIC5oMixcblx0XHQrIGgzLFxuXHRcdCsgLmgzLFxuXHRcdCsgaDQsXG5cdFx0KyAuaDQsXG5cdFx0KyBoNSxcblx0XHQrIC5oNSxcblx0XHQrIGg2LFxuXHRcdCsgLmg2IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBib2R5LXhsKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LWxhcmdlKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LXJlZ3VsYXIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE2LCAyNCk7XG5cdH1cbn1cblxuQG1peGluIGJvZHktbWVkaXVtKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNiwgMjQpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LXNtYWxsKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNCwgMjApO1xuXHR9XG59XG5cbkBtaXhpbiBkZXRhaWwoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE0LCAyMCk7XG5cdH1cbn1cblxuQG1peGluIG92ZXJsaW5lKCAkbWFyZ2luczogdHJ1ZSwgJHJlbW92ZV9oZWFkZXJfbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRsaW5lLWhlaWdodDogcmVtKDE2KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHR9XG5cblx0QGlmICggJHJlbW92ZV9oZWFkZXJfbWFyZ2lucyApIHtcblx0XHQrIGgxLFxuXHRcdCsgLmgxLFxuXHRcdCsgaDIsXG5cdFx0KyAuaDIsXG5cdFx0KyBoMyxcblx0XHQrIC5oMyxcblx0XHQrIGg0LFxuXHRcdCsgLmg0LFxuXHRcdCsgaDUsXG5cdFx0KyAuaDUsXG5cdFx0KyBoNixcblx0XHQrIC5oNiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gYm9keS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1sYXJnZSggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIGJvZHktMiggJG1hcmdpbnM6IHRydWUgKSB7XG5cdEBpbmNsdWRlIGJvZHktcmVndWxhciggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIGxpc3QoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBib2R5LWxhcmdlKCAkbWFyZ2lucyApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRAaW5jbHVkZSBib2R5LXhsKCAkbWFyZ2lucyApO1xuXHR9XG59XG5cbkBtaXhpbiBsZWFkKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS14bCggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIHF1b3RlKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgaDIoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1tZWRpdW0oICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0yKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1yZWd1bGFyKCAkbWFyZ2lucyApO1xufVxuXG5AbWl4aW4gYnV0dG9uLTEge1xuXHRAaW5jbHVkZSBib2R5LW1lZGl1bShmYWxzZSk7XG59XG5cbkBtaXhpbiBidXR0b24tMiB7XG5cdEBpbmNsdWRlIGJvZHktc21hbGwoZmFsc2UpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gY2FwdGlvbiggJG1hcmdpbnM6IHRydWUgKSB7XG5cdEBpbmNsdWRlIGJvZHktc21hbGwoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiB0YWcoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBkZXRhaWwoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlciB7XG5cdEBpbmNsdWRlIG92ZXJsaW5lO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXX0= */
