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

.block-img-comp .row {
  margin: 0;
}
@media (min-width: 48rem) {
  .block-img-comp .row {
    margin-bottom: 1.875rem;
  }
  .block-img-comp .row:last-child {
    margin-bottom: 0;
  }
}
.block-img-comp [class*=col] {
  padding: 0 0 1.25rem;
}
@media (min-width: 48rem) {
  .block-img-comp [class*=col] {
    padding: 0 0.9375rem;
  }
}
@media (min-width: 48rem) {
  .block-img-comp .fluid-two-small .aspectratio.block-img-single:not(.small-top):not(.small-bottom) {
    min-height: 100%;
  }
}

.block-img-single img {
  display: block;
  width: 100%;
  outline: 1px solid #000;
}
.block-img-single.small-top {
  margin-bottom: 1.25rem;
}
@media (min-width: 48rem) {
  .block-img-single.small-top {
    margin-bottom: 1.875rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9zcmMvX19zdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZWxlbWVudHMuc2NzcyIsImFjZi1ibG9ja3MvaW1hZ2UtY29tcG9zaXRpb24vc3JjL3N0eWxlLnNjc3MiLCJjc3Mvc3JjL3ZlbmRvci9ib290c3RyYXAvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQWdEQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FDb1hBO0VBQ0M7RUFDQTs7O0FDdmNBO0VBQ0M7O0FDd0RFO0VEekRIO0lBSUU7O0VBRUE7SUFDQzs7O0FBS0g7RUFDQzs7QUM0Q0U7RUQ3Q0g7SUFJRTs7O0FDeUNDO0VEcENGO0lBR0U7Ozs7QUFPSDtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDOztBQ21CRTtFRHBCSDtJQUlFIiwiZmlsZSI6ImFjZi1ibG9ja3MvaW1hZ2UtY29tcG9zaXRpb24vZGlzdC9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKlxuICogRm9udHNcbiAqKioqKioqKioqKioqKioqL1xuJGZvbnQtYmFzZTogXCJVbnRpdGxlZCBTYW5zXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1oZWFkbGluZXM6IFwiUHVibGljbyBCYW5uZXJcIiwgc2VyaWY7XG5cbi8qKioqKioqKioqKioqKioqXG4gKiBQYWludHNcbiAqKioqKioqKioqKioqKioqL1xuJHBhaW50czogKFxuXHRtaXN0OiAjYzFjNGNjLFxuXHRza3k6ICNhYWIzY2IsXG5cdHJhaW46ICM5ZGI0YzAsXG5cdG1pZG5pZ2h0OiAjMzUzYzUyLFxuXHRzYWdlOiAjYWFiMTk5LFxuXHRzcHJpbmc6ICNjMGQyYWIsXG5cdHNwcnVjZTogIzVmN2E3Yixcblx0Z3JvdmU6ICMyYzQ3NDgsXG5cdHNhbmQ6ICNiN2IzYTQsXG5cdHNhZmZyb246ICNmMGNkN2YsXG5cdGNsZW1lbnRpbmU6ICNlM2FmN2QsXG5cdGNsYXk6ICM5MDZkNWQsXG5cdGNsb3VkOiAjZjZmNWVmLFxuXHR3aGl0ZTogI2ZmZixcblx0YmxhY2s6ICMwMDAsXG5cdHRleHQtZGFyay1wcmltYXJ5OiAjMDAwLFxuXHR0ZXh0LWRhcmstc2Vjb25kYXJ5OiAjNWU1ZjYxLFxuXHR0ZXh0LWRhcmstdGVydGlhcnk6ICNhMGExYTMsXG5cdHRleHQtbGlnaHQtcHJpbWFyeTogI2ZmZixcblx0dGV4dC1saWdodC1zZWNvbmRhcnk6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSxcblx0dGV4dC1saWdodC10ZXJ0aWFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLFxuXHRib3JkZXItbGlnaHQtcHJpbWFyeTogI2ZmZixcblx0Ym9yZGVyLWxpZ2h0LXRlcnRpYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiksXG5cdGJvcmRlci1kYXJrLXByaW1hcnk6ICMwMDAsXG5cdGJvcmRlci1uYXY6IHJnYmEoMCwgMCwgMCwgMC4xKSxcblx0aW50ZXJhY3Rpb246ICNmMGNkN2YsXG5cdGludGVyYWN0aW9uLWhvdmVyOiAjZjVjZjdhLFxuXHRlcnJvcjogIzllMzYyYyxcblx0d2FybmluZzogI2U1OTU0NSxcblx0c3VjY2VzczogIzQ1N2E0YSxcblx0aW5mb3JtYXRpb246ICMzMjZiYTgsXG5cdGF1dG9maWxsOiAjZjJmOGZjLFxuXHRncmV5LTUwOiAjZjVmNmY3LFxuXHRncmV5LTEwMDogI2UyZTRlOCxcblx0Z3JleS0yMDA6ICNjOWNjZDQsXG5cdGdyZXktMzAwOiAjYWRiMWJjLFxuXHRncmV5LTQwMDogIzk2OWJhOSxcblx0Z3JleS01MDA6ICM3Zjg1OTUsXG5cdGdyZXktNjAwOiAjNTY1YjY5LFxuXHRncmV5LTcwMDogIzMwMzMzYSxcblx0Z3JleS04MDA6ICMxZDFlMjMsXG5cdGdyZXktOTAwOiAjMGEwYTBjLFxuKTtcblxuLyoqKioqKioqKioqKioqKipcbiAqIEVmZmVjdHNcbiAqKioqKioqKioqKioqKioqL1xuJGVmZmVjdHM6IChcbik7XG5cbkBtaXhpbiBlbGV2YXRpb24ge1xuXHRib3gtc2hhZG93OiAwIHJlbSgxKSByZW0oMikgcmdiYSgwLCAwLCAwLCAwLjA1KTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMSkgcmVtKDMpIHJnYmEoMCwgMCwgMCwgMC4xKSwgMCByZW0oMSkgcmVtKDIpIHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oNCkgcmVtKDgpIHJlbSgtMikgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIHJlbSgyKSByZW0oNCkgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDEyKSByZW0oMTYpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCByZW0oNCkgcmVtKDYpIHJlbSgtMikgcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSgyMCkgcmVtKDI0KSByZW0oLTQpIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgcmVtKDgpIHJlbSg4KSByZW0oLTQpIHJnYmEoMCwgMCwgMCwgMC4wMyk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDI0KSByZW0oNDgpIHJlbSgtMTIpIHJnYmEoMCwgMCwgMCwgMC4xOCk7XG5cdH1cbn1cblxuLyoqKioqKioqKioqKioqKipcbiAqIEdyaWQgU2V0dGluZ3NcbiAqKioqKioqKioqKioqKioqL1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuXHR4czogMCxcblx0c206IHJlbSg1NzYpLFxuXHRtZDogcmVtKDc2OCksXG5cdGxnOiByZW0oOTkyKSxcblx0bGdhbHQ6IHJlbSgxMDIwKSxcblx0eGw6IHJlbSgxMjAwKSxcblx0eHhsOiByZW0oMTQxMClcbik7XG4kY3VzdG9tLWJyZWFrcG9pbnRzOiAoXG5cdG1vYmlsZW1lbnU6IHJlbSgxMjAwKSxcblx0Y2FyZWVyc21lbnU6IHJlbSgxMzMwKVxuKTtcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuXHR4czogcmVtKDU3NiksXG5cdHNtOiByZW0oNzY4KSxcblx0bWQ6IHJlbSg5OTIpLFxuXHRsZzogcmVtKDEyMDApLFxuXHR4bDogcmVtKDE0MTApXG4pO1xuXG4kY29udGFpbmVyLXNtLXNwYWNpbmc6IHJlbSgyMCk7XG4kY29udGFpbmVyLW1kLXNwYWNpbmc6IHJlbSg0MCk7XG4kY29udGFpbmVyLWxnLXNwYWNpbmc6IHJlbSg2MCk7XG5cbiRncmlkLWd1dHRlci13aWR0aDogcmVtKDE1KTtcbiRncmlkLXNtLWd1dHRlci13aWR0aDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuJGdyaWQtbWQtZ3V0dGVyLXdpZHRoOiByZW0oMjApO1xuJGdyaWQtbGctZ3V0dGVyLXdpZHRoOiByZW0oMzApO1xuXG4vLyBUcmFuc2l0aW9uc1xuJHRyYW5zaXRpb24tc3RhbmRhcmQ6IGFsbCAwLjJzIGxpbmVhcjtcblxuLy8gQmxvY2sgdGl0bGVcbiRibG9jay10aXRsZS1tYi1zbTogcmVtKDQwKTtcbiRibG9jay10aXRsZS1tYi1tZDogcmVtKDY0KTtcblxuJG1lZGlhLW1hcmdpbjogMzBweDtcbiRtZWRpYS1tYXJnaW4tbW9iaWxlOiAyMHB4O1xuXG4vLyBPdXRsaW5lXG4kb3V0bGluZTogcmVtKDIpIHNvbGlkICM3YWFjZmU7XG4iLCIvLyBCdXR0b25zIGFuZCBMaW5rcyAtIENhdGVnb3J5IEJhZGdlXG5AbWl4aW4gcGlsbC1iYWRnZSggJGNvbG9yOiBub3JtYWwgKSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Ym9yZGVyLXJhZGl1czogcmVtKDMyKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdEBpZiAkY29sb3IgPT0gbm9ybWFsIHtcblx0XHRib3JkZXI6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1kYXJrLXByaW1hcnkpO1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdLFxuXHRcdCZbZGF0YS1maWx0ZXJdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChzYWZmcm9uKTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ym9yZGVyOiAwLjVweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdLFxuXHRcdCZbZGF0YS1maWx0ZXJdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KGJvcmRlci1kYXJrLXByaW1hcnkpO1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBwaWxsLWJhZGdlLXNpemUoICRzaXplOiBtICkge1xuXHRAaWYgJHNpemUgPT0gbSB7XG5cdFx0aGVpZ2h0OiByZW0oMjQpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTsgLy8gZG9lc24ndCBtYXRjaCBmaWdtYSB0byBjb21wZW5zZSBwZWN1bGlhciBmb250IGFuZCBrZWVwIGNlbnRlci12YWxpZ25lZFxuXHRcdHBhZGRpbmc6IDAgcmVtKDEwKTsgLy8gZG9lc24ndCBtYXRjaCBmaWdtYSB0byBjb21wZW5zZSBwZWN1bGlhciBmb250IGFuZCBrZWVwIGNlbnRlci12YWxpZ25lZFxuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRzaXplID09IHMge1xuXHRcdGhlaWdodDogcmVtKDE5KTtcblx0XHRmb250LXNpemU6IHJlbSgxMik7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgxOSk7XG5cdFx0cGFkZGluZzogMCByZW0oOCk7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0aGVpZ2h0OiByZW0oMTcpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEwKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDE3KTtcblx0XHRwYWRkaW5nOiAwIHJlbSg2KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oNik7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBMaW5rIHdpdGggSWNvblxuQG1peGluIGxpbmstd2l0aC1pY29uKCAkY29sb3I6IG5vcm1hbCApIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGdhcDogcmVtKDIpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGJvcmRlcjogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0JltocmVmXSB7XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gbGluay13aXRoLWljb24tc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMjApICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMjApICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE3KTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oNik7XG5cdFx0fVxuXG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE2KSAhaW1wb3J0YW50O1xuXHRcdFx0aGVpZ2h0OiByZW0oMTYpO1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0aGVpZ2h0OiByZW0oMTIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgxNCk7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBMaW5rIHdpdGggQ2lyY2xlIEJ1dHRvblxuQG1peGluIGxpbmstd2l0aC3RgWlyY2xlKCAkY29sb3I6IG5vcm1hbCApIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cdFx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tc3RhbmRhcmQ7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLWNvbG9yO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiByZW0oMSk7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBpY29uLWZvbnQoJGljb24tYXJyb3ctcmlnaHQsICN7cmVtKDE2KX0pO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRmbGV4LXNocmluazogMDtcblx0fVxuXG5cdHNwYW4ge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHQmOmVtcHR5IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBwYWludChpbnRlcmFjdGlvbik7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChpbnRlcmFjdGlvbik7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLFxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6OmFmdGVyLFxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6OmFmdGVyLFxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjk1O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gbGluay13aXRoLdGBaXJjbGUtc2l6ZSggJHNpemU6IHMgKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgyNCk7XG5cdFx0Z2FwOiByZW0oMTApO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSByZW0oMzQpKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogcmVtKDIyKTtcblx0XHRcdGhlaWdodDogcmVtKDIyKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRzaXplID09IHMge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0XHRnYXA6IHJlbSg4KTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gcmVtKDI2KSk7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0d2lkdGg6IHJlbSgxOCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxOCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE2KSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIEJ1dHRvbnMgYW5kIExpbmtzIC0gQ2lyY2xlIEJ0blxuQG1peGluIGNpcmNsZS1idG4oICR0eXBlOiBzZWNvbmRhcnksICRjb2xvcjogbm9ybWFsICkge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogMDtcblxuXHQmOmZvY3VzLFxuXHQmOmFjdGl2ZSB7XG5cdFx0b3V0bGluZTogMC41cHggc29saWQgJGJsYWNrO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgJHR5cGUgPT0gcHJpbWFyeSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdFx0YmFja2dyb3VuZDogcGFpbnQoaW50ZXJhY3Rpb24pO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcGFpbnQoaW50ZXJhY3Rpb24taG92ZXIpO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0YmFja2dyb3VuZDogcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcblx0XHRcdH1cblxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuXHRcdEBpZiAkY29sb3IgPT0gbm9ybWFsIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG5cdFx0XHRcdG91dGxpbmU6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRcdH1cblxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBjaXJjbGUtYnRuLXNpemUoICRzaXplOiBtICkge1xuXHRAaWYgJHNpemUgPT0geGwge1xuXHRcdHdpZHRoOiByZW0oNTYpO1xuXHRcdGhlaWdodDogcmVtKDU2KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMjApO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjApO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRzaXplID09IGwge1xuXHRcdHdpZHRoOiByZW0oNDgpO1xuXHRcdGhlaWdodDogcmVtKDQ4KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMjApO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjApO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gbSB7XG5cdFx0d2lkdGg6IHJlbSg0MCk7XG5cdFx0aGVpZ2h0OiByZW0oNDApO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0d2lkdGg6IHJlbSgzNik7XG5cdFx0aGVpZ2h0OiByZW0oMzYpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgxOCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxOCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSB4cyB7XG5cdFx0d2lkdGg6IHJlbSgzMik7XG5cdFx0aGVpZ2h0OiByZW0oMzIpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgxNik7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgeyAvLyB4eHNcblx0XHR3aWR0aDogcmVtKDI0KTtcblx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE2KTtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4janF1ZXJ5LWxpdmUtc2VhcmNoIHtcblx0d2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi10b3A6IHJlbSgtNik7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vY3NzL3NyYy9saWIvYmFzZS1pbmNsdWRlc1wiO1xuXG4uYmxvY2staW1nLWNvbXAge1xuXHQucm93IHtcblx0XHRtYXJnaW46IDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdFtjbGFzcyo9XCJjb2xcIl0ge1xuXHRcdHBhZGRpbmc6IDAgMCByZW0oMjApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0cGFkZGluZzogMCByZW0oMTUpO1xuXHRcdH1cblx0fVxuXG5cdC5mbHVpZC10d28tc21hbGwge1xuXHRcdC5hc3BlY3RyYXRpby5ibG9jay1pbWctc2luZ2xlOm5vdCguc21hbGwtdG9wKTpub3QoLnNtYWxsLWJvdHRvbSkge1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5ibG9jay1pbWctc2luZ2xlIHtcblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdXRsaW5lOiAxcHggc29saWQgJGJsYWNrO1xuXHR9XG5cblx0Ji5zbWFsbC10b3Age1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXX0= */
