.section--intro .section__content > *:last-child, .section__box > *:last-child,
.section--intro .section__content > *:last-child > *:last-child,
.section__box > *:last-child > *:last-child,
.section--intro .section__content > *:last-child > *:last-child > *:last-child,
.section__box > *:last-child > *:last-child > *:last-child,
.section--intro .section__content > *:last-child > *:last-child > *:last-child > *:last-child,
.section__box > *:last-child > *:last-child > *:last-child > *:last-child {
  margin-bottom: 0;
}

.section__text--intro {
  font-size: 1.0125rem;
  line-height: 1.382306477;
  font-family: "DIN", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section__text--intro {
    font-size: calc(1.0125rem + 0.1265625 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section__text--intro {
    font-size: calc(1.1390625rem + 0.1265625 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section__text--intro {
    font-size: 1.265625rem;
  }
}

.section--hero::after, .section::before {
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

html {
  scroll-behavior: smooth;
}

.site-footer {
  display: none;
}

.main-content {
  padding-top: 0;
}

.breadcrumbs {
  background-color: rgba(0, 0, 0, 0.25);
}

.breadcrumbs__item::before {
  background-image: url("data:image/svg+xml, %3Csvg%20viewBox%3D%220%200%2014%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.744%2012L.168.874A.5.5%200%201%201%20.83.126l13%2011.5a.5.5%200%200%201%200%20.748l-13%2011.5a.5.5%200%201%201-.662-.748L12.744%2012z%22%20fill%3D%22%23fff%22%20%2F%3E%3C%2Fsvg%3E");
  opacity: 0.6;
}
.breadcrumbs__item a {
  color: #fff;
  opacity: 0.6;
}
.breadcrumbs__item a::after {
  background-color: #fff;
}
.breadcrumbs__item a:hover, .breadcrumbs__item a:focus {
  color: #fff;
}
.breadcrumbs__item:first-child a {
  background-image: url("data:image/svg+xml, %3Csvg%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%203.68v6.322h3.889v-3.89H6.11v3.89H10V3.68L5%200z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}
@media (max-width: 759px) {
  .breadcrumbs__item:nth-last-child(2)::before {
    background-image: url("data:image/svg+xml, %3Csvg%20viewBox%3D%220%200%2014%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1.254%2012L13.83%2023.126a.5.5%200%201%201-.662.748l-13-11.5a.5.5%200%200%201%200-.748l13-11.5a.5.5%200%201%201%20.663.748L1.255%2012z%22%20fill%3D%22%23fff%22%20%2F%3E%3C%2Fsvg%3E");
    opacity: 0.6;
  }
}

.slick-dots {
  line-height: 0;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  text-align: center;
  width: 100%;
}
.slick-dots li {
  display: inline-block;
  margin: 0;
  padding: 0;
  text-align: center;
  vertical-align: middle;
}
.slick-dots button {
  background-color: #cbcece;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: block;
  height: 0.75rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  outline: 0;
  overflow: hidden;
  padding: 0;
  text-indent: 100%;
  transition: transform 0.3s;
  white-space: nowrap;
  width: 0.75rem;
}
@media (min-width: 960px) {
  .slick-dots button {
    height: 1rem;
    width: 1rem;
  }
}
.slick-dots button:hover, .slick-dots button:focus {
  background-color: rgb(176.7425742574, 181.2574257426, 181.2574257426);
  transform: scale(1.25);
}
.slick-dots .slick-active button {
  background-color: #525e66;
  cursor: default;
  opacity: 1;
  transform: scale(1.25);
}

.list--review,
.list--event-management,
.list--zambia {
  font-size: 1.0125rem;
  line-height: 1.382306477;
  font-family: "DIN", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  margin-bottom: 2.25rem;
  text-align: left;
}
@media (min-width: 600px) and (max-width: 960px) {
  .list--review,
  .list--event-management,
  .list--zambia {
    font-size: calc(1.0125rem + 0.1265625 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .list--review,
  .list--event-management,
  .list--zambia {
    font-size: calc(1.1390625rem + 0.1265625 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .list--review,
  .list--event-management,
  .list--zambia {
    font-size: 1.265625rem;
  }
}
@media (min-width: 960px) {
  .list--review,
  .list--event-management,
  .list--zambia {
    display: flex;
    flex-wrap: wrap;
  }
}
.list--review .list__item,
.list--event-management .list__item,
.list--zambia .list__item {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cg%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%3E%3Cpath%20d%3D%22M16.659%208.134a.5.5%200%201%201%20.682.732l-7.5%207a.5.5%200%200%201-.695-.012l-2.5-2.5a.5.5%200%200%201%20.708-.708l2.158%202.159%207.147-6.67z%22/%3E%3Cpath%20d%3D%22M23%2012c0-6.075-4.925-11-11-11C5.923%201%201%205.924%201%2012s4.923%2011%2011%2011c6.075%200%2011-4.925%2011-11zm1%200c0%206.627-5.373%2012-12%2012-6.629%200-12-5.372-12-12S5.371%200%2012%200c6.627%200%2012%205.373%2012%2012z%22/%3E%3C/g%3E%3C/svg%3E");
  background-position: left 0.25rem;
  background-repeat: no-repeat;
  background-size: 1.125rem 1.125rem;
  margin-bottom: 0.75rem;
  padding: 0.25rem 0 0.25rem 1.875rem;
}
@media (min-width: 960px) {
  .list--review .list__item,
  .list--event-management .list__item,
  .list--zambia .list__item {
    background-size: 1.5rem 1.5rem;
    margin: 0.375rem 4.1666666667%;
    padding-left: 2.625rem;
    width: 41.6666666667%;
  }
}
.list--review:last-child,
.list--event-management:last-child,
.list--zambia:last-child {
  margin-bottom: 0;
}

.list--social .list__item {
  display: inline-block;
  margin-left: 0.375rem;
  margin-right: 0.375rem;
  vertical-align: middle;
}
.list--social .list__item .icon {
  height: 2.625rem;
  width: 2.625rem;
}
.list--social .list__item .icon__svg {
  fill: #fff;
}
.list--social .list__link {
  display: block;
  height: 2.625rem;
  transition: transform 0.3s;
  width: 2.625rem;
}
.list--social .list__link:hover, .list--social .list__link:focus {
  transform: scale(1.2);
}

.list--graduates {
  font-family: "DIN", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
}
@media (min-width: 600px) {
  .list--graduates {
    align-content: stretch;
    display: flex;
    flex-wrap: wrap;
  }
}
.list--graduates .list__content {
  background-color: #f6f7f7;
  border: 5px solid #fff;
  padding: 1.5rem;
}
@media (min-width: 600px) {
  .list--graduates .list__content {
    width: 50%;
  }
}
.list--graduates .list__content:last-child {
  width: 100%;
}
.list--graduates .list__item--term {
  font-size: 3.6989016056rem;
  line-height: 1.081314879;
  font-family: "DIN Medium", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
@media (min-width: 600px) and (max-width: 960px) {
  .list--graduates .list__item--term {
    font-size: calc(3.6989016056rem + 0.4623627007 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .list--graduates .list__item--term {
    font-size: calc(4.1612643063rem + 0.4623627007 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .list--graduates .list__item--term {
    font-size: 4.623627007rem;
  }
}
.list--graduates .list__item--definition {
  font-size: 1.1390625rem;
  line-height: 1.404494382;
  font-family: "DIN", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  margin-bottom: 0.375rem;
}
@media (min-width: 600px) and (max-width: 960px) {
  .list--graduates .list__item--definition {
    font-size: calc(1.1390625rem + 0.1423828125 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .list--graduates .list__item--definition {
    font-size: calc(1.2814453125rem + 0.1423828125 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .list--graduates .list__item--definition {
    font-size: 1.423828125rem;
  }
}

.section {
  background-attachment: fixed;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 4.5rem;
  padding-top: 4.5rem;
  position: relative;
  text-align: center;
}
@media (min-width: 960px) {
  .section {
    background-attachment: fixed;
  }
  .section .cards {
    text-align: left;
  }
}
.section .container {
  position: relative;
  z-index: 1;
}
.section--light {
  background-color: #fff;
}
.section--light .section__heading,
.section--light .section__subheading {
  color: #361163;
}
.section--light .icon__svg {
  fill: #361163;
}
.section--light .section__box {
  background-color: #f6f7f7;
}

.section--dark {
  background-color: #000;
  color: #fff;
}
.section--dark .icon__svg {
  fill: #fff;
}
.section--dark .section__link {
  border-bottom: 1px dotted #fff;
  color: #fff;
}
.section--dark .section__link:hover, .section--dark .section__link:focus {
  border-bottom-style: solid;
}
.section--dark .slick-dots button {
  border-color: #fff;
}
.section--dark .slick-dots .slick-active button {
  background-color: #fff;
}
.section--dark .section__box {
  background-color: rgba(0, 0, 0, 0.5);
}
.section--dark .card__link .card__content {
  background-color: #525e66;
}

.section--gradient {
  background: linear-gradient(130deg, #b70062, #361163);
}
.section--gradient .card__link .card__content {
  background-color: rgba(0, 0, 0, 0.5);
}

.section__heading {
  font-size: 2.0526276112rem;
  line-height: 1.266562744;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section__heading {
    font-size: calc(2.0526276112rem + 0.2565784514 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section__heading {
    font-size: calc(2.3092060626rem + 0.2565784514 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section__heading {
    font-size: 2.565784514rem;
  }
}
.section__heading--subtle {
  font-size: 1.1390625rem;
  line-height: 1.404494382;
  margin-bottom: 0;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section__heading--subtle {
    font-size: calc(1.1390625rem + 0.1423828125 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section__heading--subtle {
    font-size: calc(1.2814453125rem + 0.1423828125 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section__heading--subtle {
    font-size: 1.423828125rem;
  }
}
.section__heading--prominent {
  font-size: 3.2879125383rem;
  line-height: 1.094890511;
  font-family: "DIN Medium", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  text-transform: uppercase;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section__heading--prominent {
    font-size: calc(3.2879125383rem + 0.4109890673 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section__heading--prominent {
    font-size: calc(3.6989016056rem + 0.4109890673 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section__heading--prominent {
    font-size: 4.1098906729rem;
  }
}

.section__heading-text--emphasise {
  font-size: 1.6218292236rem;
  line-height: 1.356684756;
  display: block;
  font-family: "DIN Medium", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  text-transform: uppercase;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section__heading-text--emphasise {
    font-size: calc(1.6218292236rem + 0.202728653 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section__heading-text--emphasise {
    font-size: calc(1.8245578766rem + 0.202728653 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section__heading-text--emphasise {
    font-size: 2.0272865295rem;
  }
}

.section__subheading {
  font-size: 1.4416259766rem;
  line-height: 1.387347392;
  margin-bottom: 1.6875rem;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section__subheading {
    font-size: calc(1.4416259766rem + 0.1802032471 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section__subheading {
    font-size: calc(1.6218292236rem + 0.1802032471 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section__subheading {
    font-size: 1.8020324707rem;
  }
}

.section__text {
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
}
.section__box {
  margin: 1.5rem;
  padding: 1.5rem 2.25rem;
}

.section__cards {
  text-align: left;
}
@media (min-width: 600px) {
  .section__cards {
    display: flex;
  }
}
@media (min-width: 960px) {
  .section__cards {
    padding: 0 8.3333333333%;
  }
}
@media (min-width: 600px) {
  .section__cards .card__container,
  .section__cards .card__link {
    height: 100%;
  }
}
@media (min-width: 600px) {
  .section__cards .card__link {
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 600px) {
  .section__cards .card__content {
    flex-grow: 1;
  }
}

@media (min-width: 400px) {
  .section__gallery {
    display: flex;
    flex-wrap: wrap;
  }
}

.section--hero {
  min-height: 1.5rem;
  padding-bottom: 12rem;
  padding-top: 6rem;
  transition: min-height 0.6s;
}
.section--hero::after {
  background: linear-gradient(135deg, rgba(54, 17, 99, 0.85), #6f3092);
}
.section--hero .section__heading {
  margin-bottom: 2.25rem;
}
.section--hero .section__heading--subtle {
  margin-bottom: 2.25rem;
}
.section--hero .section__text--intro {
  font-size: 1.1390625rem;
  line-height: 1.404494382;
  margin-bottom: 4.5rem;
  max-width: 760px;
  opacity: 0.85;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section--hero .section__text--intro {
    font-size: calc(1.1390625rem + 0.1423828125 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section--hero .section__text--intro {
    font-size: calc(1.2814453125rem + 0.1423828125 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section--hero .section__text--intro {
    font-size: 1.423828125rem;
  }
}
.section--hero .section__link {
  border-bottom: 0;
  display: inline-block;
  opacity: 0.5;
  transition: opacity 0.3s, transform 0.3s;
}
.section--hero .section__link:hover, .section--hero .section__link:focus {
  opacity: 1;
  transform: scale(1.1);
}
.section--hero .icon {
  height: 3.75rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3rem;
  width: 3.75rem;
}
.section--hero .icon__svg {
  fill: #fff;
  opacity: 0.75;
}
.section--hero .button {
  background-color: #fff;
  border-color: #fff;
  border-width: 2px;
  color: #361163;
}
.section--hero .button:hover, .section--hero .button:focus {
  background-color: transparent;
  color: #fff;
}

.section--intro {
  box-shadow: inset 0 1.125rem 1.125rem 0 rgba(0, 0, 0, 0.35), inset 0 -1.125rem 1.125rem 0 rgba(0, 0, 0, 0.35);
}
@media (min-width: 960px) {
  .section--intro {
    padding-bottom: 12rem;
    padding-top: 12rem;
  }
}
.section--intro .section__content {
  -webkit-backdrop-filter: blur(0.375rem) contrast(1);
  backdrop-filter: blur(0.375rem) contrast(1);
  background-color: rgba(27, 27, 27, 0.75);
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  padding: 2.25rem 1.5rem 3rem;
}
@media (min-width: 760px) {
  .section--intro .section__content {
    padding: 3rem 3.75rem 3.75rem;
  }
}

.section--review {
  padding-bottom: 6rem;
  padding-top: 6rem;
}

.section--coaching::before {
  background-color: rgba(27, 27, 27, 0.8);
}
.section--coaching .video {
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.5);
  margin-bottom: 3rem;
  margin-top: 3rem;
}
.section--coaching .section__subheading {
  font-size: 1.6218292236rem;
  line-height: 1.356684756;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section--coaching .section__subheading {
    font-size: calc(1.6218292236rem + 0.202728653 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section--coaching .section__subheading {
    font-size: calc(1.8245578766rem + 0.202728653 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section--coaching .section__subheading {
    font-size: 2.0272865295rem;
  }
}
.section--coaching .section__boxes {
  font-size: 1.0125rem;
  line-height: 1.382306477;
  font-family: "DIN Medium", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section--coaching .section__boxes {
    font-size: calc(1.0125rem + 0.1265625 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section--coaching .section__boxes {
    font-size: calc(1.1390625rem + 0.1265625 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section--coaching .section__boxes {
    font-size: 1.265625rem;
  }
}
@media (min-width: 760px) {
  .section--coaching .section__boxes {
    display: flex;
  }
}
.section--coaching .section__box {
  margin: 0 0.75rem 0.75rem;
}
@media (min-width: 760px) {
  .section--coaching .section__box {
    width: 50%;
  }
}

.section--officiating::before {
  background: linear-gradient(130deg, rgba(54, 17, 99, 0.85), rgba(183, 0, 98, 0.85));
}
.section--officiating .image {
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.25);
}
.section--officiating .card__link .card__content {
  background-color: rgba(0, 0, 0, 0.35);
}

.section--performance::before {
  background-color: rgba(27, 27, 27, 0.85);
}
.section--performance .video {
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.5);
  margin-bottom: 3rem;
  margin-top: 3rem;
}
.section--performance .section__boxes {
  font-size: 1.0125rem;
  line-height: 1.382306477;
  font-family: "DIN Medium", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section--performance .section__boxes {
    font-size: calc(1.0125rem + 0.1265625 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section--performance .section__boxes {
    font-size: calc(1.1390625rem + 0.1265625 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section--performance .section__boxes {
    font-size: 1.265625rem;
  }
}
@media (min-width: 760px) {
  .section--performance .section__boxes {
    display: flex;
  }
}
.section--performance .section__box {
  margin: 0 0.75rem 0.75rem;
}
@media (min-width: 760px) {
  .section--performance .section__box {
    width: 50%;
  }
}

.section--media::before {
  background-color: rgba(255, 255, 255, 0.88);
}
.section--media .section__boxes {
  font-size: 1.0125rem;
  line-height: 1.382306477;
  font-family: "DIN Medium", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section--media .section__boxes {
    font-size: calc(1.0125rem + 0.1265625 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section--media .section__boxes {
    font-size: calc(1.1390625rem + 0.1265625 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section--media .section__boxes {
    font-size: 1.265625rem;
  }
}
@media (min-width: 760px) {
  .section--media .section__boxes {
    display: flex;
  }
}
.section--media .section__box {
  margin: 0 0.75rem 0.75rem;
}
@media (min-width: 760px) {
  .section--media .section__box {
    width: 50%;
  }
}

.section--event::before {
  background-color: rgba(27, 27, 27, 0.8);
}
.section--event .image {
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.85);
}
.section--event .section__boxes {
  font-size: 1.0125rem;
  line-height: 1.382306477;
  font-family: "DIN Medium", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  margin-bottom: 1.5rem;
}
@media (min-width: 600px) and (max-width: 960px) {
  .section--event .section__boxes {
    font-size: calc(1.0125rem + 0.1265625 * (100vw - 600px) / 360);
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .section--event .section__boxes {
    font-size: calc(1.1390625rem + 0.1265625 * (100vw - 960px) / 260);
  }
}
@media (min-width: 1220px) {
  .section--event .section__boxes {
    font-size: 1.265625rem;
  }
}
@media (min-width: 760px) {
  .section--event .section__boxes {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.section--event .section__box-wrapper {
  margin-bottom: 0;
  padding: 0 0.375rem 0.75rem;
}
@media (min-width: 760px) {
  .section--event .section__box-wrapper {
    width: 50%;
  }
}
@media (min-width: 960px) {
  .section--event .section__box-wrapper {
    width: 33.3333333333%;
  }
}
.section--event .section__box {
  height: 100%;
  margin: 0;
}
.section--event .section__gallery {
  margin-bottom: 2.25rem;
}

.section--zambia .video-wrapper {
  background: linear-gradient(130deg, rgb(239, 125, 0), rgb(222, 32, 16));
  margin-bottom: 3rem;
  margin-top: 3rem;
  padding: 0.75rem;
}
@media (min-width: 960px) {
  .section--zambia .video-wrapper {
    padding: 1.5rem;
  }
}
.section--zambia .video {
  margin-bottom: 0;
  margin-top: 0;
}
.section--zambia::before {
  background-color: rgba(24.8936170213, 87.4468085106, 2.5531914894, 0.93);
}

.section--alumni .section__text {
  max-width: 860px;
}
.section--alumni .list__item--term {
  color: #361163;
}
.section--alumni .list__item--definition {
  color: #525e66;
}

.section--support::before {
  background: linear-gradient(130deg, rgba(54, 17, 99, 0.85), rgba(183, 0, 98, 0.85));
}
.section--support .card__link .card__content {
  background-color: rgba(0, 0, 0, 0.35);
}

.section--recognition .list__heading {
  color: #361163;
}
.section--recognition .icon__svg {
  fill: #fff;
}

.section--follow {
  background-color: #525e66;
}

.section--contact {
  background-color: #1b1b1b;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fcGxhY2Vob2xkZXJzLnNjc3MiLCJjdmEtaW1wYWN0LXJlcG9ydC0yMDI0LmNzcyIsInZlbmRvcnMvbW9kdWxhcnNjYWxlL19yZXNwb25kLnNjc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX2NvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhLnNjc3MiLCJjb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwiY29tcG9uZW50cy9fbGlzdC5zY3NzIiwicGFnZXMvX2hvbWUuc2NzcyIsInBhZ2VzL3NlY3Rpb25zL19oZXJvLnNjc3MiLCJwYWdlcy9zZWN0aW9ucy9faW50cm8uc2NzcyIsInBhZ2VzL3NlY3Rpb25zL19yZXZpZXcuc2NzcyIsInBhZ2VzL3NlY3Rpb25zL19jb2FjaGluZy5zY3NzIiwicGFnZXMvc2VjdGlvbnMvX29mZmljaWF0aW5nLnNjc3MiLCJwYWdlcy9zZWN0aW9ucy9fcGVyZm9ybWFuY2Uuc2NzcyIsInBhZ2VzL3NlY3Rpb25zL19tZWRpYS5zY3NzIiwicGFnZXMvc2VjdGlvbnMvX2V2ZW50LnNjc3MiLCJwYWdlcy9zZWN0aW9ucy9femFtYmlhLnNjc3MiLCJwYWdlcy9zZWN0aW9ucy9fYWx1bW5pLnNjc3MiLCJwYWdlcy9zZWN0aW9ucy9fc3VwcG9ydC5zY3NzIiwicGFnZXMvc2VjdGlvbnMvX3JlY29nbml0aW9uLnNjc3MiLCJwYWdlcy9zZWN0aW9ucy9fZm9sbG93LnNjc3MiLCJwYWdlcy9zZWN0aW9ucy9fY29udGFjdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFFOzs7Ozs7O0VBSUUsZ0JBQUE7QUNKSjs7QUQrRkE7RUV4RVUsb0JBQUE7RUNKUix3QkFBQTtFSCtFQSxzRUk5RmtCO0FIRXBCO0FDMEJVO0VGK0RWO0lFNURZLDhEQUFBO0VEekJWO0FBQ0Y7QUNxQlU7RUYrRFY7SUU1RFksaUVBQUE7RURwQlY7QUFDRjtBQzZCSTtFRmtESjtJRWpETSxzQkFBQTtFRDFCSjtBQUNGOztBRHNHQTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLE9BQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtBQ25HRjs7QUluQ0E7RUFDRSx1QkFBQTtBSnNDRjs7QUtwQ0E7RUFDRSxhQUFBO0FMdUNGOztBTXhDQTtFQUNFLGNBQUE7QU4yQ0Y7O0FPNUNBO0VBQ0UscUNBQUE7QVArQ0Y7O0FPbkNFO0VBQ0UscVZBQUE7RUFDQSxZQUFBO0FQc0NKO0FPakNFO0VBQ0UsV0pzTW9CO0VJck1wQixZQUFBO0FQbUNKO0FPL0JJO0VBQ0Usc0JKZ01rQjtBSC9KeEI7QU85Qkk7RUFFRSxXSjJMa0I7QUg1SnhCO0FPeEJJO0VBQ0Usb1NBQUE7QVAwQk47QVFtZUk7RUR0ZkE7SUFFSSxtVkFBQTtJQUNBLFlBQUE7RVBxQk47QUFDRjs7QVN6RUE7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QVQ0RUY7QVN4RUU7RUFDRSxxQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtBVDBFSjtBU3JFRTtFQUNFLHlCTmdNb0I7RU0vTHBCLFNBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZU5nUHdCO0VNL094QixtQk44T3dCO0VNN094QixvQk42T3dCO0VNNU94QixVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY051T3dCO0FIaEs1QjtBUTRiSTtFQ2xoQkY7SUFrQkksWU5xT3NCO0lNcE90QixXTm9Pc0I7RUg1SjFCO0FBQ0Y7QVN0RUk7RUFFRSxxRUFBQTtFQUNBLHNCQUFBO0FUdUVOO0FTaEVJO0VBQ0UseUJONkprQjtFTTVKbEIsZUFBQTtFQUNBLFVBQUE7RUFDQSxzQkFBQTtBVGtFTjs7QVV6SEE7OztFVHVCVSxvQkFBQTtFQ0pSLHdCQUFBO0VRZEEsc0VQRGtCO0VPRWxCLHNCUDJRMEI7RU8xUTFCLGdCQUFBO0FWNEhGO0FDbkdVO0VTaENWOzs7SVRtQ1ksOERBQUE7RURzR1Y7QUFDRjtBQzFHVTtFU2hDVjs7O0lUbUNZLGlFQUFBO0VENkdWO0FBQ0Y7QUNwR0k7RVM3Q0o7OztJVDhDTSxzQkFBQTtFRHlHSjtBQUNGO0FRNllJO0VFcmlCSjs7O0lBVUksYUFBQTtJQUNBLGVBQUE7RVZvSkY7QUFDRjtBVWxKRTs7O0VBQ0Usd29CQUFBO0VBQ0EsaUNBQUE7RUFDQSw0QkFBQTtFQUNBLGtDQUFBO0VBQ0Esc0JQc1B3QjtFT3JQeEIsbUNBQUE7QVZzSko7QVEyWEk7RUV2aEJGOzs7SUFTSSw4QkFBQTtJQUNBLDhCQUFBO0lBQ0Esc0JQMFBzQjtJT3pQdEIscUJBQUE7RVZ5Sko7QUFDRjtBVXRKRTs7O0VBQ0UsZ0JBQUE7QVYwSko7O0FVOUlFO0VBQ0UscUJBQUE7RUFDQSxxQlAwTndCO0VPek54QixzQlB5TndCO0VPeE54QixzQkFBQTtBVmlKSjtBVS9JSTtFQUNFLGdCUGlPc0I7RU9oT3RCLGVQZ09zQjtBSC9FNUI7QVU5SUk7RUFDRSxVUG9La0I7QUhwQnhCO0FVNUlFO0VBQ0UsY0FBQTtFQUNBLGdCUHNOd0I7RU9yTnhCLDBCQUFBO0VBQ0EsZVBvTndCO0FIdEU1QjtBVTVJSTtFQUVFLHFCQUFBO0FWNklOOztBVWpJQTtFQUNFLHNFUDVFa0I7RU82RWxCLHFCUGtMMEI7RU9qTDFCLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtBVm9JRjtBUTZVSTtFRXRkSjtJQVFJLHNCQUFBO0lBQ0EsYUFBQTtJQUNBLGVBQUE7RVZxSUY7QUFDRjtBVW5JRTtFQUNFLHlCUDZIb0I7RU81SHBCLHNCQUFBO0VBQ0EsZVBvS3dCO0FIL0I1QjtBUWlVSTtFRXpjRjtJQU1JLFVBQUE7RVZzSUo7QUFDRjtBVXBJSTtFQUNFLFdBQUE7QVZzSU47QVVsSUU7RVRuRlEsMEJBQUE7RUNKUix3QkFBQTtFUTBGRSw2RVB2R2dCO0FIMk9wQjtBQ2pOVTtFUzBFUjtJVHZFVSx1RUFBQTtFRGtOVjtBQUNGO0FDdE5VO0VTMEVSO0lUdkVVLHVFQUFBO0VEdU5WO0FBQ0Y7QUM5TUk7RVM2REY7SVQ1REkseUJBQUE7RURpTko7QUFDRjtBVWhKRTtFVHpGUSx1QkFBQTtFQ0pSLHdCQUFBO0VRZ0dFLHNFUC9HZ0I7RU9nSGhCLHVCUG1Kd0I7QUhENUI7QUN0T1U7RVNnRlI7SVQ3RVUsb0VBQUE7RUR1T1Y7QUFDRjtBQzNPVTtFU2dGUjtJVDdFVSx1RUFBQTtFRDRPVjtBQUNGO0FDbk9JO0VTbUVGO0lUbEVJLHlCQUFBO0VEc09KO0FBQ0Y7O0FXdFJBO0VBQ0UsNEJBQUE7RUFDQSwrQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSxzQlJpUjBCO0VRaFIxQixtQlJnUjBCO0VRL1ExQixrQkFBQTtFQUNBLGtCQUFBO0FYeVJGO0FRcVFJO0VHdGlCSjtJQVdJLDRCQUFBO0VYMFJGO0VXeFJFO0lBQ0UsZ0JBQUE7RVgwUko7QUFDRjtBV3JSRTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtBWHVSSjtBVzFQQTtFQUNFLHNCUndLc0I7QUhvRnhCO0FXeFBFOztFQUVFLGNSdUhvQjtBSG1JeEI7QVdyUEU7RUFDRSxhUmlIb0I7QUhzSXhCO0FXbFBFO0VBQ0UseUJScUpvQjtBSCtGeEI7O0FXek9BO0VBQ0Usc0JSdUlzQjtFUXRJdEIsV1J5SXNCO0FIbUd4QjtBV3hPRTtFQUNFLFVSb0lvQjtBSHNHeEI7QVdyT0U7RUFDRSw4QkFBQTtFQUNBLFdSNkhvQjtBSDBHeEI7QVdyT0k7RUFFRSwwQkFBQTtBWHNPTjtBVy9OSTtFQUNFLGtCUmlIa0I7QUhnSHhCO0FXN05NO0VBQ0Usc0JSNEdnQjtBSG1IeEI7QVd4TkU7RUFDRSxvQ0FBQTtBWDBOSjtBV3BOSTtFQUNFLHlCUm1Ga0I7QUhtSXhCOztBVzFNQTtFQUNFLHFEQUFBO0FYNk1GO0FXeE1JO0VBQ0Usb0NBQUE7QVgwTU47O0FXOUxBO0VWdElVLDBCQUFBO0VDSlIsd0JBQUE7QUY2VUY7QUNoVVU7RVU2SFY7SVYxSFksdUVBQUE7RURpVVY7QUFDRjtBQ3JVVTtFVTZIVjtJVjFIWSx1RUFBQTtFRHNVVjtBQUNGO0FDN1RJO0VVZ0hKO0lWL0dNLHlCQUFBO0VEZ1VKO0FBQ0Y7QVc3TUU7RVYzSVEsdUJBQUE7RUNKUix3QkFBQTtFU2tKRSxnQkFBQTtBWCtNSjtBQ3BWVTtFVWtJUjtJVi9IVSxvRUFBQTtFRHFWVjtBQUNGO0FDelZVO0VVa0lSO0lWL0hVLHVFQUFBO0VEMFZWO0FBQ0Y7QUNqVkk7RVVxSEY7SVZwSEkseUJBQUE7RURvVko7QUFDRjtBV3pORTtFVm5KUSwwQkFBQTtFQ0pSLHdCQUFBO0VTMEpFLDZFUnZLZ0I7RVF3S2hCLHlCQUFBO0FYMk5KO0FDeldVO0VVMElSO0lWdklVLHVFQUFBO0VEMFdWO0FBQ0Y7QUM5V1U7RVUwSVI7SVZ2SVUsdUVBQUE7RUQrV1Y7QUFDRjtBQ3RXSTtFVTZIRjtJVjVISSwwQkFBQTtFRHlXSjtBQUNGOztBVy9OQTtFVmxLVSwwQkFBQTtFQ0pSLHdCQUFBO0VTeUtBLGNBQUE7RUFDQSw2RVJ2TGtCO0VRd0xsQix5QkFBQTtBWGtPRjtBQ2hZVTtFVXlKVjtJVnRKWSxzRUFBQTtFRGlZVjtBQUNGO0FDcllVO0VVeUpWO0lWdEpZLHNFQUFBO0VEc1lWO0FBQ0Y7QUM3WEk7RVU0SUo7SVYzSU0sMEJBQUE7RURnWUo7QUFDRjs7QVd2T0E7RVZqTFUsMEJBQUE7RUNKUix3QkFBQTtFU3dMQSx3QlJrRTBCO0FId0s1QjtBQ3JaVTtFVXdLVjtJVnJLWSx1RUFBQTtFRHNaVjtBQUNGO0FDMVpVO0VVd0tWO0lWcktZLHVFQUFBO0VEMlpWO0FBQ0Y7QUNsWkk7RVUySko7SVYxSk0sMEJBQUE7RURxWko7QUFDRjs7QVcvT0E7RUFDRSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QVhrUEY7QVdsT0E7RUFHRSxjUndCMEI7RVF2QjFCLHVCQUFBO0FYa09GOztBV3hOQTtFQUNFLGdCQUFBO0FYMk5GO0FRbUZJO0VHL1NKO0lBSUksYUFBQTtFWDRORjtBQUNGO0FROEVJO0VHL1NKO0lBUUksd0JBQUE7RVg2TkY7QUFDRjtBUXlFSTtFR3BTRjs7SUFHSSxZQUFBO0VYNk5KO0FBQ0Y7QVFtRUk7RUc3UkY7SUFFSSxhQUFBO0lBQ0Esc0JBQUE7RVg0Tko7QUFDRjtBUTZESTtFR3RSRjtJQUVJLFlBQUE7RVgyTko7QUFDRjs7QVF3REk7RUd4UUo7SUFFSSxhQUFBO0lBQ0EsZUFBQTtFWG1ORjtBQUNGOztBWXhmQTtFQUNFLGtCVHNRMEI7RVNyUTFCLHFCQUFBO0VBQ0EsaUJUdVIwQjtFU3RSMUIsMkJBQUE7QVoyZkY7QVl6ZkU7RUFHRSxvRUFBQTtBWnlmSjtBWXBmRTtFQUNFLHNCVHNRd0I7QUhnUDVCO0FZamZFO0VBQ0Usc0JUZ1F3QjtBSG1QNUI7QVk5ZUU7RVhDUSx1QkFBQTtFQ0pSLHdCQUFBO0VVTUUscUJUNFB3QjtFUzNQeEIsZ0JBQUE7RUFDQSxhQUFBO0FaZ2ZKO0FDM2VVO0VXVlI7SVhhVSxvRUFBQTtFRDRlVjtBQUNGO0FDaGZVO0VXVlI7SVhhVSx1RUFBQTtFRGlmVjtBQUNGO0FDeGVJO0VXdkJGO0lYd0JJLHlCQUFBO0VEMmVKO0FBQ0Y7QVkxZkU7RUFDRSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsWUFBQTtFQUNBLHdDQUFBO0FaNGZKO0FZMWZJO0VBRUUsVUFBQTtFQUNBLHFCQUFBO0FaMmZOO0FZcmZFO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQlRpT3dCO0VTaE94QixjQUFBO0FadWZKO0FZcGZFO0VBQ0UsVVRtS29CO0VTbEtwQixhQUFBO0Fac2ZKO0FZamZFO0VBQ0Usc0JUNEpvQjtFUzNKcEIsa0JUMkpvQjtFUzFKcEIsaUJBQUE7RUFDQSxjVDhHb0I7QUhxWXhCO0FZamZJO0VBRUUsNkJBQUE7RUFDQSxXVG9Ka0I7QUg4VnhCOztBYTdqQkE7RUFDRSw2R0FBQTtBYmdrQkY7QVF4Qkk7RUt6aUJKO0lBSUkscUJBQUE7SUFDQSxrQkFBQTtFYmlrQkY7QUFDRjtBYS9qQkU7RUFHRSxtREFBQTtFQUFBLDJDQUFBO0VBQ0Esd0NBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw0QkFBQTtBYitqQko7QVF0Q0k7RUtqaUJGO0lBV0ksNkJBQUE7RWJna0JKO0FBQ0Y7O0FjcGxCQTtFQUNFLG9CWHlSMEI7RVd4UjFCLGlCWHdSMEI7QUgrVDVCOztBZXhsQkU7RUFDRSx1Q0FBQTtBZjJsQko7QWV4bEJFO0VBQ0UsdUNBQUE7RUFDQSxtQlppUndCO0VZaFJ4QixnQlpnUndCO0FIMFU1QjtBZXZsQkU7RWRnQlEsMEJBQUE7RUNKUix3QkFBQTtBRitrQkY7QUNsa0JVO0VjekJSO0lkNEJVLHNFQUFBO0VEbWtCVjtBQUNGO0FDdmtCVTtFY3pCUjtJZDRCVSxzRUFBQTtFRHdrQlY7QUFDRjtBQy9qQkk7RWN0Q0Y7SWR1Q0ksMEJBQUE7RURra0JKO0FBQ0Y7QWV0bUJFO0VkWVEsb0JBQUE7RUNKUix3QkFBQTtFYUxFLDZFWlJnQjtBSGduQnBCO0FDdGxCVTtFY3JCUjtJZHdCVSw4REFBQTtFRHVsQlY7QUFDRjtBQzNsQlU7RWNyQlI7SWR3QlUsaUVBQUE7RUQ0bEJWO0FBQ0Y7QUNubEJJO0VjbENGO0lkbUNJLHNCQUFBO0VEc2xCSjtBQUNGO0FRaEdJO0VPMWhCRjtJQU1JLGFBQUE7RWZ3bkJKO0FBQ0Y7QWVybkJFO0VBQ0UseUJBQUE7QWZ1bkJKO0FReEdJO0VPaGhCRjtJQUlJLFVBQUE7RWZ3bkJKO0FBQ0Y7O0FnQnJwQkU7RUFDRSxtRkFBQTtBaEJ3cEJKO0FnQnJwQkU7RUFDRSx3Q0FBQTtBaEJ1cEJKO0FnQmpwQkk7RUFDRSxxQ0FBQTtBaEJtcEJOOztBaUIvcEJFO0VBQ0Usd0NBQUE7QWpCa3FCSjtBaUIvcEJFO0VBQ0UsdUNBQUE7RUFDQSxtQmRpUndCO0VjaFJ4QixnQmRnUndCO0FIaVo1QjtBaUI5cEJFO0VoQmdCUSxvQkFBQTtFQ0pSLHdCQUFBO0VlVEUsNkVkSmdCO0FIb3FCcEI7QUMxb0JVO0VnQnpCUjtJaEI0QlUsOERBQUE7RUQyb0JWO0FBQ0Y7QUMvb0JVO0VnQnpCUjtJaEI0QlUsaUVBQUE7RURncEJWO0FBQ0Y7QUN2b0JJO0VnQnRDRjtJaEJ1Q0ksc0JBQUE7RUQwb0JKO0FBQ0Y7QVFwSkk7RVM5aEJGO0lBTUksYUFBQTtFakJnckJKO0FBQ0Y7QWlCN3FCRTtFQUNFLHlCQUFBO0FqQitxQko7QVE1Skk7RVNwaEJGO0lBSUksVUFBQTtFakJnckJKO0FBQ0Y7O0FrQnpzQkU7RUFDRSwyQ0FBQTtBbEI0c0JKO0FrQnpzQkU7RWpCc0JRLG9CQUFBO0VDSlIsd0JBQUE7RWdCZkUsNkVmRWdCO0FIeXNCcEI7QUMvcUJVO0VpQi9CUjtJakJrQ1UsOERBQUE7RURnckJWO0FBQ0Y7QUNwckJVO0VpQi9CUjtJakJrQ1UsaUVBQUE7RURxckJWO0FBQ0Y7QUM1cUJJO0VpQjVDRjtJakI2Q0ksc0JBQUE7RUQrcUJKO0FBQ0Y7QVF6TEk7RVVwaUJGO0lBTUksYUFBQTtFbEIydEJKO0FBQ0Y7QWtCeHRCRTtFQUNFLHlCQUFBO0FsQjB0Qko7QVFqTUk7RVUxaEJGO0lBSUksVUFBQTtFbEIydEJKO0FBQ0Y7O0FtQjl1QkU7RUFDRSx1Q0FBQTtBbkJpdkJKO0FtQjl1QkU7RUFDRSx3Q0FBQTtBbkJndkJKO0FtQjd1QkU7RWxCa0JRLG9CQUFBO0VDSlIsd0JBQUE7RWlCWEUsNkVoQkZnQjtFZ0JHaEIscUJoQjBQd0I7QUhxZjVCO0FDeHRCVTtFa0IzQlI7SWxCOEJVLDhEQUFBO0VEeXRCVjtBQUNGO0FDN3RCVTtFa0IzQlI7SWxCOEJVLGlFQUFBO0VEOHRCVjtBQUNGO0FDcnRCSTtFa0J4Q0Y7SWxCeUNJLHNCQUFBO0VEd3RCSjtBQUNGO0FRbE9JO0VXaGlCRjtJQU9JLGFBQUE7SUFDQSxlQUFBO0lBQ0EsdUJBQUE7RW5CK3ZCSjtBQUNGO0FtQjV2QkU7RUFDRSxnQkFBQTtFQUNBLDJCQUFBO0FuQjh2Qko7QVE3T0k7RVduaEJGO0lBS0ksVUFBQTtFbkIrdkJKO0FBQ0Y7QVFsUEk7RVduaEJGO0lBU0kscUJBQUE7RW5CZ3dCSjtBQUNGO0FtQjd2QkU7RUFDRSxZQUFBO0VBQ0EsU0FBQTtBbkIrdkJKO0FtQjV2QkU7RUFDRSxzQmhCNE93QjtBSGtoQjVCOztBb0JyeUJFO0VBQ0UsdUVBQUE7RUFDQSxtQmpCb1J3QjtFaUJuUnhCLGdCakJtUndCO0VpQmxSeEIsZ0JqQnVRd0I7QUhpaUI1QjtBUXJRSTtFWXZpQkY7SUFPSSxlakI4UHNCO0VIMmlCMUI7QUFDRjtBb0J0eUJFO0VBQ0UsZ0JBQUE7RUFDQSxhQUFBO0FwQnd5Qko7QW9CbnlCRTtFQUNFLHdFQUFBO0FwQnF5Qko7O0FxQnp6QkU7RUFDRSxnQkFBQTtBckI0ekJKO0FxQnp6QkU7RUFDRSxjbEI4S29CO0FINm9CeEI7QXFCeHpCRTtFQUNFLGNsQjJNb0I7QUgrbUJ4Qjs7QXNCbjBCRTtFQUNFLG1GQUFBO0F0QnMwQko7QXNCajBCSTtFQUNFLHFDQUFBO0F0Qm0wQk47O0F1QjEwQkU7RUFDRSxjcEJrTG9CO0FIMnBCeEI7QXVCMTBCRTtFQUNFLFVwQnlOb0I7QUhtbkJ4Qjs7QXdCbDFCQTtFQUNFLHlCckJvTnNCO0FIaW9CeEI7O0F5QnQxQkE7RUFDRSx5QnRCNE5zQjtBSDZuQnhCIiwiZmlsZSI6ImN2YS1pbXBhY3QtcmVwb3J0LTIwMjQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgYXBwbGljYXRpb24td2lkZSBTYXNzIHZhcmlhYmxlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vXG4vLyBSZW1vdmUgdGhlIGJvdHRvbSBtYXJnaW4gb2YgYSBtb2R1bGUncyBsYXN0IGNoaWxkXG4vL1xuJW1vZHVsZSB7XG4gID4gKjpsYXN0LWNoaWxkLFxuICA+ICo6bGFzdC1jaGlsZCA+ICo6bGFzdC1jaGlsZCxcbiAgPiAqOmxhc3QtY2hpbGQgPiAqOmxhc3QtY2hpbGQgPiAqOmxhc3QtY2hpbGQsXG4gID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cblxuXG5cblxuLy9cbi8vIEhpZGUgZWxlbWVudCB3aGlsZSBtYWtpbmcgaXQgcmVhZGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4vL1xuJXZpc3VhbGx5LWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG5cblxuXG5cbi8vXG4vLyBQYWdlIGhlYWRpbmdcbi8vXG4lcGFnZS1oZWFkaW5nIHtcbiAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDkpO1xufVxuXG5cblxuXG5cbi8vXG4vLyBIZWFkaW5nXG4vL1xuJWhlYWRpbmcge1xuICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoNyk7XG5cbiAgbWFyZ2luLXRvcDogJHNwYWNlLWRvdWJsZTtcbn1cblxuXG5cblxuXG4vL1xuLy8gU3ViaGVhZGluZ1xuLy9cbiVzdWJoZWFkaW5nIHtcbiAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDQpO1xuXG4gIG1hcmdpbi10b3A6ICRzcGFjZS1kb3VibGU7XG5cblxuICAvLyBSZW1vdmUgc3BhY2UgYWJvdmUgaWYgZGlyZWN0bHkgYmVsb3cgYSBoZWFkaW5nXG4gIC5oZWFkaW5nICsgJiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cblxuXG5cbi8vXG4vLyBTdWItc3ViaGVhZGluZ1xuLy9cbiVzdWItc3ViaGVhZGluZyB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygzKTtcblxuICBtYXJnaW4tdG9wOiAkc3BhY2UtZG91YmxlO1xuXG5cbiAgLy8gUmVtb3ZlIHNwYWNlIGFib3ZlIGlmIGRpcmVjdGx5IGJlbG93IGEgc3ViaGVhZGluZ1xuICAuc3ViaGVhZGluZyArICYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG5cblxuXG4vL1xuLy8gTGVhZCBwYXJhZ3JhcGhcbi8vXG4lbGVhZC1wYXJhZ3JhcGgge1xuICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMik7XG5cbiAgZm9udC1mYW1pbHk6ICRmb250LWJyYW5kO1xufVxuXG5cblxuXG5cbi8vXG4vLyBNYWtlIGl0ZW1zIGdvIGZ1bGwgd2lkdGhcbi8vXG4lZnVsbC13aWR0aCB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiA1MCU7XG4gIHdpZHRoOiAxMDB2dztcbn1cblxuXG5cblxuXG4vL1xuLy8gT3ZlcmxheVxuLy9cbiVvdmVybGF5IHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbn1cbiIsIi5zZWN0aW9uLS1pbnRybyAuc2VjdGlvbl9fY29udGVudCA+ICo6bGFzdC1jaGlsZCwgLnNlY3Rpb25fX2JveCA+ICo6bGFzdC1jaGlsZCxcbi5zZWN0aW9uLS1pbnRybyAuc2VjdGlvbl9fY29udGVudCA+ICo6bGFzdC1jaGlsZCA+ICo6bGFzdC1jaGlsZCxcbi5zZWN0aW9uX19ib3ggPiAqOmxhc3QtY2hpbGQgPiAqOmxhc3QtY2hpbGQsXG4uc2VjdGlvbi0taW50cm8gLnNlY3Rpb25fX2NvbnRlbnQgPiAqOmxhc3QtY2hpbGQgPiAqOmxhc3QtY2hpbGQgPiAqOmxhc3QtY2hpbGQsXG4uc2VjdGlvbl9fYm94ID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkLFxuLnNlY3Rpb24tLWludHJvIC5zZWN0aW9uX19jb250ZW50ID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkLFxuLnNlY3Rpb25fX2JveCA+ICo6bGFzdC1jaGlsZCA+ICo6bGFzdC1jaGlsZCA+ICo6bGFzdC1jaGlsZCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zZWN0aW9uX190ZXh0LS1pbnRybyB7XG4gIGZvbnQtc2l6ZTogMS4wMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zODIzMDY0Nzc7XG4gIGZvbnQtZmFtaWx5OiBcIkRJTlwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5zZWN0aW9uX190ZXh0LS1pbnRybyB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMDEyNXJlbSArIDAuMTI2NTYyNSAqICgxMDB2dyAtIDYwMHB4KSAvIDM2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbl9fdGV4dC0taW50cm8ge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjEzOTA2MjVyZW0gKyAwLjEyNjU2MjUgKiAoMTAwdncgLSA5NjBweCkgLyAyNjApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uX190ZXh0LS1pbnRybyB7XG4gICAgZm9udC1zaXplOiAxLjI2NTYyNXJlbTtcbiAgfVxufVxuXG4uc2VjdGlvbi0taGVybzo6YWZ0ZXIsIC5zZWN0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG59XG5cbmh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1haW4tY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4uYnJlYWRjcnVtYnNfX2l0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIuNzQ0JTIwMTJMLjE2OC44NzRBLjUuNSUyMDAlMjAxJTIwMSUyMC44My4xMjZsMTMlMjAxMS41YS41LjUlMjAwJTIwMCUyMDElMjAwJTIwLjc0OGwtMTMlMjAxMS41YS41LjUlMjAwJTIwMSUyMDEtLjY2Mi0uNzQ4TDEyLjc0NCUyMDEyeiUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjAlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5icmVhZGNydW1ic19faXRlbSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5icmVhZGNydW1ic19faXRlbSBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uYnJlYWRjcnVtYnNfX2l0ZW0gYTpob3ZlciwgLmJyZWFkY3J1bWJzX19pdGVtIGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5icmVhZGNydW1ic19faXRlbTpmaXJzdC1jaGlsZCBhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCAlM0NzdmclMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMTAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMCUyMDEwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0wJTIwMy42OHY2LjMyMmgzLjg4OXYtMy44OUg2LjExdjMuODlIMTBWMy42OEw1JTIwMHolMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gIC5icmVhZGNydW1ic19faXRlbTpudGgtbGFzdC1jaGlsZCgyKTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEuMjU0JTIwMTJMMTMuODMlMjAyMy4xMjZhLjUuNSUyMDAlMjAxJTIwMS0uNjYyLjc0OGwtMTMtMTEuNWEuNS41JTIwMCUyMDAlMjAxJTIwMC0uNzQ4bDEzLTExLjVhLjUuNSUyMDAlMjAxJTIwMSUyMC42NjMuNzQ4TDEuMjU1JTIwMTJ6JTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMCUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cblxuLnNsaWNrLWRvdHMge1xuICBsaW5lLWhlaWdodDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNsaWNrLWRvdHMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnNsaWNrLWRvdHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NiY2VjZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG91dGxpbmU6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDAuNzVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnNsaWNrLWRvdHMgYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gIH1cbn1cbi5zbGljay1kb3RzIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3Ni43NDI1NzQyNTc0LCAxODEuMjU3NDI1NzQyNiwgMTgxLjI1NzQyNTc0MjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xufVxuLnNsaWNrLWRvdHMgLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI1ZTY2O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG59XG5cbi5saXN0LS1yZXZpZXcsXG4ubGlzdC0tZXZlbnQtbWFuYWdlbWVudCxcbi5saXN0LS16YW1iaWEge1xuICBmb250LXNpemU6IDEuMDEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzgyMzA2NDc3O1xuICBmb250LWZhbWlseTogXCJESU5cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAubGlzdC0tcmV2aWV3LFxuICAubGlzdC0tZXZlbnQtbWFuYWdlbWVudCxcbiAgLmxpc3QtLXphbWJpYSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMDEyNXJlbSArIDAuMTI2NTYyNSAqICgxMDB2dyAtIDYwMHB4KSAvIDM2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAubGlzdC0tcmV2aWV3LFxuICAubGlzdC0tZXZlbnQtbWFuYWdlbWVudCxcbiAgLmxpc3QtLXphbWJpYSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMTM5MDYyNXJlbSArIDAuMTI2NTYyNSAqICgxMDB2dyAtIDk2MHB4KSAvIDI2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmxpc3QtLXJldmlldyxcbiAgLmxpc3QtLWV2ZW50LW1hbmFnZW1lbnQsXG4gIC5saXN0LS16YW1iaWEge1xuICAgIGZvbnQtc2l6ZTogMS4yNjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAubGlzdC0tcmV2aWV3LFxuICAubGlzdC0tZXZlbnQtbWFuYWdlbWVudCxcbiAgLmxpc3QtLXphbWJpYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cbi5saXN0LS1yZXZpZXcgLmxpc3RfX2l0ZW0sXG4ubGlzdC0tZXZlbnQtbWFuYWdlbWVudCAubGlzdF9faXRlbSxcbi5saXN0LS16YW1iaWEgLmxpc3RfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NnJTIwZmlsbCUzRCUyMiUyM0ZGRiUyMiUyMGZpbGwtcnVsZSUzRCUyMm5vbnplcm8lMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNi42NTklMjA4LjEzNGEuNS41JTIwMCUyMDElMjAxJTIwLjY4Mi43MzJsLTcuNSUyMDdhLjUuNSUyMDAlMjAwJTIwMS0uNjk1LS4wMTJsLTIuNS0yLjVhLjUuNSUyMDAlMjAwJTIwMSUyMC43MDgtLjcwOGwyLjE1OCUyMDIuMTU5JTIwNy4xNDctNi42N3olMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjMlMjAxMmMwLTYuMDc1LTQuOTI1LTExLTExLTExQzUuOTIzJTIwMSUyMDElMjA1LjkyNCUyMDElMjAxMnM0LjkyMyUyMDExJTIwMTElMjAxMWM2LjA3NSUyMDAlMjAxMS00LjkyNSUyMDExLTExem0xJTIwMGMwJTIwNi42MjctNS4zNzMlMjAxMi0xMiUyMDEyLTYuNjI5JTIwMC0xMi01LjM3Mi0xMi0xMlM1LjM3MSUyMDAlMjAxMiUyMDBjNi42MjclMjAwJTIwMTIlMjA1LjM3MyUyMDEyJTIwMTJ6JTIyLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuMTI1cmVtIDEuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAgMC4yNXJlbSAxLjg3NXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAubGlzdC0tcmV2aWV3IC5saXN0X19pdGVtLFxuICAubGlzdC0tZXZlbnQtbWFuYWdlbWVudCAubGlzdF9faXRlbSxcbiAgLmxpc3QtLXphbWJpYSAubGlzdF9faXRlbSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjVyZW0gMS41cmVtO1xuICAgIG1hcmdpbjogMC4zNzVyZW0gNC4xNjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNjI1cmVtO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuLmxpc3QtLXJldmlldzpsYXN0LWNoaWxkLFxuLmxpc3QtLWV2ZW50LW1hbmFnZW1lbnQ6bGFzdC1jaGlsZCxcbi5saXN0LS16YW1iaWE6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5saXN0LS1zb2NpYWwgLmxpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjM3NXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5saXN0LS1zb2NpYWwgLmxpc3RfX2l0ZW0gLmljb24ge1xuICBoZWlnaHQ6IDIuNjI1cmVtO1xuICB3aWR0aDogMi42MjVyZW07XG59XG4ubGlzdC0tc29jaWFsIC5saXN0X19pdGVtIC5pY29uX19zdmcge1xuICBmaWxsOiAjZmZmO1xufVxuLmxpc3QtLXNvY2lhbCAubGlzdF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIuNjI1cmVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgd2lkdGg6IDIuNjI1cmVtO1xufVxuLmxpc3QtLXNvY2lhbCAubGlzdF9fbGluazpob3ZlciwgLmxpc3QtLXNvY2lhbCAubGlzdF9fbGluazpmb2N1cyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuLmxpc3QtLWdyYWR1YXRlcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkRJTlwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDk2MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5saXN0LS1ncmFkdWF0ZXMge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cbi5saXN0LS1ncmFkdWF0ZXMgLmxpc3RfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmN2Y3O1xuICBib3JkZXI6IDVweCBzb2xpZCAjZmZmO1xuICBwYWRkaW5nOiAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmxpc3QtLWdyYWR1YXRlcyAubGlzdF9fY29udGVudCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuLmxpc3QtLWdyYWR1YXRlcyAubGlzdF9fY29udGVudDpsYXN0LWNoaWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubGlzdC0tZ3JhZHVhdGVzIC5saXN0X19pdGVtLS10ZXJtIHtcbiAgZm9udC1zaXplOiAzLjY5ODkwMTYwNTZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA4MTMxNDg3OTtcbiAgZm9udC1mYW1pbHk6IFwiRElOIE1lZGl1bVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5saXN0LS1ncmFkdWF0ZXMgLmxpc3RfX2l0ZW0tLXRlcm0ge1xuICAgIGZvbnQtc2l6ZTogY2FsYygzLjY5ODkwMTYwNTZyZW0gKyAwLjQ2MjM2MjcwMDcgKiAoMTAwdncgLSA2MDBweCkgLyAzNjApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgLmxpc3QtLWdyYWR1YXRlcyAubGlzdF9faXRlbS0tdGVybSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDQuMTYxMjY0MzA2M3JlbSArIDAuNDYyMzYyNzAwNyAqICgxMDB2dyAtIDk2MHB4KSAvIDI2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmxpc3QtLWdyYWR1YXRlcyAubGlzdF9faXRlbS0tdGVybSB7XG4gICAgZm9udC1zaXplOiA0LjYyMzYyNzAwN3JlbTtcbiAgfVxufVxuLmxpc3QtLWdyYWR1YXRlcyAubGlzdF9faXRlbS0tZGVmaW5pdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS4xMzkwNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40MDQ0OTQzODI7XG4gIGZvbnQtZmFtaWx5OiBcIkRJTlwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAubGlzdC0tZ3JhZHVhdGVzIC5saXN0X19pdGVtLS1kZWZpbml0aW9uIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4xMzkwNjI1cmVtICsgMC4xNDIzODI4MTI1ICogKDEwMHZ3IC0gNjAwcHgpIC8gMzYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gIC5saXN0LS1ncmFkdWF0ZXMgLmxpc3RfX2l0ZW0tLWRlZmluaXRpb24ge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI4MTQ0NTMxMjVyZW0gKyAwLjE0MjM4MjgxMjUgKiAoMTAwdncgLSA5NjBweCkgLyAyNjApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5saXN0LS1ncmFkdWF0ZXMgLmxpc3RfX2l0ZW0tLWRlZmluaXRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS40MjM4MjgxMjVyZW07XG4gIH1cbn1cblxuLnNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLWJvdHRvbTogNC41cmVtO1xuICBwYWRkaW5nLXRvcDogNC41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAuc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgfVxuICAuc2VjdGlvbiAuY2FyZHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi5zZWN0aW9uIC5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uc2VjdGlvbi0tbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnNlY3Rpb24tLWxpZ2h0IC5zZWN0aW9uX19oZWFkaW5nLFxuLnNlY3Rpb24tLWxpZ2h0IC5zZWN0aW9uX19zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICMzNjExNjM7XG59XG4uc2VjdGlvbi0tbGlnaHQgLmljb25fX3N2ZyB7XG4gIGZpbGw6ICMzNjExNjM7XG59XG4uc2VjdGlvbi0tbGlnaHQgLnNlY3Rpb25fX2JveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY3Zjc7XG59XG5cbi5zZWN0aW9uLS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2VjdGlvbi0tZGFyayAuaWNvbl9fc3ZnIHtcbiAgZmlsbDogI2ZmZjtcbn1cbi5zZWN0aW9uLS1kYXJrIC5zZWN0aW9uX19saW5rIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZmZmO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zZWN0aW9uLS1kYXJrIC5zZWN0aW9uX19saW5rOmhvdmVyLCAuc2VjdGlvbi0tZGFyayAuc2VjdGlvbl9fbGluazpmb2N1cyB7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xufVxuLnNlY3Rpb24tLWRhcmsgLnNsaWNrLWRvdHMgYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuLnNlY3Rpb24tLWRhcmsgLnNsaWNrLWRvdHMgLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnNlY3Rpb24tLWRhcmsgLnNlY3Rpb25fX2JveCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5zZWN0aW9uLS1kYXJrIC5jYXJkX19saW5rIC5jYXJkX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyNWU2Njtcbn1cblxuLnNlY3Rpb24tLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgI2I3MDA2MiwgIzM2MTE2Myk7XG59XG4uc2VjdGlvbi0tZ3JhZGllbnQgLmNhcmRfX2xpbmsgLmNhcmRfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5zZWN0aW9uX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyLjA1MjYyNzYxMTJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI2NjU2Mjc0NDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5zZWN0aW9uX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGNhbGMoMi4wNTI2Mjc2MTEycmVtICsgMC4yNTY1Nzg0NTE0ICogKDEwMHZ3IC0gNjAwcHgpIC8gMzYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGNhbGMoMi4zMDkyMDYwNjI2cmVtICsgMC4yNTY1Nzg0NTE0ICogKDEwMHZ3IC0gOTYwcHgpIC8gMjYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbl9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAyLjU2NTc4NDUxNHJlbTtcbiAgfVxufVxuLnNlY3Rpb25fX2hlYWRpbmctLXN1YnRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMzkwNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40MDQ0OTQzODI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAuc2VjdGlvbl9faGVhZGluZy0tc3VidGxlIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4xMzkwNjI1cmVtICsgMC4xNDIzODI4MTI1ICogKDEwMHZ3IC0gNjAwcHgpIC8gMzYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uX19oZWFkaW5nLS1zdWJ0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI4MTQ0NTMxMjVyZW0gKyAwLjE0MjM4MjgxMjUgKiAoMTAwdncgLSA5NjBweCkgLyAyNjApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uX19oZWFkaW5nLS1zdWJ0bGUge1xuICAgIGZvbnQtc2l6ZTogMS40MjM4MjgxMjVyZW07XG4gIH1cbn1cbi5zZWN0aW9uX19oZWFkaW5nLS1wcm9taW5lbnQge1xuICBmb250LXNpemU6IDMuMjg3OTEyNTM4M3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDk0ODkwNTExO1xuICBmb250LWZhbWlseTogXCJESU4gTWVkaXVtXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLnNlY3Rpb25fX2hlYWRpbmctLXByb21pbmVudCB7XG4gICAgZm9udC1zaXplOiBjYWxjKDMuMjg3OTEyNTM4M3JlbSArIDAuNDEwOTg5MDY3MyAqICgxMDB2dyAtIDYwMHB4KSAvIDM2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbl9faGVhZGluZy0tcHJvbWluZW50IHtcbiAgICBmb250LXNpemU6IGNhbGMoMy42OTg5MDE2MDU2cmVtICsgMC40MTA5ODkwNjczICogKDEwMHZ3IC0gOTYwcHgpIC8gMjYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbl9faGVhZGluZy0tcHJvbWluZW50IHtcbiAgICBmb250LXNpemU6IDQuMTA5ODkwNjcyOXJlbTtcbiAgfVxufVxuXG4uc2VjdGlvbl9faGVhZGluZy10ZXh0LS1lbXBoYXNpc2Uge1xuICBmb250LXNpemU6IDEuNjIxODI5MjIzNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzU2Njg0NzU2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiRElOIE1lZGl1bVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5zZWN0aW9uX19oZWFkaW5nLXRleHQtLWVtcGhhc2lzZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuNjIxODI5MjIzNnJlbSArIDAuMjAyNzI4NjUzICogKDEwMHZ3IC0gNjAwcHgpIC8gMzYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uX19oZWFkaW5nLXRleHQtLWVtcGhhc2lzZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuODI0NTU3ODc2NnJlbSArIDAuMjAyNzI4NjUzICogKDEwMHZ3IC0gOTYwcHgpIC8gMjYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbl9faGVhZGluZy10ZXh0LS1lbXBoYXNpc2Uge1xuICAgIGZvbnQtc2l6ZTogMi4wMjcyODY1Mjk1cmVtO1xuICB9XG59XG5cbi5zZWN0aW9uX19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjQ0MTYyNTk3NjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM4NzM0NzM5MjtcbiAgbWFyZ2luLWJvdHRvbTogMS42ODc1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLnNlY3Rpb25fX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjQ0MTYyNTk3NjZyZW0gKyAwLjE4MDIwMzI0NzEgKiAoMTAwdncgLSA2MDBweCkgLyAzNjApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgLnNlY3Rpb25fX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjYyMTgyOTIyMzZyZW0gKyAwLjE4MDIwMzI0NzEgKiAoMTAwdncgLSA5NjBweCkgLyAyNjApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uX19zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuODAyMDMyNDcwN3JlbTtcbiAgfVxufVxuXG4uc2VjdGlvbl9fdGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogOTYwcHg7XG59XG4uc2VjdGlvbl9fYm94IHtcbiAgbWFyZ2luOiAxLjVyZW07XG4gIHBhZGRpbmc6IDEuNXJlbSAyLjI1cmVtO1xufVxuXG4uc2VjdGlvbl9fY2FyZHMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5zZWN0aW9uX19jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5zZWN0aW9uX19jYXJkcyB7XG4gICAgcGFkZGluZzogMCA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnNlY3Rpb25fX2NhcmRzIC5jYXJkX19jb250YWluZXIsXG4gIC5zZWN0aW9uX19jYXJkcyAuY2FyZF9fbGluayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnNlY3Rpb25fX2NhcmRzIC5jYXJkX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAuc2VjdGlvbl9fY2FyZHMgLmNhcmRfX2NvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgLnNlY3Rpb25fX2dhbGxlcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbi5zZWN0aW9uLS1oZXJvIHtcbiAgbWluLWhlaWdodDogMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMTJyZW07XG4gIHBhZGRpbmctdG9wOiA2cmVtO1xuICB0cmFuc2l0aW9uOiBtaW4taGVpZ2h0IDAuNnM7XG59XG4uc2VjdGlvbi0taGVybzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDU0LCAxNywgOTksIDAuODUpLCAjNmYzMDkyKTtcbn1cbi5zZWN0aW9uLS1oZXJvIC5zZWN0aW9uX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbn1cbi5zZWN0aW9uLS1oZXJvIC5zZWN0aW9uX19oZWFkaW5nLS1zdWJ0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xufVxuLnNlY3Rpb24tLWhlcm8gLnNlY3Rpb25fX3RleHQtLWludHJvIHtcbiAgZm9udC1zaXplOiAxLjEzOTA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQwNDQ5NDM4MjtcbiAgbWFyZ2luLWJvdHRvbTogNC41cmVtO1xuICBtYXgtd2lkdGg6IDc2MHB4O1xuICBvcGFjaXR5OiAwLjg1O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLnNlY3Rpb24tLWhlcm8gLnNlY3Rpb25fX3RleHQtLWludHJvIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4xMzkwNjI1cmVtICsgMC4xNDIzODI4MTI1ICogKDEwMHZ3IC0gNjAwcHgpIC8gMzYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uLS1oZXJvIC5zZWN0aW9uX190ZXh0LS1pbnRybyB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMjgxNDQ1MzEyNXJlbSArIDAuMTQyMzgyODEyNSAqICgxMDB2dyAtIDk2MHB4KSAvIDI2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnNlY3Rpb24tLWhlcm8gLnNlY3Rpb25fX3RleHQtLWludHJvIHtcbiAgICBmb250LXNpemU6IDEuNDIzODI4MTI1cmVtO1xuICB9XG59XG4uc2VjdGlvbi0taGVybyAuc2VjdGlvbl9fbGluayB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xufVxuLnNlY3Rpb24tLWhlcm8gLnNlY3Rpb25fX2xpbms6aG92ZXIsIC5zZWN0aW9uLS1oZXJvIC5zZWN0aW9uX19saW5rOmZvY3VzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLnNlY3Rpb24tLWhlcm8gLmljb24ge1xuICBoZWlnaHQ6IDMuNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIHdpZHRoOiAzLjc1cmVtO1xufVxuLnNlY3Rpb24tLWhlcm8gLmljb25fX3N2ZyB7XG4gIGZpbGw6ICNmZmY7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG4uc2VjdGlvbi0taGVybyAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgY29sb3I6ICMzNjExNjM7XG59XG4uc2VjdGlvbi0taGVybyAuYnV0dG9uOmhvdmVyLCAuc2VjdGlvbi0taGVybyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjdGlvbi0taW50cm8ge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDEuMTI1cmVtIDEuMTI1cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjM1KSwgaW5zZXQgMCAtMS4xMjVyZW0gMS4xMjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5zZWN0aW9uLS1pbnRybyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEycmVtO1xuICAgIHBhZGRpbmctdG9wOiAxMnJlbTtcbiAgfVxufVxuLnNlY3Rpb24tLWludHJvIC5zZWN0aW9uX19jb250ZW50IHtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDAuMzc1cmVtKSBjb250cmFzdCgxKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNywgMjcsIDI3LCAwLjc1KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgcGFkZGluZzogMi4yNXJlbSAxLjVyZW0gM3JlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAuc2VjdGlvbi0taW50cm8gLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDNyZW0gMy43NXJlbSAzLjc1cmVtO1xuICB9XG59XG5cbi5zZWN0aW9uLS1yZXZpZXcge1xuICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbiAgcGFkZGluZy10b3A6IDZyZW07XG59XG5cbi5zZWN0aW9uLS1jb2FjaGluZzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNywgMjcsIDI3LCAwLjgpO1xufVxuLnNlY3Rpb24tLWNvYWNoaW5nIC52aWRlbyB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcmVtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cbi5zZWN0aW9uLS1jb2FjaGluZyAuc2VjdGlvbl9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS42MjE4MjkyMjM2cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNTY2ODQ3NTY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAuc2VjdGlvbi0tY29hY2hpbmcgLnNlY3Rpb25fX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjYyMTgyOTIyMzZyZW0gKyAwLjIwMjcyODY1MyAqICgxMDB2dyAtIDYwMHB4KSAvIDM2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbi0tY29hY2hpbmcgLnNlY3Rpb25fX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjgyNDU1Nzg3NjZyZW0gKyAwLjIwMjcyODY1MyAqICgxMDB2dyAtIDk2MHB4KSAvIDI2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnNlY3Rpb24tLWNvYWNoaW5nIC5zZWN0aW9uX19zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDIuMDI3Mjg2NTI5NXJlbTtcbiAgfVxufVxuLnNlY3Rpb24tLWNvYWNoaW5nIC5zZWN0aW9uX19ib3hlcyB7XG4gIGZvbnQtc2l6ZTogMS4wMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zODIzMDY0Nzc7XG4gIGZvbnQtZmFtaWx5OiBcIkRJTiBNZWRpdW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAuc2VjdGlvbi0tY29hY2hpbmcgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4wMTI1cmVtICsgMC4xMjY1NjI1ICogKDEwMHZ3IC0gNjAwcHgpIC8gMzYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uLS1jb2FjaGluZyAuc2VjdGlvbl9fYm94ZXMge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjEzOTA2MjVyZW0gKyAwLjEyNjU2MjUgKiAoMTAwdncgLSA5NjBweCkgLyAyNjApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5zZWN0aW9uLS1jb2FjaGluZyAuc2VjdGlvbl9fYm94ZXMge1xuICAgIGZvbnQtc2l6ZTogMS4yNjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAuc2VjdGlvbi0tY29hY2hpbmcgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4uc2VjdGlvbi0tY29hY2hpbmcgLnNlY3Rpb25fX2JveCB7XG4gIG1hcmdpbjogMCAwLjc1cmVtIDAuNzVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLnNlY3Rpb24tLWNvYWNoaW5nIC5zZWN0aW9uX19ib3gge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnNlY3Rpb24tLW9mZmljaWF0aW5nOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCByZ2JhKDU0LCAxNywgOTksIDAuODUpLCByZ2JhKDE4MywgMCwgOTgsIDAuODUpKTtcbn1cbi5zZWN0aW9uLS1vZmZpY2lhdGluZyAuaW1hZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgM3JlbSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLnNlY3Rpb24tLW9mZmljaWF0aW5nIC5jYXJkX19saW5rIC5jYXJkX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbn1cblxuLnNlY3Rpb24tLXBlcmZvcm1hbmNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI3LCAyNywgMjcsIDAuODUpO1xufVxuLnNlY3Rpb24tLXBlcmZvcm1hbmNlIC52aWRlbyB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcmVtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cbi5zZWN0aW9uLS1wZXJmb3JtYW5jZSAuc2VjdGlvbl9fYm94ZXMge1xuICBmb250LXNpemU6IDEuMDEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzgyMzA2NDc3O1xuICBmb250LWZhbWlseTogXCJESU4gTWVkaXVtXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLnNlY3Rpb24tLXBlcmZvcm1hbmNlIC5zZWN0aW9uX19ib3hlcyB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMDEyNXJlbSArIDAuMTI2NTYyNSAqICgxMDB2dyAtIDYwMHB4KSAvIDM2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbi0tcGVyZm9ybWFuY2UgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4xMzkwNjI1cmVtICsgMC4xMjY1NjI1ICogKDEwMHZ3IC0gOTYwcHgpIC8gMjYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbi0tcGVyZm9ybWFuY2UgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBmb250LXNpemU6IDEuMjY1NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLnNlY3Rpb24tLXBlcmZvcm1hbmNlIC5zZWN0aW9uX19ib3hlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuLnNlY3Rpb24tLXBlcmZvcm1hbmNlIC5zZWN0aW9uX19ib3gge1xuICBtYXJnaW46IDAgMC43NXJlbSAwLjc1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gIC5zZWN0aW9uLS1wZXJmb3JtYW5jZSAuc2VjdGlvbl9fYm94IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5zZWN0aW9uLS1tZWRpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg4KTtcbn1cbi5zZWN0aW9uLS1tZWRpYSAuc2VjdGlvbl9fYm94ZXMge1xuICBmb250LXNpemU6IDEuMDEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzgyMzA2NDc3O1xuICBmb250LWZhbWlseTogXCJESU4gTWVkaXVtXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLnNlY3Rpb24tLW1lZGlhIC5zZWN0aW9uX19ib3hlcyB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMDEyNXJlbSArIDAuMTI2NTYyNSAqICgxMDB2dyAtIDYwMHB4KSAvIDM2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbi0tbWVkaWEgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4xMzkwNjI1cmVtICsgMC4xMjY1NjI1ICogKDEwMHZ3IC0gOTYwcHgpIC8gMjYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbi0tbWVkaWEgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBmb250LXNpemU6IDEuMjY1NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLnNlY3Rpb24tLW1lZGlhIC5zZWN0aW9uX19ib3hlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuLnNlY3Rpb24tLW1lZGlhIC5zZWN0aW9uX19ib3gge1xuICBtYXJnaW46IDAgMC43NXJlbSAwLjc1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gIC5zZWN0aW9uLS1tZWRpYSAuc2VjdGlvbl9fYm94IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5zZWN0aW9uLS1ldmVudDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNywgMjcsIDI3LCAwLjgpO1xufVxuLnNlY3Rpb24tLWV2ZW50IC5pbWFnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcmVtIHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4uc2VjdGlvbi0tZXZlbnQgLnNlY3Rpb25fX2JveGVzIHtcbiAgZm9udC1zaXplOiAxLjAxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM4MjMwNjQ3NztcbiAgZm9udC1mYW1pbHk6IFwiRElOIE1lZGl1bVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLnNlY3Rpb24tLWV2ZW50IC5zZWN0aW9uX19ib3hlcyB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMDEyNXJlbSArIDAuMTI2NTYyNSAqICgxMDB2dyAtIDYwMHB4KSAvIDM2MCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbi0tZXZlbnQgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4xMzkwNjI1cmVtICsgMC4xMjY1NjI1ICogKDEwMHZ3IC0gOTYwcHgpIC8gMjYwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuc2VjdGlvbi0tZXZlbnQgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBmb250LXNpemU6IDEuMjY1NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLnNlY3Rpb24tLWV2ZW50IC5zZWN0aW9uX19ib3hlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbi5zZWN0aW9uLS1ldmVudCAuc2VjdGlvbl9fYm94LXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwIDAuMzc1cmVtIDAuNzVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLnNlY3Rpb24tLWV2ZW50IC5zZWN0aW9uX19ib3gtd3JhcHBlciB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5zZWN0aW9uLS1ldmVudCAuc2VjdGlvbl9fYm94LXdyYXBwZXIge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLnNlY3Rpb24tLWV2ZW50IC5zZWN0aW9uX19ib3gge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbi5zZWN0aW9uLS1ldmVudCAuc2VjdGlvbl9fZ2FsbGVyeSB7XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG59XG5cbi5zZWN0aW9uLS16YW1iaWEgLnZpZGVvLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCByZ2IoMjM5LCAxMjUsIDApLCByZ2IoMjIyLCAzMiwgMTYpKTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAuc2VjdGlvbi0temFtYmlhIC52aWRlby13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cbi5zZWN0aW9uLS16YW1iaWEgLnZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5zZWN0aW9uLS16YW1iaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQuODkzNjE3MDIxMywgODcuNDQ2ODA4NTEwNiwgMi41NTMxOTE0ODk0LCAwLjkzKTtcbn1cblxuLnNlY3Rpb24tLWFsdW1uaSAuc2VjdGlvbl9fdGV4dCB7XG4gIG1heC13aWR0aDogODYwcHg7XG59XG4uc2VjdGlvbi0tYWx1bW5pIC5saXN0X19pdGVtLS10ZXJtIHtcbiAgY29sb3I6ICMzNjExNjM7XG59XG4uc2VjdGlvbi0tYWx1bW5pIC5saXN0X19pdGVtLS1kZWZpbml0aW9uIHtcbiAgY29sb3I6ICM1MjVlNjY7XG59XG5cbi5zZWN0aW9uLS1zdXBwb3J0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCByZ2JhKDU0LCAxNywgOTksIDAuODUpLCByZ2JhKDE4MywgMCwgOTgsIDAuODUpKTtcbn1cbi5zZWN0aW9uLS1zdXBwb3J0IC5jYXJkX19saW5rIC5jYXJkX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbn1cblxuLnNlY3Rpb24tLXJlY29nbml0aW9uIC5saXN0X19oZWFkaW5nIHtcbiAgY29sb3I6ICMzNjExNjM7XG59XG4uc2VjdGlvbi0tcmVjb2duaXRpb24gLmljb25fX3N2ZyB7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5zZWN0aW9uLS1mb2xsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI1ZTY2O1xufVxuXG4uc2VjdGlvbi0tY29udGFjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFiMWI7XG59IiwiLy8gR2VuZXJhdGUgY2FsYygpIGZ1bmN0aW9uXG4vLyBiYXNlZCBvbiBNaWtlIFJpZXRobXVsbGVyJ3MgUHJlY2lzZSBjb250cm9sIG92ZXIgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5XG4vLyBodHRwOi8vbWFkZWJ5bWlrZS5jb20uYXUvd3JpdGluZy9wcmVjaXNlLWNvbnRyb2wtcmVzcG9uc2l2ZS10eXBvZ3JhcGh5L1xuQGZ1bmN0aW9uIG1zLWZsdWlkKCR2YWwxOiAxZW0sICR2YWwyOiAxZW0sICRicmVhazE6IDAsICRicmVhazI6IDApIHtcbiAgJGRpZmY6IG1zLXVuaXRsZXNzKCR2YWwyKSAtIG1zLXVuaXRsZXNzKCR2YWwxKTtcblxuICAvLyB2MSArICh2MiAtIHYxKSAqICggKDEwMHZ3IC0gYjEpIC8gYjIgLSBiMSApXG4gIEByZXR1cm4gY2FsYyggI3skdmFsMX0gKyAje21zLXVuaXRsZXNzKCR2YWwyKSAtIG1zLXVuaXRsZXNzKCR2YWwxKX0gKiAoICggMTAwdncgLSAjeyRicmVhazF9KSAvICN7bXMtdW5pdGxlc3MoJGJyZWFrMikgLSBtcy11bml0bGVzcygkYnJlYWsxKX0gKSApO1xufVxuXG4vLyBNYWluIHJlc3BvbnNpdmUgbWl4aW5cbkBtaXhpbiBtcy1yZXNwb25kKCRwcm9wLCAkdmFsLCAkbWFwOiAkbW9kdWxhcnNjYWxlLCAkbXMtaW1wb3J0YW50OiBmYWxzZSkge1xuICAkYmFzZTogJG1zLWJhc2U7XG4gICRyYXRpbzogJG1zLXJhdGlvO1xuXG4gICRmaXJzdC13cml0ZTogdHJ1ZTtcbiAgJGxhc3QtYnJlYWs6IG51bGw7XG5cbiAgJGltcG9ydGFudDogJyc7XG5cbiAgQGlmICRtcy1pbXBvcnRhbnQgPT0gdHJ1ZSB7XG4gICAgJGltcG9ydGFudDogJyAhaW1wb3J0YW50JztcbiAgfVxuXG4gIC8vIGxvb3AgdGhyb3VnaCBhbGwgc2V0dGluZ3Mgd2l0aCBhIGJyZWFrcG9pbnQgdHlwZSB2YWx1ZVxuICBAZWFjaCAkdiwgJHMgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IG51bWJlciB7XG4gICAgICBAaWYgdW5pdCgkdikgIT0gJycge1xuXG4gICAgICAgIC8vIFdyaXRlIG91dCB0aGUgZmlyc3QgdmFsdWUgd2l0aG91dCBhIG1lZGlhIHF1ZXJ5LlxuICAgICAgICBAaWYgJGZpcnN0LXdyaXRlIHtcbiAgICAgICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJHYsICRzZXR0aW5nczogJG1hcCl9I3skaW1wb3J0YW50fVwiKTtcblxuICAgICAgICAgIC8vIE5vdCB0aGUgZmlyc3Qgd3JpdGUgYW55bW9yZSwgcmVzZXQgdG8gZmFsc2UgdG8gbW92ZSBvbi5cbiAgICAgICAgICAkZmlyc3Qtd3JpdGU6IGZhbHNlO1xuICAgICAgICAgICRsYXN0LWJyZWFrOiAkdjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdyaXRlIGludGVybWVkaWF0ZSBicmVha3BvaW50cy5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbGFzdC1icmVhaykgYW5kIChtYXgtd2lkdGg6ICR2KSB7XG4gICAgICAgICAgICAkdmFsMTogbXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJGxhc3QtYnJlYWssICRzZXR0aW5nczogJG1hcCk7XG4gICAgICAgICAgICAkdmFsMjogbXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJHYsICRzZXR0aW5nczogJG1hcCk7XG4gICAgICAgICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZmx1aWQoJHZhbDEsJHZhbDIsJGxhc3QtYnJlYWssJHYpfSN7JGltcG9ydGFudH1cIik7XG4gICAgICAgICAgfVxuICAgICAgICAgICRsYXN0LWJyZWFrOiAkdjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdyaXRlIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4gIEBpZiAkbGFzdC1icmVhayB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXN0LWJyZWFrKSB7XG4gICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJGxhc3QtYnJlYWssICRzZXR0aW5nczogJG1hcCl9I3skaW1wb3J0YW50fVwiKTtcbiAgICB9XG4gIH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBhcHBsaWNhdGlvbi13aWRlIFNhc3MgbWl4aW5zLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIENsZWFyIGlubmVyIGZsb2F0c1xuLy8gQGluY2x1ZGUgY2xlYXJmaXg7XG4vL1xuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cblxuXG5cblxuXG4vL1xuLy8gVHlwZSBzZXR0aW5nIChmb250LXNpemUgYW5kIGxpbmUgaGVpZ2h0IGZyb20gc2NhbGUpXG4vLyBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMik7XG4vL1xuQG1peGluIHR5cGUtc2V0dGluZygkbGV2ZWwpIHtcbiAgQGluY2x1ZGUgbXMtcmVzcG9uZChmb250LXNpemUsIG1hcC1nZXQobWFwLWdldCgkdHlwZS1zZXR0aW5ncywgJGxldmVsKSwgdHlwZS1zY2FsZSkpO1xuXG4gIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KG1hcC1nZXQoJHR5cGUtc2V0dGluZ3MsICRsZXZlbCksIGxpbmUtaGVpZ2h0KTtcbn1cblxuXG5cblxuXG4vL1xuLy8gVHlwZSBzY2FsZSAoZm9udCBzaXplIGZyb20gc2NhbGUpXG4vLyBAaW5jbHVkZSB0eXBlLXNjYWxlKDIpO1xuLy9cbkBtaXhpbiB0eXBlLXNjYWxlKCRsZXZlbCkge1xuICBAaW5jbHVkZSBtcy1yZXNwb25kKGZvbnQtc2l6ZSwgbWFwLWdldChtYXAtZ2V0KCR0eXBlLXNldHRpbmdzLCAkbGV2ZWwpLCB0eXBlLXNjYWxlKSk7XG59XG5cblxuXG5cblxuLy9cbi8vIENvbHVtblxuLy9cbi8vIERlZmF1bHQgYmVoYXZpb3VyIHByZXN1bWVzIGEgMTIgY29sdW1uIGdyaWQ6XG4vLyBgQGluY2x1ZGUgY29sKDMpO2Agb3V0cHV0cyB0byBgd2lkdGg6IDI1JTtgICgoMyAvIDEyKSAqIDEwMClcbi8vXG4vLyBPdmVycmlkZSAxMiBjb2x1bW4gZ3JpZCBieSBlbnRlcmluZyBzZWNvbmQgdmFsdWU6XG4vLyBgQGluY2x1ZGUgY29sKDIsIDEwKTtgIG91dHB1dHMgdG8gYHdpZHRoOiAyMCU7YCAoKDIgLyAxMCkgKiAxMDApXG4vL1xuQG1peGluIGNvbCgkY29sdW1uLCAkY29sdW1uczogJycpIHtcbiAgQGlmICRjb2x1bW5zICE9ICcnIHtcbiAgICB3aWR0aDogbWF0aC5wZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW4sICRjb2x1bW5zKSk7XG4gIH0gQGVsc2Uge1xuICAgIHdpZHRoOiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbiwgMTIpKTtcbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgYXBwbGljYXRpb24td2lkZSBTYXNzIHZhcmlhYmxlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vXG4vLyBGb250IGZhbWlsaWVzXG4vL1xuXG4vLyBSZWd1bGFyIGZvbnQgZmFtaWx5XG4kZm9udC1yZWd1bGFyOiAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gQnJhbmQgZm9udCBmYW1pbHlcbiRmb250LWJyYW5kOiAgICAgICAgJ0RJTicsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtbGlnaHQ6ICAnRElOIExpZ2h0JywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1icmFuZC1tZWRpdW06ICdESU4gTWVkaXVtJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1icmFuZC1ib2xkOiAgICdESU4gQm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtYmxhY2s6ICAnRElOIEJsYWNrJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFJvdW5kIGJyYW5kIGZvbnQgZmFtaWx5XG4kZm9udC1icmFuZC1yb3VuZDogICAgICAgICdESU4gUm91bmQnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWJyYW5kLXJvdW5kLWxpZ2h0OiAgJ0RJTiBSb3VuZCBMaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtcm91bmQtbWVkaXVtOiAnRElOIFJvdW5kIE1lZGl1bScsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtcm91bmQtYm9sZDogICAnRElOIFJvdW5kIEJvbGQnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWJyYW5kLXJvdW5kLWJsYWNrOiAgJ0RJTiBSb3VuZCBCbGFjaycsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBDb25kZW5zZWQgYnJhbmQgZm9udCBmYW1pbHlcbiRmb250LWJyYW5kLWNvbmRlbnNlZDogICAgICAgICdESU4gQ29uZGVuc2VkJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1icmFuZC1jb25kZW5zZWQtbGlnaHQ6ICAnRElOIENvbmRlbnNlZCBMaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtY29uZGVuc2VkLW1lZGl1bTogJ0RJTiBDb25kZW5zZWQgTWVkaXVtJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1icmFuZC1jb25kZW5zZWQtYm9sZDogICAnRElOIENvbmRlbnNlZCBCb2xkJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1icmFuZC1jb25kZW5zZWQtYmxhY2s6ICAnRElOIENvbmRlbnNlZCBCbGFjaycsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vXG4vLyBGb250IHdlaWdodHNcbi8vXG5cbi8vIExpZ2h0IGZvbnQgd2VpZ2h0XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgMzAwICFkZWZhdWx0O1xuXG4vLyBOb3JtYWwgZm9udCB3ZWlnaHRcbiRmb250LXdlaWdodC1ub3JtYWw6ICA0MDAgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBmb250IHdlaWdodFxuJGZvbnQtd2VpZ2h0LW1lZGl1bTogIDUwMCAhZGVmYXVsdDtcblxuLy8gQm9sZCBmb250IHdlaWdodFxuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgIDcwMCAhZGVmYXVsdDtcblxuLy8gQmxhY2sgZm9udCB3ZWlnaHRcbiRmb250LXdlaWdodC1ibGFjazogICA5MDAgIWRlZmF1bHQ7XG5cblxuXG5cblxuLy9cbi8vIFR5cGUgc2NhbGVcbi8vXG5cbi8vIE1vZHVsYXIgc2NhbGUgY29uZmlnXG4kbW9kdWxhcnNjYWxlOiAoXG4gIHJhdGlvOiAxLjEyNSxcbiAgNjAwcHg6IChcbiAgICBiYXNlOiAwLjhyZW0sXG4gICksXG4gIDk2MHB4OiAoXG4gICAgYmFzZTogMC45cmVtXG4gICksXG4gIDEyMjBweDogKFxuICAgIGJhc2U6IDFyZW1cbiAgKVxuKTtcblxuXG4vLyBUeXBlIHNldHRpbmdzIG1hcCAoaHR0cDovL3d3dy5tb2R1bGFyc2NhbGUuY29tLz8xJnJlbSYxLjEyNSlcbiR0eXBlLXNldHRpbmdzOiAoXG4gIC0yOiAoXG4gICAgdHlwZS1zY2FsZTogLTIsIC8vIDAuNzlyZW0gKCgxMi42NHB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjU4MjI3ODQ4MSAvLyAxLjI1cmVtIC8gMC43OXJlbVxuICApLFxuICAtMTogKFxuICAgIHR5cGUtc2NhbGU6IC0xLCAvLyAwLjg4OXJlbSAoMTQuMjJweClcbiAgICBsaW5lLWhlaWdodDogMS40MDYwNzQyNDEgLy8gMS4yNXJlbSAvIDAuODg5cmVtXG4gICksXG4gIDA6IChcbiAgICB0eXBlLXNjYWxlOiAwLCAvLyAxcmVtICgxNnB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjUgLy8gMS41cmVtIC8gMXJlbVxuICApLFxuICAxOiAoXG4gICAgdHlwZS1zY2FsZTogMSwgLy8gMS4xMjVyZW0gKDE4cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuNTU1NTU1NTU2IC8vIDEuNzVyZW0gLyAxLjEyNXJlbVxuICApLFxuICAyOiAoXG4gICAgdHlwZS1zY2FsZTogMiwgLy8gMS4yNjZyZW0gKDIwLjI1cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMzgyMzA2NDc3IC8vIDEuNzVyZW0gLyAxLjI2NnJlbVxuICApLFxuICAzOiAoXG4gICAgdHlwZS1zY2FsZTogMywgLy8gMS40MjRyZW0gKDIyLjc4cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuNDA0NDk0MzgyIC8vIDJyZW0gLyAxLjQyNHJlbVxuICApLFxuICA0OiAoXG4gICAgdHlwZS1zY2FsZTogNCwgLy8gMS42MDJyZW0gKDI1LjYzcHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuNDA0NDk0MzgyIC8vIDIuMjVyZW0gLyAxLjYwMnJlbVxuICApLFxuICA1OiAoXG4gICAgdHlwZS1zY2FsZTogNSwgLy8gMS44MDJyZW0gKDI4LjgzcHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMzg3MzQ3MzkyIC8vIDIuNXJlbSAvIDEuODAycmVtXG4gICksXG4gIDY6IChcbiAgICB0eXBlLXNjYWxlOiA2LCAvLyAyLjAyN3JlbSAoMzIuNDRweClcbiAgICBsaW5lLWhlaWdodDogMS4zNTY2ODQ3NTYgLy8gMi43NXJlbSAvIDIuMDI3cmVtXG4gICksXG4gIDc6IChcbiAgICB0eXBlLXNjYWxlOiA3LCAvLyAyLjI4MXJlbSAoMzYuNDlweClcbiAgICBsaW5lLWhlaWdodDogMS4zMTUyMTI2MjYgLy8gM3JlbSAvIDIuMjgxcmVtXG4gICksXG4gIDg6IChcbiAgICB0eXBlLXNjYWxlOiA4LCAvLyAyLjU2NnJlbSAoNDEuMDVweClcbiAgICBsaW5lLWhlaWdodDogMS4yNjY1NjI3NDQgLy8gMy4yNXJlbSAvIDIuNTY2cmVtXG4gICksXG4gIDk6IChcbiAgICB0eXBlLXNjYWxlOiA5LCAvLyAyLjg4N3JlbSAoNDYuMThweClcbiAgICBsaW5lLWhlaWdodDogMS4yMTIzMzExNCAvLyAzLjVyZW0gLyAyLjg4N3JlbVxuICApLFxuICAxMDogKFxuICAgIHR5cGUtc2NhbGU6IDEwLCAvLyAzLjI0N3JlbSAoNTEuOTZweClcbiAgICBsaW5lLWhlaWdodDogMS4xNTQ5MTIyMjcgLy8gMy43NXJlbSAvIDMuMjQ3cmVtXG4gICksXG4gIDExOiAoXG4gICAgdHlwZS1zY2FsZTogMTEsIC8vIDMuNjUzcmVtICg1OC40NXB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE2MzQyNzMyIC8vIDQuMjVyZW0gLyAzLjY1M3JlbVxuICApLFxuICAxMjogKFxuICAgIHR5cGUtc2NhbGU6IDEyLCAvLyA0LjExcmVtICg2NS43NnB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjA5NDg5MDUxMSAvLyA0LjVyZW0gLyA0LjExcmVtXG4gICksXG4gIDEzOiAoXG4gICAgdHlwZS1zY2FsZTogMTMsIC8vIDQuNjI0cmVtICg3My45OHB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjA4MTMxNDg3OSAvLyA1cmVtIC8gNC42MjRyZW1cbiAgKSxcbiAgMTQ6IChcbiAgICB0eXBlLXNjYWxlOiAxNCwgLy8gNS4yMDJyZW0gKDgzLjIzcHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMDU3Mjg1NjU5IC8vIDUuNXJlbSAvIDUuMjAycmVtXG4gICksXG4gIDE1OiAoXG4gICAgdHlwZS1zY2FsZTogMTUsIC8vIDUuODUycmVtICg5My42M3B4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjA2ODAxMDkzNiAvLyA2LjI1cmVtIC8gNS44NTJyZW1cbiAgKSxcbiAgMTY6IChcbiAgICB0eXBlLXNjYWxlOiAxNiwgLy8gNi41ODNyZW0gKDEwNS4zM3B4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjAyNTM2ODM3MyAvLyA2Ljc1cmVtIC8gNi41ODNyZW1cbiAgKSxcbiAgMTc6IChcbiAgICB0eXBlLXNjYWxlOiAxNywgLy8gNy40MDZyZW0gKCgxMTguNTBweClcbiAgICBsaW5lLWhlaWdodDogMS4wMTI2OTI0MTIgLy8gNy41cmVtIC8gNy40MDZyZW1cbiAgKSxcbiAgMTg6IChcbiAgICB0eXBlLXNjYWxlOiAxOCwgLy8gOC4zMzJyZW0gKDEzMy4zMXB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjAyMDE2MzIyNiAvLyA4LjVyZW0gLyA4LjMzMnJlbVxuICApLFxuICAxOTogKFxuICAgIHR5cGUtc2NhbGU6IDE5LCAvLyA5LjM3M3JlbSAoMTQ5Ljk3cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMDEzNTQ5NTU3IC8vIDkuNXJlbSAvIDkuMzczcmVtXG4gICksXG4gIDIwOiAoXG4gICAgdHlwZS1zY2FsZTogMjAsIC8vIDEwLjU0NXJlbSAoMTY4LjcycHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMDQzMTQ4NDEyIC8vIDExcmVtIC8gMTAuNTQ1cmVtXG4gIClcbik7XG5cblxuXG5cblxuLy9cbi8vIENvbG91cnNcbi8vXG5cbi8vIEJyYW5kIGNvbG91cnNcbi8vIHN0eWxlbGludC1kaXNhYmxlIGNvbG9yLW5vLWhleFxuJGFmcmljYW4tdmlvbGV0OiAgICAgICAgIzM2MTE2MyAhZGVmYXVsdDtcbiRhZnJpY2FuLXZpb2xldC1saWdodDogICM2ZjMwOTIgIWRlZmF1bHQ7XG4kbXVsYmVycnk6ICAgICAgICAgICAgICAjYjcwMDYyICFkZWZhdWx0O1xuJG11bGJlcnJ5LWxpZ2h0OiAgICAgICAgI2VkMjQ4MiAhZGVmYXVsdDtcbiRtdWxiZXJyeS1saWdodC1hYTogICAgICNlMTFhODEgIWRlZmF1bHQ7XG4kbWVyY2lhLXJlZDogICAgICAgICAgICAjYTcwNTMxICFkZWZhdWx0O1xuJG1lcmNpYS1yZWQtbGlnaHQ6ICAgICAgI2VlMmY0ZiAhZGVmYXVsdDtcbiRtZXJjaWEtcmVkLWxpZ2h0LWFhOiAgICNkNTJhNDcgIWRlZmF1bHQ7XG4kYnJvbnplOiAgICAgICAgICAgICAgICAjZjI2YTM4ICFkZWZhdWx0O1xuJGJyb256ZS1hYTogICAgICAgICAgICAgI2NmNGEyYSAhZGVmYXVsdDtcbiRicm9uemUtZGFyazogICAgICAgICAgICM5ODMzMWQgIWRlZmF1bHQ7XG4kZ29sZDogICAgICAgICAgICAgICAgICAjZTc3ZTFkICFkZWZhdWx0O1xuJGdvbGQtYWE6ICAgICAgICAgICAgICAgI2M3NTMwMiAhZGVmYXVsdDtcbiRnb2xkLWxpZ2h0OiAgICAgICAgICAgICNmYmFhMWIgIWRlZmF1bHQ7XG4kbWFyaWdvbGQ6ICAgICAgICAgICAgICAjYmQ4NTA4ICFkZWZhdWx0O1xuJG1hcmlnb2xkLWFhOiAgICAgICAgICAgIzljNmUwNyAhZGVmYXVsdDtcbiRtYXJpZ29sZC1saWdodDogICAgICAgICNlN2FkMDAgIWRlZmF1bHQ7XG4kY2FuYXJ5OiAgICAgICAgICAgICAgICAjZmNkODM5ICFkZWZhdWx0O1xuJGNlZGFyOiAgICAgICAgICAgICAgICAgI2IxYmUyNyAhZGVmYXVsdDtcbiRjZWRhci1hYTogICAgICAgICAgICAgICM2ZjdlMGQgIWRlZmF1bHQ7XG4kY2VkYXItbGlnaHQ6ICAgICAgICAgICAjZTFjYTAwICFkZWZhdWx0O1xuJG9seW1waWMtZ3JlZW46ICAgICAgICAgIzAwODQ2NiAhZGVmYXVsdDtcbiRvbHltcGljLWdyZWVuLWFhOiAgICAgICMxMjg4NTEgIWRlZmF1bHQ7XG4kb2x5bXBpYy1ncmVlbi1kYXJrOiAgICAjMDA2ZTU1ICFkZWZhdWx0O1xuJG5lcHR1bmU6ICAgICAgICAgICAgICAgIzAwNjE2NyAhZGVmYXVsdDtcbiRuZXB0dW5lLWxpZ2h0OiAgICAgICAgICM3OGIyYmIgIWRlZmF1bHQ7XG4kbmVwdHVuZS1saWdodC1hYTogICAgICAjMjY4MjhlICFkZWZhdWx0O1xuJHBlYWNvY2s6ICAgICAgICAgICAgICAgIzAwYWFhZCAhZGVmYXVsdDtcbiRwZWFjb2NrLWFhOiAgICAgICAgICAgICMyZDgyODkgIWRlZmF1bHQ7XG4kcGVhY29jay1saWdodDogICAgICAgICAjNTRjNmQ1ICFkZWZhdWx0O1xuJHBldHJvbC1ibHVlOiAgICAgICAgICAgIzAwNWU4MiAhZGVmYXVsdDtcbiRwZXRyb2wtYmx1ZS1saWdodDogICAgICMwMDliYzkgIWRlZmF1bHQ7XG4kcGV0cm9sLWJsdWUtbGlnaHQtYWE6ICAjMDA3ZGEzICFkZWZhdWx0O1xuJGFzcGhhbHQ6ICAgICAgICAgICAgICAgIzUyNWU2NiAhZGVmYXVsdDtcbiRzaWx2ZXI6ICAgICAgICAgICAgICAgICM4YzhjOGQgIWRlZmF1bHQ7XG4kc2lsdmVyLWFhOiAgICAgICAgICAgICAjNzY3Njc3ICFkZWZhdWx0O1xuJGZvdW50YWluLWdyZXk6ICAgICAgICAgI2NiY2VjZSAhZGVmYXVsdDtcbiRwZWJibGU6ICAgICAgICAgICAgICAgICM3MTVmNTQgIWRlZmF1bHQ7XG4kZG92ZS1ncmV5OiAgICAgICAgICAgICAjYTg5YjkxICFkZWZhdWx0O1xuJHBlYXJsLXdoaXRlOiAgICAgICAgICAgI2QyYzljMSAhZGVmYXVsdDtcbiRibGFjazogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZGFyay1ncmV5OiAgICAgICAgICAgICAjMWIxYjFiICFkZWZhdWx0O1xuJGxpZ2h0LWdyZXk6ICAgICAgICAgICAgI2Y2ZjdmNyAhZGVmYXVsdDtcbiR3aGl0ZTogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kdGV4dC1jb2xvcjogICAgICAgICAgICAkYXNwaGFsdCAhZGVmYXVsdDtcbiR0ZXh0LWNvbG9yLWxpZ2h0OiAgICAgIGxpZ2h0ZW4oJHRleHQtY29sb3IsIDUlKSAhZGVmYXVsdDtcbiR0ZXh0LWNvbG9yLWxpZ2h0ZXN0OiAgIGxpZ2h0ZW4oJHRleHQtY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIFByb2plY3QgY29sb3Vyc1xuLy8gJHZhcmlhYmxlLW5hbWU6ICMwMDA7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIGNvbG9yLW5vLWhleFxuJHphbWJpYS1ncmVlbjogcmdiKDM5LCAxMzcsIDQpICFkZWZhdWx0O1xuJHphbWJpYS1vcmFuZ2U6IHJnYigyMzksIDEyNSwgMCkgIWRlZmF1bHQ7XG4kemFtYmlhLXJlZDogcmdiKDIyMiwgMzIsIDE2KSAhZGVmYXVsdDtcblxuXG5cblxuLy9cbi8vIENvbnRhaW5lcidzIG1heGltdW0gd2lkdGhcbi8vXG4kbWF4LXdpZHRoOiAxMTgwcHggIWRlZmF1bHQ7XG5cblxuXG5cblxuLy9cbi8vIEd1dHRlcnNcbi8vXG4kZ3V0dGVyOiAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGd1dHRlci1oYWxmOiAgICAgbWF0aC5kaXYoJGd1dHRlciwgMikgIWRlZmF1bHQ7XG4kZ3V0dGVyLXRoaXJkOiAgICBtYXRoLmRpdigkZ3V0dGVyLCAzKSAhZGVmYXVsdDtcbiRndXR0ZXItcXVhcnRlcjogIG1hdGguZGl2KCRndXR0ZXIsIDQpICFkZWZhdWx0O1xuJGd1dHRlci1zaXh0aDogICAgbWF0aC5kaXYoJGd1dHRlciwgNikgIWRlZmF1bHQ7XG5cblxuXG5cblxuLy9cbi8vIFNwYWNpbmdcbi8vXG4kc3BhY2U6ICAgICAgICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0OyAvLyAyNHB4XG4kc3BhY2UtdHdlbHRoOiAgICAgICAgICAgICAgbWF0aC5kaXYoJHNwYWNlLCAxMikgIWRlZmF1bHQ7IC8vIDJweFxuJHNwYWNlLWVpZ2h0aDogICAgICAgICAgICAgIG1hdGguZGl2KCRzcGFjZSwgOCkgIWRlZmF1bHQ7IC8vIDNweFxuJHNwYWNlLXNpeHRoOiAgICAgICAgICAgICAgIG1hdGguZGl2KCRzcGFjZSwgNikgIWRlZmF1bHQ7IC8vIDRweFxuJHNwYWNlLXF1YXJ0ZXI6ICAgICAgICAgICAgIG1hdGguZGl2KCRzcGFjZSwgNCkgIWRlZmF1bHQ7IC8vIDZweFxuJHNwYWNlLXRoaXJkOiAgICAgICAgICAgICAgIG1hdGguZGl2KCRzcGFjZSwgMykgIWRlZmF1bHQ7IC8vIDhweFxuJHNwYWNlLWhhbGY6ICAgICAgICAgICAgICAgIG1hdGguZGl2KCRzcGFjZSwgMikgIWRlZmF1bHQ7IC8vIDEycHhcbiRzcGFjZS10d28tdGhpcmRzOiAgICAgICAgICAkc3BhY2UtdGhpcmQgKiAyICFkZWZhdWx0OyAvLyAxNnB4XG4kc3BhY2UtdGhyZWUtcXVhcnRlcnM6ICAgICAgJHNwYWNlLXF1YXJ0ZXIgKiAzICFkZWZhdWx0OyAvLyAxOHB4XG4kc3BhY2UtZml2ZS1zaXh0aHM6ICAgICAgICAgJHNwYWNlLXNpeHRoICogNSAhZGVmYXVsdDsgLy8gMjBweFxuJHNwYWNlLWFuZC1laWdodGg6ICAgICAgICAgICRzcGFjZSArICRzcGFjZS1laWdodGggIWRlZmF1bHQ7IC8vIDI3cHhcbiRzcGFjZS1hbmQtc2l4dGg6ICAgICAgICAgICAkc3BhY2UgKyAkc3BhY2Utc2l4dGggIWRlZmF1bHQ7IC8vIDI4cHhcbiRzcGFjZS1hbmQtcXVhcnRlcjogICAgICAgICAkc3BhY2UgKyAkc3BhY2UtcXVhcnRlciAhZGVmYXVsdDsgLy8gMzBweFxuJHNwYWNlLWFuZC10aGlyZDogICAgICAgICAgICRzcGFjZSArICRzcGFjZS10aGlyZCAhZGVmYXVsdDsgLy8gMzJweFxuJHNwYWNlLWFuZC1oYWxmOiAgICAgICAgICAgICRzcGFjZSArICRzcGFjZS1oYWxmICFkZWZhdWx0OyAvLyAzNnB4XG4kc3BhY2UtYW5kLXR3by10aGlyZHM6ICAgICAgJHNwYWNlICsgJHNwYWNlLXR3by10aGlyZHMgIWRlZmF1bHQ7IC8vIDQwcHhcbiRzcGFjZS1hbmQtdGhyZWUtcXVhcnRlcnM6ICAkc3BhY2UgKyAkc3BhY2UtdGhyZWUtcXVhcnRlcnMgIWRlZmF1bHQ7IC8vIDQycHhcbiRzcGFjZS1kb3VibGU6ICAgICAgICAgICAgICAkc3BhY2UgKiAyICFkZWZhdWx0OyAvLyA0OHB4XG4kc3BhY2UtdHJlYmxlOiAgICAgICAgICAgICAgJHNwYWNlICogMyAhZGVmYXVsdDsgLy8gNzJweFxuJHNwYWNlLXF1YWRydXBsZTogICAgICAgICAgICRzcGFjZSAqIDQgIWRlZmF1bHQ7IC8vIDk2cHhcblxuXG5cblxuXG4vL1xuLy8gTWVkaWEgcXVlcnkgYnJlYWtwb2ludHNcbi8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3hzJzogNDAwcHgsXG4gICd4cy10d2Vhayc6IDUwMHB4LFxuICAncyc6IDYwMHB4LFxuICAncy10d2Vhayc6IDY4MHB4LFxuICAnbSc6IDc2MHB4LFxuICAnbS10d2Vhayc6IDg2MHB4LFxuICAnbCc6IDk2MHB4LFxuICAneGwnOiAxMDIwcHgsXG4gICdtYXgnOiAkbWF4LXdpZHRoLFxuICAnd2lkZSc6IDEyMjBweCxcbiAgJ3VsdHJhLXdpZGUnOiAxNDQwcHgsXG4gICdzdXBlci13aWRlJzogMTYwMHB4XG4pO1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyB2ZXJ5IGJhc2ljIHN0eWxlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuaHRtbCB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGZvb3RlciBvZiB0aGUgc2l0ZS9hcHBsaWNhdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy9cbi8vIEhpZGUgdGhlIFNwb3J0IHNpdGUgZm9vdGVyXG4vL1xuLnNpdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGxheW91dCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgbWFpbiBjb250ZW50IGFyZWEuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vXG4vLyBSZW1vdmUgc3BhY2UgYWJvdmUgbWFpbiBjb250ZW50XG4vL1xuLm1haW4tY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGJyZWFkY3J1bWIgY29tcG9uZW50LiBEZWxldGUgYWxsXG4vLyBpZiBkZWZhdWx0IHN0eWxlcyBhcmUgZ29pbmcgdG8gYmUgdXNlZCBmb3IgdGhpcyBwcm9qZWN0LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIE91dGVyIGNvbnRhaW5lciBjb2xvdXIgb3ZlcnJpZGVcbi8vXG4uYnJlYWRjcnVtYnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG59XG5cblxuXG5cblxuLy9cbi8vIEluZGl2aWR1YWwgYnJlYWRjcnVtYiBpdGVtIGNvbG91ciBvdmVycmlkZXNcbi8vXG4uYnJlYWRjcnVtYnNfX2l0ZW0ge1xuICAvLyBSaWdodCBjaGV2cm9uXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZW5jb2RlLXN2ZygnPHN2ZyB2aWV3Qm94PVwiMCAwIDE0IDI0XCIgeG1sbnM9XCJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMi43NDQgMTJMLjE2OC44NzRBLjUuNSAwIDEgMSAuODMuMTI2bDEzIDExLjVhLjUuNSAwIDAgMSAwIC43NDhsLTEzIDExLjVhLjUuNSAwIDEgMS0uNjYyLS43NDhMMTIuNzQ0IDEyelwiIGZpbGw9XCIjeyR3aGl0ZX1cIiAvPjwvc3ZnPicpO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuXG5cbiAgLy8gTGlua3MgKGNhbid0IHVzZSBCRU0gYmVjYXVzZSBUNCBhdXRvbWF0aWNhbGx5IHByb2R1Y2VzIHRoZSBsaW5rIGVsZW1lbnRzKVxuICBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG9wYWNpdHk6IDAuNjtcblxuXG4gICAgLy8gQm90dG9tIGJvcmRlciAoaGlkZGVuIGluaXRpYWxseSlcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cblxuICAvLyBGaXJzdCBicmVhZGNydW1iIGl0ZW0gKGhvdXNlIGljb24pXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZW5jb2RlLXN2ZygnPHN2ZyB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEwIDEwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMCAzLjY4djYuMzIyaDMuODg5di0zLjg5SDYuMTF2My44OUgxMFYzLjY4TDUgMHpcIiBmaWxsPVwiI3skd2hpdGV9XCIvPjwvc3ZnPicpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGVmdCBjaGV2cm9uIG9uIG1vYmlsZVxuICAmOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlbmNvZGUtc3ZnKCc8c3ZnIHZpZXdCb3g9XCIwIDAgMTQgMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xLjI1NCAxMkwxMy44MyAyMy4xMjZhLjUuNSAwIDEgMS0uNjYyLjc0OGwtMTMtMTEuNWEuNS41IDAgMCAxIDAtLjc0OGwxMy0xMS41YS41LjUgMCAxIDEgLjY2My43NDhMMS4yNTUgMTJ6XCIgZmlsbD1cIiN7JHdoaXRlfVwiIC8+PC9zdmc+Jyk7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGNhbGxvdXQgY29tcG9uZW50LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIENhcm91c2VsIHBhZ2luYXRpb25cbi8vXG4uc2xpY2stZG90cyB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICRzcGFjZSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5cblxuICAvLyBQYWdpbmF0aW9uIGJ1dHRvbiB3cmFwcGVyXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuXG4gIC8vIFBhZ2luYXRpb24gYnV0dG9uXG4gIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvdW50YWluLWdyZXk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkc3BhY2UtaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNlLXRoaXJkO1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNlLXRoaXJkO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6ICRzcGFjZS1oYWxmO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWwnKSB7XG4gICAgICBoZWlnaHQ6ICRzcGFjZS10d28tdGhpcmRzO1xuICAgICAgd2lkdGg6ICRzcGFjZS10d28tdGhpcmRzO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGZvdW50YWluLWdyZXksIDEwJSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gSW5jcmVhc2Ugb3BhY2l0eSBvZiBwYWdpbmF0aW9uIGl0ZW0gd2hlbiBhY3RpdmVcbiAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhc3BoYWx0O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgbGlzdCBjb21wb25lbnQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vXG4vLyBZZWFyIGluIHJldmlldywgRXZlbnQgTWFuYWdlbWVudCwgWmFtYmlhXG4vL1xuLmxpc3QtLXJldmlldyxcbi5saXN0LS1ldmVudC1tYW5hZ2VtZW50LFxuLmxpc3QtLXphbWJpYSB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygyKTtcblxuICBmb250LWZhbWlseTogJGZvbnQtYnJhbmQ7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZS1hbmQtaGFsZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBAaW5jbHVkZSBtZWRpYSgn4omlbCcpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5saXN0X19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ2clMjBmaWxsJTNEJTIyJTIzRkZGJTIyJTIwZmlsbC1ydWxlJTNEJTIybm9uemVybyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LjY1OSUyMDguMTM0YS41LjUlMjAwJTIwMSUyMDElMjAuNjgyLjczMmwtNy41JTIwN2EuNS41JTIwMCUyMDAlMjAxLS42OTUtLjAxMmwtMi41LTIuNWEuNS41JTIwMCUyMDAlMjAxJTIwLjcwOC0uNzA4bDIuMTU4JTIwMi4xNTklMjA3LjE0Ny02LjY3eiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0yMyUyMDEyYzAtNi4wNzUtNC45MjUtMTEtMTEtMTFDNS45MjMlMjAxJTIwMSUyMDUuOTI0JTIwMSUyMDEyczQuOTIzJTIwMTElMjAxMSUyMDExYzYuMDc1JTIwMCUyMDExLTQuOTI1JTIwMTEtMTF6bTElMjAwYzAlMjA2LjYyNy01LjM3MyUyMDEyLTEyJTIwMTItNi42MjklMjAwLTEyLTUuMzcyLTEyLTEyUzUuMzcxJTIwMCUyMDEyJTIwMGM2LjYyNyUyMDAlMjAxMiUyMDUuMzczJTIwMTIlMjAxMnolMjIvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkc3BhY2Utc2l4dGg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRzcGFjZS10aHJlZS1xdWFydGVycyAkc3BhY2UtdGhyZWUtcXVhcnRlcnM7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLWhhbGY7XG4gICAgcGFkZGluZzogJHNwYWNlLXNpeHRoIDAgJHNwYWNlLXNpeHRoICRzcGFjZS1hbmQtcXVhcnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVsJykge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2UgJHNwYWNlO1xuICAgICAgbWFyZ2luOiAkc3BhY2UtcXVhcnRlciBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoMC41LCAxMikpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2UtYW5kLXRocmVlLXF1YXJ0ZXJzO1xuICAgICAgd2lkdGg6IG1hdGgucGVyY2VudGFnZShtYXRoLmRpdig1LCAxMikpO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cblxuXG5cbi8vXG4vLyBTb2NpYWxcbi8vXG4ubGlzdC0tc29jaWFsIHtcbiAgLmxpc3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNlLXF1YXJ0ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UtcXVhcnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLmljb24ge1xuICAgICAgaGVpZ2h0OiAkc3BhY2UtYW5kLXRocmVlLXF1YXJ0ZXJzO1xuICAgICAgd2lkdGg6ICRzcGFjZS1hbmQtdGhyZWUtcXVhcnRlcnM7XG4gICAgfVxuXG4gICAgLmljb25fX3N2ZyB7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmxpc3RfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJHNwYWNlLWFuZC10aHJlZS1xdWFydGVycztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICB3aWR0aDogJHNwYWNlLWFuZC10aHJlZS1xdWFydGVycztcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuLy9cbi8vIEdyYWR1YXRlcyBsaXN0XG4vL1xuLmxpc3QtLWdyYWR1YXRlcyB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1icmFuZDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbCcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCfiiaVzJykge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAubGlzdF9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgYm9yZGVyOiA1cHggc29saWQgJHdoaXRlO1xuICAgIHBhZGRpbmc6ICRzcGFjZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVzJykge1xuICAgICAgd2lkdGg6IG1hdGgucGVyY2VudGFnZShtYXRoLmRpdig2LCAxMikpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAubGlzdF9faXRlbS0tdGVybSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDEzKTtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1icmFuZC1tZWRpdW07XG4gIH1cblxuICAubGlzdF9faXRlbS0tZGVmaW5pdGlvbiB7XG4gICAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDMpO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWJyYW5kO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS1xdWFydGVyO1xuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHN0eWxlcyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgaG9tZSBwYWdlLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIE1haW4gc2VjdGlvbiBzdHlsaW5nXG4vL1xuLnNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlLXRyZWJsZTtcbiAgcGFkZGluZy10b3A6ICRzcGFjZS10cmVibGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCfiiaVsJykge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cbiAgICAuY2FyZHMge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIENvbnRhaW5lclxuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG5cbiAgLy8gUXVvdGVcbiAgLnF1b3RlIHtcbiAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cblxuICAvLyBWaWRlb1xuICAudmlkZW8ge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgfVxuXG5cbiAgLy8gT3ZlcmxheVxuICAmOjpiZWZvcmUge1xuICAgIEBleHRlbmQgJW92ZXJsYXk7XG4gIH1cbn1cblxuXG5cblxuXG4vL1xuLy8gTGlnaHQgc2VjdGlvbiBzdHlsaW5nXG4vL1xuLnNlY3Rpb24tLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG5cbiAgLy8gSGVhZGluZ1xuICAuc2VjdGlvbl9faGVhZGluZyxcbiAgLnNlY3Rpb25fX3N1YmhlYWRpbmcge1xuICAgIGNvbG9yOiAkYWZyaWNhbi12aW9sZXQ7XG4gIH1cblxuXG4gIC8vIEljb25zXG4gIC5pY29uX19zdmcge1xuICAgIGZpbGw6ICRhZnJpY2FuLXZpb2xldDtcbiAgfVxuXG5cbiAgLy8gQm94XG4gIC5zZWN0aW9uX19ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICB9XG59XG5cblxuXG5cblxuLy9cbi8vIERhcmsgc2VjdGlvbiBzdHlsaW5nXG4vL1xuLnNlY3Rpb24tLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG5cblxuICAvLyBJY29uc1xuICAuaWNvbl9fc3ZnIHtcbiAgICBmaWxsOiAkd2hpdGU7XG4gIH1cblxuXG4gIC8vIExpbmtzXG4gIC5zZWN0aW9uX19saW5rIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICR3aGl0ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gQ2Fyb3VzZWwgcGFnaW5hdGlvblxuICAuc2xpY2stZG90cyB7XG4gICAgYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gQm94XG4gIC5zZWN0aW9uX19ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjUpO1xuICB9XG5cblxuICAvLyBDYXJkc1xuICAuY2FyZF9fbGluayB7XG4gICAgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFzcGhhbHQ7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuLy9cbi8vIEdyYWRpZW50IHNlY3Rpb25cbi8vXG4uc2VjdGlvbi0tZ3JhZGllbnQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCAkbXVsYmVycnksICRhZnJpY2FuLXZpb2xldCk7XG5cblxuICAvLyBDYXJkc1xuICAuY2FyZF9fbGluayB7XG4gICAgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuLy9cbi8vIEhlYWRpbmdcbi8vXG4uc2VjdGlvbl9faGVhZGluZyB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZyg4KTtcblxuXG4gIC8vIFN1YnRsZVxuICAmLS1zdWJ0bGUge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygzKTtcblxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuXG4gIC8vIFByb21pbmVudFxuICAmLS1wcm9taW5lbnQge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygxMik7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtYnJhbmQtbWVkaXVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuXG5cblxuXG4vL1xuLy8gSGVhZGluZyB0ZXh0XG4vL1xuLnNlY3Rpb25fX2hlYWRpbmctdGV4dC0tZW1waGFzaXNlIHtcbiAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDYpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJGZvbnQtYnJhbmQtbWVkaXVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5cblxuXG5cbi8vXG4vLyBTdWJoZWFkaW5nXG4vL1xuLnNlY3Rpb25fX3N1YmhlYWRpbmcge1xuICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoNSk7XG5cbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLWFuZC1laWdodGg7XG59XG5cblxuXG5cblxuLy9cbi8vIFRleHRcbi8vXG4uc2VjdGlvbl9fdGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdsJyk7XG5cblxuICAvLyBJbnRyb1xuICAmLS1pbnRybyB7XG4gICAgQGV4dGVuZCAlbGVhZC1wYXJhZ3JhcGg7XG4gIH1cbn1cblxuXG5cblxuXG4vL1xuLy8gQm94XG4vL1xuLnNlY3Rpb25fX2JveCB7XG4gIEBleHRlbmQgJW1vZHVsZTtcblxuICBtYXJnaW46ICRzcGFjZTtcbiAgcGFkZGluZzogJHNwYWNlICRzcGFjZS1hbmQtaGFsZjtcbn1cblxuXG5cblxuXG4vL1xuLy8gQ2FyZHNcbi8vXG4uc2VjdGlvbl9fY2FyZHMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCfiiaVzJykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgn4omlbCcpIHtcbiAgICBwYWRkaW5nOiAwIG1hdGgucGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xuICB9XG5cbiAgLmNhcmRfX2NvbnRhaW5lcixcbiAgLmNhcmRfX2xpbmsge1xuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVzJykge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkX19saW5rIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgn4omlcycpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgn4omlcycpIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4vL1xuLy8gR2FsbGVyeVxuLy9cbi5zZWN0aW9uX19nYWxsZXJ5IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ+KJpXhzJykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cblxuXG5cblxuLy9cbi8vIEltcG9ydCBzcGVjaWZpYyBzdHlsaW5nIGZvciBlYWNoIHNlY3Rpb25cbi8vXG5AaW1wb3J0ICdzZWN0aW9ucy9oZXJvJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2ludHJvJztcbkBpbXBvcnQgJ3NlY3Rpb25zL3Jldmlldyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9jb2FjaGluZyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9vZmZpY2lhdGluZyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9wZXJmb3JtYW5jZSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9tZWRpYSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9ldmVudCc7XG5AaW1wb3J0ICdzZWN0aW9ucy96YW1iaWEnO1xuQGltcG9ydCAnc2VjdGlvbnMvYWx1bW5pJztcbkBpbXBvcnQgJ3NlY3Rpb25zL3N1cHBvcnQnO1xuQGltcG9ydCAnc2VjdGlvbnMvcmVjb2duaXRpb24nO1xuQGltcG9ydCAnc2VjdGlvbnMvZm9sbG93JztcbkBpbXBvcnQgJ3NlY3Rpb25zL2NvbnRhY3QnO1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBzdHlsZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIGhlcm8gc2VjdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zZWN0aW9uLS1oZXJvIHtcbiAgbWluLWhlaWdodDogJHNwYWNlO1xuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlICogODtcbiAgcGFkZGluZy10b3A6ICRzcGFjZS1xdWFkcnVwbGU7XG4gIHRyYW5zaXRpb246IG1pbi1oZWlnaHQgMC42cztcblxuICAmOjphZnRlciB7XG4gICAgQGV4dGVuZCAlb3ZlcmxheTtcblxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoJGFmcmljYW4tdmlvbGV0LCAwLjg1KSwgJGFmcmljYW4tdmlvbGV0LWxpZ2h0KTtcbiAgfVxuXG5cbiAgLy8gU2VjdGlvbiBoZWFkaW5nXG4gIC5zZWN0aW9uX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2UtYW5kLWhhbGY7XG4gIH1cblxuXG4gIC8vIFN1YnRsZSBzZWN0aW9uIGhlYWRpbmdcbiAgLnNlY3Rpb25fX2hlYWRpbmctLXN1YnRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLWFuZC1oYWxmO1xuICB9XG5cblxuICAvLyBJbnRyb1xuICAuc2VjdGlvbl9fdGV4dC0taW50cm8ge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygzKTtcblxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS10cmVibGU7XG4gICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ20nKTtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICB9XG5cblxuICAvLyBTZWN0aW9uIGxpbmtcbiAgLnNlY3Rpb25fX2xpbmsge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgfVxuICB9XG5cblxuICAvLyBEb3duIGljb25cbiAgLmljb24ge1xuICAgIGhlaWdodDogJHNwYWNlLWRvdWJsZSArICRzcGFjZS1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2UtZG91YmxlO1xuICAgIHdpZHRoOiAkc3BhY2UtZG91YmxlICsgJHNwYWNlLWhhbGY7XG4gIH1cblxuICAuaWNvbl9fc3ZnIHtcbiAgICBmaWxsOiAkd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgfVxuXG5cbiAgLy8gQnV0dG9uXG4gIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBjb2xvcjogJGFmcmljYW4tdmlvbGV0O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgc3R5bGVzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSBpbnRybyBzZWN0aW9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNlY3Rpb24tLWludHJvIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAkc3BhY2UtdGhyZWUtcXVhcnRlcnMgJHNwYWNlLXRocmVlLXF1YXJ0ZXJzIDAgcmdiYSgkYmxhY2ssIDAuMzUpLCBpbnNldCAwICgtJHNwYWNlLXRocmVlLXF1YXJ0ZXJzKSAkc3BhY2UtdGhyZWUtcXVhcnRlcnMgMCByZ2JhKCRibGFjaywgMC4zNSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ+KJpWwnKSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZSAqIDg7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjZSAqIDg7XG4gIH1cblxuICAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlbW9kdWxlO1xuXG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKCRzcGFjZS1xdWFydGVyKSBjb250cmFzdCgxKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrLWdyZXksIDAuNzUpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbCcpO1xuICAgIHBhZGRpbmc6ICRzcGFjZS1hbmQtaGFsZiAkc3BhY2UgJHNwYWNlLWRvdWJsZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVtJykge1xuICAgICAgcGFkZGluZzogJHNwYWNlLWRvdWJsZSAkc3BhY2UtZG91YmxlICsgJHNwYWNlLWhhbGYgJHNwYWNlLWRvdWJsZSArICRzcGFjZS1oYWxmO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBzdHlsZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIHJldmlldyBzZWN0aW9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNlY3Rpb24tLXJldmlldyB7XG4gIHBhZGRpbmctYm90dG9tOiAkc3BhY2UtcXVhZHJ1cGxlO1xuICBwYWRkaW5nLXRvcDogJHNwYWNlLXF1YWRydXBsZTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgc3R5bGVzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSBjb2FjaGluZyBzZWN0aW9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNlY3Rpb24tLWNvYWNoaW5nIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrLWdyZXksIDAuOCk7XG4gIH1cblxuICAudmlkZW8ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAkc3BhY2UtZG91YmxlIHJnYmEoJGJsYWNrLCAwLjUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS1kb3VibGU7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNlLWRvdWJsZTtcbiAgfVxuXG4gIC5zZWN0aW9uX19zdWJoZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoNik7XG4gIH1cblxuICAuc2VjdGlvbl9fYm94ZXMge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygyKTtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1icmFuZC1tZWRpdW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgn4omlbScpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb25fX2JveCB7XG4gICAgbWFyZ2luOiAwICRzcGFjZS1oYWxmICRzcGFjZS1oYWxmO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpW0nKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBzdHlsZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIG9mZmljaWF0aW5nIHNlY3Rpb24uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2VjdGlvbi0tb2ZmaWNpYXRpbmcge1xuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzBkZWcsIHJnYmEoJGFmcmljYW4tdmlvbGV0LCAwLjg1KSwgcmdiYSgkbXVsYmVycnksIDAuODUpKTtcbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgYm94LXNoYWRvdzogMCAwICRzcGFjZS1kb3VibGUgcmdiYSgkYmxhY2ssIDAuMjUpO1xuICB9XG5cblxuICAvLyBDYXJkc1xuICAuY2FyZF9fbGluayB7XG4gICAgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMzUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBzdHlsZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIGNvYWNoaW5nIHNlY3Rpb24uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2VjdGlvbi0tcGVyZm9ybWFuY2Uge1xuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGRhcmstZ3JleSwgMC44NSk7XG4gIH1cblxuICAudmlkZW8ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAkc3BhY2UtZG91YmxlIHJnYmEoJGJsYWNrLCAwLjUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS1kb3VibGU7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNlLWRvdWJsZTtcbiAgfVxuXG4gIC5zZWN0aW9uX19ib3hlcyB7XG4gICAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDIpO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWJyYW5kLW1lZGl1bTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVtJykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbl9fYm94IHtcbiAgICBtYXJnaW46IDAgJHNwYWNlLWhhbGYgJHNwYWNlLWhhbGY7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgn4omlbScpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHN0eWxlcyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgY29hY2hpbmcgc2VjdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zZWN0aW9uLS1tZWRpYSB7XG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDAuODgpO1xuICB9XG5cbiAgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMik7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtYnJhbmQtbWVkaXVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpW0nKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uX19ib3gge1xuICAgIG1hcmdpbjogMCAkc3BhY2UtaGFsZiAkc3BhY2UtaGFsZjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVtJykge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgc3R5bGVzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSBldmVudCBtYW5hZ2VtZW50IHNlY3Rpb24uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2VjdGlvbi0tZXZlbnQge1xuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGRhcmstZ3JleSwgMC44KTtcbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgYm94LXNoYWRvdzogMCAwICRzcGFjZS1kb3VibGUgcmdiYSgkYmxhY2ssIDAuODUpO1xuICB9XG5cbiAgLnNlY3Rpb25fX2JveGVzIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMik7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtYnJhbmQtbWVkaXVtO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVtJykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uX19ib3gtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwICRzcGFjZS1xdWFydGVyICRzcGFjZS1oYWxmO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpW0nKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVsJykge1xuICAgICAgd2lkdGg6IG1hdGgucGVyY2VudGFnZShtYXRoLmRpdig0LCAxMikpO1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uX19ib3gge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuc2VjdGlvbl9fZ2FsbGVyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLWFuZC1oYWxmO1xuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHN0eWxlcyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgWmFtYmlhIHNlY3Rpb24uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2VjdGlvbi0temFtYmlhIHtcbiAgLy8gVmlkZW9cbiAgLnZpZGVvLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzBkZWcsICR6YW1iaWEtb3JhbmdlLCAkemFtYmlhLXJlZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLWRvdWJsZTtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2UtZG91YmxlO1xuICAgIHBhZGRpbmc6ICRzcGFjZS1oYWxmO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWwnKSB7XG4gICAgICBwYWRkaW5nOiAkc3BhY2U7XG4gICAgfVxuICB9XG5cbiAgLnZpZGVvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuXG4gIC8vIE92ZXJsYXlcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGRhcmtlbigkemFtYmlhLWdyZWVuLCAxMCUpLCAwLjkzKTtcbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBzdHlsZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIGFsdW1uaSBzZWN0aW9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNlY3Rpb24tLWFsdW1uaSB7XG4gIC5zZWN0aW9uX190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbS10d2VhaycpO1xuICB9XG5cbiAgLmxpc3RfX2l0ZW0tLXRlcm0ge1xuICAgIGNvbG9yOiAkYWZyaWNhbi12aW9sZXQ7XG4gIH1cblxuICAubGlzdF9faXRlbS0tZGVmaW5pdGlvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHN0eWxlcyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgc3VwcG9ydCBzZWN0aW9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNlY3Rpb24tLXN1cHBvcnQge1xuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzBkZWcsIHJnYmEoJGFmcmljYW4tdmlvbGV0LCAwLjg1KSwgcmdiYSgkbXVsYmVycnksIDAuODUpKTtcbiAgfVxuXG4gIC8vIENhcmRzXG4gIC5jYXJkX19saW5rIHtcbiAgICAuY2FyZF9fY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC4zNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHN0eWxlcyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgcmVjb2duaXRpb24gc2VjdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zZWN0aW9uLS1yZWNvZ25pdGlvbiB7XG4gIC5saXN0X19oZWFkaW5nIHtcbiAgICBjb2xvcjogJGFmcmljYW4tdmlvbGV0O1xuICB9XG5cbiAgLmljb25fX3N2ZyB7XG4gICAgZmlsbDogJHdoaXRlO1xuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHN0eWxlcyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgc2hhcmUgc2VjdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zZWN0aW9uLS1mb2xsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXNwaGFsdDtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgc3R5bGVzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSBjb250YWN0IHNlY3Rpb24uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc2VjdGlvbi0tY29udGFjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyZXk7XG59XG4iXX0= */
