/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./data/www/templates/asgard/ispace.cz/sass/product.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.product-detail__quantity label, .product-detail__price-info-saving-amount, .product-detail__price-info-saving-percent > span:not([id]), .product-detail__price-info-block-heading, .product-detail .tabs__main .tabs__section-inner-content .product-detail__producer .product-detail__secondary-section-heading, .product-detail__reviews-info .ratings-count, .product-detail__reviews-info .ratings-overall-heading, .product-detail__reviews-info .ratings-average {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.product-detail__price-info-saving-amount, .product-detail__price-info-being-sold-percentage-discount .product-detail__price-info-block-heading {
  clip: unset;
  clip-path: unset;
  height: unset;
  overflow: unset;
  position: unset;
  white-space: unset;
  width: unset;
}

/**
 * Retrieves the next smaller breakpoint from the given breakpoint.
 *
 * @param {String} $breakpoint - The breakpoint for which to find the next smaller breakpoint.
 * @return {String|null} - The next smaller breakpoint, or null if no smaller breakpoint is available.
 */
/**
 * Retrieves the next larger breakpoint from the $grid-breakpoints map.
 *
 * @function get-bigger-breakpoint
 * @param {String} $breakpoint - The current breakpoint to find the next larger one for.
 * @return {String | null} - The next larger breakpoint or null if the current breakpoint is the largest or not found.
 */
/**
 * Reset iSpace custom form input styles to be able to design special inputs more easily
 */
/**
 * Styles to hide the scrollbar but still allow scrolling
 */
@media (min-width: 1366px) {
  .product-detail p {
    font-size: inherit;
  }
}
.product-detail__main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 0;
  align-items: start;
}
@media (min-width: 576px) {
  .product-detail__main {
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    gap: 30px 40px;
  }
}
.product-detail__main-images {
  order: -1;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
}
.product-detail__main-images > * {
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.product-detail__main-text {
  container-name: product-text-block;
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-self: start;
}
.product-detail__main-text > *:where(:not(.product-detail__has-free-shipping):not(.product-detail__actions)) {
  width: 100%;
}
.product-detail__main-text .product-detail__text {
  text-wrap: balance;
  text-align: center;
}
.product-detail__main-text .product-detail__text:not(:has(> *)) {
  position: absolute;
}
@media (min-width: 576px) {
  @container product-text-block (width < 80vw) and (width > 329px) {
    .product-detail__main-text .product-detail__text {
      text-align: left;
    }
  }
}
.product-detail__reviews-info {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 0.5rem 1rem;
  justify-content: center;
}
@media (min-width: 576px) {
  @container product-text-block (width < 80vw) and (width > 329px) {
    .product-detail__reviews-info {
      justify-content: unset;
    }
  }
}
.product-detail__reviews-info-percentage {
  font-weight: 600;
  margin-inline-end: 0.5rem;
}
.product-detail__reviews-info .ratings-overall {
  display: contents;
}
.product-detail__heading {
  text-align: center;
  text-wrap: balance;
}
@media (min-width: 576px) {
  @container product-text-block (width < 80vw) and (width > 329px) {
    .product-detail__heading {
      text-align: left;
    }
  }
}
.product-detail__form {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-self: start;
}
.product-detail__form > *:where(:not(.product-detail__has-free-shipping):not(.product-detail__actions)) {
  width: 100%;
}
.product-detail__title {
  margin-bottom: 1rem;
}
.product-detail__meta {
  color: #747474;
  display: flex;
  flex-wrap: wrap;
  gap: 0 clamp(1.5rem, 3vw, 3rem);
  text-align: center;
  text-wrap: balance;
  justify-content: center;
  min-height: 1lh;
}
@media (min-width: 576px) {
  @container product-text-block (width < 80vw) and (width > 329px) {
    .product-detail__meta {
      text-align: left;
      justify-content: unset;
    }
  }
}
.product-detail__meta > * {
  margin: 0;
  padding: 0;
}
.product-detail__text:has(.perex-more) > *:nth-last-child(2) {
  display: inline;
}
.product-detail__has-free-shipping {
  min-width: calc(50% - 1rem);
}
.product-detail__secondary {
  overflow: hidden;
}
thead + tbody > .product-detail__secondary table:first-child,
.product-detail__secondary table tr + tr {
  border-top: 1px solid #dedede;
}
.product-detail__secondary table th,
.product-detail__secondary table td {
  vertical-align: top;
  padding: 0.4em;
}
.product-detail__secondary table th:first-child,
.product-detail__secondary table td:first-child {
  padding-left: 0;
}
.product-detail__secondary table th:last-child,
.product-detail__secondary table td:last-child {
  padding-right: 0;
}
.product-detail__secondary table th {
  font-weight: normal;
}
.product-detail__secondary table th + td {
  font-weight: 600;
}
.product-detail__secondary table thead th {
  font-weight: 600;
}
.product-detail .tabs:last-child {
  margin-bottom: 6rem;
}
.product-detail .tabs + .products-section,
.product-detail .tabs + .products-section + .products-section {
  border-block-start: 1px solid #dedede;
  margin-block-start: 6rem;
}
@media (max-width: 767.98px) {
  .product-detail .tabs + .products-section {
    border-block-start: none;
    margin-block-start: unset;
  }
}
.product-detail .tabs + *:where(:not(.products-section)) {
  margin-block-start: 6rem;
}
.product-detail .tabs__main {
  container: main-tab/inline-size;
}
.product-detail .tabs__main .tabs__section-inner-content {
  display: flex;
  flex-wrap: wrap;
}
.product-detail .tabs__main .tabs__section-inner-content .product-detail__text {
  flex: 11 0 350px;
  margin-bottom: 3rem;
}
@container main-tab (min-width: 537px) {
  .product-detail .tabs__main .tabs__section-inner-content .product-detail__text:where(:not(:last-child)) {
    padding-right: 3.5%;
  }
}
.product-detail .tabs__main .tabs__section-inner-content .product-detail__text:where(:first-child:last-child) {
  flex: none;
  padding-right: 0;
  max-width: min(768px, 100%);
  margin-inline: auto;
}
.product-detail .tabs__main .tabs__section-inner-content .product-detail__text + div {
  flex: 2 0 187px;
}
@container main-tab (min-width: 702px) {
  .product-detail .tabs__main .tabs__section-inner-content .product-detail__text + div {
    border-left: 1px solid #dedede;
    padding-left: 3.5%;
    padding-bottom: 3rem;
  }
}
.product-detail .tabs__main .tabs__section-inner-content .product-detail__secondary-section-heading {
  margin-bottom: 1rem;
}
.product-detail .tabs__main .tabs__section-inner-content .product-detail__secondary-section + .product-detail__secondary-section {
  margin-top: 3rem;
}
.product-detail .tabs__main .tabs__section-inner-content .product-detail__producer {
  font-size: 1.75rem;
}
.product-detail .tabs__main .tabs__section-inner-content .product-detail__producer img {
  max-height: 150px;
}
.product-detail__parameters-list .popover__container {
  margin-inline: 0.2em;
}
.product-detail__parameters-list-item-description-variants .column-items-dynamic {
  --column-count: 1;
  --column-width: "";
}
.product-detail__parameters-list-item-description-variants .column-items-dynamic:not(.show-all-items) .column-items-dynamic--trigger,
.product-detail__parameters-list-item-description-variants .column-items-dynamic:not(.show-all-items) .column-items-dynamic--trigger div {
  display: inline;
}
.product-detail__parameters-list-item-description-variants .column-items-dynamic:not(.show-all-items) .column-items-dynamic--trigger .btn {
  text-transform: lowercase;
}
.product-detail__parameters-list-item-description-variants .column-items__item::after {
  margin-inline-start: 0;
}
.product-detail__taxonomy {
  margin-bottom: 6rem;
}
.product-detail__taxonomy-heading {
  font-size: 1.75rem;
  line-height: 1.2;
}
.product-detail__similar-categories-heading {
  margin-bottom: 1rem;
}
.product-detail__similar-categories-list-item {
  display: block;
}
.product-detail__tags > dl {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1rem;
}
@media (min-width: 768px) {
  .product-detail__tags > dl {
    align-items: baseline;
    flex-wrap: nowrap;
  }
}
.product-detail__tags > dl,
.product-detail__tags > dl * {
  overflow-wrap: normal;
}
.product-detail__tags > dl,
.product-detail__tags > dl dt,
.product-detail__tags > dl dd {
  margin: 0;
}
.product-detail__variants-list li + li {
  margin-top: 0.3rem;
}

.product-detail__main-image {
  min-width: 100%;
  max-width: 100%;
}
.product-detail__main-image .embla__button {
  min-width: 40px;
}
.product-detail__main-image .embla__button--prev {
  right: auto;
  left: -10px;
}
.product-detail__main-image .embla__button--next {
  left: auto;
  right: -10px;
}
.product-detail__main-image .embla__slide {
  position: relative;
}
.product-detail__main-image .embla__slide > *:not(.embla__slide--spinner) {
  opacity: 1;
  transition: 0.3s opacity ease-in-out;
}
.product-detail__main-image .embla__slide a,
.product-detail__main-image .embla__slide picture {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.product-detail__main-image .embla__slide img {
  aspect-ratio: 1;
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.product-detail__main-image .embla__slide--spinner {
  height: 30px;
  width: 30px;
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  animation: spinner 0.75s infinite linear;
}
.product-detail__main-image .embla__slide:where(:not(.embla__lazy-load--has-loaded)) {
  aspect-ratio: 1/1;
}
.product-detail__main-image .embla__slide:where(:not(.embla__lazy-load--has-loaded)) > *:not(.embla__slide--spinner) {
  opacity: 0;
}
.product-detail__main-image .embla__slide:where(:not(.embla__lazy-load--has-loaded)) .embla__slide--spinner {
  opacity: 0.5;
}
.product-detail__main-images {
  background-color: var(--bs-body-bg);
  margin-inline: calc(var(--bs-gutter-x) * -0.5);
  padding: clamp(15px, 5vw, 30px) clamp(15px, 3.333vw, 20px);
}
@media (min-width: 576px) {
  .product-detail__main-images {
    margin-inline: 0;
  }
}
.product-detail__thumbnail-images {
  margin: clamp(15px, 5vw, 30px) clamp(-20px, -3.333vw, -15px) clamp(-30px, -5vw, -15px);
  justify-self: stretch;
  padding: clamp(15px, 3.333vw, 20px);
  grid-row: 2;
  border-top: 1px solid #dedede;
}
@supports selector(:has(> [style*="none"])) {
  .product-detail__thumbnail-images:has(> [style*=none]) {
    display: none;
  }
}
.product-detail__thumbnail-images-list {
  --thumbnail-width: 95px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--thumbnail-width), 1fr));
  gap: 0 1px;
  grid-template-rows: 1fr 1fr 0fr;
  grid-template-rows: auto auto 0fr;
  grid-auto-rows: 0fr;
  overflow: hidden;
  position: relative;
  transition: grid-template-rows 0.5s ease-out, gap 0.3s ease-out;
}
.product-detail__thumbnail-images-list.show-all-thumbnails {
  grid-template-rows: auto auto 1fr;
  grid-auto-rows: auto;
  gap: 1px;
}
.product-detail__thumbnail-images-list > * {
  aspect-ratio: 1/1;
  opacity: 1;
  transition: 0.3s ease-in;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: var(--thumbnail-width);
  overflow: hidden;
}
.product-detail__thumbnail-images-list > * a {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  overflow: hidden;
  transition: border-color 0.15s linear;
  height: calc(var(--thumbnail-width) - 2px);
  width: calc(var(--thumbnail-width) - 2px);
}
.product-detail__thumbnail-images-list > * a picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96%;
  height: 96%;
}
.product-detail__thumbnail-images-list > * a img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.product-detail__thumbnail-images-list > .thumbnail-last-item {
  position: relative;
}
.product-detail__thumbnail-images-list > .thumbnail-last-item .product-detail__thumbnail-images-trigger {
  position: absolute;
  inset: 0;
  display: grid;
  z-index: 1;
  background: #fff;
  align-content: center;
  font-size: 1.6rem;
  font-weight: normal;
  padding-top: 8px;
  text-indent: -4px;
  line-height: 25px;
}
.product-detail__thumbnail-images-list > .thumbnail-last-item .product-detail__thumbnail-images-trigger > span:first-child {
  font-weight: bold;
}
.product-detail__thumbnail-images .thumb {
  border: 1px solid rgba(255, 255, 255, 0);
}
.product-detail__thumbnail-images .active-thumb {
  border-color: #b1b1b1;
}

.product-detail__variants {
  border-top: 1px solid #dedede;
  padding-top: 2rem;
}
.product-detail__variants .form-input__label {
  font-size: inherit;
  font-weight: 700;
  opacity: 1;
}
.product-detail__variants .form-input + .form-input {
  margin-top: 2rem;
}
.product-detail__variants .form-input .form-field-buttons-container {
  padding-block: 6px;
  min-height: 62px;
}
.product-detail__variants .form-input .form-field, .product-detail__variants .form-input .form-field-container {
  background-color: #fff;
}
.product-detail__variants .form-input .form-field:focus-within, .product-detail__variants .form-input .form-field-container:focus-within {
  background-color: #fff;
}
.product-detail__variants .trigger-disabled--select-to-triggers {
  cursor: default;
}
.product-detail__variants .trigger-disabled--select-to-triggers::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-image: url('data:image/svg+xml,    <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none">    <line stroke-width="2" stroke="rgba(177, 177, 177, 0.999)"    x1="0" y1="0" x2="100" y2="100" vector-effect="non-scaling-stroke"/>    </svg>');
  transform: scaleX(-1);
}
.product-detail__variants .trigger--select-to-triggers-image {
  --thumbnail-width: 80px;
  padding: 5px;
  aspect-ratio: 1/1;
  width: var(--thumbnail-width);
  max-width: var(--thumbnail-width);
}
.product-detail__variants .trigger--select-to-triggers-image .variant-option-item-inner {
  height: var(--thumbnail-width);
}
.product-detail__variants .trigger--select-to-triggers-image .variant-option-item-inner picture {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 96%;
  width: 96%;
}
.product-detail__variants .trigger--select-to-triggers-image .variant-option-item-inner img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.product-detail__variants [id=variantColourOptions] {
  opacity: 0;
}
.product-detail__variants .variant-parameter-name {
  margin-left: 1em;
  font-weight: normal;
}

.product-detail__price-block {
  background: #fff;
  padding: clamp(15px, 3.333vw, 20px);
}
.product-detail__price-info-blocks {
  display: grid;
  gap: 0 10px;
  grid-template-columns: 70px auto auto 1fr;
}
@media (min-width: 1200px) {
  .product-detail__price-info-blocks {
    grid-template-columns: auto 1fr minmax(auto, 70px) minmax(auto, 200px);
  }
}
.product-detail__price-info-block-heading {
  margin: 0;
}
.product-detail__contents {
  display: contents;
}
.product-detail__price-info-coming-soon {
  grid-row: 1;
  grid-column: 1/span 4;
  padding-bottom: 0.25rem;
  font-weight: 700;
}
.product-detail__price-info-being-sold-old-price {
  grid-row: 1;
  grid-column: 1/span 4;
  color: #747474;
  padding-bottom: 0.25rem;
}
.product-detail__price {
  grid-row: 2;
  grid-column: 1/span 2;
}
.product-detail__price * {
  overflow-wrap: normal;
}
.product-detail__price strong {
  font-size: var(--product-detail-price-size);
}
.product-detail__price [id=priceExclVat] {
  display: block;
  color: #747474;
  font-size: 1.4rem;
  margin-block-start: -0.5rem;
  padding-inline-end: 0.5rem;
}
.product-detail__delivery-date {
  grid-column: 1/span 3;
  grid-row: 4;
}
.product-detail__price-info-being-sold-percentage-discount {
  grid-row: 2;
  grid-column: 3/span 2;
  align-self: center;
}
.product-detail__price-info-being-sold-percentage-discount * {
  overflow-wrap: normal;
}
.product-detail__price-info-being-sold-percentage-discount .product-detail__price-info-block-content {
  display: inline-flex;
  background-color: #df1607;
  color: #fff;
  padding-inline: 0.5rem;
}
.product-detail__availability {
  grid-row: 3;
  grid-column: 1/span 4;
  padding-top: 0.75rem;
}
.product-detail__availability .stock--available {
  font-weight: 600;
}
.product-detail__availability-link:has([class*=stock]) {
  text-decoration: none;
}
.product-detail__availability-link:has([class*=stock]):link [class*=stock], .product-detail__availability-link:has([class*=stock]):visited [class*=stock] {
  text-decoration: underline;
}
.product-detail__availability-link:has([class*=stock]):hover [class*=stock], .product-detail__availability-link:has([class*=stock]):focus [class*=stock], .product-detail__availability-link:has([class*=stock]):active [class*=stock] {
  text-decoration: none;
}
.product-detail__availability .product-detail__price-info-block-content .popover {
  color: #000;
  top: -0.1rem;
}
.product-detail__availability .product-detail__price-info-block-content .popover .popover__content {
  color: var(--bs-body-color, #000);
}
.product-detail__quantity, .product-detail__submit {
  padding-top: 1.25rem;
}
.product-detail__quantity {
  grid-column: 1;
  grid-row: 5;
}
.product-detail__contents:has(.submit[disabled]) .product-detail__quantity {
  display: none;
}
.product-detail__quantity input {
  max-width: 100%;
  height: 56px;
  border: 1px solid #dedede;
  text-align: center;
}
.product-detail__submit {
  grid-row: 5;
  grid-column: 2/span 3;
}
.product-detail__submit .submit {
  box-sizing: border-box;
  height: 56px;
  width: 100%;
}
@media (min-width: 1200px) {
  .product-detail__price-info-being-sold-old-price {
    grid-column: 1/span 2;
  }
  .product-detail__price {
    grid-column: 1;
  }
  .product-detail__availability {
    padding-top: 0;
  }
  .product-detail__delivery-date {
    grid-row: 5;
  }
  .product-detail__quantity, .product-detail__submit {
    padding-top: 0;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
  }
  .product-detail__quantity {
    grid-column: 3;
    grid-row: 1/span 3;
  }
  .product-detail__submit {
    grid-column: 4;
    grid-row: 1/span 3;
  }
  .product-detail__price-info-being-sold-percentage-discount {
    grid-column: 2;
  }
}

.product-detail__actions-link {
  display: flex;
  align-items: center;
  gap: 5px;
}
.product-detail__actions-link:link, .product-detail__actions-link:visited {
  color: #007dba;
}
.product-detail__actions-link:hover, .product-detail__actions-link:focus, .product-detail__actions-link:active {
  color: currentcolor;
  text-decoration: none;
}
.product-detail__actions-link:where([disabled]) {
  pointer-events: none;
  color: #747474;
}
.product-detail__actions-icon {
  height: 1em;
}
.product-detail__action + * {
  margin-top: 0.25rem;
}

.nav-tabs {
  background: none;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 3rem;
  font-size: 1.75rem;
}
.nav-tabs::before {
  background-color: #f3f3f3;
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.nav-tabs > li {
  position: relative;
  max-width: 25%;
  overflow-wrap: normal;
}
.nav-tabs > li a {
  display: flex;
  flex-wrap: wrap;
  height: 80px;
  align-items: center;
  justify-content: center;
  padding: 5px clamp(5px, 5vw, 20px);
}
.nav-tabs > li a:link, .nav-tabs > li a:visited, .nav-tabs > li a:hover, .nav-tabs > li a:focus, .nav-tabs > li a:active {
  color: currentcolor;
}
.nav-tabs .active a {
  background-color: #fff;
  text-decoration: none;
  font-weight: bold;
}

.tabs__section:not(.active) {
  display: none;
}
@media (min-width: 768px) {
  .tabs__section-inner-content {
    padding-top: 5rem;
  }
}
@media (min-width: 768px) {
  .tabs__section-heading {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}
.tabs__section-heading--icon {
  display: none;
}

.product-detail [data-content=accordion] {
  border-bottom: none;
  margin-bottom: 0;
}
[data-content=accordion] .nav-tabs {
  display: none;
}
[data-content=accordion] .toggled-section {
  border-block-start: 1px solid #dedede;
  display: block !important;
  margin-inline: calc(var(--bs-gutter-x) * -0.5);
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
}
[data-content=accordion] .toggled-section:last-child {
  border-block-end: 1px solid #dedede;
}
[data-content=accordion] .toggled-section-inner {
  display: grid !important;
  grid-template-rows: 0fr;
  align-items: start;
  transition: 0.2s grid-template-rows linear;
  overflow: hidden;
}
[data-content=accordion] .toggled-section-inner-content {
  overflow: hidden;
}
[data-content=accordion] .toggled-section-inner-content > *:last-child {
  margin-bottom: 2rem;
}
[data-content=accordion] .toggled-section-header {
  margin: 0;
  padding-block: 0.5rem;
  font-size: 2.1rem;
  font-weight: normal;
  min-height: 6rem;
  display: flex;
  align-items: center;
}
[data-content=accordion] .toggled-section-header .tabs__section-heading--icon {
  display: block;
  height: 1.5rem;
  width: 1.5rem;
  margin-inline-start: auto;
}
[data-content=accordion] .toggled-section.active .toggled-section-header .tabs__section-heading--icon {
  transform: rotate(180deg);
}
[data-content=accordion] .toggled-section.active .toggled-section-inner {
  grid-template-rows: 1fr;
}
[data-content=accordion] .toggled-section:first-child:last-child .toggled-section-header .tabs__section-heading--icon {
  display: none;
}
[data-content=accordion] .toggled-section:first-child:last-child .toggled-section-inner {
  grid-template-rows: 1fr;
}
[data-content=accordion].tabs__section:not(.active) {
  display: unset;
}
[data-content=accordion].tabs__section-heading {
  margin-top: 0;
}

@media (max-width: 767.98px) {
  .product-detail .tabs {
    border-bottom: none;
    margin-bottom: 0;
  }
  .tabs .nav-tabs {
    display: none;
  }
  .tabs .toggled-section {
    border-block-start: 1px solid #dedede;
    display: block !important;
    margin-inline: calc(var(--bs-gutter-x) * -0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }
  .tabs .toggled-section:last-child {
    border-block-end: 1px solid #dedede;
  }
  .tabs .toggled-section-inner {
    display: grid !important;
    grid-template-rows: 0fr;
    align-items: start;
    transition: 0.2s grid-template-rows linear;
    overflow: hidden;
  }
  .tabs .toggled-section-inner-content {
    overflow: hidden;
  }
  .tabs .toggled-section-inner-content > *:last-child {
    margin-bottom: 2rem;
  }
  .tabs .toggled-section-header {
    margin: 0;
    padding-block: 0.5rem;
    font-size: 2.1rem;
    font-weight: normal;
    min-height: 6rem;
    display: flex;
    align-items: center;
  }
  .tabs .toggled-section-header .tabs__section-heading--icon {
    display: block;
    height: 1.5rem;
    width: 1.5rem;
    margin-inline-start: auto;
  }
  .tabs .toggled-section.active .toggled-section-header .tabs__section-heading--icon {
    transform: rotate(180deg);
  }
  .tabs .toggled-section.active .toggled-section-inner {
    grid-template-rows: 1fr;
  }
  .tabs .toggled-section:first-child:last-child .toggled-section-header .tabs__section-heading--icon {
    display: none;
  }
  .tabs .toggled-section:first-child:last-child .toggled-section-inner {
    grid-template-rows: 1fr;
  }
  .tabs.tabs__section:not(.active) {
    display: unset;
  }
  .tabs.tabs__section-heading {
    margin-top: 0;
  }
}

/**
 * Reset iSpace custom form input styles to be able to design special inputs more easily
 */
/**
 * Styles to hide the scrollbar but still allow scrolling
 */
.product-detail__main {
  align-items: start;
  grid-template-columns: 1fr;
  gap: 3rem 0;
}
@media (min-width: 768px) {
  .product-detail__main {
    gap: 2rem 32px;
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  }
}
.product-detail__main-images {
  place-items: normal;
  grid-row: 2;
}
@media (min-width: 768px) {
  .product-detail__main-images {
    grid-row: 1/span 2;
    position: sticky;
    top: 6.5rem;
  }
}
@media (min-width: 1200px) {
  .product-detail__main-images {
    top: 15.5rem;
  }
}
.product-detail__main-image .embla__slide a {
  padding: clamp(1rem, 5vw, 5.6rem);
}
.product-detail__main-text {
  grid-row: 3;
}
@media (min-width: 768px) {
  .product-detail__main-text {
    grid-column: 2;
    grid-row: 2;
  }
}
.product-detail__main-text-secondary {
  --secondary-block-border-color: rgb(0, 0, 0, 0.1);
  --flex-gap-block: 0;
  --flex-gap-inline: 1em;
  --flex-gap: var(--flex-gap-block) var(--flex-gap-inline);
}
.product-detail__form + .product-detail__main-text-secondary:not(.increase-specificity) {
  margin-block-start: -20px;
  padding-block-start: 0;
  border-radius: 0 0 8px 8px;
}
@container product-text-block (width < 450px) {
  div .product-detail__main-text-secondary:not(.increase-specificity) {
    padding: 0;
    background: none;
  }
}
.product-detail__main-text-secondary-inner {
  background: #fff;
  border-radius: 8px;
  padding: 10px 20px;
  font-size: clamp(1.2rem, 0.76vi + 0.91rem, 1.5rem);
}
@container product-text-block (width < 450px) {
  .product-detail__main-text-secondary-inner {
    background: none;
    border-radius: 0;
    padding: 0;
  }
}
.product-detail__main-text-secondary-inner > *:where(:not(.product-detail__delivery-options)),
.product-detail__main-text-secondary-inner .product-detail__delivery-option {
  padding-block: 10px;
}
@container product-text-block (width < 450px) {
  .product-detail__main-text-secondary-inner > *:where(:not(.product-detail__delivery-options)),
  .product-detail__main-text-secondary-inner .product-detail__delivery-option {
    padding-block: 15px;
  }
}
.product-detail__main-text-secondary-inner > *:where(:not(.product-detail__delivery-options)) + *,
.product-detail__main-text-secondary-inner .product-detail__delivery-option + * {
  border-top: 1px solid var(--secondary-block-border-color);
}
@container product-text-block (width < 450px) {
  .product-detail__main-text-secondary-inner .product-detail__delivery-option {
    display: block;
  }
  .product-detail__main-text-secondary-inner .product-detail__delivery-option strong {
    display: inline-block;
  }
  .product-detail__main-text-secondary-inner .product-detail__delivery-option strong::after {
    content: " - ";
  }
  .product-detail__main-text-secondary-inner .product-detail__delivery-option .product-detail__delivery-link {
    margin-inline-start: 40px;
  }
}
@container product-text-block (width < 450px) {
  .product-detail__main-text-secondary-inner .product-availability {
    display: block;
  }
  .product-detail__main-text-secondary-inner .product-availability .stock--available-extra {
    display: inline-block;
    vertical-align: initial;
    margin-inline: -0.3rem;
  }
}
.product-detail__main-text-secondary-icon {
  display: none;
}
@supports selector(:has(+ *)) {
  .product-detail__main-text-secondary *:has(> .product-detail__main-text-secondary-icon) {
    padding-inline-start: 40px;
    position: relative;
  }
  .product-detail__main-text-secondary *:has(> .product-detail__main-text-secondary-icon) .product-detail__main-text-secondary-icon {
    display: block;
    position: absolute;
    left: 0;
  }
}
.product-detail__main-text-secondary .product-detail__actions-icon {
  width: 1em;
}
.product-detail__actions--home-credit:not(.increase-specificity) {
  width: 100%;
}
@container product-text-block (width < 450px) {
  .product-detail__actions--home-credit:not(.increase-specificity) {
    flex-wrap: wrap;
    justify-content: start;
    align-items: flex-start;
  }
  .product-detail__actions--home-credit:not(.increase-specificity) .product-detail__actions-text {
    display: inline-block;
    flex: 0 0 auto;
  }
  .product-detail__actions--home-credit:not(.increase-specificity) .product-detail__actions-text strong {
    display: block;
  }
  .product-detail__actions--home-credit:not(.increase-specificity) .product-detail__actions-icon {
    align-self: flex-end;
    position: relative;
    top: -0.3em;
    left: -0.4em;
  }
}
.product-detail__actions--home-credit-icon {
  width: 32px;
  height: 18px;
}
.product-detail__actions--home-credit .product-detail__actions-text {
  flex: 1;
  display: flex;
  justify-content: space-between;
  gap: var(--flex-gap);
}
.product-detail__actions--home-credit .product-detail__actions-text > strong {
  margin-inline-end: auto;
  font-variation-settings: "wght" 400;
}
.product-detail__actions--home-credit-container > .product-detail__actions-link--plain, .product-detail__actions--home-credit-container > .product-detail__actions-link--plain:hover, .product-detail__actions--home-credit-container > .product-detail__actions-link--plain:focus, .product-detail__actions--home-credit-container > .product-detail__actions-link--plain:active {
  text-decoration: none;
  cursor: default;
}
.product-detail__actions-text-link {
  font-variation-settings: "wght" 500;
}
.product-detail__actions-text-link.btn__link, .product-detail__actions-text-link.btn, .btn__link .product-detail__actions-text-link, .btn .product-detail__actions-text-link, .product-detail__actions-text-link:where(a), a .product-detail__actions-text-link {
  text-decoration: underline;
  color: inherit;
}
.product-detail__actions-text-link.btn__link:hover, .product-detail__actions-text-link.btn__link:focus, .product-detail__actions-text-link.btn__link:active, .product-detail__actions-text-link.btn:hover, .product-detail__actions-text-link.btn:focus, .product-detail__actions-text-link.btn:active, .product-detail__actions-text-link:where(a):hover, .product-detail__actions-text-link:where(a):focus, .product-detail__actions-text-link:where(a):active {
  text-decoration: none;
  color: #145c80;
  background: none;
}
.btn__link:hover .product-detail__actions-text-link:hover, .btn__link:focus .product-detail__actions-text-link, .btn__link:active .product-detail__actions-text-link, .btn:hover .product-detail__actions-text-link, .btn:focus .product-detail__actions-text-link, .btn:active .product-detail__actions-text-link, a:hover .product-detail__actions-text-link, a:focus .product-detail__actions-text-link, a:active .product-detail__actions-text-link {
  cursor: pointer;
  text-decoration: none;
  color: #145c80;
}
.product-detail__title {
  font-size: 2.8rem;
}
.product-detail__heading {
  grid-row: 1;
}
@media (min-width: 768px) {
  .product-detail__heading {
    text-align: left;
    grid-column: 2;
  }
}
.product-detail__heading .flags {
  align-items: start;
  justify-content: center;
  flex-flow: row wrap;
  gap: 0.8rem;
  margin-block: 2rem 0;
  place-self: start;
}
@media (min-width: 768px) {
  .product-detail__heading .flags {
    margin-block: 0 1rem;
    justify-content: start;
  }
}
.product-detail__heading .flags__item {
  border-radius: 5px;
  font-size: 1.5rem;
  min-height: 2.8rem;
}
.product-detail__heading .flags__item:has(> .popover__container) {
  gap: 0.25rem;
  padding-inline-end: 0.3rem;
}
@media (hover: none) and (pointer: coarse) {
  .product-detail__heading .flags__item .popover__trigger::after {
    content: "";
    display: block;
    height: 4rem;
    width: 4rem;
    position: absolute;
    inset: calc(50% - 2rem) 0 0 calc(50% - 2rem);
  }
}
.product-detail__text[id=perex] {
  font-size: 1.4rem;
  font-weight: normal;
  font-variation-settings: "wght" 400;
}
.product-detail__text .perex-more {
  font-variation-settings: "wght" 700;
}
.product-detail__text .perex-more__icon {
  height: 1.2rem;
  width: 1.2rem;
}
.product-detail__text .perex-more .btn-link {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5rem;
}
.product-detail__form {
  container-name: product-detail-form;
  container-type: inline-size;
}
.product-detail__form:has(+ .product-detail__main-text-secondary) .product-detail__price-block {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.product-detail__time-limited-offer {
  --inverted-border-gradient: #0000 98%, #000;
  --inverted-border-radius: 8px;
  --inverted-border-radius-tl: 0px;
  --inverted-border-radius-tr: 0px;
  --inverted-border-radius-br: 8px;
  --inverted-border-radius-bl: 8px;
  mask: radial-gradient(var(--inverted-border-radius-tl) at 0 0, var(--inverted-border-gradient)) 0 0, radial-gradient(var(--inverted-border-radius-tr) at 100% 0, var(--inverted-border-gradient)) 100% 0, radial-gradient(var(--inverted-border-radius-bl) at 0 100%, var(--inverted-border-gradient)) 0 100%, radial-gradient(var(--inverted-border-radius-br) at 100% 100%, var(--inverted-border-gradient)) 100% 100%;
  mask-repeat: no-repeat;
  mask-size: 51% 51%;
  background-color: #007dba;
  border-radius: 8px 8px 0 0;
  color: #fff;
  border-inline-start: none;
  margin-block-end: calc(-2rem - 1px);
  padding: clamp(8px, 5.09vi - 11.1px, 28px) clamp(15px, 3.333vw, 40px);
  text-align: center;
  line-height: 1.2;
}
@supports (background: -webkit-named-image(i)) {
  .product-detail__time-limited-offer {
    mask: none;
  }
}
@supports (offset-path: shape(from top left, curve to 50% 50% with 25% 100%)) {
  .product-detail__time-limited-offer {
    mask: none;
    clip-path: shape(from 0 var(--inverted-border-radius-tl), arc by var(--inverted-border-radius-tl) calc(var(--inverted-border-radius-tl) * -1) of var(--inverted-border-radius-tl), line to calc(100% - var(--inverted-border-radius-tr)) 0, arc by var(--inverted-border-radius-tr) var(--inverted-border-radius-tr) of var(--inverted-border-radius-tr), line to 100% calc(100% - var(--inverted-border-radius-br)), arc by calc(var(--inverted-border-radius-br) * -1) var(--inverted-border-radius-br) of var(--inverted-border-radius-br), line to var(--inverted-border-radius-bl) 100%, arc by calc(var(--inverted-border-radius-bl) * -1) calc(var(--inverted-border-radius-bl) * -1) of var(--inverted-border-radius-bl), line to 0 var(--inverted-border-radius-tl));
  }
}
.product-detail__time-limited-offer .time-limited-offers__offer-time-remaining-heading {
  font-size: 2rem;
  font-variation-settings: "wght" 400;
}
.product-detail__time-limited-offer .time-limited-offers__offer-time-remaining-value {
  font-size: 2rem;
  font-variation-settings: "wght" 700;
}
.product-detail__time-limited-offer + .product-detail__price-block {
  --inverted-border-gradient: #0000 98%, #000;
  --inverted-border-radius: 8px;
  --inverted-border-radius-tl: 8px;
  --inverted-border-radius-tr: 8px;
  --inverted-border-radius-br: 0px;
  --inverted-border-radius-bl: 0px;
  mask: radial-gradient(var(--inverted-border-radius-tl) at 0 0, var(--inverted-border-gradient)) 0 0, radial-gradient(var(--inverted-border-radius-tr) at 100% 0, var(--inverted-border-gradient)) 100% 0, radial-gradient(var(--inverted-border-radius-bl) at 0 100%, var(--inverted-border-gradient)) 0 100%, radial-gradient(var(--inverted-border-radius-br) at 100% 100%, var(--inverted-border-gradient)) 100% 100%;
  mask-repeat: no-repeat;
  mask-size: 51% 51%;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
@supports (background: -webkit-named-image(i)) {
  .product-detail__time-limited-offer + .product-detail__price-block {
    mask: none;
  }
}
@supports (offset-path: shape(from top left, curve to 50% 50% with 25% 100%)) {
  .product-detail__time-limited-offer + .product-detail__price-block {
    mask: none;
    clip-path: shape(from 0 var(--inverted-border-radius-tl), arc by var(--inverted-border-radius-tl) calc(var(--inverted-border-radius-tl) * -1) of var(--inverted-border-radius-tl), line to calc(100% - var(--inverted-border-radius-tr)) 0, arc by var(--inverted-border-radius-tr) var(--inverted-border-radius-tr) of var(--inverted-border-radius-tr), line to 100% calc(100% - var(--inverted-border-radius-br)), arc by calc(var(--inverted-border-radius-br) * -1) var(--inverted-border-radius-br) of var(--inverted-border-radius-br), line to var(--inverted-border-radius-bl) 100%, arc by calc(var(--inverted-border-radius-bl) * -1) calc(var(--inverted-border-radius-bl) * -1) of var(--inverted-border-radius-bl), line to 0 var(--inverted-border-radius-tl));
  }
}
.product-detail__info {
  display: grid;
  gap: 3rem 4rem;
  grid-template-columns: repeat(auto-fit, minmax(min(600px, 100%), 1fr));
  grid-auto-rows: auto 1fr auto;
}
.product-detail__info--section {
  background-color: #f3f3f3;
  border-radius: 8px;
  padding: 3% clamp(2.5rem, 2vw, 3.5rem);
  align-content: center;
}
.product-detail__info--section.promo-is--img {
  padding: 0;
  overflow: hidden;
  background-color: transparent;
}
.product-detail__info--section.promo-is--img img {
  border-radius: 8px;
  margin-inline: auto;
}
.product-detail__info--related {
  grid-row: span 2;
}
.product-detail__info .benefits-section__list {
  gap: 2rem;
}
.product-detail__info .benefit-item {
  gap: clamp(0.5rem, 2vw, 1rem);
  font-size: 1.4rem;
}
.product-detail__info .benefit-item__name {
  font-size: 1.6rem;
}
.product-detail__info .benefit-item img {
  height: 5.5rem;
}
.product-detail__info .contact-section {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
  gap: 1rem 2rem;
  position: relative;
  font-size: 1.4rem;
}
.product-detail__info .contact-section * {
  z-index: 2;
}
.product-detail__info .contact-section__intro {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.product-detail__info .contact-section__intro--title {
  font-size: 2.2rem;
  margin-block-end: 0;
}
.product-detail__info .contact-section__list {
  display: contents;
}
.product-detail__info .contact-section__list-item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-self: center;
}
.product-detail__info .contact-section__list-item--secondary {
  display: flex;
  font-size: 1.6rem;
  font-variation-settings: "wght" 700;
}
.product-detail__info .contact-section__list-item .icon-link__icon {
  stroke-width: 0;
  width: auto;
  margin-inline-end: 1rem;
}
.product-detail__info .contact-section__list-item .icon-link__icon:has([href="#icon-shop-mobile"]) {
  flex: 0 0 1.27rem;
  height: 2rem;
}
.product-detail__info .contact-section__list-item .icon-link__icon:has([href="#icon-shop-envelope"]) {
  flex: 0 0 2.1rem;
  height: 1.7rem;
}
.product-detail__info .contact-section__list-item .icon-link__text {
  word-break: normal;
}
.product-detail__info .contact-section__background-icon {
  grid-column: 1/-1;
  position: absolute;
  z-index: 1;
  aspect-ratio: 20/18;
  height: 85%;
  max-height: 162px;
  stroke-width: 0;
  width: auto;
  margin: 0;
  align-self: center;
  opacity: 0.075;
}
.product-detail__reviews-info-percentage {
  font-weight: normal;
  font-variation-settings: "wght" 600;
}
.product-detail__secondary > .container {
  padding: 4rem calc(var(--bs-gutter-x) * 0.5);
  display: flex;
  flex-direction: column;
  gap: 5rem 0;
}
@media (min-width: 768px) {
  .product-detail__secondary > .container {
    padding: 5rem calc(var(--bs-gutter-x) * 0.5);
    gap: 6rem 0;
  }
}
@media (min-width: 1366px) {
  .product-detail__secondary > .container {
    padding: 6rem calc(var(--bs-gutter-x) * 0.5);
    gap: 8rem 0;
  }
}
.product-detail__secondary > .container .canvas {
  padding: 0;
}
.product-detail__secondary > .container .tabs + *:where(:not(.products-section)) {
  margin-block: 0;
}
.product-detail__secondary table th {
  font-weight: normal;
  font-variation-settings: "wght" 400;
}
.product-detail__secondary table th + td {
  font-weight: normal;
  font-variation-settings: "wght" 600;
}
.product-detail__secondary table thead th {
  font-weight: normal;
  font-variation-settings: "wght" 600;
}
.product-detail__parameters {
  --line-size: 3.84rem;
}
.product-detail__parameters .toggled-section-inner-content.toggled-section-inner-content {
  display: block;
  columns: 2 480px;
  column-gap: 30px;
}
.product-detail__parameters-box {
  display: block;
  break-inside: avoid-column;
  border: 1px solid #dedede;
  border-radius: 8px;
  padding: calc(2.04rem - 1px) 30px calc(2.64rem - 1px);
  width: 100%;
  margin-bottom: 3rem;
}
@supports (background: -webkit-named-image(i)) {
  .product-detail__parameters-box {
    display: inline-block;
  }
}
@supports (height: round(up, 100%, var(--line-size))) {
  .product-detail__parameters-box {
    height: calc(round(up, 100%, var(--line-size)) - 3rem - 2px);
  }
}
.product-detail__parameters-title {
  font-size: 1.8rem;
  line-height: 2.8rem;
  padding-bottom: 1.04rem;
  margin-bottom: 0;
  min-height: var(--line-size);
}
@supports (height: round(up, 100%, var(--line-size))) {
  .product-detail__parameters-title {
    height: round(up, 100%, var(--line-size));
    min-height: max(var(--line-size), 100%);
  }
}
.product-detail__parameters-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  font-size: 1.4rem;
}
.product-detail__parameters-list dt {
  display: flex;
  align-items: center;
  grid-column: 1;
  margin: 0;
  font-variation-settings: "wght" 400;
  border-radius: 8px 0 0 8px;
  padding: 0.5rem 5px 0.5rem 20px;
  min-height: var(--line-size);
}
@supports (height: calc-size(auto, size)) {
  .product-detail__parameters-list dt {
    height: calc-size(fit-content, round(up, size, var(--line-size)));
    min-height: max(var(--line-size), 100%);
  }
}
.product-detail__parameters-list dt:nth-of-type(odd) {
  background-color: rgba(0, 141, 210, 0.15);
}
.product-detail__parameters-list dt:nth-of-type(odd) + dd {
  background-color: rgba(0, 141, 210, 0.15);
}
.product-detail__parameters-list dd {
  display: flex;
  align-items: center;
  grid-column: 2;
  margin: 0;
  border-radius: 0 8px 8px 0;
  padding: 0.5rem 20px 0.5rem 5px;
  color: #145c80;
  min-height: var(--line-size);
}
@supports (height: calc-size(auto, size)) {
  .product-detail__parameters-list dd {
    height: calc-size(fit-content, round(up, size, var(--line-size)));
    min-height: max(var(--line-size), 100%);
  }
}
.product-detail__variants-list li + li {
  margin-top: 0;
}
.product-detail .tabs__main .tabs__section-inner-content .product-detail__text {
  padding-inline: 0;
  flex: 1;
  margin-inline: auto;
  max-width: min(900px, 100%);
}

.product-detail__has-free-shipping, .product-detail__energy-class, .product-detail__warranty-badge {
  position: absolute;
  min-width: auto;
}
.product-detail__has-free-shipping--icon, .product-detail__energy-class--icon, .product-detail__warranty-badge--icon {
  stroke-width: 0;
  pointer-events: none;
}
.product-detail__has-free-shipping {
  left: 2rem;
  bottom: 2rem;
}
.product-detail__has-free-shipping--icon {
  width: 44px;
  height: 37px;
  color: #007dba;
}
@media (min-width: 992px) {
  .product-detail__has-free-shipping--icon {
    width: 54px;
    height: 45px;
  }
}
.product-detail__warranty-badge {
  left: 2rem;
  bottom: 2rem;
}
.product-detail__warranty-badge-icon {
  width: 8rem;
  height: auto;
  transform: translateX(-8%);
}
.product-detail__warranty-badge-icon .outline {
  stroke: #145c80;
  fill: #e6f4fb;
}
.product-detail__warranty-badge-icon .txt {
  fill: #145c80;
  font-family: "Inter", "Inter-fallback", "Arial", sans-serif;
  text-anchor: middle;
  font-size: 88px;
  font-weight: 900;
}
.product-detail__warranty-badge-icon .txt + .txt {
  font-size: 34px;
  font-weight: 700;
}
@media (min-width: 992px) {
  .product-detail__warranty-badge-icon {
    width: 10rem;
  }
}
.product-detail__has-free-shipping + .product-detail__warranty-badge {
  bottom: 7.5rem;
}
.product-detail__energy-class {
  right: 2rem;
  bottom: 2.9rem;
}
.product-detail__energy-class--icon {
  width: 36px;
  height: 20px;
}
@media (min-width: 992px) {
  .product-detail__energy-class--icon {
    width: 56px;
    height: 30px;
  }
}
@media (min-width: 768px) {
  .product-detail__main {
    padding-block-start: 3rem;
  }
}
.product-detail__main-images {
  display: grid;
  gap: 1.6rem;
  padding: 0;
  margin-inline: 0;
}
@media (min-width: 768px) {
  .product-detail__main-images {
    grid-template-columns: 0.2075fr 1fr;
    grid-template-rows: auto 1fr;
    align-items: start;
  }
}
@media (max-width: 767.98px) {
  .product-detail__main-images {
    grid-template-columns: 1fr;
  }
}
.product-detail__main-images:not(:has(.product-detail__thumbnail-images)) {
  grid-template-columns: 1fr;
}
.product-detail__main-images:not(:has(.product-detail__thumbnail-images)) .product-detail__main-image {
  grid-column: 1;
}
.product-detail__main-images:not(:has(.product-detail__thumbnail-images)) .product-detail__meta {
  grid-column: 1;
}
.product-detail__main-image {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  min-width: 1px;
  grid-column: 2;
  grid-row: 1;
  position: relative;
}
@media (max-width: 767.98px) {
  .product-detail__main-image {
    grid-column: 1;
  }
}
.product-detail__main-image--zoom-icon {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  stroke-width: 0;
  width: 2.1rem;
  height: 2.1rem;
  pointer-events: none;
}
.product-detail__main-image .embla__buttons {
  inset: 0;
  margin: auto 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  background: none;
  pointer-events: none;
}
.product-detail__main-image .embla__button {
  position: static;
  pointer-events: all;
}
.product-detail__main-image .embla__button svg {
  color: #000;
  stroke-width: 0;
  height: 100%;
  width: 100%;
}
.product-detail__main-image .embla__slide img {
  max-height: 420px;
  max-width: 420px;
}
@media (min-width: 961px), (min-width: 414px) and (max-width: 620px) {
  .product-detail__main-image .embla__slide img {
    max-height: 500px;
    max-width: 500px;
  }
}
@media (min-width: 621px) and (max-width: 767px) {
  .product-detail__main-image .embla__slide img {
    max-height: 600px;
    max-width: 600px;
  }
}
@media (max-width: 380px) {
  .product-detail__main-image .embla__slide img {
    max-height: 320px;
    max-width: 320px;
  }
}
.product-detail__main-image:has(+ .product-detail__thumbnail-images) .embla {
  aspect-ratio: 1;
}
.product-detail__meta {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  font-size: 1.2rem;
  font-weight: normal;
  font-variation-settings: "wght" 400;
  color: rgba(0, 0, 0, 0.7);
}
@media (max-width: 767.98px) {
  .product-detail__meta {
    grid-column: 1;
  }
}
.product-detail__thumbnail-images {
  border: none;
  margin: 0;
  grid-row: 1;
  position: relative;
  height: 100%;
  grid-column: 1;
  padding: 0;
}
@media (max-width: 767.98px) {
  .product-detail__thumbnail-images {
    display: none;
  }
}
.product-detail__thumbnail-images-list {
  overflow: auto;
  grid-template-columns: 1fr;
  grid-template-rows: initial;
  grid-auto-rows: max-content;
  gap: 1.6rem;
  position: absolute;
  top: 0;
  left: 0;
  max-height: 100%;
  width: calc(100% + 10px);
  overscroll-behavior: none;
  padding-right: 10px;
  margin-right: -5px;
}
.product-detail__thumbnail-images-list::-webkit-scrollbar {
  width: 4px;
}
.product-detail__thumbnail-images-list::-webkit-scrollbar-track {
  background: transparent;
}
.product-detail__thumbnail-images-list::-webkit-scrollbar-thumb {
  background: #007dba;
  border-radius: 2px;
}
.product-detail__thumbnail-images-list::-webkit-scrollbar-thumb:hover {
  background: #007dba;
}
.product-detail__thumbnail-images-list::-webkit-scrollbar-thumb {
  background: rgba(0, 125, 186, 0);
}
.product-detail__thumbnail-images-list:hover::-webkit-scrollbar-thumb, .product-detail__thumbnail-images-list:has(> *:hover)::-webkit-scrollbar-thumb {
  background: #007dba;
}
.product-detail__thumbnail-images-list > * {
  max-width: 100%;
}
.product-detail__thumbnail-images-list > * a {
  height: auto;
  width: 100%;
}
.product-detail__thumbnail-images .thumb {
  border-radius: 8px;
  border-color: rgba(0, 0, 0, 0.1);
}
.product-detail__thumbnail-images a img {
  max-width: calc(100% - clamp(0.5rem, 2.5vw, 2.8rem));
  max-height: calc(100% - clamp(0.5rem, 2.5vw, 2.8rem));
}

.product-detail__variants {
  border-block-start: none;
}
.product-detail__variants .form-input__label {
  font-size: 1.8rem;
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
.product-detail__variants .variant-parameter-name {
  font-weight: normal;
  font-variation-settings: "wght" 400;
}
.product-detail__variants .trigger--select-to-triggers-image .variant-option-item-inner img {
  mix-blend-mode: multiply;
}
.product-detail__variants-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  width: calc(100% + 5px);
  margin-left: -2.5px;
  margin-right: -2.5px;
  font-size: 1.2rem;
}
@media (min-width: 992px) {
  .product-detail__variants-list {
    width: calc(100% + 16px);
    margin-left: -8px;
    margin-right: -8px;
    font-size: 1.4rem;
  }
}
.product-detail__variant-item {
  padding: 2.5px;
}
@media (min-width: 992px) {
  .product-detail__variant-item {
    padding: 8px;
  }
}
.product-detail__variant-item--fix-width {
  flex: 0 0 50%;
  max-width: 50%;
  min-width: fit-content;
}
@media (min-width: 992px) {
  .product-detail__variant-item--fix-width {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }
}
@media (min-width: 1200px) {
  .product-detail__variant-item--fix-width {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
.product-detail__variant-link {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-inline: 0.8rem;
  padding-block: 0.8rem;
  word-break: normal;
  background: #f3f3f3;
  border-radius: 8px;
  border: 1px solid #dedede;
  transition: border-color 0.2s ease-in-out;
  font-size: inherit;
  line-height: 2rem;
  color: #000;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  font-variation-settings: "wght" 400;
  text-align: center;
  width: auto;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .product-detail__variant-link {
    line-height: 2.2rem;
    min-width: 70px;
    min-height: 38px;
    padding-inline: 1.5rem;
    padding-block: 0.8rem;
  }
}
.product-detail__variant-link strong {
  font-variation-settings: "wght" 700;
}
.product-detail__variant-link--active {
  background: #e6f4fb;
  box-shadow: 0 0 0 1px #145c80;
  border-color: #145c80;
  color: #145c80;
}
.product-detail__variant-link:not([disabled], [class*="--active"]):hover, .product-detail__variant-link:not([disabled], [class*="--active"]):focus, .product-detail__variant-link:not([disabled], [class*="--active"]):active {
  border-color: #b1b1b1;
}

.product-detail__voucher-discount {
  display: flex;
  flex-flow: column nowrap;
  background-color: #fff;
  border-radius: 8px;
  border-inline-start: none;
  row-gap: 1rem;
  justify-content: space-between;
}
@container product-detail-form (width > 482px) {
  .product-detail__voucher-discount {
    flex-flow: row nowrap;
  }
}
.product-detail__voucher-discount:not(.specificity-fix) {
  font-size: 1.5rem;
  font-variation-settings: "wght" 600;
}
.product-detail__voucher-discount-primary {
  align-self: center;
  padding: 10px;
}
.product-detail__voucher-discount-name {
  display: inline-flex;
  border: 1px dashed;
  border-radius: 10px;
  line-height: 1;
  padding: 6px;
  color: #007dba;
  font-variation-settings: "wght" 400;
}
.product-detail__voucher-discount-text {
  margin-inline-end: 1rem;
}
.product-detail__voucher-discount-price {
  margin-inline-end: 0.5ch;
}
.product-detail__voucher-discount-button {
  font-size: 1.2rem;
  line-height: 1.2;
  background-color: #007dba;
  color: #fff;
  padding: 8px clamp(10px, 3.82vi - 4.3px, 25px);
  border-radius: 0 0 7px 7px;
  height: auto;
  gap: 9px;
  width: 100%;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
@container product-detail-form (width > 482px) {
  .product-detail__voucher-discount-button {
    border-radius: 0 7px 7px 0;
    width: auto;
    font-size: 1.5rem;
  }
}
.product-detail__voucher-discount-button strong {
  display: block;
}
.product-detail__voucher-discount-button svg {
  width: 1.4rem;
  height: 1.6rem;
}
.product-detail__voucher-discount-button:hover, .product-detail__voucher-discount-button:focus, .product-detail__voucher-discount-button:active {
  background-color: #145c80;
  color: #fff;
  text-decoration: none;
}
.product-detail__voucher-discount-button .button-inner {
  font-variation-settings: "wght" 400;
}
.product-detail__voucher-discount-button .button-inner,
.product-detail__voucher-discount-button .button-inner * {
  word-break: normal;
}

.product-detail__action {
  margin-block-start: 0;
  padding-block-start: 1rem;
}

.product-detail {
  --product-detail-box-overflow: 20px;
  --product-detail-actions-max-width: 480px;
  --product-detail-actions-min-height: 54px;
  --price-block-text-color: inherit;
  --price-block-background-color: transparent;
  --price-block-border-width: 0;
  --price-block-border-color: var(--price-block-background-color);
  --price-block-bg-opacity: 0;
  --price-block-min-height: 1px;
  --icon-info-outline: ;
}
.product-detail__price-block {
  background-color: #e6f4fb;
  border-radius: 8px;
  padding: clamp(10px, 3.333vw, var(--product-detail-box-overflow));
  padding-block-end: var(--product-detail-box-overflow);
  display: grid;
  grid-template-columns: min(178px, 50%) 1fr;
  grid-template-rows: repeat(4, auto);
  justify-items: end;
  gap: 0 10px;
}
.product-detail__price-block:has(.product-detail__price-info-being-sold-old-price:not([style*=none])), .product-detail__price-block:has(.product-detail__price-info-being-sold-percentage-discount:not([style*=none])) {
  --price-block-text-color: #fff;
  --price-block-background-color: #e11931;
  --price-block-bg-opacity: 1;
  --price-block-min-height: clamp(101px, 20vw, 113px);
}
.product-detail__price-block:has(.product-detail__price-info-being-sold-old-price:not([style*=none])) svg, .product-detail__price-block:has(.product-detail__price-info-being-sold-percentage-discount:not([style*=none])) svg {
  --icon-info-outline: #fff;
}
.product-detail__price-block:has(.product-detail__price-condition) {
  --price-block-background-color: #fefbf2;
  --price-block-bg-opacity: 1;
  --price-block-border-width: 1px;
  --price-block-border-color: #eab000;
  --price-block-min-height: clamp(101px, 20vw, 113px);
}
@container product-detail-form (width < 482px) {
  .product-detail__price-block {
    grid-template-columns: 1fr 1fr;
  }
}
.product-detail__price-block .product-detail__voucher-discount {
  grid-column: 2;
  grid-row: 1/span 2;
  max-width: var(--product-detail-actions-max-width);
  min-height: var(--product-detail-actions-min-height);
  width: 100%;
  justify-self: end;
  z-index: 2;
  margin-block-end: 5px;
}
@container product-detail-form (width < 482px) {
  .product-detail__price-block .product-detail__voucher-discount {
    grid-row: 1/span 3;
    margin-block-end: 0;
  }
}
@container product-detail-form (width < 482px) {
  .product-detail__price-block:has(> .product-detail__voucher-discount:where([style*=none])) .product-detail__price-info-blocks::before,
  .product-detail__price-block:has(> .product-detail__voucher-discount:where([style*=none])) .product-detail__price-info-being-sold-old-price,
  .product-detail__price-block:has(> .product-detail__voucher-discount:where([style*=none])) .product-detail__price,
  .product-detail__price-block:has(> .product-detail__voucher-discount:where([style*=none])) .product-detail__price-info-being-sold-percentage-discount, .product-detail__price-block:not(:has(> .product-detail__voucher-discount)) .product-detail__price-info-blocks::before,
  .product-detail__price-block:not(:has(> .product-detail__voucher-discount)) .product-detail__price-info-being-sold-old-price,
  .product-detail__price-block:not(:has(> .product-detail__voucher-discount)) .product-detail__price,
  .product-detail__price-block:not(:has(> .product-detail__voucher-discount)) .product-detail__price-info-being-sold-percentage-discount {
    grid-column: 1/-1;
  }
}
.product-detail__price-info-blocks {
  grid-template-columns: subgrid;
  grid-template-rows: subgrid;
  grid-row: 1/span 4;
  grid-column: 1/-1;
  justify-items: center;
  z-index: 1;
}
.product-detail__price-info-blocks::before {
  content: "";
  display: block;
  grid-row: 1/span 4;
  grid-column: 1;
  width: 100%;
  background-color: var(--price-block-background-color);
  opacity: var(--price-block-bg-opacity);
  min-height: var(--price-block-min-height);
  border-radius: 8px;
  border: var(--price-block-border-width) solid var(--price-block-border-color);
}
@container product-detail-form (width < 482px) {
  .product-detail__price-info-blocks::before {
    grid-row: 1/span 3;
  }
}
@container product-detail-form (width < 482px) {
  .product-detail__price-info-blocks:where(:first-child)::before {
    grid-column: 1/-1;
    min-height: 128px;
  }
  .product-detail__price-info-blocks:where(:first-child) .product-detail__price-info-being-sold-old-price, .product-detail__price-info-blocks:where(:first-child) .product-detail__price, .product-detail__price-info-blocks:where(:first-child) .product-detail__price-info-being-sold-percentage-discount {
    grid-column: 1/-1;
  }
}
@container product-detail-form (width >= 482px) {
  .product-detail__price-info-blocks:where(:first-child)::after {
    content: "";
    display: block;
    height: 54px;
    grid-column: 2;
    grid-row: 1/span 2;
  }
}
.product-detail__price-info-block--a {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 0 1rem;
  justify-self: normal;
  justify-content: center;
  margin: 7px 5px 0;
  min-height: 26px;
}
.product-detail__price-info-block--b {
  grid-row: 4;
  grid-column: 1;
  place-self: center stretch;
  font-weight: normal;
  font-variation-settings: "wght" 400;
  margin: 0 5px 5px;
  justify-content: center;
}
@container product-detail-form (width < 482px) {
  .product-detail__price-info-block--b {
    grid-row: 3;
  }
}
.product-detail__price-info-being-sold-old-price {
  color: var(--price-block-text-color);
}
.product-detail__price-info-being-sold-old-price .product-detail__price-info-saving-percent {
  border-radius: 8px;
  background-color: #fff;
  color: #e11931;
  font-size: clamp(1.2rem, 0.51vi + 1.01rem, 1.4rem);
  line-height: 1;
  padding: 3px 7px;
}
.product-detail__price-info-being-sold-old-price .product-detail__price-info-block-content {
  font-weight: normal;
  font-variation-settings: "wght" 400;
  font-size: clamp(1.2rem, 0.51vi + 1.01rem, 1.4rem);
}
.product-detail__price {
  grid-row: 2/span 2;
  grid-column: 1;
  align-content: center;
  line-height: 1.3;
  color: var(--price-block-text-color);
  margin-inline: 5px;
}
@container product-detail-form (width >= 482px) {
  :where(.product-detail__price-info-blocks:first-child [style*=none] ~ .product-detail__price-info-block) .product-detail__price, :where([style*=none] + .product-detail__price-info-blocks [style*=none] ~ .product-detail__price-info-block) .product-detail__price {
    grid-row: 1/span 2;
  }
}
@container product-detail-form (width < 482px) {
  .product-detail__price {
    grid-row: 2;
  }
  :where(.product-detail__price-info-blocks:first-child [style*=none] ~ .product-detail__price-info-block) .product-detail__price, :where([style*=none] + .product-detail__price-info-blocks [style*=none] ~ .product-detail__price-info-block) .product-detail__price {
    grid-column: 1/-1;
  }
}
.product-detail__price strong {
  font-weight: normal;
  font-variation-settings: "wght" 800;
  white-space: nowrap;
}
@media (max-width: 1365.98px) {
  .product-detail__price strong {
    font-size: clamp(2rem, 7cqi, 3rem);
    line-height: 0.8;
  }
}
.product-detail__price strong .currency {
  font-variation-settings: "wght" 800;
}
.product-detail__price strong .popover__container {
  white-space: normal;
}
.product-detail__price [id=priceExclVat] {
  color: #000;
  margin-block-start: 0.5rem;
}
.product-detail__price-note-popover {
  margin: 0;
  font-variation-settings: "wght" 400;
}
.product-detail__price-note-popover .popover__trigger {
  width: 1.6rem;
  height: 1.6rem;
  top: 0;
}
.product-detail__price-note-popover .popover__trigger svg {
  width: 100%;
  height: 100%;
}
.product-detail__delivery-date {
  grid-column: 1/span 2;
}
.product-detail__price-info-being-sold-percentage-discount {
  display: flex;
  gap: 0 0.3em;
  border-radius: 6px;
  background-color: #fee956;
  color: #000;
  font-size: clamp(1.2rem, 0.51vi + 1.01rem, 1.4rem);
  padding: 0.5rem 1.5rem;
}
@media (min-width: 992px) {
  .product-detail__price-info-being-sold-percentage-discount {
    padding: 0.6rem 2rem;
  }
}
.product-detail__price-info-being-sold-percentage-discount .product-detail__price-info-block-heading {
  font-size: inherit;
  font-weight: normal;
  font-variation-settings: "wght" 400;
  color: inherit;
  line-height: inherit;
}
.product-detail__price-info-being-sold-percentage-discount .product-detail__price-info-block-content {
  background-color: transparent;
  color: inherit;
  padding: 0;
}
@container product-detail-form (width < 482px) {
  .product-detail__price-condition {
    grid-column: 1/-1;
  }
}
.product-detail__price-condition:where(:nth-last-child(2)) {
  align-self: end;
}
@container product-detail-form (width >= 482px) {
  .product-detail__price-condition:where(:nth-last-child(2)) {
    grid-row: 1/span 2;
  }
}
.product-detail__price-condition:where(:nth-last-child(2)) ~ :where(.product-detail__price-info-block) .product-detail__price {
  grid-row: 2/span 2;
  align-self: center;
}
@container product-detail-form (width >= 482px) {
  .product-detail__price-condition:where(:nth-last-child(2)) ~ :where(.product-detail__price-info-block) .product-detail__price {
    grid-row: 3/span 2;
  }
}
.product-detail__price-condition .product-detail__price-condition-name {
  color: #eab000;
  font-variation-settings: "wght" 700;
  font-size: 1.2rem;
  line-height: 1.2;
}
.product-detail__price-unused-saving {
  padding-inline: 5px;
}
@container product-detail-form (width < 482px) {
  .product-detail__price-unused-saving {
    grid-column: 1/-1;
  }
}
.product-detail__price-unused-saving .product-detail__price-info-block-content {
  border-radius: 4px;
  border: 1px solid #e4e4e4;
  background-color: #fff;
  padding: 2px 7px;
  text-align: center;
  text-wrap: balance;
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.2;
  color: #000;
  font-weight: inherit;
  font-variation-settings: inherit;
}
@container product-detail-form (width < 482px) {
  .product-detail__price-unused-saving .product-detail__price-info-block-content {
    max-width: max-content;
    margin-inline: auto;
    padding-block: 4px;
  }
}
.product-detail__availability {
  --stock-icon-color: #747474;
}
.product-detail__availability:has(.stock--available) {
  --stock-icon-color: #048101;
}
.product-detail__availability:has(.stock--unavailable) {
  --stock-icon-color: #e26969;
}
.product-detail__availability:has(.stock--preorder) {
  --stock-icon-color: #eab000;
}
.product-detail__availability:has(.product-detail__price-info-block-content:where([style*=none])), .product-detail__availability:not(:has(.product-detail__price-info-block-content > *)) {
  display: none;
}
.product-detail__availability .product-availability {
  display: flex;
  gap: var(--flex-gap);
}
.product-detail__availability .product-availability:where(:not(:last-child)) {
  vertical-align: middle;
}
.product-detail__availability .product-availability-quantity {
  font-variation-settings: "wght" 700;
  margin-inline-start: auto;
}
@container product-text-block (width < 450px) {
  .product-detail__availability .product-availability {
    display: block;
  }
}
.product-detail__availability-icon {
  color: var(--stock-icon-color);
}
.product-detail__availability .stock--available {
  font-weight: normal;
  font-size: inherit;
  font-variation-settings: "wght" 400;
}
.product-detail__availability .stock--available-extra {
  font-size: inherit;
  margin-inline-start: calc(var(--flex-gap-inline) * -0.75);
  vertical-align: initial;
}
.product-detail__submit {
  grid-column: 2;
  grid-row: 3/span 2;
  align-content: normal;
  max-width: var(--product-detail-actions-max-width);
  min-height: var(--product-detail-actions-min-height);
  width: 100%;
  justify-self: end;
  padding-block-start: 0;
}
@container product-detail-form (width >= 482px) {
  :where(.product-detail__price-info-blocks:first-child [style*=none] ~ .product-detail__price-info-block) .product-detail__submit, :where([style*=none] + .product-detail__price-info-blocks [style*=none] ~ .product-detail__price-info-block) .product-detail__submit {
    grid-row: 1/span 2;
  }
}
@container product-detail-form (width < 482px) {
  .product-detail__submit {
    grid-column: 1/-1;
    grid-row: 4;
    padding-block-start: 10px;
  }
}
.product-detail__submit .submit {
  gap: 0 1.8rem;
  height: 46px;
}
@media (min-width: 768px) {
  .product-detail__submit .submit {
    height: 56px;
  }
}
.product-detail__submit .btn {
  font-size: 1.6rem;
  font-weight: normal;
  font-variation-settings: "wght" 700;
  height: 100%;
}
.product-detail__submit .btn__icon {
  margin-inline: -2rem 0;
  stroke-width: 0;
  height: 2.6rem;
  width: 2.6rem;
}
.product-detail__submit .btn .button-text {
  line-height: 1;
}
@media (min-width: 992px) {
  .product-detail__submit .btn {
    font-size: 1.8rem;
  }
}
.product-detail__submit .product-detail__actions-icon {
  width: 1.5rem;
}
.product-detail__actions {
  --grid-column-min: 156px;
}
@container product-detail-form (width >= 482px) {
  .product-detail__actions {
    --grid-column-min: 170px;
  }
}
div .product-detail__actions:not(.increase-specificity) {
  background: none;
  border-radius: 0;
  padding: 0;
  gap: 5px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-column-min), 100%), 1fr));
  text-wrap: pretty;
}
.product-detail__actions-link {
  color: currentcolor;
  text-decoration: none;
  width: 100%;
  justify-content: center;
}
.product-detail__actions-link:where(:not(.product-detail__actions-link--plain)) {
  transition: background-color 0.15s linear;
  padding: 1rem 2rem;
  background-color: #f5f5f5;
  border-radius: 8px;
  text-align: left;
  font-size: clamp(1.2rem, 0.51vi + 1.01rem, 1.4rem);
  font-weight: normal;
  font-variation-settings: "wght" 400;
  line-height: 1;
  height: 100% !important;
  min-height: 42px;
}
.product-detail__actions-link:link, .product-detail__actions-link:visited, .product-detail__actions-link:hover, .product-detail__actions-link:focus, .product-detail__actions-link:active {
  color: currentcolor;
}
.product-detail__actions-link:hover, .product-detail__actions-link:focus, .product-detail__actions-link:active {
  text-decoration: underline;
}
.product-detail__actions-link:hover:where(:not(.product-detail__actions-link--plain)), .product-detail__actions-link:focus:where(:not(.product-detail__actions-link--plain)), .product-detail__actions-link:active:where(:not(.product-detail__actions-link--plain)) {
  background-color: rgba(0, 141, 210, 0.15);
  text-decoration: none;
}
.product-detail__actions-link--plain .product-detail__actions-text {
  font-variation-settings: "wght" 400;
  font-size: inherit;
  line-height: inherit;
}
.product-detail__actions .product-detail__actions-link {
  gap: 8px;
}
.product-detail__actions .product-detail__actions-icon {
  height: 16px;
  width: 16px;
  stroke-width: 0;
}
.product-detail__action {
  padding-block-start: 0;
}
.product-detail__form ~ [class^=product-detail__] {
  border-radius: 8px;
  padding-block: var(--product-detail-box-overflow);
  padding-inline: clamp(10px, 3.333vw, var(--product-detail-box-overflow));
  background-color: #e6f4fb;
}
.product-detail__form + .product-detail__main-text-secondary {
  margin-block-start: calc(-2rem - var(--product-detail-box-overflow, 0px));
}
@container product-text-block (width < 450px) {
  .product-detail__form + .product-detail__main-text-secondary {
    margin-block-start: -1.5rem;
  }
}
.product-detail__form ~ .product-detail__main-text-secondary {
  margin-block-start: calc(-4rem - var(--product-detail-box-overflow, 0px));
}
@container product-text-block (width < 450px) {
  .product-detail__form ~ .product-detail__main-text-secondary {
    margin-block-start: -3.5rem;
  }
}

.product-detail__delivery-options [class*=delivery-date__] {
  font-variation-settings: "wght" 300;
  font-size: normal;
  color: #000;
}
.product-detail__delivery {
  container-name: "product-detail__delivery";
  container-type: inline-size;
}
.product-detail__delivery-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-wrap: balance;
  gap: var(--flex-gap);
}
.product-detail__delivery-option p {
  display: flex;
  gap: 15px;
  align-items: center;
  font-weight: normal;
}
@container (width > 390px) {
  .product-detail__delivery-option p {
    gap: 20px;
  }
}
.product-detail__delivery-text strong {
  display: block;
  font-variation-settings: "wght" 500;
}
@container (width > 560px) {
  .product-detail__delivery-text strong {
    display: initial;
  }
  .product-detail__delivery-text strong::after {
    content: " –";
  }
}
.product-detail__delivery-icon {
  height: 2.5rem;
  width: 2.2rem;
  stroke-width: 0;
}
.product-detail__delivery-link {
  background-color: transparent;
  color: #007dba;
  height: max-content;
  padding: 0;
}
@container (width > 390px) {
  .product-detail__delivery-link {
    text-wrap: nowrap;
  }
}
@container (width < 535px) {
  .product-detail__delivery-link {
    background-color: transparent !important;
    text-align: right;
  }
  @media (hover: hover) {
    .product-detail__delivery-link:hover {
      color: #145c80 !important;
    }
  }
}
@container (width >= 535px) {
  .product-detail__delivery-link {
    color: #007dba;
    background-color: #fff;
  }
}

.product-services .form-input__label {
  font-size: 1.8rem;
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
.product-services__section {
  padding-block-start: 8px;
}
@media (min-width: 1366px) {
  .product-services__section {
    display: grid;
    grid-template-rows: max-content 0fr;
    grid-template-columns: repeat(auto-fit, minmax(0, auto));
    transition: grid-template-rows 0.35s 0s ease-in;
  }
  .product-services__section:has(.product-services__group.active) {
    grid-template-rows: max-content 1fr;
    transition-delay: 0s;
  }
}
@media (min-width: 1366px) {
  .product-services__section:has(.product-services__group.active) .product-services__group:not(.active) .product-services__group-list {
    transition-delay: 0.2s, 0s, 0.05s, 0s;
  }
}
.product-services__item {
  background-color: #fff;
  color: #262626;
  border-radius: 8px;
  border: 1px solid #dedede;
  cursor: pointer;
  position: relative;
  padding: 14px 30px 14px 20px;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  font-size: 1.4rem;
  font-weight: normal;
  font-variation-settings: "wght" 400;
}
.product-services__item::after {
  content: "";
  display: block;
  border-radius: inherit;
  position: absolute;
  inset: -1px;
  border: 2px solid #145c80;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease-in-out;
}
.product-services__item [type=checkbox],
.product-services__item [type=radio] {
  appearance: none;
  position: absolute;
  inset: 0 10px 0 auto;
  margin-block: auto;
  border-radius: 100%;
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  background-color: #f5f5f5;
  border: 2px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.1s ease-in-out;
}
.product-services__item:has(:checked)::after, .product-services__item[class*=selected]::after {
  opacity: 1;
}
.product-services__item:has(:checked) [type=checkbox]:not(.fix-specificity),
.product-services__item:has(:checked) [type=radio]:not(.fix-specificity), .product-services__item[class*=selected] [type=checkbox]:not(.fix-specificity),
.product-services__item[class*=selected] [type=radio]:not(.fix-specificity) {
  border-color: #145c80;
  background-color: #145c80;
}
.product-services__item:hover:not(:has([disabled])), .product-services__item:focus-within:not(:has([disabled])) {
  border-color: #b1b1b1;
}
.product-services__item:hover:not(:has([disabled])) [type=checkbox]:not(:checked),
.product-services__item:hover:not(:has([disabled])) [type=radio]:not(:checked), .product-services__item:focus-within:not(:has([disabled])) [type=checkbox]:not(:checked),
.product-services__item:focus-within:not(:has([disabled])) [type=radio]:not(:checked) {
  border-color: rgba(0, 0, 0, 0.2);
}
.product-services__item:has([disabled]):not(.fix-specificity) {
  background-color: #fff;
  opacity: 0.7;
}
.product-services__item:has([disabled]):not(.fix-specificity)::after {
  opacity: 0;
}
.product-services__item span:not(.product-services__wrapper), .product-services__item--alt span:not(.product-services__wrapper) {
  overflow-wrap: normal;
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
.product-services__item > span:not(.product-services__wrapper) {
  display: block;
  color: #000;
  font-weight: normal;
}
.product-services__item.selected, .product-services__item:has(:checked), .product-services__item--alt.selected, .product-services__item--alt:has(:checked) {
  color: #145c80;
}
.product-services__item.selected > span, .product-services__item:has(:checked) > span, .product-services__item--alt.selected > span, .product-services__item--alt:has(:checked) > span {
  color: #145c80;
}
.product-services__group {
  margin-bottom: 8px;
}
@media (min-width: 1366px) {
  .product-services__group {
    display: contents;
    margin-bottom: 0;
  }
}
.product-services__group:first-child .product-services__group-trigger-title {
  margin-left: 0;
}
.product-services__group:last-child {
  margin-bottom: 0;
}
.product-services__group:last-child .product-services__group-trigger-title {
  margin-right: 0;
}
.product-services__group-trigger-title {
  position: relative;
  grid-row: 1;
  background: #f3f3f3;
  border-radius: 8px;
  font-size: 1.4rem;
  line-height: 2.2rem;
  font-weight: normal;
  font-variation-settings: "wght" 700;
  padding: 8px 45px 8px 14px;
  display: flex;
  align-items: center;
  margin: 0;
  word-break: normal;
  text-wrap: balance;
  transition: outline 0.05s ease;
}
@media (min-width: 1366px) {
  .product-services__group-trigger-title {
    max-width: 191px;
    margin: 0 8px 10px;
    padding-left: 24px;
    padding-right: 50px;
  }
}
.product-services__group-trigger-title::after {
  content: "";
  border: solid currentcolor;
  border-width: 0 1.5px 1.5px 0;
  display: inline-block;
  padding: 3.5px;
  transform: rotate(45deg);
  position: absolute;
  right: 26px;
  top: 50%;
  margin-top: -5px;
}
.product-services__group-trigger-title::before {
  content: "";
  width: 100%;
  height: 25px;
  background: #e6f4fb;
  position: absolute;
  z-index: -1;
  bottom: -20px;
  left: 0;
  right: 0;
  opacity: 0;
  transform: translateY(-100%);
  transition: transform 0.35s ease, opacity 0.35s ease;
}
.product-services__group-list {
  grid-row: 2;
  background: #e6f4fb;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
  grid-column: 1/-1;
  gap: 0;
  max-height: 0;
  padding: 0 6px;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: max-height 0s 0s ease, padding 0.35s 0s ease, opacity 0.35s 0s ease, transform 0.35s ease;
}
@media (min-width: 1366px) {
  .product-services__group-list {
    padding: 0 16px;
    transition-delay: 0.35s, 0s, 0.05s, 0s;
  }
}
.product-services__group-list .product-services__item {
  margin: 8px;
  height: calc(100% - 16px);
  width: calc(100% - 16px);
}
.product-services__group.active .product-services__section {
  grid-template-rows: max-content 1fr;
}
.product-services__group.active .product-services__group-list {
  max-height: fit-content;
  padding: 6px;
  transition-delay: 0s, 0s, 0s, 0s;
  opacity: 1;
  transform: translateY(0);
}
@media (min-width: 1366px) {
  .product-services__group.active .product-services__group-list {
    padding: 16px;
  }
}
.product-services__group.active .product-services__group-trigger-title {
  color: #145c80;
  background: #e6f4fb;
}
.product-services__group.active .product-services__group-trigger-title::after {
  transform: rotate(-135deg);
}
.product-services__group.active .product-services__group-trigger-title::before {
  opacity: 1;
  transform: translateY(0);
}
.product-services__group.selected:not(.active) .product-services__group-trigger-title {
  color: #145c80;
  background: #e6f4fb;
  outline: 2px solid #145c80;
}
@media (max-width: 1365.98px) {
  .product-services__group.selected:not(.active):not(:last-child) {
    margin-bottom: 10px;
  }
}

.product-detail__flags + .product-detail__products-conditions {
  margin-block-start: 1rem;
}
.product-detail__products-conditions {
  border: 2px solid #eab000;
  border-radius: 8px;
  background-color: rgba(234, 176, 0, 0.05);
  padding: 10px 15px 15px;
  text-wrap: auto;
}
@media (min-width: 992px) {
  .product-detail__products-conditions {
    padding: 20px 30px 30px;
  }
}
.product-detail__products-conditions-title {
  font-size: 1.6rem;
  font-variation-settings: "wght" 400;
  color: #eab000;
  margin-block-end: 1rem;
}
@media (min-width: 992px) {
  .product-detail__products-conditions-title {
    font-size: 2.2rem;
  }
}
.product-detail__products-conditions-subtitle {
  font-size: 1.4rem;
}
.product-detail__products-conditions p,
.product-detail__products-conditions ul {
  font-size: 1.2rem;
}
@media (min-width: 992px) {
  .product-detail__products-conditions p,
  .product-detail__products-conditions ul {
    font-size: 1.4rem;
  }
}
@media (max-width: 767.98px) {
  .product-detail__products-conditions ul {
    display: inline-block;
  }
  .product-detail__products-conditions ul > * {
    text-align: left;
  }
}
.product-detail__products-conditions .common-content {
  margin-block-start: 2rem;
}
.product-detail__products-conditions .common-content > * + * {
  margin-block-start: 1rem;
}
.product-detail__products-conditions .common-content li {
  padding-inline-start: 3rem;
}
.product-detail__products-conditions .common-content li::before {
  font-size: 2rem;
  color: inherit;
  margin-inline-start: -3rem;
  width: 3rem;
}

.product-gifts {
  display: flex;
  flex-flow: column nowrap;
  align-items: start;
  gap: 1.6rem;
}
@media (max-width: 767.98px) {
  .product-gifts {
    order: 1;
    gap: 1rem;
  }
}
@media (max-width: 991.98px) {
  .product-gifts {
    width: 100%;
  }
}

.product-gift {
  display: inline-grid;
  grid-template-columns: 2.5rem auto auto;
  gap: 0 1.2rem;
  background-color: #e6fbf3;
  padding: 10px 17px;
  border-radius: 8px;
  text-wrap: balance;
}
@media (max-width: 991.98px) {
  .product-gift {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .product-gift {
    padding: 10px 30px;
    gap: 0 2rem;
    grid-template-columns: 3.5rem auto auto;
  }
}
.product-gift__icon {
  grid-row: 1/span 2;
  grid-column: 1;
  align-self: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: -10%;
}
@media (min-width: 992px) {
  .product-gift__icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.product-gift__title {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: normal;
  font-variation-settings: "wght" 600;
  color: #00aea3;
  margin: 0;
  grid-row: 1;
  grid-column: 2;
  align-self: end;
}
@media (min-width: 992px) {
  .product-gift__title {
    font-size: 1.6rem;
  }
}
.product-gift__desc {
  font-size: 1.2rem;
  line-height: 1.6;
  grid-row: 2;
  grid-column: 2;
  align-self: start;
}
@media (min-width: 992px) {
  .product-gift__desc {
    font-size: 1.6rem;
  }
}
.product-gift__image {
  width: 4.7rem;
  height: 4.7rem;
  background-color: #fff;
  border: 1px solid rgba(0, 174, 163, 0.2);
  border-radius: 50%;
  overflow: hidden;
  grid-row: 1/span 2;
  grid-column: 3;
  justify-self: end;
}
@media (min-width: 992px) {
  .product-gift__image {
    width: 8rem;
    height: 8rem;
  }
}
.product-gift__image picture {
  display: contents;
}
.product-gift__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 5%;
}

:root {
  --product-detail-price-size: clamp(2rem, 1.02vi + 1.62rem, 2.4rem);
}
/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./data/www/templates/asgard/ispace.cz/sass/embla-paging.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Retrieves the next smaller breakpoint from the given breakpoint.
 *
 * @param {String} $breakpoint - The breakpoint for which to find the next smaller breakpoint.
 * @return {String|null} - The next smaller breakpoint, or null if no smaller breakpoint is available.
 */
/**
 * Retrieves the next larger breakpoint from the $grid-breakpoints map.
 *
 * @function get-bigger-breakpoint
 * @param {String} $breakpoint - The current breakpoint to find the next larger one for.
 * @return {String | null} - The next larger breakpoint or null if the current breakpoint is the largest or not found.
 */
/**
 * Reset iSpace custom form input styles to be able to design special inputs more easily
 */
/**
 * Styles to hide the scrollbar but still allow scrolling
 */
.embla__paging {
  display: flex;
  gap: 0.2rem;
}
.embla__paging-value {
  min-width: 2ch;
  text-align: end;
}
.embla__paging-total-pages {
  text-align: start;
}
@media (max-width: 991px) {
  .embla__paging-total-pages {
    padding-inline-end: 0.25em;
  }
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./data/www/templates/asgard/ispace.cz/sass/image-modal.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Retrieves the next smaller breakpoint from the given breakpoint.
 *
 * @param {String} $breakpoint - The breakpoint for which to find the next smaller breakpoint.
 * @return {String|null} - The next smaller breakpoint, or null if no smaller breakpoint is available.
 */
/**
 * Retrieves the next larger breakpoint from the $grid-breakpoints map.
 *
 * @function get-bigger-breakpoint
 * @param {String} $breakpoint - The current breakpoint to find the next larger one for.
 * @return {String | null} - The next larger breakpoint or null if the current breakpoint is the largest or not found.
 */
/**
 * Reset iSpace custom form input styles to be able to design special inputs more easily
 */
/**
 * Styles to hide the scrollbar but still allow scrolling
 */
.modal__image .modal-dialog {
  height: 100dvh;
  width: 100dvw;
  max-height: 100dvh;
  max-width: 100dvw;
}
@media (min-width: 768px) {
  .modal__image .modal-dialog {
    height: 98dvh;
    max-height: 98dvh;
    width: 99dvw;
    max-width: 99dvw;
  }
}
.modal__image .modal-body-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: min(2dvh, 2rem) min(3dvw, 2rem);
  height: 100%;
  width: 100%;
}
.modal__image .modal-body-image .embla, .modal__image .modal-body-image .embla__viewport, .modal__image .modal-body-image .embla__container, .modal__image .modal-body-image .embla__slide {
  height: 100%;
}
.modal__image .modal-body-image .embla, .modal__image .modal-body-image .embla__viewport, .modal__image .modal-body-image .embla__slide {
  width: 100%;
}
.modal__image .modal-body-image .embla__button {
  min-width: 40px;
}
.modal__image .modal-body-image .embla__button--prev {
  right: auto;
  left: -10px;
}
.modal__image .modal-body-image .embla__button--next {
  left: auto;
  right: -10px;
}
.modal__image .modal-body-image .embla__slide > *:not(.embla__slide--spinner) {
  opacity: 1;
  transition: 0.3s opacity ease-in-out;
}
.modal__image .modal-body-image .embla__slide a,
.modal__image .modal-body-image .embla__slide picture {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.modal__image .modal-body-image .embla__slide img {
  display: block;
  max-height: 100%;
}
.modal__image .modal-body-image .embla__slide--spinner {
  height: 30px;
  width: 30px;
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  opacity: 0;
  pointer-events: none;
}
.modal__image .modal-body-image .embla__slide:where(:not(.embla__lazy-load--has-loaded)) > *:not(.embla__slide--spinner) {
  opacity: 0;
}
.modal__image .modal-body-image .embla__slide:where(:not(.embla__lazy-load--has-loaded)) .embla__slide--spinner {
  opacity: 0.5;
  animation: spinner 0.75s infinite linear;
}

.modal .product-detail__image-carousel .embla__buttons {
  inset: auto clamp(1rem, 2vw, 4rem) clamp(1rem, 2vw, 4rem);
  justify-content: center;
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./data/www/templates/asgard/ispace.cz/sass/sticky-submit.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Retrieves the next smaller breakpoint from the given breakpoint.
 *
 * @param {String} $breakpoint - The breakpoint for which to find the next smaller breakpoint.
 * @return {String|null} - The next smaller breakpoint, or null if no smaller breakpoint is available.
 */
/**
 * Retrieves the next larger breakpoint from the $grid-breakpoints map.
 *
 * @function get-bigger-breakpoint
 * @param {String} $breakpoint - The current breakpoint to find the next larger one for.
 * @return {String | null} - The next larger breakpoint or null if the current breakpoint is the largest or not found.
 */
/**
 * Reset iSpace custom form input styles to be able to design special inputs more easily
 */
/**
 * Styles to hide the scrollbar but still allow scrolling
 */
:root {
  --sticky-submit-breakpoint: 767px;
}

.product-detail__sticky-submit-block {
  grid-template-columns: auto 1fr 1fr auto;
  opacity: 0;
  padding: clamp(10px, 3.333vw, var(--product-detail-box-overflow));
  background: #fff;
  box-shadow: 0 7px 12px 2px rgba(0, 0, 0, 0.7);
  border-radius: 0;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: -10;
  pointer-events: none;
  font-size: 1.2rem;
  transition: opacity 0.1s ease-in-out, 0.1s z-index 0s ease-in;
}
@media (min-width: 768px) {
  .product-detail__sticky-submit-block {
    display: none;
  }
}
.product-detail__sticky-submit-block.show {
  opacity: 1;
  z-index: 111001;
  pointer-events: all;
  transition: opacity 0.25s ease-in-out, 0.25s z-index 0s ease-in;
}
.nav-open .product-detail__sticky-submit-block.show {
  z-index: 14;
}
body:has(> hc-calc) .product-detail__sticky-submit-block.show {
  z-index: 2500;
}
.product-detail__sticky-submit-block .product-detail__price-info-being-sold-percentage-discount {
  display: none;
}
.product-detail__sticky-submit-block .product-detail__price-info-blocks {
  --price-block-min-height: 1px;
  grid-row: 1/span 3;
}
.product-detail__sticky-submit-block .product-detail__price-info-blocks::before {
  grid-row: 1/span 3;
}
.product-detail__sticky-submit-block .product-detail__price-info-blocks:has(> .product-detail__actions--home-credit-container) .product-detail__submit {
  grid-column: 4;
}
.product-detail__sticky-submit-block .product-detail__price-info-blocks:not(:has(> .product-detail__actions--home-credit-container))::before {
  grid-column: 1/span 2;
}
.product-detail__sticky-submit-block .product-detail__price-info-blocks:not(:has(> .product-detail__actions--home-credit-container)) .product-detail__price, .product-detail__sticky-submit-block .product-detail__price-info-blocks:not(:has(> .product-detail__actions--home-credit-container)) .product-detail__price-info-being-sold-old-price {
  grid-column: 1/span 2;
}
.product-detail__sticky-submit-block .product-detail__price-info-blocks:not(:has(> .product-detail__actions--home-credit-container)) .product-detail__submit {
  grid-column: 3/span 2;
}
.product-detail__sticky-submit-block .product-detail__actions--home-credit-container {
  grid-column: 2/span 2;
  grid-row: 1/span 3;
  place-self: center end;
}
.product-detail__sticky-submit-block .product-detail__actions--home-credit-container .product-detail__actions-text {
  line-height: 1.3;
  color: #000;
  font-variation-settings: "wght" 600;
  display: block;
}
.product-detail__sticky-submit-block .product-detail__actions--home-credit-container .product-detail__actions-text-link {
  display: block;
  color: inherit;
}
.product-detail__sticky-submit-block .product-detail__price {
  grid-row: 2;
  margin-block: 5px;
  line-height: 1;
}
.product-detail__sticky-submit-block .product-detail__price strong {
  font-size: 1.6rem;
}
.product-detail__sticky-submit-block .product-detail__price-info-being-sold {
  gap: 0 5px;
  margin-block-start: 5px;
  padding-block-end: 0;
}
.product-detail__sticky-submit-block .product-detail__price-info-being-sold-percentage-discount:where([style*=none]) ~ .product-detail__price {
  grid-row: 1/span 2;
}
.product-detail__sticky-submit-block .product-detail__price-info-saving-percent {
  text-wrap: nowrap;
  padding: 3px;
}
.product-detail__sticky-submit-block .product-detail__price-info-saving-percent > [data-default-id] {
  clip: unset;
  clip-path: unset;
  height: unset;
  overflow: unset;
  position: unset;
  white-space: unset;
  width: unset;
}
.product-detail__sticky-submit-block .product-detail__price-info-block-content {
  text-wrap: nowrap;
  line-height: 1;
}
.product-detail__sticky-submit-block .product-detail__price-condition {
  min-height: 1px;
}
.product-detail__sticky-submit-block .product-detail__price-unused-saving {
  display: none;
}
.product-detail__sticky-submit-block .product-detail__submit {
  --product-detail-actions-min-height: 45px;
  grid-row: 1/span 2;
}
.product-detail__sticky-submit-block .product-detail__submit .btn {
  font-size: inherit;
  font-variation-settings: "wght" 600;
  gap: 0 8px;
  padding-inline: 15px;
  min-width: 110px;
  min-height: var(--product-detail-actions-min-height);
}
.product-detail__sticky-submit-block .product-detail__submit .btn__icon {
  height: 15px;
  width: 15px;
  margin-inline: -8px 0;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmlzcGFjZS5jei5hc2dhcmQucHJvZHVjdC1kZXRhaWwuODcwOWNkNWM0MWQ2YzExZGZiMDEuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBLGdCQUFnQjtBQ0NoQjtFQ3dGUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnRGUjs7QUNKQTtFQzJFUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRm5FUjs7QUdoQkE7Ozs7O0VBQUE7QUFpQkE7Ozs7OztFQUFBO0FDK1BBOztFQUFBO0FBK0hBOztFQUFBO0FDblZJO0VDekRJO0lBQ0k7RU5vQ1Y7QUFDRjtBTWpDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FObUNSO0FLYUk7RUNwREE7SUFPUTtJQUNBO0VOb0NWO0FBQ0Y7QU1sQ1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBTm9DWjtBTWxDWTtFQUNJO0VBQ0E7QU5vQ2hCO0FNaENRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOa0NaO0FNL0JZO0VBQ0k7QU5pQ2hCO0FNNUJnQjtFQUNJO0VBQ0E7QU44QnBCO0FNM0JvQjtFQUNJO0FONkJ4QjtBS3JCSTtFQ0pvQjtJQVZSO01BV1k7SU42QnhCO0VBQ0Y7QUFDRjtBTXZCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FOeUJSO0FLbENJO0VDWVE7SUFQUjtNQVFZO0lOMEJaO0VBQ0Y7QUFDRjtBTXhCUTtFQUNJO0VBQ0E7QU4wQlo7QU1qQlk7RUFDSTtBTm1CaEI7QU1WSTtFQUNJO0VBQ0E7QU5ZUjtBS3BESTtFQzJDUTtJQUxSO01BTVk7SU5hWjtFQUNGO0FBQ0Y7QU1WSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FOWVI7QU1UUTtFQUNJO0FOV1o7QU1OSTtFQUNJO0FOUVI7QU1MSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5PUjtBS2pGSTtFQzZFUTtJQVhSO01BWVk7TUFDQTtJTlFaO0VBQ0Y7QUFDRjtBTU5RO0VBQ0k7RUFDQTtBTlFaO0FNRlk7RUFDSTtBTkloQjtBTUNJO0VBRUk7QU5BUjtBTUdJO0VBRUk7QU5GUjtBTUtZOztFQUVJO0FOSGhCO0FNTVk7O0VBRUk7RUFDQTtBTkpoQjtBTU1nQjs7RUFDSTtBTkhwQjtBTU1nQjs7RUFDSTtBTkhwQjtBTU9ZO0VBQ0k7QU5MaEI7QU1PZ0I7RUFDSTtBTkxwQjtBTVNZO0VBQ0k7QU5QaEI7QU1hUTtFQUNJO0FOWFo7QU1lWTs7RUFFSTtFQUNBO0FOYmhCO0FLM0hJO0VDb0lJO0lBUVE7SUFDQTtFTmJkO0FBQ0Y7QU1nQlE7RUFDSTtBTmRaO0FNbUJJO0VBQ0k7QU5qQlI7QU1tQlE7RUFDSTtFQUNBO0FOakJaO0FNbUJZO0VBQ0k7RUFDQTtBTmpCaEI7QU1tQmdCO0VBQ0k7SUFDSTtFTmpCdEI7QUFDRjtBTW9CZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBTmxCcEI7QU1xQmdCO0VBQ0k7QU5uQnBCO0FNcUJvQjtFQUhKO0lBSVE7SUFDQTtJQUNBO0VObEJ0QjtBQUNGO0FNdUJnQjtFQUNJO0FOckJwQjtBTXdCZ0I7RUFDSTtBTnRCcEI7QU0wQlk7RUFDSSxrQkM1T0Q7QVBvTmY7QU04QmdCO0VBQ0k7QU41QnBCO0FNb0NZO0VBQ0k7QU5sQ2hCO0FNd0NnQjtFQUNJO0VBQ0E7QU50Q3BCO0FNMkNnQzs7RUFFSTtBTnpDcEM7QU00Q2dDO0VBQ0k7QU4xQ3BDO0FNa0RvQjtFQUNJO0FOaER4QjtBTXVESTtFQUNJO0FOckRSO0FNdURRO0VBQ0ksa0JDblNHO0VEb1NIO0FOckRaO0FNMERRO0VBQ0k7QU54RFo7QU0yRFE7RUFDSTtBTnpEWjtBTThEUTtFQUNJO0VBQ0E7RUFDQTtBTjVEWjtBS2hPSTtFQ3lSSTtJQU1RO0lBQ0E7RU4zRGQ7QUFDRjtBTTZEWTs7RUFFSTtBTjNEaEI7QU04RFk7OztFQUdJO0FONURoQjtBTWtFUTtFQUNJO0FOaEVaOztBUTdTUTtFQUNJO0VBQ0E7QVJnVFo7QVE5U1k7RUFDSTtBUmdUaEI7QVE5U2dCO0VBQ0k7RUFDQTtBUmdUcEI7QVE3U2dCO0VBQ0k7RUFDQTtBUitTcEI7QVEzU1k7RUFDSTtBUjZTaEI7QVEzU2dCO0VBQ0k7RUFDQTtBUjZTcEI7QVExU2dCOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVI0U3BCO0FRelNnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FSMlNwQjtBUXhTZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVIwU3BCO0FRdFNnQjtFQUNJO0FSd1NwQjtBUXRTb0I7RUFDSTtBUndTeEI7QVFyU29CO0VBQ0k7QVJ1U3hCO0FRalNRO0VBQ0k7RUFDQTtFQUNBO0FSbVNaO0FLaFRJO0VHVUk7SUFNUTtFUm9TZDtBQUNGO0FRaFNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUmtTUjtBUS9SUTtFQUNJO0lBQ0k7RVJpU2Q7QUFDRjtBUTlSUTtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLCtEQUNJO0FSOFJoQjtBUTNSWTtFQUNJO0VBQ0E7RUFDQTtBUjZSaEI7QVExUlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSNFJoQjtBUTFSZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSNFJwQjtBUTFSb0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSNFJ4QjtBUXpSb0I7RUFDSTtFQUNBO0VBQ0E7QVIyUnhCO0FRdFJZO0VBQ0k7QVJ3UmhCO0FRcFJ3QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJzUjVCO0FRcFI0QjtFQUNJO0FSc1JoQztBUTlRUTtFQUNJO0FSZ1JaO0FRN1FRO0VBQ0k7QVIrUVo7O0FTdmNJO0VBQ0k7RUFDQTtBVDBjUjtBU3ZjWTtFQUNJO0VBQ0E7RUFDQTtBVHljaEI7QVN0Y1k7RUFDSTtBVHdjaEI7QVNwY2dCO0VBQ0k7RUFDQTtBVHNjcEI7QVNuY2dCO0VBRUksc0JGNkJaO0FQdWFSO0FTbGNvQjtFQUNJLHNCRjBCaEI7QVAwYVI7QVM3YlE7RUFDSTtBVCtiWjtBUzdiWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseVJDK0dBO0VEOUdBO0FUK2JoQjtBUzNiUTtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QVQ0Ylo7QVMxYlk7RUFDSTtBVDRiaEI7QVMxYmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVDRicEI7QVN6YmdCO0VBQ0k7RUFDQTtFQUNBO0FUMmJwQjtBU3RiUTtFQUNJO0FUd2JaO0FTcmJRO0VBQ0k7RUFDQTtBVHViWjs7QVd6Z0JJO0VBQ0k7RUFDQTtBWDRnQlI7QVdsZ0JJO0VBQ0k7RUFDQTtFQUNBO0FYb2dCUjtBVzVnQlE7RUFLSjtJQU1RLHNFQUNJO0VYb2dCZDtBQUNGO0FXN2ZRO0VBR0k7QVg2Zlo7QVd6Zkk7RUFDSTtBWDJmUjtBV25mSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FYcWZSO0FXbGZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVhvZlI7QVdqZkk7RUFDSTtFQUNBO0FYbWZSO0FXamZRO0VBQ0k7QVhtZlo7QVdoZlE7RUFDSTtBWGtmWjtBVy9lUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhpZlo7QVc3ZUk7RUFDSTtFQUNBO0FYK2VSO0FXNWVJO0VBQ0k7RUFDQTtFQUNBO0FYOGVSO0FXNWVRO0VBQ0k7QVg4ZVo7QVczZVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBWDZlWjtBV3plSTtFQUNJO0VBQ0E7RUFDQTtBWDJlUjtBV3hlWTtFQUNJO0FYMGVoQjtBV3JlWTtFQUNJO0FYdWVoQjtBV25lb0I7RUFDSTtBWHFleEI7QVc5ZG9CO0VBQ0k7QVhnZXhCO0FXemRZO0VBQ0k7RUFDQTtBWDJkaEI7QVd6ZGdCO0VBQ0k7QVgyZHBCO0FXcmRJO0VBRUk7QVhzZFI7QVduZEk7RUFDSTtFQUNBO0FYcWRSO0FXbmRRO0VBQ0k7QVhxZFo7QVc5Y1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBWGdkWjtBVzVjSTtFQUNJO0VBQ0E7QVg4Y1I7QVc1Y1E7RUFDSTtFQUNBO0VBQ0E7QVg4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O0VBQ0k7RUFFQTtBQUloQjtBQUZnQjtFQUNJO0FBSXBCO0FBRXdCO0VBQ0k7QUFBNUI7QUFNb0I7RUFDSTtBQUp4QjtBQVF3QjtFQUVJO0FBUDVCO0FBVXdCO0VBQ0k7QUFSNUI7QUFlZ0I7RUFDSTtFQUNBO0VBQ0E7QUFicEI7QUFnQndCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFkNUI7QUFnQjRCO0VBQ0k7RUFDQTtBQWRoQztBQXFCWTtFQUNJO0VBQ0E7RUFDQTtBQW5CaEI7QUFxQmdCO0VBQ0k7QUFuQnBCO0FBc0JnQjtFQUNJO0VBQ0E7RUFDQTtBQXBCcEI7QUFzQm9CO0VBQ0k7QUFwQnhCO0FBeUJZO0VBQ0k7RUFDQTtBQXZCaEI7QUF5QmdCO0U1QnpEUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNEJtQ1I7QUFxQlk7RUFDSTtFQUNBO0FBbkJoQjtBQXNCWTtFQUNJO0FBcEJoQjtBQXVCWTtFQUNJO0FBckJoQjtBQXdCWTtFQUNJO0VBRUE7QUF2QmhCO0FBeUJnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXZCcEI7QUF5Qm9CO0VBQ0k7RUFDQTtFQUNBO0FBdkJ4QixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9pc3BhY2UuY3ovc2Fzcy9wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2Fic3RyYWN0cy9fdW5pdmVyc2FsLXBsYWNlaG9sZGVycy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9hYnN0cmFjdHMvX21peGlucy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvaXNwYWNlLmN6L3Nhc3MvYXBwL2Fic3RyYWN0cy9fZm5zLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9pc3BhY2UuY3ovc2Fzcy9hcHAvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3QtbWFpbi1sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2lzcGFjZS5jei9zYXNzL190aGVtZS12YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9wcm9kdWN0L19wcm9kdWN0LWltYWdlcy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3QtdmFyaWFudHMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9fYXNnYXJkLXZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3QtcHJpY2UtYmxvY2suc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9wcm9kdWN0L19wcm9kdWN0LWFjdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy9fdGFicy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2lzcGFjZS5jei9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3QtbWFpbi1sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2lzcGFjZS5jei9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3QtaW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9pc3BhY2UuY3ovc2Fzcy9wcm9kdWN0L19wcm9kdWN0LXZhcmlhbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9pc3BhY2UuY3ovc2Fzcy9wcm9kdWN0L19wcm9kdWN0LXZvdWNoZXIuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2lzcGFjZS5jei9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3QtYWN0aW9ucy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvaXNwYWNlLmN6L3Nhc3MvcHJvZHVjdC9fcHJvZHVjdC1wcmljZS1ibG9jay5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvaXNwYWNlLmN6L3Nhc3MvcHJvZHVjdC9fcHJvZHVjdC1kZWxpdmVyeS1vcHRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2lzcGFjZS5jei9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3Qtc2VydmljZXMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2lzcGFjZS5jei9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3RzLWNvbmRpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2lzcGFjZS5jei9zYXNzL3Byb2R1Y3QvX3Byb2R1Y3QtZ2lmdC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvaXNwYWNlLmN6L3Nhc3MvZW1ibGEvX3BhZ2luZy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvaXNwYWNlLmN6L3Nhc3MvZW1ibGEtcGFnaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvaW1hZ2UtbW9kYWwvX2FsbC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvaXNwYWNlLmN6L3Nhc3MvaW1hZ2UtbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2lzcGFjZS5jei9zYXNzL3N0aWNreS1zdWJtaXQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICd0aGVtZS12YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vZGVmYXVsdC9zYXNzL2FzZ2FyZC12YXJpYWJsZXMnO1xuQGltcG9ydCAnYXBwL2Fic3RyYWN0cy9hbGwnO1xuXG4vLyBAaW1wb3J0ICcuLi8uLi9kZWZhdWx0L3Nhc3MvcHJvZHVjdC9hbGwnO1xuQGltcG9ydCAnLi4vLi4vZGVmYXVsdC9zYXNzL3Byb2R1Y3QvcHJvZHVjdC1tYWluLWxheW91dCc7XG5AaW1wb3J0ICcuLi8uLi9kZWZhdWx0L3Nhc3MvcHJvZHVjdC9wcm9kdWN0LWltYWdlcyc7XG5AaW1wb3J0ICcuLi8uLi9kZWZhdWx0L3Nhc3MvcHJvZHVjdC9wcm9kdWN0LXZhcmlhbnRzJztcbkBpbXBvcnQgJy4uLy4uL2RlZmF1bHQvc2Fzcy9wcm9kdWN0L3Byb2R1Y3QtcHJpY2UtYmxvY2snO1xuQGltcG9ydCAnLi4vLi4vZGVmYXVsdC9zYXNzL3Byb2R1Y3QvcHJvZHVjdC1hY3Rpb25zJztcblxuLy8gQGltcG9ydCAncHJvZHVjdC12b3VjaGVyJztcbkBpbXBvcnQgJy4uLy4uL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJy4uLy4uL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy9hY2NvcmRpb24nO1xuXG4vLyAtLSBkZWZhdWx0L3Nhc3MvcHJvZHVjdC9hbGxcblxuQGltcG9ydCAnYXBwL2Fic3RyYWN0cy9taXhpbnMnO1xuQGltcG9ydCAncHJvZHVjdC9hbGwnO1xuXG46cm9vdCB7XG4gICAgLS1wcm9kdWN0LWRldGFpbC1wcmljZS1zaXplOiBjbGFtcCgycmVtLCAxLjAydmkgKyAxLjYycmVtLCAyLjRyZW0pO1xufVxuIiwiLy8gc2NyZWVuIHJlYWRlcnMgb25seVxuJXNyLW9ubHkge1xuICAgIEBpbmNsdWRlIHNyLW9ubHk7XG59XG5cbiVzci1vbmx5LXVuZG8ge1xuICAgIEBpbmNsdWRlIHNyLW9ubHkoJ3VuZG8nKTtcbn1cbiIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG59XG5cbkBtaXhpbiBjdXN0b20tc2Nyb2xsYmFyLWNvbnRhaW5lcigkaXMtdmVydGljYWw6IGZhbHNlKSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIEBpZiAkaXMtdmVydGljYWwge1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLWNvbG9yO1xuICAgIH1cbn1cblxuQG1peGluIG1vZGFsLXZhcmlhYmxlcyB7XG4gICAgLS1icy1tb2RhbC13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgLS1icy1tb2RhbC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC0tYnMtbW9kYWwtbWF4LWhlaWdodDogOThkdmg7XG4gICAgLS1icy1tb2RhbC13aWR0aC1uYXJyb3c6IDUwMHB4O1xuICAgIC0tYnMtbW9kYWwtd2lkdGgtZGVmYXVsdDogODUwcHg7XG4gICAgLS1icy1tb2RhbC13aWR0aC13aWRlOiAxMTAwcHg7XG4gICAgLS1tb2RhbC1wYWRkaW5nLWJsb2NrOiBjbGFtcCgxcmVtLCA0dncsIDIuNXJlbSk7XG4gICAgLS1tb2RhbC1wYWRkaW5nLWlubGluZTogY2xhbXAoMXJlbSwgNXZ3LCAzcmVtKTtcbiAgICAtLWJzLW1vZGFsLXBhZGRpbmc6IHZhcigtLW1vZGFsLXBhZGRpbmctYmxvY2spIHZhcigtLW1vZGFsLXBhZGRpbmctaW5saW5lKTtcbiAgICAtLWJzLW1vZGFsLW1hcmdpbjogMDtcbiAgICAtLWJzLW1vZGFsLWhlYWRlci1mb250LXNpemU6ICN7JGgzLWZvbnQtc2l6ZX07XG4gICAgLS1tb2RhbC1pbi1tb2RhbC1iYWNrZHJvcC1jb2xvcjogI3tyZ2JhKCRtb2RhbC1iYWNrZHJvcC1iZywgJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpfTtcbn1cblxuQG1peGluIGJveGVzKCRxdWFudGl0eTogMywgJGdhcDogMXJlbSwgJGNlbnRlci1nYXA6IGNsYW1wKDFyZW0sIDUlLCA0cmVtKSwgJGNlbnRlci1ibG9jazogZmFsc2UpIHtcbiAgICAkZ2FwLXdpdGgtdW5pdDogaWYobWF0aC5pcy11bml0bGVzcygkZ2FwKSwgJGdhcCAqIDFyZW0sICRnYXApO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaWYgJGNlbnRlci1ibG9jayB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRjZW50ZXItZ2FwO1xuXG4gICAgICAgID4gKjp3aGVyZShpbWcpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmV2ZXJ0LWxheWVyO1xuICAgICAgICAgICAgd2lkdGg6IHJldmVydC1sYXllcjtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBnYXA6ICRnYXAtd2l0aC11bml0O1xuICAgIH1cblxuICAgID4gKiB7XG4gICAgICAgIEBpZiAkcXVhbnRpdHkge1xuICAgICAgICAgICAgLy8gRllJOiBjYWxjdWxhdGUgdGhlICUgd2lkdGggLSAobnVtYmVyIG9mIGdhcHMgLyBxdWFudGl0eSlcbiAgICAgICAgICAgIC0tZmxleC1iYXNpczogY2FsYygje21hdGguZGl2KDEwMCwgJHF1YW50aXR5KSAqIDElfSAtICN7JGdhcC13aXRoLXVuaXQgKiAobWF0aC5kaXYoKCRxdWFudGl0eSAtIDEpLCAkcXVhbnRpdHkpKX0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAqIHNjcmVlbi1yZWFkZXIgb25seVxuLy8gKiBAcGFyYW0gY29uZmlnIC0gbnVsbCB8IHN0cmluZyAoJ3VuZG8nKSAtIHJlc2V0cyBhIHByZXZpb3VzIHNyLW9ubHkgcnVsZXNldFxuQG1peGluIHNyLW9ubHkoJGNvbmZpZzogbnVsbCkge1xuICAgIEBpZiAkY29uZmlnID09ICd1bmRvJyB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby1kZXByZWNhdGVkXG4gICAgICAgIGNsaXA6IHVuc2V0O1xuICAgICAgICBjbGlwLXBhdGg6IHVuc2V0O1xuICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby1kZXByZWNhdGVkXG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG59XG5cbi8vIE1vZGlmaWVzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGRlc2t0b3Agc3VibWVudSB3aGVuIHRoZXJlIGFyZSBmZXdlciB0aGFuIC8kbWVudS1zdWJtZW51LXNpbmdsZS1jb2x1bW4tbWluLyBpdGVtcyxcbi8vIEFORCwgd2hlbiB0aGVyZSBhcmUgbm8gc3ViLXN1YmNhdGVnb3J5IGl0ZW1zXG5AbWl4aW4gZGVza3RvcC1uYXZpZ2F0aW9uLW5hcnJvdyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIE5PVEU6IHNsaWdodGx5IG9sZGVyIEZpcmVmb3ggc3VwcG9ydHMgOmhhcyhlbGVtZW50KSBidXQgbm90IDpoYXMoZWxlbWVudCArIGVsZW1lbnQpXG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL29wZXJhdG9yLW5vLXVuc3BhY2VkXG4gICAgICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKCsgKikpIHtcbiAgICAgICAgICAgIC5oZWFkZXIgLm5hdiB7XG4gICAgICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtbWFpbjpub3QoOmhhcyguc3VibWVudS0tbWFpbiB1bCB1bCkpOm5vdCg6aGFzKC5zdWJtZW51LS1tYWluID4gLm1lbnUtLW5lc3RlZCA+IC5tZW51X19pdGVtLS1uZXN0ZWQ6bnRoLWNoaWxkKCN7JG1lbnUtc3VibWVudS1zaW5nbGUtY29sdW1uLW1pbn0pKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gc3RpY2t5LXNpZGViYXIoJG1lZGlhLXF1ZXJ5LW1pbi13aWR0aDogJ2xnJykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1lZGlhLXF1ZXJ5LW1pbi13aWR0aCkge1xuICAgICAgICAtLXRvcC1wb3NpdGlvbjogY2FsYygodmFyKC0taGVpZ2h0LWRpZmYsIDBweCkgKiAtMSkgKyAxcmVtKTtcblxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IHZhcigtLXRvcC1wb3NpdGlvbik7XG4gICAgfVxufVxuXG4vLy8gQWRkcyBhIHNjcm9sbC1tYXJnaW4tYmxvY2stc3RhcnQgZGVjbGFyYXRpb24gdG8gdGhlIGN1cnJlbnQgc2VsZWN0b3Jcbi8vLyAoc2Nyb2xsLW1hcmdpbi1ibG9jay1zdGFydCBpcyB0aGUgZGVmYXVsdCBwcm9wZXJ0eSlcbi8vLyAkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwgdmFsdWVzIGFyZSBzZXQgaW4gdmFyaWFibGVzIGZpbGVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgLSAnbWFyZ2luJyBvciAncGFkZGluZydcbkBtaXhpbiBzZXQtc2Nyb2xsLWJsb2NrLXN0YXJ0KCR0eXBlOiAnbWFyZ2luJykge1xuICAgIEBpZiBtZXRhLnZhcmlhYmxlLWV4aXN0cygnaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwnKSB7XG4gICAgICAgIEBpZiBtYXAuZ2V0KCRoZWFkZXItZml4ZWQtYWRkaXRpb25hbCwgaGVhZGVyLW1vYmlsZSkgb3IgbWFwLmdldCgkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwsIHRvcC1iYW5uZXItbW9iaWxlKSB7XG4gICAgICAgICAgICAkc2Nyb2xsLXNpemU6ICcnO1xuXG4gICAgICAgICAgICBAaWYgbWFwLmdldCgkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwsIGhlYWRlci1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAkc2Nyb2xsLXNpemU6ICRzY3JvbGwtc2l6ZSArIHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgbWFwLmdldCgkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwsIHRvcC1iYW5uZXItbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgJHNjcm9sbC1zaXplOiBjYWxjKCN7JHNjcm9sbC1zaXplfSArIHZhcigtLXByb21vLWhlaWdodCwgMHB4KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAje21hcC5nZXQoJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsLCBtb2JpbGUtYnJlYWtwb2ludC11cCkgLSAxcHh9KSB7XG4gICAgICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWludmFsaWQtcG9zaXRpb24tZGVjbGFyYXRpb25cbiAgICAgICAgICAgICAgICBzY3JvbGwtI3skdHlwZX0tYmxvY2stc3RhcnQ6ICN7JHNjcm9sbC1zaXplfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBtYXAuZ2V0KCRoZWFkZXItZml4ZWQtYWRkaXRpb25hbCwgaGVhZGVyLWRlc2t0b3ApIG9yIG1hcC5nZXQoJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsLCB0b3AtYmFubmVyLWRlc2t0b3ApIHtcbiAgICAgICAgICAgICRzY3JvbGwtc2l6ZTogJyc7XG5cbiAgICAgICAgICAgIEBpZiBtYXAuZ2V0KCRoZWFkZXItZml4ZWQtYWRkaXRpb25hbCwgaGVhZGVyLWRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICAkc2Nyb2xsLXNpemU6ICRzY3JvbGwtc2l6ZSArIHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgbWFwLmdldCgkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwsIHRvcC1iYW5uZXItZGVza3RvcCkge1xuICAgICAgICAgICAgICAgICRzY3JvbGwtc2l6ZTogY2FsYygjeyRzY3JvbGwtc2l6ZX0gKyB2YXIoLS1wcm9tby1oZWlnaHQsIDBweCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3ttYXAuZ2V0KCRoZWFkZXItZml4ZWQtYWRkaXRpb25hbCwgbW9iaWxlLWJyZWFrcG9pbnQtdXApfSkge1xuICAgICAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbnZhbGlkLXBvc2l0aW9uLWRlY2xhcmF0aW9uXG4gICAgICAgICAgICAgICAgc2Nyb2xsLSN7JHR5cGV9LWJsb2NrLXN0YXJ0OiAjeyRzY3JvbGwtc2l6ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGNhcmQgYm94ZXMgYXJlIHR5cGljYWxseSB1c2VkIG9uIHByb2R1Y3QgZGV0YWlsIHNlcnZpY2VzLCBjaGVja291dCB0cmFuc3BvcnQvcGF5bWVudCBvcHRpb25zLFxuLy8gQU5EIHByZS1jaGVja291dCBwYWdlXG5AbWl4aW4gY2FyZC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgbGlnaHQpO1xuICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTkwMCcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJGlucHV0LCBib3JkZXItY29sb3IpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogLTFweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmOmhvdmVyOm5vdCg6aGFzKFtkaXNhYmxlZF0pKSxcbiAgICAmOmZvY3VzLXdpdGhpbjpub3QoOmhhcyhbZGlzYWJsZWRdKSkge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS00MDApO1xuXG4gICAgICAgIFt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCksXG4gICAgICAgIFt0eXBlPSdyYWRpbyddOm5vdCg6Y2hlY2tlZCkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2IoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aGFzKFtkaXNhYmxlZF0pOm5vdCguZml4LXNwZWNpZmljaXR5KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0xMDApO1xuICAgICAgICBib3JkZXItaW5saW5lLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMTAwKTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS02MDApO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMjAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBuZXh0IHNtYWxsZXIgYnJlYWtwb2ludCBmcm9tIHRoZSBnaXZlbiBicmVha3BvaW50LlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIFRoZSBicmVha3BvaW50IGZvciB3aGljaCB0byBmaW5kIHRoZSBuZXh0IHNtYWxsZXIgYnJlYWtwb2ludC5cbiAqIEByZXR1cm4ge1N0cmluZ3xudWxsfSAtIFRoZSBuZXh0IHNtYWxsZXIgYnJlYWtwb2ludCwgb3IgbnVsbCBpZiBubyBzbWFsbGVyIGJyZWFrcG9pbnQgaXMgYXZhaWxhYmxlLlxuICovXG5AZnVuY3Rpb24gZ2V0LXNtYWxsZXItYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICRrZXlzOiBtYXAua2V5cygkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZGV4OiBsaXN0LmluZGV4KCRrZXlzLCAkYnJlYWtwb2ludCk7XG5cbiAgICBAaWYgbm90ICRpbmRleCBvciAkaW5kZXggPT0gMSB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBAcmV0dXJuIGxpc3QubnRoKCRrZXlzLCAkaW5kZXggLSAxKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIG5leHQgbGFyZ2VyIGJyZWFrcG9pbnQgZnJvbSB0aGUgJGdyaWQtYnJlYWtwb2ludHMgbWFwLlxuICpcbiAqIEBmdW5jdGlvbiBnZXQtYmlnZ2VyLWJyZWFrcG9pbnRcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIFRoZSBjdXJyZW50IGJyZWFrcG9pbnQgdG8gZmluZCB0aGUgbmV4dCBsYXJnZXIgb25lIGZvci5cbiAqIEByZXR1cm4ge1N0cmluZyB8IG51bGx9IC0gVGhlIG5leHQgbGFyZ2VyIGJyZWFrcG9pbnQgb3IgbnVsbCBpZiB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHRoZSBsYXJnZXN0IG9yIG5vdCBmb3VuZC5cbiAqL1xuQGZ1bmN0aW9uIGdldC1sYXJnZXItYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICRrZXlzOiBtYXAua2V5cygkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZGV4OiBsaXN0LmluZGV4KCRrZXlzLCAkYnJlYWtwb2ludCk7XG5cbiAgICBAaWYgbm90ICRpbmRleCBvciAkaW5kZXggPT0gbGlzdC5sZW5ndGgoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIEByZXR1cm4gbGlzdC5udGgoJGtleXMsICRpbmRleCArIDEpO1xufVxuIiwiQHVzZSAnc2Fzczpjb2xvcic7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuXG4vLyAqIFZpc3VhbHMgZm9yIHNtYWxsIGJsb2NrcyB3aXRoIGEgaG92ZXIgLyBmb2N1cy13aXRoaW4gZWZmZWN0IGluY2x1ZGVkXG4vLyAqIFRvIG1vZGlmeSBkZWZhdWx0IHZhbHVlcywgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBzbWFsbC1ibG9jay1jb21wb25lbnQobWFwLnNldCgkY29uZmlnLCAncmFkaXVzJywgMjBweCkpXG5AbWl4aW4gc21hbGwtYmxvY2stY29tcG9uZW50KFxuICAgICRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMsXG4gICAgJGJhY2tncm91bmQtc3RhcnQ6IGNvbG9yLmFkanVzdChtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktbGlnaHQpLCAkYWxwaGE6IC0xKSxcbiAgICAkYmFja2dyb3VuZC1lbmQ6IGNvbG9yLmFkanVzdChtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktbGlnaHQpLCAkYWxwaGE6IDApLFxuICAgICRib3gtc2hhZG93LXN0YXJ0OiAwIDRweCAyMHB4IDAgIzAwMDAwMDE0LFxuICAgICRib3gtc2hhZG93LWVuZDogMCA0cHggNHB4IDAgIzAwMDAwMDE0LFxuICAgICR0cmFuc2l0aW9uOiAnYmFja2dyb3VuZC1jb2xvciBsaW5lYXIgMC4xNXMsIGJveC1zaGFkb3cgbGluZWFyIDAuMTVzJ1xuKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zdGFydDtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zdGFydDtcbiAgICB0cmFuc2l0aW9uOiAjeyR0cmFuc2l0aW9ufTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1lbmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWVuZDtcbiAgICB9XG59XG5cbkBtaXhpbiB3aWRlLWNhcmQoJGJyZWFrcG9pbnQ6ICd4bCcpIHtcbiAgICAkc21hbGxlci1icmVha3BvaW50OiBnZXQtbGFyZ2VyLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gICAgLnByb2R1Y3QtY2FyZCB7XG4gICAgICAgIC0tdGh1bWJuYWlsLXdpZHRoOiAyMDBweDtcbiAgICAgICAgLS1mbGFnLWZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgbGlnaHQpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCAwIHJnYigwLCAwLCAwLCAwLjA3KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRzbWFsbGVyLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkc21hbGxlci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgLS10aHVtYm5haWwtd2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgICAgIC0tZmxhZy1mb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tdGh1bWJuYWlsLXdpZHRoKSAxZnIgYXV0bztcbiAgICAgICAgICAgICAgICBncmlkLWF1dG8tcm93czogYXV0bztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyNHJlbTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gNHJlbSAzcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19wcmltYXJ5LFxuICAgICAgICAgICAgJl9fc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX190aHVtYm5haWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tdGh1bWJuYWlsLXdpZHRoKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IGF1dG87XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3ZhcmlhbnRzIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogNjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fcGVyZXgge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3BhcmFtZXRlcnMge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2F2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fcHJpY2Uge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiA2O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIC5jYXJkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwIDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICAmX19mdWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmX19kaXNjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgJl9fc2F2aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19mbGFncyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xM3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcGxhY2Utc2VsZjogc3RhcnQgZW5kO1xuICAgICAgICAgICAgICAgIGdhcDogMC4zcmVtO1xuXG4gICAgICAgICAgICAgICAgW2NsYXNzKj0nX19pdGVtJ10ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjIyZW0gMC42M2VtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZmxhZy1mb250LXNpemUpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcyo9J19fdGV4dCddIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fYWRkIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogNjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICogQWRkIGludmVydGVkIGJvcmRlciByYWRpdXMgY29ybmVyc1xuLy8gKiBtYXNrIHZhbHVlcyBhcmUgaW4gdGhlIG9yZGVyIHRsIC8gdHIgLyBiciAvIGJsXG4vLyAqIE5vdGUgdGhhdCBhbGwgdW5pdHMgc2hvdWxkIGJlIGluIHB4XG4vLyAqIEBwYXJhbSB7bGlzdH0gLSBzcGVjaWZpYyBib3JkZXIgY29ybmVycyAkY29ybmVycyAoYWxsfHRsfHRyfGJsfGJyKVxuQG1peGluIGludmVydGVkLWJvcmRlci1yYWRpdXMoJGNvcm5lcnM6ICdhbGwnKSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZXR0aWVyL3ByZXR0aWVyXG4gICAgJHZhbGlkLWJvcmRlci1yYWRpdXMtcGFyYW1zOiBbJ2FsbCcsICd0bCcsICd0cicsICdibCcsICdicicsICd0JywgJ3InLCAnYicsICdsJ107XG4gICAgJGludmVydGVkLWJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7XG4gICAgJGludmVydGVkLWJvcmRlci10bDogMHB4O1xuICAgICRpbnZlcnRlZC1ib3JkZXItdHI6IDBweDtcbiAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJyOiAwcHg7XG4gICAgJGludmVydGVkLWJvcmRlci1ibDogMHB4O1xuXG4gICAgLS1pbnZlcnRlZC1ib3JkZXItZ3JhZGllbnQ6ICMwMDAwIDk4JSwgIzAwMDtcbiAgICAtLWludmVydGVkLWJvcmRlci1yYWRpdXM6ICN7JGludmVydGVkLWJvcmRlci1yYWRpdXN9O1xuXG4gICAgQGlmIG5vdCBsaXN0LmluZGV4KCR2YWxpZC1ib3JkZXItcmFkaXVzLXBhcmFtcywgJGNvcm5lcnMpIHtcbiAgICAgICAgQGVycm9yIFwiI3skY29ybmVyc30gaXMgbm90IGEgdmFsaWQgc2lkZS4gRXhwZWN0ZWQgb25lIG9mICN7JHZhbGlkLWJvcmRlci1yYWRpdXMtcGFyYW1zfS5cIjtcbiAgICB9XG5cbiAgICBAaWYgJGNvcm5lcnMgPT0gJ2FsbCcge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLXRsOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgJGludmVydGVkLWJvcmRlci10cjogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICRpbnZlcnRlZC1ib3JkZXItYnI6ICRpbnZlcnRlZC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJsOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9IEBlbHNlIGlmICRjb3JuZXJzID09ICd0bCcge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLXRsOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9IEBlbHNlIGlmICRjb3JuZXJzID09ICd0cicge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLXRyOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9IEBlbHNlIGlmICRjb3JuZXJzID09ICdicicge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJyOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9IEBlbHNlIGlmICRjb3JuZXJzID09ICdibCcge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJsOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9IEBlbHNlIGlmICRjb3JuZXJzID09ICd0JyB7XG4gICAgICAgICRpbnZlcnRlZC1ib3JkZXItdGw6ICRpbnZlcnRlZC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLXRyOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9IEBlbHNlIGlmICRjb3JuZXJzID09ICdyJyB7XG4gICAgICAgICRpbnZlcnRlZC1ib3JkZXItdHI6ICRpbnZlcnRlZC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJyOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9IEBlbHNlIGlmICRjb3JuZXJzID09ICdiJyB7XG4gICAgICAgICRpbnZlcnRlZC1ib3JkZXItYnI6ICRpbnZlcnRlZC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJsOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9IEBlbHNlIGlmICRjb3JuZXJzID09ICdsJyB7XG4gICAgICAgICRpbnZlcnRlZC1ib3JkZXItdGw6ICRpbnZlcnRlZC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJsOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAtLWludmVydGVkLWJvcmRlci1yYWRpdXMtdGw6ICN7JGludmVydGVkLWJvcmRlci10bH07XG4gICAgLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRyOiAjeyRpbnZlcnRlZC1ib3JkZXItdHJ9O1xuICAgIC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1icjogI3skaW52ZXJ0ZWQtYm9yZGVyLWJyfTtcbiAgICAtLWludmVydGVkLWJvcmRlci1yYWRpdXMtYmw6ICN7JGludmVydGVkLWJvcmRlci1ibH07XG5cbiAgICBtYXNrOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQodmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10bCkgYXQgMCAwLCB2YXIoLS1pbnZlcnRlZC1ib3JkZXItZ3JhZGllbnQpKSAwIDAsXG4gICAgICAgIHJhZGlhbC1ncmFkaWVudCh2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRyKSBhdCAxMDAlIDAsIHZhcigtLWludmVydGVkLWJvcmRlci1ncmFkaWVudCkpIDEwMCUgMCxcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtYmwpIGF0IDAgMTAwJSwgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLWdyYWRpZW50KSkgMCAxMDAlLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQodmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1icikgYXQgMTAwJSAxMDAlLCB2YXIoLS1pbnZlcnRlZC1ib3JkZXItZ3JhZGllbnQpKSAxMDAlIDEwMCU7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDUxJSA1MSU7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWRlY2xhcmF0aW9uXG4gICAgLy8gRGlzYWJsZSBmb3Igb2xkZXIgU2FmYXJpIGJyb3dzZXJzIGFzIHRoZSBsYXlvdXQgYnJlYWtzIHRoZXJlIHdpdGggbWFza1xuICAgIEBzdXBwb3J0cyAoYmFja2dyb3VuZDogLXdlYmtpdC1uYW1lZC1pbWFnZShpKSkge1xuICAgICAgICBtYXNrOiBub25lO1xuICAgIH1cblxuICAgIC8vIFdlIGNhbm5vdCBjaGVjayBmb3IgQHN1cHBvcnRzIChjbGlwLXBhdGg6IHNoYXBlKCkpIGJlY2F1c2UsIHdoaWxlIEZpcmVmb3ggc3VwcG9ydHMgdGhlIHJ1bGUsIGl0IGRvZXMgbm90IHdvcmsgLSB5ZXQgKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTAzMjgpXG4gICAgLy8gQnV0LCBhcyBzaGFwZSgpIGNhbiBiZSB1c2VkIGluIGFuaW1hdGlvbiBwYXRocywgYW5kIENocm9tZSBhbmQgY3VycmVudCBTYWZhcmkgc3VwcG9ydCB0aGlzIGltcGxlbWVudGF0aW9uLlxuICAgIC8vIE5PVEU6IFdlIHNob3VsZCBzdGlsbCBjaGVjayB0byBzZWUgd2hlbiBjbGlwLXBhdGg6IHNoYXBlKCkgaXMgZnVsbHkgZW5hYmxlZCBpbiBGaXJlZm94LCBidXQgaW4gdGhlIG1lYW50aW1lLCBtYXNraW5nIHdvcmtzIG5pY2VseSB0aGVyZVxuICAgIEBzdXBwb3J0cyAob2Zmc2V0LXBhdGg6IHNoYXBlKGZyb20gdG9wIGxlZnQsIGN1cnZlIHRvIDUwJSA1MCUgd2l0aCAyNSUgMTAwJSkpIHtcbiAgICAgICAgbWFzazogbm9uZTtcbiAgICAgICAgY2xpcC1wYXRoOiBzaGFwZShcbiAgICAgICAgICAgIGZyb20gMCB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRsKSxcbiAgICAgICAgICAgIGFyYyBieSB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRsKSBjYWxjKHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtdGwpICogLTEpIG9mIHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtdGwpLFxuICAgICAgICAgICAgbGluZSB0byBjYWxjKDEwMCUgLSB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRyKSkgMCxcbiAgICAgICAgICAgIGFyYyBieSB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRyKSB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRyKSBvZiB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRyKSxcbiAgICAgICAgICAgIGxpbmUgdG8gMTAwJSBjYWxjKDEwMCUgLSB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLWJyKSksXG4gICAgICAgICAgICBhcmMgYnkgY2FsYyh2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLWJyKSAqIC0xKSB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLWJyKSBvZiB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLWJyKSxcbiAgICAgICAgICAgIGxpbmUgdG8gdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1ibCkgMTAwJSxcbiAgICAgICAgICAgIGFyYyBieSBjYWxjKHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtYmwpICogLTEpIGNhbGModmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1ibCkgKiAtMSkgb2YgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1ibCksXG4gICAgICAgICAgICBsaW5lIHRvIDAgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10bClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWRlY2xhcmF0aW9uXG59XG5cbi8vIExhYmVsIGlzIHNoaWZ0ZWQgd2hlbiAtXG4vLyBpbnB1dCBpcyBmb2N1c2VkXG4vLyBoYXMgdmFsdWUgcHJvcCBidXQgbm90IHBsYWNlaG9sZGVyIHNob3duIChoYXBwZW5kcyB3aGVuIHByZWZpbGxlZCBpbnB1dCBpcyBtYW51YWxseSBjbGVhcmVkKVxuLy8gaGFzIHNvbWUgdGV4dCBwbGFjZWhvbGRlclxuLy8gaXMgYXV0b2ZpbGxlZFxuQG1peGluIGZvcm0taW5wdXQtbGFiZWwtc2VsZWN0b3JzIHtcbiAgICAmOmhhcyg6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOm5vdCg6d2hlcmUoOnBsYWNlaG9sZGVyLXNob3duKSk6aXMoOndoZXJlKDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSksIDp3aGVyZSg6bm90KFtwbGFjZWhvbGRlcj0nJ10sIFtwbGFjZWhvbGRlcj0nICddKSksIDpub3QoW3ZhbHVlPScnXSksIDotd2Via2l0LWF1dG9maWxsLCA6YXV0b2ZpbGwsIDpmb2N1cykpIDp3aGVyZSguZm9ybS1pbnB1dF9fbGFiZWwpLFxuICAgICY6aGFzKDp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6aXMoOndoZXJlKDpwbGFjZWhvbGRlci1zaG93bjpub3QoW3BsYWNlaG9sZGVyPScnXSwgW3BsYWNlaG9sZGVyPScgJ10pKSkpIDp3aGVyZSguZm9ybS1pbnB1dF9fbGFiZWwpLFxuICAgICY6aGFzKDp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6aXMoOmZvY3VzKSkgOndoZXJlKC5mb3JtLWlucHV0X19sYWJlbCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVzZXQgaVNwYWNlIGN1c3RvbSBmb3JtIGlucHV0IHN0eWxlcyB0byBiZSBhYmxlIHRvIGRlc2lnbiBzcGVjaWFsIGlucHV0cyBtb3JlIGVhc2lseVxuICovXG5AbWl4aW4gcmVzZXQtZm9ybS1pbnB1dCB7XG4gICAgJjpoYXMoOndoZXJlKGlucHV0Om5vdChbdHlwZT0nY2hlY2tib3gnXSwgW3R5cGU9J3JhZGlvJ10pLCB0ZXh0YXJlYSwgc2VsZWN0KSkge1xuICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiBpbml0aWFsO1xuXG4gICAgICAgIDp3aGVyZSguZm9ybS1maWVsZC1jb250YWluZXIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGluaXRpYWw7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA6d2hlcmUoLmZvcm0tZmllbGQgPiAqKSB7XG4gICAgICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIDp3aGVyZSguZm9ybS1maWVsZF9faW5wdXQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aGFzKC5lcnJvcnMpIHtcbiAgICAgICAgICAgIC0taW5wdXQtYmc6IGluaXRpYWw7XG5cbiAgICAgICAgICAgIC5mb3JtLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgIC5mb3JtLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aGFzKFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIC5mb3JtLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIDp3aGVyZSguZm9ybS1pbnB1dF9fbGFiZWwpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgICAgICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogaW5pdGlhbDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyguZm9ybS1maWVsZC0tc20pIHtcbiAgICAgICAgICAgIC5mb3JtLWlucHV0X19sYWJlbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgIDp3aGVyZSguZm9ybS1maWVsZC1jb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgOndoZXJlKC5mb3JtLWlucHV0X19sYWJlbCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOm5vdCg6d2hlcmUoOmZvY3VzLXdpdGhpbiwgW2Rpc2FibGVkXSkpIHtcbiAgICAgICAgICAgICAgICAmOndoZXJlKDpub3QoOmhhcyguZXJyb3JzKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgOndoZXJlKC5mb3JtLWZpZWxkLWNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgOndoZXJlKC5mb3JtLWlucHV0X19sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhhcyguZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIDp3aGVyZSguZm9ybS1maWVsZC1jb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIDp3aGVyZSguZm9ybS1pbnB1dF9fbGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1sYWJlbC1zZWxlY3RvcnMge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbml0aWFsO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFN0eWxlcyB0byBoaWRlIHRoZSBzY3JvbGxiYXIgYnV0IHN0aWxsIGFsbG93IHNjcm9sbGluZ1xuICovXG5AbWl4aW4gc2Nyb2xsLXdpdGhvdXQtc2Nyb2xsYmFyIHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTsgLyogRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIEVkZ2UgKi9cbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cblxuICAgIC8qIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYSAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIEFsdGVybmF0aXZlIGRpc2MtbGlrZSBzdHlsaW5nIGZvciByYWRpbyBhbmQgY2hlY2tib3ggaW5wdXRzXG5AbWl4aW4gaW5wdXQtZGlzYyB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDAgMTBweCAwIGF1dG87XG4gICAgbWFyZ2luLWJsb2NrOiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGZsZXg6IDAgMCAxNXB4OyAvLyBpbiBjYXNlIGl0J3MgcGFydCBvZiBhIGZsZXggbGF5b3V0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2IoMCwgMCwgMCwgMC4xKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8vIGNhcmQgYm94ZXMgYXJlIHR5cGljYWxseSB1c2VkIG9uIHByb2R1Y3QgZGV0YWlsIHNlcnZpY2VzLCBjaGVja291dCB0cmFuc3BvcnQvcGF5bWVudCBvcHRpb25zLFxuLy8gQU5EIHByZS1jaGVja291dCBwYWdlXG5AbWl4aW4gY2FyZC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgbGlnaHQpO1xuICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTkwMCcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCRpbnB1dCwgYm9yZGVyLWNvbG9yKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE0cHggMzBweCAxNHB4IDIwcHg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogLTFweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgICAgIEBpbmNsdWRlIGlucHV0LWRpc2M7XG4gICAgfVxuXG4gICAgJjpoYXMoOmNoZWNrZWQpLFxuICAgICZbY2xhc3MqPSdzZWxlY3RlZCddIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIFt0eXBlPSdjaGVja2JveCddOm5vdCguZml4LXNwZWNpZmljaXR5KSxcbiAgICAgICAgW3R5cGU9J3JhZGlvJ106bm90KC5maXgtc3BlY2lmaWNpdHkpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoOmhhcyhbZGlzYWJsZWRdKSksXG4gICAgJjpmb2N1cy13aXRoaW46bm90KDpoYXMoW2Rpc2FibGVkXSkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktNDAwKTtcblxuICAgICAgICBbdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpLFxuICAgICAgICBbdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcyhbZGlzYWJsZWRdKTpub3QoLmZpeC1zcGVjaWZpY2l0eSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpZ2h0KTtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1kZXRhaWwge1xuICAgICRjb2x1bW5zLW1pbi13aWR0aDogMzMwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBnYXA6IDMwcHggMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3NtJykge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgjeyRjb2x1bW5zLW1pbi13aWR0aH0sIDFmcikpO1xuICAgICAgICAgICAgZ2FwOiAzMHB4IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlcyB7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBjb250YWluZXItbmFtZTogcHJvZHVjdC10ZXh0LWJsb2NrO1xuICAgICAgICAgICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogMnJlbTtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuXG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cbiAgICAgICAgICAgID4gKjp3aGVyZSg6bm90KC5wcm9kdWN0LWRldGFpbF9faGFzLWZyZWUtc2hpcHBpbmcpOm5vdCgucHJvZHVjdC1kZXRhaWxfX2FjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vdC1ub3RhdGlvblxuXG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWwge1xuICAgICAgICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAvLyBkbyBub3QgdGFrZSB1cCBzcGFjZSBpZiBlbXB0eVxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6aGFzKD4gKikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3NtJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LXRleHQtYmxvY2sgKHdpZHRoIDwgODB2dykgYW5kICh3aWR0aCA+ICN7JGNvbHVtbnMtbWluLXdpZHRoIC0gMX0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmV2aWV3cy1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWF4LWNvbnRlbnQpO1xuICAgICAgICBnYXA6IDAuNXJlbSAxcmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdzbScpIHtcbiAgICAgICAgICAgIEBjb250YWluZXIgcHJvZHVjdC10ZXh0LWJsb2NrICh3aWR0aCA8IDgwdncpIGFuZCAod2lkdGggPiAjeyRjb2x1bW5zLW1pbi13aWR0aCAtIDF9KSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtcGVyY2VudGFnZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYXRpbmdzIHtcbiAgICAgICAgICAgICYtb3ZlcmFsbC1oZWFkaW5nLFxuICAgICAgICAgICAgJi1hdmVyYWdlIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVzci1vbmx5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLW92ZXJhbGwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWNvdW50IHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVzci1vbmx5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3NtJykge1xuICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LXRleHQtYmxvY2sgKHdpZHRoIDwgODB2dykgYW5kICh3aWR0aCA+ICN7JGNvbHVtbnMtbWluLXdpZHRoIC0gMX0pIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcblxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cbiAgICAgICAgPiAqOndoZXJlKDpub3QoLnByb2R1Y3QtZGV0YWlsX19oYXMtZnJlZS1zaGlwcGluZyk6bm90KC5wcm9kdWN0LWRldGFpbF9fYWN0aW9ucykpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm90LW5vdGF0aW9uXG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgICZfX21ldGEge1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTYwMCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAwIGNsYW1wKDEuNXJlbSwgM3Z3LCAzcmVtKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiAxbGg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnc20nKSB7XG4gICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtdGV4dC1ibG9jayAod2lkdGggPCA4MHZ3KSBhbmQgKHdpZHRoID4gI3skY29sdW1ucy1taW4td2lkdGggLSAxfSkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgICY6aGFzKC5wZXJleC1tb3JlKSB7XG4gICAgICAgICAgICA+ICo6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hhcy1mcmVlLXNoaXBwaW5nIHtcbiAgICAgICAgLy8gbW92ZSB0aGUgYWN0aW9ucyBvdmVyIGJ5IDUwJSAtIDAuNSB4IGZsZXggZ2FwXG4gICAgICAgIG1pbi13aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICB9XG5cbiAgICAmX19zZWNvbmRhcnkge1xuICAgICAgICAvLyAubmF2LXRhYnMgaW5zaWRlIGFyZSAxMDB2dyB3aWR0aFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIHRoZWFkICsgdGJvZHkgPiAmOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgdHIgKyB0ciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aCxcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNGVtO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICArIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoZWFkIHRoIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIDY7XG4gICAgICAgIH1cblxuICAgICAgICArIC5wcm9kdWN0cy1zZWN0aW9uIHtcbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICArIC5wcm9kdWN0cy1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMjAwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6ICRzcGFjZXIgKiA2O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ibG9jay1zdGFydDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgKyAqOndoZXJlKDpub3QoLnByb2R1Y3RzLXNlY3Rpb24pKSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6ICRzcGFjZXIgKiA2O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3BlY2lmaWMgc2VjdGlvbiBzdHlsaW5nXG4gICAgLnRhYnNfX21haW4ge1xuICAgICAgICBjb250YWluZXI6IG1haW4tdGFiIC8gaW5saW5lLXNpemU7XG5cbiAgICAgICAgLnRhYnNfX3NlY3Rpb24taW5uZXItY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxfX3RleHQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDExIDAgMzUwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcblxuICAgICAgICAgICAgICAgIEBjb250YWluZXIgbWFpbi10YWIgKG1pbi13aWR0aDogNTM3cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgJjp3aGVyZSg6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMy41JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6d2hlcmUoOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtaW4oNzY4cHgsIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICsgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMiAwIDE4N3B4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBjb250YWluZXIgbWFpbi10YWIgKG1pbi13aWR0aDogNzAycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTIwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsX19zZWNvbmRhcnktc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgJi1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICArIC5wcm9kdWN0LWRldGFpbF9fc2Vjb25kYXJ5LXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzICogJHNwYWNlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbF9fcHJvZHVjZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbF9fc2Vjb25kYXJ5LXNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJXNyLW9ubHk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFyYW1ldGVycy1saXN0IHtcbiAgICAgICAgLnBvcG92ZXIge1xuICAgICAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwLjJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbS1kZXNjcmlwdGlvbi12YXJpYW50cyB7XG4gICAgICAgICAgICAuY29sdW1uLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICAmLWR5bmFtaWMge1xuICAgICAgICAgICAgICAgICAgICAtLWNvbHVtbi1jb3VudDogMTtcbiAgICAgICAgICAgICAgICAgICAgLS1jb2x1bW4td2lkdGg6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5zaG93LWFsbC1pdGVtcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmNvbHVtbi1pdGVtcy1keW5hbWljIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS10cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGF4b25vbXkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogNjtcblxuICAgICAgICAmLWhlYWRpbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpbWlsYXItY2F0ZWdvcmllcyB7XG4gICAgICAgICYtaGVhZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1saXN0LWl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190YWdzIHtcbiAgICAgICAgPiBkbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgZHQsXG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmFyaWFudHMtbGlzdCB7XG4gICAgICAgIGxpICsgbGkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4zcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZW1wdHktbGluZS1iZWZvcmVcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZG91YmxlLXNsYXNoLWNvbW1lbnQtZW1wdHktbGluZS1iZWZvcmVcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uLy4uL2RlZmF1bHQvc2Fzcy9hc2dhcmQtdmFyaWFibGVzJyBhcyBhc2dhcmQtdmFyaWFibGVzO1xuXG4vLyBib290c3RyYXAgdmFyaWFibGVzXG4vLyBsYXlvdXRcbiRncmlkLWJyZWFrcG9pbnRzOiBtYXAubWVyZ2UoXG4gICAgYXNnYXJkLXZhcmlhYmxlcy4kZ3JpZC1icmVha3BvaW50cyxcbiAgICAoXG4gICAgICAgIGRlc2t0b3A6IDE2NTBweCxcbiAgICAgICAgZnVsbGhkOiAxOTIwcHgsXG4gICAgICAgIDJrOiAyNTAwcHhcbiAgICApXG4pO1xuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiRjb250YWluZXItbWF4LXdpZHRocyxcbiAgICAoXG4gICAgICAgIGxnOiAxMDI0cHgsXG4gICAgICAgIHhsOiAxMTQwcHgsXG4gICAgICAgIHh4bDogMTY4NXB4XG4gICAgKVxuKTtcblxuLy8gc3BhY2luZ1xuJGNvbnRhaW5lci1wYWRkaW5nLXg6IDNyZW07XG4kY2FudmFzLXBhZGRpbmcteTogNHJlbTtcbiRjYW52YXMtcGFkZGluZy15LW1kOiA2cmVtO1xuJGNhbnZhcy1wYWRkaW5nLXkteHhsOiA3cmVtO1xuXG4vLyBmb250XG4kZm9udC1zaXplLXJvb3Q6IDYyLjUlO1xuJGZvbnQtc2l6ZS1iYXNlOiAxLjRyZW07XG4kbGluZS1oZWlnaHQtYmFzZTogMS42O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICdJbnRlcicsICdJbnRlci1mYWxsYmFjaycsICdBcmlhbCcsIHNhbnMtc2VyaWY7XG4kZm9udC1zaXplLXNtOiAxLjJyZW07XG4kZm9udC1zaXplLWxnOiAkZm9udC1zaXplLWJhc2UgKiAxLjI1O1xuJGZvbnQtc2l6ZS1sYXJnZXI6ICRmb250LXNpemUtYmFzZSAqIDEuNTsgLy8gJGg0LWZvbnQtc2l6ZTtcbiRmb250LXNpemUtbGFyZ2VzdDogJGZvbnQtc2l6ZS1iYXNlICogMjsgLy8gJGgyLWZvbnQtc2l6ZTtcblxuJGxlZ2VuZC1mb250LXNpemU6IDJyZW07XG4kbGVnZW5kLW1hcmdpbi1ib3R0b206IDJyZW07XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiA3MDA7XG5cbi8vIHR5cG9cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAxZW07XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDcwMDtcblxuLy8gY29sb3JzXG4kcHJpbWFyeTogIzAwN2RiYTtcbiRwcmltYXJ5LWRhcms6ICMxNDVjODA7XG4kcHJpbWFyeS1taWQ6IHJnYigwLCAxNDEsIDIxMCwgMC4xNSk7XG4kcHJpbWFyeS1saWdodDogI2U2ZjRmYjtcbiRzZWNvbmRhcnk6ICNmMDA7XG4kbGlnaHQ6ICNmZmY7XG4kZGFyazogIzAwMDtcblxuJGdyZWVuOiAjMDQ4MTAxO1xuJGdyZWVuLWRhcms6ICMxODgwMzg7XG4kZ3JlZW4tc3A6IHJnYigzLCAxODEsIDApO1xuJGdyZWVuLWRhcmstc2VtaS10cmFuc3A6IHJnYigyNCwgMTI4LCA1NiwgMC4xKTtcblxuJHRoZW1lLWNvbG9yczogbWFwLm1lcmdlKFxuICAgIGFzZ2FyZC12YXJpYWJsZXMuJHRoZW1lLWNvbG9ycyxcbiAgICAoXG4gICAgICAgIHByaW1hcnk6ICRwcmltYXJ5LFxuICAgICAgICBwcmltYXJ5LWRhcms6ICRwcmltYXJ5LWRhcmssXG4gICAgICAgIHByaW1hcnktbWlkOiAkcHJpbWFyeS1taWQsXG4gICAgICAgIHByaW1hcnktbGlnaHQ6ICRwcmltYXJ5LWxpZ2h0LFxuICAgICAgICBzZWNvbmRhcnk6ICRzZWNvbmRhcnksXG4gICAgICAgIGxpZ2h0OiAkbGlnaHQsXG4gICAgICAgIGRhcms6ICRkYXJrLFxuICAgICAgICBkYXJrLXNlbWktdHJhbnNwOiByZ2IoMCwgMCwgMCwgMC4xKSxcbiAgICAgICAgYmFzZS1iZzogJGxpZ2h0LFxuICAgICAgICBiYXNlLXRleHQ6ICRkYXJrLFxuICAgICAgICBsaW5rOiAkcHJpbWFyeSxcbiAgICAgICAgc3VjY2VzczogIzhlZDYwOSxcbiAgICAgICAgc3VjY2Vzcy1iZzogI2U4ZjFkOSxcbiAgICAgICAgc3VjY2Vzcy10ZXh0OiAkZGFyayxcbiAgICAgICAgaW5mbzogIzljYjVlMSxcbiAgICAgICAgaW5mby1iZzogI2RkZWRmMyxcbiAgICAgICAgaW5mby10ZXh0OiAkZGFyayxcbiAgICAgICAgd2FybmluZzogIzIzOWJjOCxcbiAgICAgICAgd2FybmluZy1iZzogIzljYjVlMSxcbiAgICAgICAgd2FybmluZy10ZXh0OiAkZGFyayxcbiAgICAgICAgZGFuZ2VyOiAjZTI2OTY5LFxuICAgICAgICBkYW5nZXItYmc6ICNmNmRmZGYsXG4gICAgICAgIGRhbmdlci10ZXh0OiAkZGFyayxcbiAgICAgICAgc3Rhci1yYXRpbmctYmc6ICNmYjAsXG4gICAgICAgIGluLXN0b2NrOiAkZ3JlZW4sXG4gICAgICAgIG91dC1vZi1zdG9jazogI2UyNjk2OSxcbiAgICAgICAgcHJlb3JkZXI6ICNlYWIwMDAsXG4gICAgICAgIC8vIDEwJSBvZiBpbi1zdG9jayBjb2xvdXJcbiAgICAgICAgaW4tc3RvY2stYmc6IHJnYig1LCAxMzYsIDIsIDAuMSksXG4gICAgICAgIGdyYXktMTAwOiAjZjNmM2YzLFxuICAgICAgICBncmF5LTE1MDogI2U0ZTRlNCxcbiAgICAgICAgZ3JheS0yMDA6ICNkZWRlZGUsXG4gICAgICAgIGdyYXktMzAwOiAjZDBkMGQwLFxuICAgICAgICBncmF5LTQwMDogI2IxYjFiMSxcbiAgICAgICAgZ3JheS02MDA6ICM3NDc0NzQsXG4gICAgICAgIGdyYXktNzAwOiAjNGQ0ZDRkLFxuICAgICAgICBncmF5LTgwMDogIzM4MzgzOCxcbiAgICAgICAgZ3JheS05MDA6ICMyNjI2MjYsXG4gICAgICAgIGdyYXktc2VtaS10cmFuc3A6IHJnYigyMCwgOTIsIDEyOCwgMC4xKSxcbiAgICAgICAgc2F2aW5nLWNvbG9yOiByZ2IoMjQsIDEyOCwgNTYsIDEpLFxuICAgICAgICBzYXZpbmctY29sb3ItYmc6ICRncmVlbi1kYXJrLXNlbWktdHJhbnNwLFxuICAgICAgICB2b3VjaGVyLWJnOiAjZDhlZGY3LFxuICAgICAgICBzYXZpbmdzLXByaW1hcnk6ICNlMTE5MzEsXG4gICAgICAgIHNhdmluZ3Mtc2Vjb25kYXJ5OiAjZmVlOTU2LFxuICAgICAgICB1c2VkLW9mZmVycy1wcmltYXJ5OiAjZWFiMDAwLFxuICAgICAgICB1c2VkLW9mZmVycy1zZWNvbmRhcnk6ICNmZWZiZjJcbiAgICApXG4pO1xuLy8gYm9vdHN0cmFwIHZhcmlhYmxlcyBlbmRcblxuJGxhYmVsLWdpZnQtY29sb3I6ICMwMGFlYTM7XG4kbGFiZWwtdXNlZC1wcm9kdWN0LWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHVzZWQtb2ZmZXJzLXByaW1hcnkpO1xuJGxhYmVsLWdpZnQtYmctY29sb3I6ICNlNmZiZjM7XG5cbi8vIHNob3BpbyB2YXJpYWJsZXNcbiRmb250LXBhdGg6ICcvYXNzZXRzL2lzcGFjZS5jei9mb250JztcblxuJGgxLWZvbnQtc2l6ZTogY2xhbXAoM3JlbSwgNnZ3LCA0cmVtKTsgLy8gJGZvbnQtc2l6ZS1iYXNlICogMi41O1xuJGgyLWZvbnQtc2l6ZTogMy42cmVtOyAvLyBDdXN0b20gZm9udCBzaXplIGJ5IGRlc2lnblxuJGgzLWZvbnQtc2l6ZTogMnJlbTsgLy8gJGZvbnQtc2l6ZS1iYXNlICogMS43NTtcbiRoNC1mb250LXNpemU6IDEuOHJlbTtcbiRoNS1mb250LXNpemU6IDEuNnJlbTtcbiRoNi1mb250LXNpemU6IDEuNnJlbTtcblxuJGRlZmF1bHQtYm9yZGVyLXJhZGl1czogOHB4O1xuXG4kYnRuOiBtYXAubWVyZ2UoXG4gICAgYXNnYXJkLXZhcmlhYmxlcy4kYnRuLFxuICAgIChcbiAgICAgICAgYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKSxcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0JyksXG4gICAgICAgIGhvdmVyLWJnLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LWRhcmsnKSxcbiAgICAgICAgaG92ZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0JyksXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXNcbiAgICApXG4pO1xuXG4kYnRuLWFsdDogKFxuICAgIGJnLWNvbG9yOiAkZ3JlZW4tZGFyayxcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKSxcbiAgICBob3Zlci1iZy1jb2xvcjogJGdyZWVuLXNwLFxuICAgIGhvdmVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpLFxuICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXNcbik7XG5cbiRidG4tZGlzYWJsZWQ6IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiRidG4tZGlzYWJsZWQsXG4gICAgKFxuICAgICAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTIwMCksXG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdiYXNlLXRleHQnKSxcbiAgICAgICAgaG92ZXItYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApLFxuICAgICAgICBob3Zlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnYmFzZS10ZXh0JylcbiAgICApXG4pO1xuXG4kYnRuLWRhcms6IChcbiAgICBiZy1jb2xvcjogJGRhcmssXG4gICAgY29sb3I6ICNmZmYsXG4gICAgaG92ZXItYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS05MDApLFxuICAgIGhvdmVyLWNvbG9yOiAjZmZmXG4pO1xuXG4kaW5wdXQ6IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiRpbnB1dCxcbiAgICAoXG4gICAgICAgIGJnLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpLFxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyksXG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYXJrJyksXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBcbiAgICApXG4pO1xuXG4kY2hlY2tib3gtY2hlY2s6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXFxcbiAgICB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxcXG4gICAgZmlsbD1cIm5vbmVcIlxcXG4gICAgc3Ryb2tlPVwiI3tyZ2JhKCRsaWdodCwgMSl9XCJcXFxuICAgIHN0cm9rZS13aWR0aD1cIjNcIj5cXFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMCA2IDkgMTcgNCAxMlwiPjwvcG9seWxpbmU+XFxcbiAgICA8L3N2Zz4nKTtcblxuJHBhc3N3b3JkLXNob3c6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1NzYgNTEyXCI+XFxcbiAgICA8cGF0aCBkPVwiTTI4OCA4MGMtNjUuMiAwLTExOC44IDI5LjYtMTU5LjkgNjcuN0M4OS42IDE4My41IDYzIDIyNiA0OS40IDI1NiA2MyAyODYgODkuNiAzMjguNSAxMjggMzY0LjNjNDEuMiAzOC4xIDk0LjggNjcuNyAxNjAgNjcuN3MxMTguOC0yOS42IDE1OS45LTY3LjdDNDg2LjQgMzI4LjUgNTEzIDI4NiA1MjYuNiAyNTZjLTEzLjYtMzAtNDAuMi03Mi41LTc4LjYtMTA4LjNDNDA2LjggMTA5LjYgMzUzLjIgODAgMjg4IDgwek05NS40IDExMi42QzE0Mi41IDY4LjggMjA3LjIgMzIgMjg4IDMyczE0NS41IDM2LjggMTkyLjYgODAuNmM0Ni44IDQzLjUgNzguMSA5NS40IDkzIDEzMS4xIDMuMyA3LjkgMy4zIDE2LjcgMCAyNC42LTE0LjkgMzUuNy00Ni4yIDg3LjctOTMgMTMxLjFDNDMzLjUgNDQzLjIgMzY4LjggNDgwIDI4OCA0ODBzLTE0NS41LTM2LjgtMTkyLjYtODAuNkM0OC42IDM1NiAxNy4zIDMwNCAyLjUgMjY4LjNjLTMuMy03LjktMy4zLTE2LjcgMC0yNC42QzE3LjMgMjA4IDQ4LjYgMTU2IDk1LjQgMTEyLjZ6TTI4OCAzMzZjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBoLTJjMS4zIDUuMSAyIDEwLjUgMiAxNiAwIDM1LjMtMjguNyA2NC02NCA2NC01LjUgMC0xMC45LS43LTE2LTJ2MmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHptMC0yMDhhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2elwiLz5cXFxuICAgIDwvc3ZnPicpO1xuXG4kYW5nbGUtcmlnaHQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDMyMCA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XFxcbiAgICA8cGF0aCBmaWxsPVwiI3tyZ2JhKG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSksIDAuOTk5KX1cIlxcXG4gICAgZD1cIk0yNzguNiAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjEwLjcgMjU2IDczLjQgMTE4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MHpcIi8+XFxcbiAgICA8L3N2Zz4nKTtcblxuJGRpYWdvbmFsLWxpbmU6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj5cXFxuICAgIDxsaW5lIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2U9XCIje3JnYmEobWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTQwMCksIDAuOTk5KX1cIlxcXG4gICAgeDE9XCIwXCIgeTE9XCIwXCIgeDI9XCIxMDBcIiB5Mj1cIjEwMFwiIHZlY3Rvci1lZmZlY3Q9XCJub24tc2NhbGluZy1zdHJva2VcIi8+XFxcbiAgICA8L3N2Zz4nKTtcblxuJGJyZWFkY3J1bWJzOiBtYXAubWVyZ2UoXG4gICAgYXNnYXJkLXZhcmlhYmxlcy4kYnJlYWRjcnVtYnMsXG4gICAgKFxuICAgICAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0xMDAnKSxcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKSxcbiAgICAgICAgYWN0aXZlLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTYwMCcpXG4gICAgKVxuKTtcblxuLy8gaGVhZGVyXG4kaGVhZGVyLW5hdi1oZWlnaHQ6IDUuNXJlbTsgLy8gaGVpZ2h0IG9uIHNtYWxsIHNjcmVlbnNcbiRoZWFkZXItbmF2LWRlc2t0b3AtaGVpZ2h0OiAxNC41cmVtOyAvLyBoZWlnaHQgb24gYmlnZ2VyIHNjcmVlbnNcbiRoZWFkZXItdG9wLW5hdi1kZXNrdG9wLWhlaWdodDogMTQuNXJlbTsgLy8gaGVpZ2h0IG9uIGJpZ2dlciBzY3JlZW5zXG4kaGVhZGVyLW5hdi1icmVha3BvaW50OiAneGwnOyAvLyBicmVha3BvaW50IHdoZW4gbmF2IGNoYW5nZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcFxuJGhlYWRlci1zZWFyY2gtZGVza3RvcC1oZWlnaHQ6IDVyZW07XG4kaGVhZGVyLXNlYXJjaC1kZXNrdG9wLXdpZHRoOiAxMDAlO1xuXG4kc2Nyb2xsYmFyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG5cbi8vIG1lbnVcbiRtZW51LWl0ZW0tZGVza3RvcC1wYWRkaW5nOiAxcmVtO1xuJG1lbnUtc2Vjb25kYXJ5LWxpbmtzLWJnOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LWRhcmsnKTtcbiRtZW51LXN1Ym1lbnUtc2luZ2xlLWNvbHVtbi1taW46IDk7XG5cbi8vIGZvb3RlclxuJGZvb3Rlci1ibG9jay1jb2xsYXBzZWQtaGVpZ2h0OiA2LjVyZW07XG5cbi8vIHZvdWNoZXIgUERGXG4vLyBOT1RFOiBpZiB0aGUgZm9udHMgdXNlZCBoZXJlIGFyZSBub24tc3RhbmRhcmQsIHRoZW4gdGhleSBuZWVkIHRvIGJlIHVwbG9hZGVkIGFuZCBzcGVjaWZpZWQgc2VwYXJhdGVseSBpbiB0aGVcbi8vIG1QREYgaW5pdGlhbGl6YXRpb24gKHNlZSB1c2FnZSBpbiBTRCBvciBzcGVhayB3aXRoIERCIDopKVxuJHZvdWNoZXI6IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiR2b3VjaGVyLFxuICAgIChcbiAgICAgICAgcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgICAgICBwcmltYXJ5LWNvbG9yOiAjNDQ0LFxuICAgICAgICBzZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvcjogI2RkZCxcbiAgICAgICAgc2Vjb25kYXJ5LWNvbG9yOiAjNDQ0LFxuICAgICAgICBibG9jay1oaWdobGlnaHQtYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMCxcbiAgICAgICAgYmxvY2staGlnaGxpZ2h0LWNvbG9yOiAjNDQ0LFxuICAgICAgICBiYXNlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlLFxuICAgICAgICBiYXNlLWxpbmUtaGVpZ2h0OiAxLjUsXG4gICAgICAgIGhlYWRpbmctZm9udDogJGZvbnQtZmFtaWx5LWJhc2UsXG4gICAgICAgIGJvZHktZm9udDogJGZvbnQtZmFtaWx5LWJhc2UsXG4gICAgICAgIGxvZ28tbWF4LWhlaWdodDogMTBtbVxuICAgIClcbik7XG5cbi8vIEZ1bGwtd2lkdGggc2xpZGVyIGltYWdlIGRpbWVuc2lvbnMgKGFwcGxpZXMgdG8gZGVza3RvcCBvbmx5KVxuLy8gaW1hZ2Utd2lkdGg6IGltYWdlIHNpemVcbi8vIGltYWdlLWNvbnRlbnQtYXJlYS13aWR0aDogd2hlcmUgd2UgY2FuIHNhZmVseSBjcm9wIChmcm9tIHRoZSBmdWxsIHNpemUgaW1hZ2UpXG4kc2xpZGVyLWRlc2t0b3A6IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiRzbGlkZXItZGVza3RvcCxcbiAgICAoXG4gICAgICAgIGltYWdlLXdpZHRoOiAxOTAwcHgsXG4gICAgICAgIGltYWdlLWNvbnRlbnQtYXJlYS13aWR0aDogMTIwMHB4XG4gICAgKVxuKTtcbi8vIHNob3BpbyB2YXJpYWJsZXMgZW5kXG5cbi8vIENTUyB2YXJpYWJsZXNcbi8vIG1vdmUgdG8gYXBwLnNjc3NcbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAmX19tYWluIHtcbiAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5lbWJsYV9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZW1ibGFfX3NsaWRlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICA+ICo6bm90KC5lbWJsYV9fc2xpZGUtLXNwaW5uZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBvcGFjaXR5IGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEsXG4gICAgICAgICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1zcGlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogc3Bpbm5lciAwLjc1cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbGF6eS1sb2FkaW5nIGltYWdlc1xuICAgICAgICAgICAgICAgICY6d2hlcmUoOm5vdCguZW1ibGFfX2xhenktbG9hZC0taGFzLWxvYWRlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcblxuICAgICAgICAgICAgICAgICAgICA+ICo6bm90KC5lbWJsYV9fc2xpZGUtLXNwaW5uZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZW1ibGFfX3NsaWRlLS1zcGlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAtMC41KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDE1cHgsIDV2dywgMzBweCkgY2xhbXAoMTVweCwgMy4zMzN2dywgMjBweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3NtJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwtaW1hZ2VzIHtcbiAgICAgICAgbWFyZ2luOiBjbGFtcCgxNXB4LCA1dncsIDMwcHgpIGNsYW1wKC0yMHB4LCAtMy4zMzN2dywgLTE1cHgpIGNsYW1wKC0zMHB4LCAtNXZ3LCAtMTVweCk7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMTVweCwgMy4zMzN2dywgMjBweCk7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTIwMCk7XG5cbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvb3BlcmF0b3Itbm8tdW5zcGFjZWRcbiAgICAgICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoPiBbc3R5bGUqPSdub25lJ10pKSB7XG4gICAgICAgICAgICAmOmhhcyg+IFtzdHlsZSo9J25vbmUnXSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgICAgLS10aHVtYm5haWwtd2lkdGg6IDk1cHg7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCh2YXIoLS10aHVtYm5haWwtd2lkdGgpLCAxZnIpKTtcbiAgICAgICAgICAgIGdhcDogMCAxcHg7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnIgMGZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gMGZyO1xuICAgICAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IDBmcjtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93cyAwLjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIGdhcCAwLjNzIGVhc2Utb3V0O1xuXG4gICAgICAgICAgICAmLnNob3ctYWxsLXRodW1ibmFpbHMge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgICBncmlkLWF1dG8tcm93czogYXV0bztcbiAgICAgICAgICAgICAgICBnYXA6IDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLXRodW1ibmFpbC13aWR0aCk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXRodW1ibmFpbC13aWR0aCkgLSAycHgpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyh2YXIoLS10aHVtYm5haWwtd2lkdGgpIC0gMnB4KTtcblxuICAgICAgICAgICAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5NiU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC50aHVtYm5haWwtbGFzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1kZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICAmX190aHVtYm5haWwtaW1hZ2VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtdHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC00cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGh1bWIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGl2ZS10aHVtYiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS00MDApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1kZXRhaWwge1xuICAgICZfX3ZhcmlhbnRzIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApO1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcblxuICAgICAgICAuZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKyAuZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tZmllbGQge1xuICAgICAgICAgICAgICAgICYtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYycHg7IC8vIHNhbWUgYXMgYnV0dG9ucyBoZWlnaHQgdG8gcHJldmVudCBqdW1waW5nXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcblxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbWFnZSB2YXJpYW50c1xuICAgICAgICAudHJpZ2dlci1kaXNhYmxlZC0tc2VsZWN0LXRvLXRyaWdnZXJzIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGRpYWdvbmFsLWxpbmU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRyaWdnZXItLXNlbGVjdC10by10cmlnZ2Vycy1pbWFnZSB7XG4gICAgICAgICAgICAtLXRodW1ibmFpbC13aWR0aDogODBweDtcblxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS10aHVtYm5haWwtd2lkdGgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS10aHVtYm5haWwtd2lkdGgpO1xuXG4gICAgICAgICAgICAudmFyaWFudC1vcHRpb24taXRlbS1pbm5lciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS10aHVtYm5haWwtd2lkdGgpO1xuXG4gICAgICAgICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDk2JTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDk2JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFtpZD0ndmFyaWFudENvbG91ck9wdGlvbnMnXSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhcmlhbnQtcGFyYW1ldGVyLW5hbWUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RvbGxhci12YXJpYWJsZS1lbXB0eS1saW5lLWJlZm9yZVxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kb3VibGUtc2xhc2gtY29tbWVudC1lbXB0eS1saW5lLWJlZm9yZVxuQHVzZSAnc2FzczptYXAnO1xuXG4vLyBib290c3RyYXAgdmFyaWFibGVzXG4vLyBPcHRpb25zXG4kZW5hYmxlLWRhcmstbW9kZTogZmFsc2U7XG4kZW5hYmxlLXJvdW5kZWQ6IGZhbHNlO1xuJGVuYWJsZS10cmFuc2l0aW9uczogZmFsc2U7XG4vLyAkZW5hYmxlLWdyaWQtY2xhc3NlczogZmFsc2U7XG4vLyAkZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiBmYWxzZTtcbiRlbmFibGUtYnV0dG9uLXBvaW50ZXJzOiBmYWxzZTtcbi8vICRlbmFibGUtcmZzOiBmYWxzZTtcbi8vICRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogZmFsc2U7XG4vLyAkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6IGZhbHNlO1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiB0cnVlO1xuXG4vLyBsYXlvdXRcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsXG4gICAgbXM6IDM2MHB4LFxuICAgIHM6IDQ4MHB4LFxuICAgIHNtOiA1NzZweCxcbiAgICBtZDogNzY4cHgsXG4gICAgbGc6IDk5MnB4LFxuICAgIHhsOiAxMjAwcHgsXG4gICAgeHhsOiAxMzY2cHhcbikgIWRlZmF1bHQ7XG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIGxnOiA5NjBweCxcbiAgICB4bDogMTE0MHB4LFxuICAgIHh4bDogMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLyBzcGFjaW5nXG4kY29udGFpbmVyLXBhZGRpbmcteDogM3JlbSAhZGVmYXVsdDtcbiRjYW52YXMtcGFkZGluZy15OiA0cmVtICFkZWZhdWx0O1xuJGNhbnZhcy1wYWRkaW5nLXktbWQ6IDZyZW0gIWRlZmF1bHQ7XG4kY2FudmFzLXBhZGRpbmcteS14eGw6IDdyZW0gIWRlZmF1bHQ7XG5cbi8vIGZvbnRcbiRmb250LXNpemUtcm9vdDogNjIuNSUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6IDEuNHJlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogJ0JlIFZpZXRuYW0gUHJvJywgJ0JlIFZpZXRuYW0gUHJvIEZhbGxiYWNrJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LXNpemUtc206IDEuMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlcjogJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0OyAvLyAkaDQtZm9udC1zaXplO1xuJGZvbnQtc2l6ZS1sYXJnZXN0OiAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0OyAvLyAkaDItZm9udC1zaXplO1xuXG4kbGVnZW5kLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtbWFyZ2luLWJvdHRvbTogMnJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcblxuLy8gdHlwb1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206IDFlbSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4vLyBjb2xvcnNcbiRwcmltYXJ5OiAjOGVkNjA5ICFkZWZhdWx0O1xuJHByaW1hcnktZGFyazogIzgxYzcwMCAhZGVmYXVsdDtcbiRwcmltYXJ5LWxpZ2h0OiAjZWVmYmQ3ICFkZWZhdWx0O1xuJHNlY29uZGFyeTogIzAwNmFhZiAhZGVmYXVsdDtcbiRsaWdodDogI2ZmZiAhZGVmYXVsdDtcbiRkYXJrOiAjMDAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoXG4gICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgcHJpbWFyeS1kYXJrOiAkcHJpbWFyeS1kYXJrLFxuICAgIHByaW1hcnktbGlnaHQ6ICRwcmltYXJ5LWxpZ2h0LFxuICAgIHNlY29uZGFyeTogJHNlY29uZGFyeSxcbiAgICBsaWdodDogJGxpZ2h0LFxuICAgIGRhcms6ICRkYXJrLFxuICAgIGJhc2UtYmc6ICRsaWdodCxcbiAgICBiYXNlLXRleHQ6ICRkYXJrLFxuICAgIGxpbms6ICRzZWNvbmRhcnksXG4gICAgc3VjY2VzczogIzhlZDYwOSxcbiAgICBzdWNjZXNzLWJnOiAjZThmMWQ5LFxuICAgIHN1Y2Nlc3MtdGV4dDogJGRhcmssXG4gICAgaW5mbzogIzljYjVlMSxcbiAgICBpbmZvLWJnOiAjZGRlZGYzLFxuICAgIGluZm8tdGV4dDogJGRhcmssXG4gICAgd2FybmluZzogIzIzOWJjOCxcbiAgICB3YXJuaW5nLWJnOiAjOWNiNWUxLFxuICAgIHdhcm5pbmctdGV4dDogJGRhcmssXG4gICAgZGFuZ2VyOiAjZTI2OTY5LFxuICAgIGRhbmdlci1iZzogI2Y2ZGZkZixcbiAgICBkYW5nZXItdGV4dDogJGRhcmssXG4gICAgZGFuZ2VyLWRhcmtlcjogI2RmMTYwNyxcbiAgICBzdGFyLXJhdGluZy1iZzogI2ZiMCxcbiAgICBpbi1zdG9jazogIzUxODMwMixcbiAgICBncmF5LTEwMDogI2YzZjNmMyxcbiAgICBncmF5LTIwMDogI2RlZGVkZSxcbiAgICBncmF5LTQwMDogI2IxYjFiMSxcbiAgICBncmF5LTYwMDogIzZlNmU2ZSxcbiAgICBncmF5LTkwMDogIzI2MjYyNlxuKSAhZGVmYXVsdDtcbi8vIGJvb3RzdHJhcCB2YXJpYWJsZXMgZW5kXG5cbi8vIHNob3BpbyB2YXJpYWJsZXNcbiRmb250LXBhdGg6ICcvZm9udCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC1hdmFpbGFiaWxpdHk6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS02MDApO1xuXG4kaDEtZm9udC1zaXplOiBjbGFtcCgzcmVtLCA2dncsIDRyZW0pICFkZWZhdWx0OyAvLyAkZm9udC1zaXplLWJhc2UgKiAyLjU7XG4kaDItZm9udC1zaXplOiAyLjRyZW0gIWRlZmF1bHQ7IC8vICRmb250LXNpemUtYmFzZSAqIDI7XG4kaDMtZm9udC1zaXplOiAycmVtICFkZWZhdWx0OyAvLyAkZm9udC1zaXplLWJhc2UgKiAxLjc1O1xuJGg0LWZvbnQtc2l6ZTogMS44cmVtICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuXG4kYnRuOiAoXG4gICAgYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKSxcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnYmFzZS10ZXh0JyksXG4gICAgaG92ZXItYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZGFyaycpLFxuICAgIGhvdmVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdiYXNlLXRleHQnKSxcbiAgICBib3JkZXItcmFkaXVzOiAwXG4pICFkZWZhdWx0O1xuXG4kYnRuLWRpc2FibGVkOiAoXG4gICAgYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApLFxuICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdiYXNlLXRleHQnKSxcbiAgICBob3Zlci1iZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTIwMCksXG4gICAgaG92ZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2Jhc2UtdGV4dCcpXG4pICFkZWZhdWx0O1xuXG4kaW5wdXQ6IChcbiAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0xMDAnKSxcbiAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyksXG4gICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKSxcbiAgICBib3JkZXItcmFkaXVzOiAwXG4pICFkZWZhdWx0O1xuXG4kY2hlY2tib3gtY2hlY2s6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXFxcbiAgICB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxcXG4gICAgZmlsbD1cIm5vbmVcIlxcXG4gICAgc3Ryb2tlPVwiI3tyZ2JhKCRsaWdodCwgMSl9XCJcXFxuICAgIHN0cm9rZS13aWR0aD1cIjNcIj5cXFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMCA2IDkgMTcgNCAxMlwiPjwvcG9seWxpbmU+XFxcbiAgICA8L3N2Zz4nKTtcblxuJHBhc3N3b3JkLXNob3c6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxcXG4gICAgPHBhdGggZD1cIk0xIDEyczQtOCAxMS04IDExIDggMTEgOC00IDgtMTEgOC0xMS04LTExLTh6XCI+PC9wYXRoPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiM1wiPjwvY2lyY2xlPlxcXG4gICAgPC9zdmc+Jyk7XG5cbiRwYXNzd29yZC1zaG93LWFjdGl2ZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsXFxcbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XFxcbiAgICA8cGF0aCBkPVwiTTE3Ljk0IDE3Ljk0QTEwLjA3IDEwLjA3IDAgMCAxIDEyIDIwYy03IDAtMTEtOC0xMS04YTE4LjQ1IDE4LjQ1IDAgMCAxIDUuMDYtNS45NE05LjkgNC4yNEE5LjEyIDkuMTIgMCAwIDEgMTIgNGM3IDAgMTEgOCAxMSA4YTE4LjUgMTguNSAwIDAgMS0yLjE2IDMuMTltLTYuNzItMS4wN2EzIDMgMCAxIDEtNC4yNC00LjI0XCI+PC9wYXRoPjxsaW5lIHgxPVwiMVwiIHkxPVwiMVwiIHgyPVwiMjNcIiB5Mj1cIjIzXCI+PC9saW5lPlxcXG4gICAgPC9zdmc+Jyk7XG5cbiRhbmdsZS1yaWdodDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsXFxcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMzIwIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cXFxuICAgIDxwYXRoIGZpbGw9XCIje3JnYmEobWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KSwgMC45OTkpfVwiXFxcbiAgICBkPVwiTTI3OC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyMTAuNyAyNTYgNzMuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwelwiLz5cXFxuICAgIDwvc3ZnPicpO1xuXG4kZGlhZ29uYWwtbGluZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsXFxcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPlxcXG4gICAgPGxpbmUgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZT1cIiN7cmdiYShtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktNDAwKSwgMC45OTkpfVwiXFxcbiAgICB4MT1cIjBcIiB5MT1cIjBcIiB4Mj1cIjEwMFwiIHkyPVwiMTAwXCIgdmVjdG9yLWVmZmVjdD1cIm5vbi1zY2FsaW5nLXN0cm9rZVwiLz5cXFxuICAgIDwvc3ZnPicpO1xuXG4kYnJlYWRjcnVtYnM6IChcbiAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0xMDAnKSxcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpLFxuICAgIGFjdGl2ZS1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS02MDAnKSxcbiAgICBicmVha3BvaW50LWRvd246IG1hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsICdsZycpXG4pICFkZWZhdWx0O1xuXG4vLyBoZWFkZXJcbiRoZWFkZXItZml4ZWQ6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZGVyLW5hdi1oZWlnaHQ6IDUuNXJlbSAhZGVmYXVsdDsgLy8gaGVpZ2h0IG9uIHNtYWxsIHNjcmVlbnNcbiRoZWFkZXItbmF2LWRlc2t0b3AtaGVpZ2h0OiAxNi44cmVtICFkZWZhdWx0OyAvLyBoZWlnaHQgb24gYmlnZ2VyIHNjcmVlbnNcbiRoZWFkZXItdG9wLW5hdi1kZXNrdG9wLWhlaWdodDogMTAuOHJlbSAhZGVmYXVsdDsgLy8gaGVpZ2h0IG9uIGJpZ2dlciBzY3JlZW5zXG4kaGVhZGVyLW5hdi1icmVha3BvaW50OiAneGwnICFkZWZhdWx0OyAvLyBicmVha3BvaW50IHdoZW4gbmF2IGNoYW5nZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcFxuJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsOiAoXG4gICAgbW9iaWxlLWJyZWFrcG9pbnQtdXA6IG1hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRoZWFkZXItbmF2LWJyZWFrcG9pbnQpLFxuICAgIGhlYWRlci1tb2JpbGU6IHRydWUsXG4gICAgaGVhZGVyLWRlc2t0b3A6IGZhbHNlLFxuICAgIHRvcC1iYW5uZXItbW9iaWxlOiBmYWxzZSxcbiAgICB0b3AtYmFubmVyLWRlc2t0b3A6IGZhbHNlXG4pICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2gtZGVza3RvcC1oZWlnaHQ6IDUuNHJlbSAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoLWRlc2t0b3Atd2lkdGg6IDQycmVtICFkZWZhdWx0O1xuXG4kc2Nyb2xsYmFyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5JykgIWRlZmF1bHQ7XG5cbi8vIG1lbnVcbiRtZW51LWl0ZW0tZGVza3RvcC1wYWRkaW5nOiAxcmVtO1xuJG1lbnUtc2Vjb25kYXJ5LWxpbmtzLWJnOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LWRhcmsnKSAhZGVmYXVsdDtcbiRtZW51LXN1Ym1lbnUtc2luZ2xlLWNvbHVtbi1taW46IDkgIWRlZmF1bHQ7XG5cbi8vIGZvb3RlclxuJGZvb3Rlci1ibG9jay1jb2xsYXBzZWQtaGVpZ2h0OiA2LjVyZW0gIWRlZmF1bHQ7XG5cbi8vIHZvdWNoZXIgUERGXG4vLyBOT1RFOiBpZiB0aGUgZm9udHMgdXNlZCBoZXJlIGFyZSBub24tc3RhbmRhcmQsIHRoZW4gdGhleSBuZWVkIHRvIGJlIHVwbG9hZGVkIGFuZCBzcGVjaWZpZWQgc2VwYXJhdGVseSBpbiB0aGVcbi8vIG1QREYgaW5pdGlhbGl6YXRpb24gKHNlZSB1c2FnZSBpbiBTRCBvciBzcGVhayB3aXRoIERCIDopKVxuJHZvdWNoZXI6IChcbiAgICBwcmltYXJ5LWJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgcHJpbWFyeS1jb2xvcjogIzQ0NCxcbiAgICBzZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvcjogI2RkZCxcbiAgICBzZWNvbmRhcnktY29sb3I6ICM0NDQsXG4gICAgYmxvY2staGlnaGxpZ2h0LWJhY2tncm91bmQtY29sb3I6ICNmMGYwZjAsXG4gICAgYmxvY2staGlnaGxpZ2h0LWNvbG9yOiAjNDQ0LFxuICAgIGJhc2UtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UsXG4gICAgYmFzZS1saW5lLWhlaWdodDogMS41LFxuICAgIGhlYWRpbmctZm9udDogJGZvbnQtZmFtaWx5LWJhc2UsXG4gICAgYm9keS1mb250OiAkZm9udC1mYW1pbHktYmFzZSxcbiAgICBsb2dvLW1heC1oZWlnaHQ6IDEwbW1cbikgIWRlZmF1bHQ7XG5cbi8vIEZ1bGwtd2lkdGggc2xpZGVyIGltYWdlIGRpbWVuc2lvbnMgKGFwcGxpZXMgdG8gZGVza3RvcCBvbmx5KVxuLy8gaW1hZ2Utd2lkdGg6IGltYWdlIHNpemVcbi8vIGltYWdlLWNvbnRlbnQtYXJlYS13aWR0aDogd2hlcmUgd2UgY2FuIHNhZmVseSBjcm9wIChmcm9tIHRoZSBmdWxsIHNpemUgaW1hZ2UpXG4kc2xpZGVyLWRlc2t0b3A6IChcbiAgICBpbWFnZS13aWR0aDogMTkwMHB4LFxuICAgIGltYWdlLWNvbnRlbnQtYXJlYS13aWR0aDogMTIwMHB4XG4pO1xuLy8gc2hvcGlvIHZhcmlhYmxlcyBlbmRcblxuLy8gQ1NTIHZhcmlhYmxlcyAtIG5vdyBhZGRlZCBpbiBhcHAuc2Nzc1xuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1kZXRhaWwge1xuICAgICZfX3ByaWNlLWJsb2NrIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBiYXNlLWJnKTtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMTVweCwgMy4zMzN2dywgMjBweCk7XG4gICAgfVxuXG4gICAgLy8gbGF5b3V0XG4gICAgQG1peGluIHByaWNlLWJsb2NrLWJyZWFrcG9pbnQge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3ttYXAuZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAneGwnKX0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2UtaW5mby1ibG9ja3Mge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDAgMTBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3MHB4IGF1dG8gYXV0byAxZnI7XG5cbiAgICAgICAgQGluY2x1ZGUgcHJpY2UtYmxvY2stYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6XG4gICAgICAgICAgICAgICAgYXV0b1xuICAgICAgICAgICAgICAgIDFmclxuICAgICAgICAgICAgICAgIG1pbm1heChhdXRvLCA3MHB4KVxuICAgICAgICAgICAgICAgIG1pbm1heChhdXRvLCAyMDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZS1pbmZvLWJsb2NrIHtcbiAgICAgICAgJi1oZWFkaW5nIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXNyLW9ubHk7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnRzIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4gICAgJl9fcHJpY2UtaW5mby1zYXZpbmctYW1vdW50LFxuICAgICZfX3ByaWNlLWluZm8tc2F2aW5nLXBlcmNlbnQgPiBzcGFuOm5vdChbaWRdKSB7XG4gICAgICAgIEBleHRlbmQgJXNyLW9ubHk7XG4gICAgfVxuXG4gICAgJl9fcHJpY2UtaW5mby1jb21pbmctc29vbiB7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gNDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJl9fcHJpY2UtaW5mby1iZWluZy1zb2xkLW9sZC1wcmljZSB7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gNDtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS02MDApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIG92ZXJmbG93LXdyYXA6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXByb2R1Y3QtZGV0YWlsLXByaWNlLXNpemUpO1xuICAgICAgICB9XG5cbiAgICAgICAgW2lkPSdwcmljZUV4Y2xWYXQnXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktNjAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAtMC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZWxpdmVyeS1kYXRlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgICAgIGdyaWQtcm93OiA0O1xuICAgIH1cblxuICAgICZfX3ByaWNlLWluZm8tYmVpbmctc29sZC1wZXJjZW50YWdlLWRpc2NvdW50IHtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAgICAgKiB7XG4gICAgICAgICAgICBvdmVyZmxvdy13cmFwOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFuZ2VyLWRhcmtlcik7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hdmFpbGFiaWxpdHkge1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuXG4gICAgICAgIC5zdG9jayB7XG4gICAgICAgICAgICAmLS1hdmFpbGFibGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgJjpoYXMoW2NsYXNzKj0nc3RvY2snXSkge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6bGluayxcbiAgICAgICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICAgICBbY2xhc3MqPSdzdG9jayddIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzKj0nc3RvY2snXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICAucG9wb3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgdG9wOiAtMC4xcmVtO1xuXG4gICAgICAgICAgICAgICAgLnBvcG92ZXJfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvciwgI3ttYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGJhc2UtdGV4dCl9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdWFudGl0eSxcbiAgICAmX19zdWJtaXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICB9XG5cbiAgICAmX19xdWFudGl0eSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogNTtcblxuICAgICAgICAucHJvZHVjdC1kZXRhaWxfX2NvbnRlbnRzOmhhcyguc3VibWl0W2Rpc2FibGVkXSkgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGV4dGVuZCAlc3Itb25seTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJGlucHV0LCBib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VibWl0IHtcbiAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xuXG4gICAgICAgIC5zdWJtaXQge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcHJpY2UtYmxvY2stYnJlYWtwb2ludCB7XG4gICAgICAgICZfX3ByaWNlLWluZm8tYmVpbmctc29sZC1vbGQtcHJpY2Uge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcmljZSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2F2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2RlbGl2ZXJ5LWRhdGUge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdWFudGl0eSxcbiAgICAgICAgJl9fc3VibWl0IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F1YW50aXR5IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDM7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJtaXQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3ByaWNlLWluZm8tYmVpbmctc29sZC1wZXJjZW50YWdlLWRpc2NvdW50IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1kZXRhaWwge1xuICAgICZfX2FjdGlvbnMge1xuICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDVweDtcblxuICAgICAgICAgICAgJjpsaW5rLFxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBsaW5rKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6d2hlcmUoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktNjAwKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRidG4tZGlzYWJsZWQsIGdyYXktNjAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24ge1xuICAgICAgICArICoge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLm5hdi10YWJzIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXIgKyAyO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMTAwJyk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBub3JtYWw7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IGNsYW1wKDVweCwgNXZ3LCAyMHB4KTtcblxuICAgICAgICAgICAgJjpsaW5rLFxuICAgICAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3RpdmUge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgYmFzZS1iZyk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRhYnMge1xuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICAmOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbm5lci1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Itb25seTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGluZy0taWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG5AbWl4aW4gYWNjb3JkaW9uIHtcbiAgICAucHJvZHVjdC1kZXRhaWwgJiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm5hdi10YWJzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9nZ2xlZC1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAxcHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTIwMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGModmFyKC0tYnMtZ3V0dGVyLXgpICogLTAuNSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYnMtZ3V0dGVyLXgpICogMC41KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAqIDAuNSk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMjAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGdyaWQtdGVtcGxhdGUtcm93cyBsaW5lYXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1oZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMC41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC50YWJzX19zZWN0aW9uLWhlYWRpbmctLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC50b2dnbGVkLXNlY3Rpb24taGVhZGVyIC50YWJzX19zZWN0aW9uLWhlYWRpbmctLWljb24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b2dnbGVkLXNlY3Rpb24taW5uZXIge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIC50b2dnbGVkLXNlY3Rpb24taGVhZGVyIC50YWJzX19zZWN0aW9uLWhlYWRpbmctLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b2dnbGVkLXNlY3Rpb24taW5uZXIge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmVzZXQgdGFicyBzZXR0aW5nLi4uXG4gICAgJi50YWJzX19zZWN0aW9uOm5vdCguYWN0aXZlKSB7XG4gICAgICAgIGRpc3BsYXk6IHVuc2V0O1xuICAgIH1cblxuICAgICYudGFic19fc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbltkYXRhLWNvbnRlbnQ9J2FjY29yZGlvbiddIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb247XG59XG5cbi8vIFN0eWxlIHRoaXMgb24gbWVkaWEgcXVlcnkgdG9vIHRvIHByZXZlbnQgZmxhc2ggb2YgdW5zdHlsZWQgY29udGVudCAod2FpdGluZyBmb3IgZGF0YS1jb250ZW50IHZhbHVlIHRvIGJlIHNldClcbi50YWJzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uO1xuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAmX19tYWluIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiAzcmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgZ2FwOiAycmVtIDMycHg7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMzMHB4LCAxZnIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2VzIHtcbiAgICAgICAgICAgIHBsYWNlLWl0ZW1zOiBub3JtYWw7XG4gICAgICAgICAgICBncmlkLXJvdzogMjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgdG9wOiAoJGhlYWRlci1uYXYtaGVpZ2h0ICsgMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHRvcDogKCRoZWFkZXItbmF2LWRlc2t0b3AtaGVpZ2h0ICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgIC5lbWJsYSB7XG4gICAgICAgICAgICAgICAgJl9fc2xpZGUgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDFyZW0sIDV2dywgNS42cmVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgIC0tc2Vjb25kYXJ5LWJsb2NrLWJvcmRlci1jb2xvcjogcmdiKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgLS1mbGV4LWdhcC1ibG9jazogMDtcbiAgICAgICAgICAgICAgICAtLWZsZXgtZ2FwLWlubGluZTogMWVtO1xuICAgICAgICAgICAgICAgIC0tZmxleC1nYXA6IHZhcigtLWZsZXgtZ2FwLWJsb2NrKSB2YXIoLS1mbGV4LWdhcC1pbmxpbmUpO1xuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsX19mb3JtICsgJjpub3QoLmluY3JlYXNlLXNwZWNpZmljaXR5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogLTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZGVmYXVsdC1ib3JkZXItcmFkaXVzICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LXRleHQtYmxvY2sgKHdpZHRoIDwgNDUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGl2ICY6bm90KC5pbmNyZWFzZS1zcGVjaWZpY2l0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgMC43NnZpICsgMC45MXJlbSwgMS41cmVtKTtcblxuICAgICAgICAgICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtdGV4dC1ibG9jayAod2lkdGggPCA0NTBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAqOndoZXJlKDpub3QoLnByb2R1Y3QtZGV0YWlsX19kZWxpdmVyeS1vcHRpb25zKSksXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbF9fZGVsaXZlcnktb3B0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBjb250YWluZXIgcHJvZHVjdC10ZXh0LWJsb2NrICh3aWR0aCA8IDQ1MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgKyAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxfX2RlbGl2ZXJ5LW9wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtdGV4dC1ibG9jayAod2lkdGggPCA0NTBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgLSAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsX19kZWxpdmVyeS1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LXRleHQtYmxvY2sgKHdpZHRoIDwgNDUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdG9jay0tYXZhaWxhYmxlLWV4dHJhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogLTAuM3JlbTsgLy8gZGVhbCB3aXRoIHBhZGRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyAqaWYqIGEgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IDpoYXMoKSwgd2UgbmVlZCB0byBwcmV2ZW50IHRoZSBsYXlvdXQgZnJvbSBiZWluZyBjb25mdXNpbmcvYnJva2VuXG4gICAgICAgICAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9vcGVyYXRvci1uby11bnNwYWNlZFxuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKCsgKikpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZG8gbm90IGFsbG93IG9uIEZGIHdpdGggZWFybGllciwgbGltaXRlZCA6aGFzKCkgc3VwcG9ydFxuICAgICAgICAgICAgICAgICAgICAqOmhhcyg+IC5wcm9kdWN0LWRldGFpbF9fbWFpbi10ZXh0LXNlY29uZGFyeS1pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsX19tYWluLXRleHQtc2Vjb25kYXJ5LWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgJl9fYWN0aW9ucy1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgJi0taG9tZS1jcmVkaXQge1xuICAgICAgICAgICAgJjpub3QoLmluY3JlYXNlLXNwZWNpZmljaXR5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtdGV4dC1ibG9jayAod2lkdGggPCA0NTBweCkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmX19hY3Rpb25zLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJl9fYWN0aW9ucy1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMC4zZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTAuNGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAgICAgICAgICAgICAmX19hY3Rpb25zLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIGdhcDogdmFyKC0tZmxleC1nYXApO1xuXG4gICAgICAgICAgICAgICAgICAgID4gc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICA+IC5wcm9kdWN0LWRldGFpbF9fYWN0aW9ucy1saW5rLS1wbGFpbiB7XG4gICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dC1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNTAwO1xuXG4gICAgICAgICAgICAmLmJ0bl9fbGluayxcbiAgICAgICAgICAgICYuYnRuLFxuICAgICAgICAgICAgLmJ0bl9fbGluayAmLFxuICAgICAgICAgICAgLmJ0biAmLFxuICAgICAgICAgICAgJjp3aGVyZShhKSxcbiAgICAgICAgICAgIGEgJiB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYnRuX19saW5rLFxuICAgICAgICAgICAgJi5idG4sXG4gICAgICAgICAgICAmOndoZXJlKGEpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuX19saW5rOmhvdmVyICY6aG92ZXIsXG4gICAgICAgICAgICAuYnRuX19saW5rOmZvY3VzICYsXG4gICAgICAgICAgICAuYnRuX19saW5rOmFjdGl2ZSAmLFxuICAgICAgICAgICAgLmJ0bjpob3ZlciAmLFxuICAgICAgICAgICAgLmJ0bjpmb2N1cyAmLFxuICAgICAgICAgICAgLmJ0bjphY3RpdmUgJixcbiAgICAgICAgICAgIGE6aG92ZXIgJixcbiAgICAgICAgICAgIGE6Zm9jdXMgJixcbiAgICAgICAgICAgIGE6YWN0aXZlICYge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mbGFncyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMnJlbSAwO1xuICAgICAgICAgICAgcGxhY2Utc2VsZjogc3RhcnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDAgMXJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAjeyRkZWZhdWx0LWJvcmRlci1yYWRpdXMgKiBjYWxjKDUgLyA4KX07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMi44cmVtO1xuXG4gICAgICAgICAgICAgICAgJjpoYXMoPiAucG9wb3Zlcl9fY29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMC4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwLjNyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnBvcG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIGFuZCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXQ6IGNhbGMoNTAlIC0gMnJlbSkgMCAwIGNhbGMoNTAlIC0gMnJlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgICZbaWQ9J3BlcmV4J10ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgYmFzZS10ZXh0LW1pZCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wZXJleC1tb3JlIHtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuXG4gICAgICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLWxpbmsge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgICBjb250YWluZXItbmFtZTogcHJvZHVjdC1kZXRhaWwtZm9ybTtcbiAgICAgICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuXG4gICAgICAgICY6aGFzKCsgLnByb2R1Y3QtZGV0YWlsX19tYWluLXRleHQtc2Vjb25kYXJ5KSB7XG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGltZS1saW1pdGVkLW9mZmVyIHtcbiAgICAgICAgQGluY2x1ZGUgaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cygnYicpO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiBub25lO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKC0ycmVtIC0gMXB4KTsgLy8gZ3JpZCBnYXAgdmFsdWVcbiAgICAgICAgcGFkZGluZzogY2xhbXAoOHB4LCA1LjA5dmkgKyAtMTEuMXB4LCAyOHB4KSBjbGFtcCgxNXB4LCAzLjMzM3Z3LCA0MHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIC50aW1lLWxpbWl0ZWQtb2ZmZXJzIHtcbiAgICAgICAgICAgICZfX29mZmVyIHtcbiAgICAgICAgICAgICAgICAmLXRpbWUtcmVtYWluaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgJi1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi12YWx1ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICsgLnByb2R1Y3QtZGV0YWlsX19wcmljZS1ibG9jayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpbnZlcnRlZC1ib3JkZXItcmFkaXVzKCd0Jyk7XG5cbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDNyZW0gNHJlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oNjAwcHgsIDEwMCUpLCAxZnIpKTtcbiAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG8gMWZyIGF1dG87XG5cbiAgICAgICAgJi0tc2VjdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMTAwKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBwYWRkaW5nOiAzJSBjbGFtcCgyLjVyZW0sIDJ2dywgMy41cmVtKTtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgJi5wcm9tby1pcy0taW1nIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJlbGF0ZWQge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iZW5lZml0cy1zZWN0aW9uIHtcbiAgICAgICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgICAgIGdhcDogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5iZW5lZml0LWl0ZW0ge1xuICAgICAgICAgICAgZ2FwOiBjbGFtcCgwLjVyZW0sIDJ2dywgMXJlbSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAgICAgJl9fbmFtZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdC1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heChtaW4oMjAwcHgsIDEwMCUpLCAxZnIpKTtcbiAgICAgICAgICAgIGdhcDogMXJlbSAycmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2ludHJvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgJi0tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuXG4gICAgICAgICAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmljb24tbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhhcyhbaHJlZj0nI2ljb24tc2hvcC1tb2JpbGUnXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMS4yN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aGFzKFtocmVmPScjaWNvbi1zaG9wLWVudmVsb3BlJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDIuMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjdyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2JhY2tncm91bmQtaWNvbiB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDIwIC8gMTg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4NSU7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTYycHg7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXZpZXdzLWluZm8ge1xuICAgICAgICAmLXBlcmNlbnRhZ2Uge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNjAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2Vjb25kYXJ5IHtcbiAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDVyZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXJlbSBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAqIDAuNSk7XG4gICAgICAgICAgICAgICAgZ2FwOiA2cmVtIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3h4bCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cmVtIGNhbGModmFyKC0tYnMtZ3V0dGVyLXgpICogMC41KTtcbiAgICAgICAgICAgICAgICBnYXA6IDhyZW0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhbnZhcyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRhYnMgKyAqOndoZXJlKDpub3QoLnByb2R1Y3RzLXNlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG5cbiAgICAgICAgICAgICAgICArIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA2MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGVhZCB0aCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhcmFtZXRlcnMge1xuICAgICAgICAtLWxpbmUtc2l6ZTogMy44NHJlbTtcblxuICAgICAgICAudG9nZ2xlZC1zZWN0aW9uLWlubmVyLWNvbnRlbnQudG9nZ2xlZC1zZWN0aW9uLWlubmVyLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2x1bW5zOiAyIDQ4MHB4O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYm94IHtcbiAgICAgICAgICAgIC8vIFsxXSBjaGFuZ2UgZnJvbSBpbmxpbmUtYmxvY2sgdG8gZml4IENocm9tZSBsYXlvdXQgKGZld2VyIHRoYW4gMyBpdGVtcyBhcmUgZGlzcGxheWVkIGluIGEgc2luZ2xlIGNvbHVtbi4uLilcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47IC8vIChyZXF1aXJlZCB3aXRoIGRpc3BsYXk6IGJsb2NrLCBvdGhlcndpc2UgY29sdW1uIGl0ZW0gYnJlYWtzIG92ZXIgbXVsdGlwbGUgY29sdW1ucylcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoMi4wNHJlbSAtIDFweCkgMzBweCBjYWxjKDIuNjRyZW0gLSAxcHgpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgICAgICAvLyBbMl0uLi5kaXNwbGF5OmJsb2NrIGNhdXNlcyBtaXNhbGlnbmVkIGl0ZW0gYXQgdG9wIG9mIHNlY29uZCBjb2x1bW4gaW4gU2FmYXJpXG4gICAgICAgICAgICBAc3VwcG9ydHMgKGJhY2tncm91bmQ6IC13ZWJraXQtbmFtZWQtaW1hZ2UoaSkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBzdXBwb3J0cyAoaGVpZ2h0OiByb3VuZCh1cCwgMTAwJSwgdmFyKC0tbGluZS1zaXplKSkpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMocm91bmQodXAsIDEwMCUsIHZhcigtLWxpbmUtc2l6ZSkpIC0gM3JlbSAtIDJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuOHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWxpbmUtc2l6ZSk7XG5cbiAgICAgICAgICAgIEBzdXBwb3J0cyAoaGVpZ2h0OiByb3VuZCh1cCwgMTAwJSwgdmFyKC0tbGluZS1zaXplKSkpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJvdW5kKHVwLCAxMDAlLCB2YXIoLS1saW5lLXNpemUpKTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBtYXgodmFyKC0tbGluZS1zaXplKSwgMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgICAgICBkdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzIDAgMCAkZGVmYXVsdC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSA1cHggMC41cmVtIDIwcHg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogdmFyKC0tbGluZS1zaXplKTtcblxuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyAoaGVpZ2h0OiBjYWxjLXNpemUoYXV0bywgc2l6ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjLXNpemUoZml0LWNvbnRlbnQsIHJvdW5kKHVwLCBzaXplLCB2YXIoLS1saW5lLXNpemUpKSk7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1heCh2YXIoLS1saW5lLXNpemUpLCAxMDAlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktbWlkKTtcblxuICAgICAgICAgICAgICAgICAgICArIGRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1taWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAyMHB4IDAuNXJlbSA1cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1saW5lLXNpemUpO1xuXG4gICAgICAgICAgICAgICAgQHN1cHBvcnRzIChoZWlnaHQ6IGNhbGMtc2l6ZShhdXRvLCBzaXplKSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMtc2l6ZShmaXQtY29udGVudCwgcm91bmQodXAsIHNpemUsIHZhcigtLWxpbmUtc2l6ZSkpKTtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogbWF4KHZhcigtLWxpbmUtc2l6ZSksIDEwMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ZhcmlhbnRzLWxpc3Qge1xuICAgICAgICBsaSArIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFicyB7XG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgLnRhYnMge1xuICAgICAgICAgICAgICAgICZfX3NlY3Rpb24taW5uZXItY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtaW4oOTAwcHgsIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2Fzczpjb2xvcic7XG5cbi5wcm9kdWN0LWRldGFpbCB7XG4gICAgJl9faGFzLWZyZWUtc2hpcHBpbmcsXG4gICAgJl9fZW5lcmd5LWNsYXNzLFxuICAgICZfX3dhcnJhbnR5LWJhZGdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87XG5cbiAgICAgICAgJi0taWNvbiB7XG4gICAgICAgICAgICBzdHJva2Utd2lkdGg6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hhcy1mcmVlLXNoaXBwaW5nIHtcbiAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgYm90dG9tOiAycmVtO1xuXG4gICAgICAgICYtLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193YXJyYW50eS1iYWRnZSB7XG4gICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgIGJvdHRvbTogMnJlbTtcblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDhyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTglKTtcblxuICAgICAgICAgICAgLm91dGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogJHByaW1hcnktZGFyazsgLy8gYm9yZGVyIGNvbG91clxuICAgICAgICAgICAgICAgIGZpbGw6ICRwcmltYXJ5LWxpZ2h0OyAvLyBiYWNrZ3JvdW5kIGNvbG91clxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkcHJpbWFyeS1kYXJrOyAvLyB0ZXh0IGNvbG91clxuICAgICAgICAgICAgICAgIC8vIE9SSUdJTkFMIEZPTlQgRlJPTSBTVkc6IGZvbnQtZmFtaWx5OiAnQXJpYWwgQmxhY2snLCAnUm9ib3RvJywgJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFuY2hvcjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODhweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuXG4gICAgICAgICAgICAgICAgKyAudHh0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtZGV0YWlsX19oYXMtZnJlZS1zaGlwcGluZyArICYge1xuICAgICAgICAgICAgYm90dG9tOiA3LjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lbmVyZ3ktY2xhc3Mge1xuICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgYm90dG9tOiAyLjlyZW07XG5cbiAgICAgICAgJi0taWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2VzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAuMjA3NWZyIDFmcjtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdtZCcpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoOmhhcygucHJvZHVjdC1kZXRhaWxfX3RodW1ibmFpbC1pbWFnZXMpKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1kZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICAmX19tYWluLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJl9fbWV0YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IuYWRqdXN0KG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFyayksICRhbHBoYTogLTAuOSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS16b29tLWljb24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi4xcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi4xcmVtO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZW1ibGEge1xuICAgICAgICAgICAgICAgICZfX2J1dHRvbnMge1xuICAgICAgICAgICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19zbGlkZSBpbWcge1xuICAgICAgICAgICAgICAgICAgICAvLyBtYXRjaCB0aGUgc2l6ZXMgaW4gdGhlIHBpY3R1cmUgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYxcHgpLCAobWluLXdpZHRoOiA0MTRweCkgYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjIxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM4MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aGFzKCsgLnByb2R1Y3QtZGV0YWlsX190aHVtYm5haWwtaW1hZ2VzKSB7XG4gICAgICAgICAgICAgICAgLmVtYmxhIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21ldGEge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgICAgIGNvbG9yOiBjb2xvci5hZGp1c3QobWFwLmdldCgkdGhlbWUtY29sb3JzLCBiYXNlLXRleHQpLCAkYWxwaGE6IC0wLjMpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1ibmFpbC1pbWFnZXMge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjdXN0b20tc2Nyb2xsYmFyLWNvbnRhaW5lcjtcblxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGluaXRpYWw7XG4gICAgICAgICAgICBncmlkLWF1dG8tcm93czogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgICAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG5cbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci5hZGp1c3QoJHNjcm9sbGJhci1jb2xvciwgJGFscGhhOiAtMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuICAgICAgICAgICAgJjpoYXMoPiAqOmhvdmVyKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzY3JvbGxiYXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRodW1iIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLmFkanVzdChtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGRhcmspLCAkYWxwaGE6IC0wLjkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSBjbGFtcCgwLjVyZW0sIDIuNXZ3LCAyLjhyZW0pKTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIGNsYW1wKDAuNXJlbSwgMi41dncsIDIuOHJlbSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1kZXRhaWwge1xuICAgICZfX3ZhcmlhbnRzIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiBub25lO1xuXG4gICAgICAgIC5mb3JtLWlucHV0IHtcbiAgICAgICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZhcmlhbnQtcGFyYW1ldGVyLW5hbWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRyaWdnZXIge1xuICAgICAgICAgICAgJi0tc2VsZWN0LXRvLXRyaWdnZXJzIHtcbiAgICAgICAgICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgLnZhcmlhbnQtb3B0aW9uLWl0ZW0taW5uZXIgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ZhcmlhbnRzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDVweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMi41cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTIuNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNnB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX192YXJpYW50LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAyLjVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZpeC13aWR0aCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMyU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3hsJykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX192YXJpYW50LWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMC44cmVtO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAwLjhyZW07XG4gICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTEwMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFyayk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi4ycmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzhweDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAxLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAwLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktZGFyayk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktZGFyayk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdChbZGlzYWJsZWRdLCBbY2xhc3MqPSctLWFjdGl2ZSddKSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS00MDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1kZXRhaWwge1xuICAgICZfX3ZvdWNoZXItZGlzY291bnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IG5vbmU7XG4gICAgICAgIHJvdy1nYXA6IDFyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtZGV0YWlsLWZvcm0gKHdpZHRoID4gNDgycHgpIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5zcGVjaWZpY2l0eS1maXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLXByaW1hcnkge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpbmspO1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLXByaWNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwLjVjaDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGJ0biwgJ2JnLWNvbG9yJyk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkYnRuLCAnY29sb3InKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCBjbGFtcCgxMHB4LCAzLjgydmkgKyAtNC4zcHgsIDI1cHgpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwICgkZGVmYXVsdC1ib3JkZXItcmFkaXVzIC0gMSkgKCRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGdhcDogOXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcblxuICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LWRldGFpbC1mb3JtICh3aWR0aCA+IDQ4MnB4KSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAoJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyAtIDEpICgkZGVmYXVsdC1ib3JkZXItcmFkaXVzIC0gMSkgMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS40cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRidG4sICdob3Zlci1iZy1jb2xvcicpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRidG4sICdjb2xvcicpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbi1pbm5lciB7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG5cbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAmX19hY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDFyZW07XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1kZXRhaWwge1xuICAgIC0tcHJvZHVjdC1kZXRhaWwtYm94LW92ZXJmbG93OiAyMHB4O1xuICAgIC0tcHJvZHVjdC1kZXRhaWwtYWN0aW9ucy1tYXgtd2lkdGg6IDQ4MHB4O1xuICAgIC0tcHJvZHVjdC1kZXRhaWwtYWN0aW9ucy1taW4taGVpZ2h0OiA1NHB4O1xuICAgIC0tcHJpY2UtYmxvY2stdGV4dC1jb2xvcjogaW5oZXJpdDtcbiAgICAtLXByaWNlLWJsb2NrLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC0tcHJpY2UtYmxvY2stYm9yZGVyLXdpZHRoOiAwO1xuICAgIC0tcHJpY2UtYmxvY2stYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmljZS1ibG9jay1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLXByaWNlLWJsb2NrLWJnLW9wYWNpdHk6IDA7XG4gICAgLS1wcmljZS1ibG9jay1taW4taGVpZ2h0OiAxcHg7XG5cbiAgICAvLyBOT1RFOiBkZWxpYmVyYXRlbHkgaW52YWxpZCB2YWx1ZSB0byBlbnN1cmUgdGhhdCB0aGUgZGVmYXVsdCBjb2xvdXIgaW4gdGhlIHBhdGggaXMgYXBwbGllZCB3aGVuIHRoZSB2YWx1ZSBpcyBub3RcbiAgICAvLyBzcGVjaWZpY2FsbHkgc2V0IChlZyBmaWxsOiB2YXIoLS1pY29uLWluZm8tb3V0bGluZSwgIzAwMCkgLSBzZXQgY29sb3VyIHdpbGwgYmUgIzAwMClcbiAgICAtLWljb24taW5mby1vdXRsaW5lOiA7XG5cbiAgICAmX19wcmljZS1ibG9jayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1saWdodCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDEwcHgsIDMuMzMzdncsIHZhcigtLXByb2R1Y3QtZGV0YWlsLWJveC1vdmVyZmxvdykpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tcHJvZHVjdC1kZXRhaWwtYm94LW92ZXJmbG93KTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4oMTc4cHgsIDUwJSkgMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCBhdXRvKTtcbiAgICAgICAganVzdGlmeS1pdGVtczogZW5kO1xuICAgICAgICBnYXA6IDAgMTBweDtcblxuICAgICAgICAvLyBzZXQgY29sb3Vyc1xuICAgICAgICAmOmhhcygucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmVpbmctc29sZC1vbGQtcHJpY2U6bm90KFtzdHlsZSo9J25vbmUnXSkpLFxuICAgICAgICAmOmhhcygucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmVpbmctc29sZC1wZXJjZW50YWdlLWRpc2NvdW50Om5vdChbc3R5bGUqPSdub25lJ10pKSB7XG4gICAgICAgICAgICAtLXByaWNlLWJsb2NrLXRleHQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAtLXByaWNlLWJsb2NrLWJhY2tncm91bmQtY29sb3I6ICN7bWFwLmdldCgkdGhlbWUtY29sb3JzLCBzYXZpbmdzLXByaW1hcnkpfTtcbiAgICAgICAgICAgIC0tcHJpY2UtYmxvY2stYmctb3BhY2l0eTogMTtcbiAgICAgICAgICAgIC0tcHJpY2UtYmxvY2stbWluLWhlaWdodDogY2xhbXAoMTAxcHgsIDIwdncsIDExM3B4KTtcblxuICAgICAgICAgICAgLy8gdGhpcyBsb29rcyBhIGxpdHRsZSBub24tc3BlY2lmaWMsIGJ1dCBvbmx5IG9uZSBTVkcgdXNlcyB0aGlzIGNzcyBwcm9wZXJ0eVxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAtLWljb24taW5mby1vdXRsaW5lOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpoYXMoLnByb2R1Y3QtZGV0YWlsX19wcmljZS1jb25kaXRpb24pIHtcbiAgICAgICAgICAgIC0tcHJpY2UtYmxvY2stYmFja2dyb3VuZC1jb2xvcjogI3ttYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHVzZWQtb2ZmZXJzLXNlY29uZGFyeSl9O1xuICAgICAgICAgICAgLS1wcmljZS1ibG9jay1iZy1vcGFjaXR5OiAxO1xuICAgICAgICAgICAgLS1wcmljZS1ibG9jay1ib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIC0tcHJpY2UtYmxvY2stYm9yZGVyLWNvbG9yOiAje21hcC5nZXQoJHRoZW1lLWNvbG9ycywgdXNlZC1vZmZlcnMtcHJpbWFyeSl9O1xuICAgICAgICAgICAgLS1wcmljZS1ibG9jay1taW4taGVpZ2h0OiBjbGFtcCgxMDFweCwgMjB2dywgMTEzcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LWRldGFpbC1mb3JtICh3aWR0aCA8IDQ4MnB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXRhaWxfX3ZvdWNoZXItZGlzY291bnQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tcHJvZHVjdC1kZXRhaWwtYWN0aW9ucy1tYXgtd2lkdGgpO1xuICAgICAgICAgICAgbWluLWhlaWdodDogdmFyKC0tcHJvZHVjdC1kZXRhaWwtYWN0aW9ucy1taW4taGVpZ2h0KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogNXB4O1xuXG4gICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtZGV0YWlsLWZvcm0gKHdpZHRoIDwgNDgycHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYmVoYXZpb3VyIHdoZW4gdm91Y2hlciBibG9jayBpcyBub3Qgc2hvd25cbiAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LWRldGFpbC1mb3JtICh3aWR0aCA8IDQ4MnB4KSB7XG4gICAgICAgICAgICAmOmhhcyg+IC5wcm9kdWN0LWRldGFpbF9fdm91Y2hlci1kaXNjb3VudDp3aGVyZShbc3R5bGUqPSdub25lJ10pKSxcbiAgICAgICAgICAgICY6bm90KDpoYXMoPiAucHJvZHVjdC1kZXRhaWxfX3ZvdWNoZXItZGlzY291bnQpKSB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsX19wcmljZS1pbmZvLWJsb2Nrczo6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1iZWluZy1zb2xkLW9sZC1wcmljZSxcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLFxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1iZWluZy1zb2xkLXBlcmNlbnRhZ2UtZGlzY291bnQge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlLWluZm8tYmxvY2tzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gNDtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmljZS1ibG9jay1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IHZhcigtLXByaWNlLWJsb2NrLWJnLW9wYWNpdHkpO1xuICAgICAgICAgICAgbWluLWhlaWdodDogdmFyKC0tcHJpY2UtYmxvY2stbWluLWhlaWdodCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyOiB2YXIoLS1wcmljZS1ibG9jay1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXByaWNlLWJsb2NrLWJvcmRlci1jb2xvcik7XG5cbiAgICAgICAgICAgIEBjb250YWluZXIgcHJvZHVjdC1kZXRhaWwtZm9ybSAod2lkdGggPCA0ODJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gd2hlbiB0aGVyZSBpcyBubyB2b3VjaGVyXG4gICAgICAgICY6d2hlcmUoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtZGV0YWlsLWZvcm0gKHdpZHRoIDwgNDgycHgpIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMjhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1kZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICAmX19wcmljZS1pbmZvLWJlaW5nLXNvbGQtb2xkLXByaWNlLFxuICAgICAgICAgICAgICAgICAgICAmX19wcmljZSxcbiAgICAgICAgICAgICAgICAgICAgJl9fcHJpY2UtaW5mby1iZWluZy1zb2xkLXBlcmNlbnRhZ2UtZGlzY291bnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LWRldGFpbC1mb3JtICh3aWR0aCA+PSA0ODJweCkge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZS1pbmZvLWJsb2NrIHtcbiAgICAgICAgJi0tYSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDAgMXJlbTtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogbm9ybWFsO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDdweCA1cHggMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1iIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiA0O1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICBwbGFjZS1zZWxmOiBjZW50ZXIgc3RyZXRjaDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHggNXB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBjb250YWluZXIgcHJvZHVjdC1kZXRhaWwtZm9ybSAod2lkdGggPCA0ODJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2UtaW5mby1iZWluZy1zb2xkLW9sZC1wcmljZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmljZS1ibG9jay10ZXh0LWNvbG9yKTtcblxuICAgICAgICAucHJvZHVjdC1kZXRhaWwge1xuICAgICAgICAgICAgJl9fcHJpY2UtaW5mby1zYXZpbmctcGVyY2VudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHNhdmluZ3MtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDAuNTF2aSArIDEuMDFyZW0sIDEuNHJlbSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fcHJpY2UtaW5mby1ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4ycmVtLCAwLjUxdmkgKyAxLjAxcmVtLCAxLjRyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICBncmlkLXJvdzogMiAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgY29sb3I6IHZhcigtLXByaWNlLWJsb2NrLXRleHQtY29sb3IpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiA1cHg7XG5cbiAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LWRldGFpbC1mb3JtICh3aWR0aCA+PSA0ODJweCkge1xuICAgICAgICAgICAgOndoZXJlKC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1ibG9ja3M6Zmlyc3QtY2hpbGQgW3N0eWxlKj0nbm9uZSddIH4gLnByb2R1Y3QtZGV0YWlsX19wcmljZS1pbmZvLWJsb2NrKSAmLFxuICAgICAgICAgICAgOndoZXJlKFtzdHlsZSo9J25vbmUnXSArIC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1ibG9ja3MgW3N0eWxlKj0nbm9uZSddIH4gLnByb2R1Y3QtZGV0YWlsX19wcmljZS1pbmZvLWJsb2NrKSAmIHtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBjb250YWluZXIgcHJvZHVjdC1kZXRhaWwtZm9ybSAod2lkdGggPCA0ODJweCkge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG5cbiAgICAgICAgICAgIDp3aGVyZSgucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmxvY2tzOmZpcnN0LWNoaWxkIFtzdHlsZSo9J25vbmUnXSB+IC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1ibG9jaykgJixcbiAgICAgICAgICAgIDp3aGVyZShbc3R5bGUqPSdub25lJ10gKyAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmxvY2tzIFtzdHlsZSo9J25vbmUnXSB+IC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1ibG9jaykgJiB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA4MDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ3h4bCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDdjcWksIDNyZW0pO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jdXJyZW5jeSB7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA4MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3BvdmVyIHtcbiAgICAgICAgICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFtpZD0ncHJpY2VFeGNsVmF0J10ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgYmFzZS10ZXh0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Utbm90ZS1wb3BvdmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcblxuICAgICAgICAucG9wb3ZlciB7XG4gICAgICAgICAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVsaXZlcnktZGF0ZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgIH1cblxuICAgICZfX3ByaWNlLWluZm8tYmVpbmctc29sZC1wZXJjZW50YWdlLWRpc2NvdW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwIDAuM2VtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAoJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyAtIDIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHNhdmluZ3Mtc2Vjb25kYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgYmFzZS10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDAuNTF2aSArIDEuMDFyZW0sIDEuNHJlbSk7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWRldGFpbCB7XG4gICAgICAgICAgICAmX19wcmljZS1pbmZvLWJsb2NrLWhlYWRpbmcge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJXNyLW9ubHktdW5kbztcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19wcmljZS1pbmZvLWJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZS1jb25kaXRpb24ge1xuICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtZGV0YWlsLWZvcm0gKHdpZHRoIDwgNDgycHgpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIH1cblxuICAgICAgICAmOndoZXJlKDpudGgtbGFzdC1jaGlsZCgyKSkge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuXG4gICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtZGV0YWlsLWZvcm0gKHdpZHRoID49IDQ4MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH4gOndoZXJlKC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1ibG9jaykgLnByb2R1Y3QtZGV0YWlsX19wcmljZSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDIgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LWRldGFpbC1mb3JtICh3aWR0aCA+PSA0ODJweCkge1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMyAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWNvbmRpdGlvbi1uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHVzZWQtb2ZmZXJzLXByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZS11bnVzZWQtc2F2aW5nIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDVweDtcblxuICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtZGV0YWlsLWZvcm0gKHdpZHRoIDwgNDgycHgpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMTUwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggN3B4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0O1xuXG4gICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtZGV0YWlsLWZvcm0gKHdpZHRoIDwgNDgycHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2UtaW5mby1zYXZpbmctYW1vdW50IHtcbiAgICAgICAgQGV4dGVuZCAlc3Itb25seS11bmRvO1xuICAgIH1cblxuICAgICZfX2F2YWlsYWJpbGl0eSB7XG4gICAgICAgIC8vIHN0b2NrIGljb24gY29sb3JcbiAgICAgICAgLS1zdG9jay1pY29uLWNvbG9yOiAjeyRwcm9kdWN0LWF2YWlsYWJpbGl0eX07XG5cbiAgICAgICAgJjpoYXMoLnN0b2NrLS1hdmFpbGFibGUpIHtcbiAgICAgICAgICAgIC0tc3RvY2staWNvbi1jb2xvcjogI3ttYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGluLXN0b2NrKX07XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyguc3RvY2stLXVuYXZhaWxhYmxlKSB7XG4gICAgICAgICAgICAtLXN0b2NrLWljb24tY29sb3I6ICN7bWFwLmdldCgkdGhlbWUtY29sb3JzLCBvdXQtb2Ytc3RvY2spfTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aGFzKC5zdG9jay0tcHJlb3JkZXIpIHtcbiAgICAgICAgICAgIC0tc3RvY2staWNvbi1jb2xvcjogI3ttYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByZW9yZGVyKX07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyBhdmFpbGFiaWxpdHkgaW5mbywgaGlkZSB0aGUgZW50aXJlIGJsb2NrXG4gICAgICAgICY6aGFzKC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1ibG9jay1jb250ZW50OndoZXJlKFtzdHlsZSo9J25vbmUnXSkpLFxuICAgICAgICAmOm5vdCg6aGFzKC5wcm9kdWN0LWRldGFpbF9fcHJpY2UtaW5mby1ibG9jay1jb250ZW50ID4gKikpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tZmxleC1nYXApO1xuXG4gICAgICAgICAgICAmOndoZXJlKDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LXRleHQtYmxvY2sgKHdpZHRoIDwgNDUwcHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc3RvY2staWNvbi1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvY2stLWF2YWlsYWJsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG5cbiAgICAgICAgICAgICYtZXh0cmEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWZsZXgtZ2FwLWlubGluZSkgKiAtMC43NSk7IC8vIHB1bGwgbGVmdCBwYXJ0aWFsbHkgb3ZlciB0aGUgZ2FwXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDMgLyBzcGFuIDI7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1wcm9kdWN0LWRldGFpbC1hY3Rpb25zLW1heC13aWR0aCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLXByb2R1Y3QtZGV0YWlsLWFjdGlvbnMtbWluLWhlaWdodCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogMDtcblxuICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtZGV0YWlsLWZvcm0gKHdpZHRoID49IDQ4MnB4KSB7XG4gICAgICAgICAgICA6d2hlcmUoLnByb2R1Y3QtZGV0YWlsX19wcmljZS1pbmZvLWJsb2NrczpmaXJzdC1jaGlsZCBbc3R5bGUqPSdub25lJ10gfiAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmxvY2spICYsXG4gICAgICAgICAgICA6d2hlcmUoW3N0eWxlKj0nbm9uZSddICsgLnByb2R1Y3QtZGV0YWlsX19wcmljZS1pbmZvLWJsb2NrcyBbc3R5bGUqPSdub25lJ10gfiAucHJvZHVjdC1kZXRhaWxfX3ByaWNlLWluZm8tYmxvY2spICYge1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LWRldGFpbC1mb3JtICh3aWR0aCA8IDQ4MnB4KSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1Ym1pdCB7XG4gICAgICAgICAgICBnYXA6IDAgMS44cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA0NnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAtMnJlbSAwO1xuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuNnJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi42cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uLXRleHQge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWRldGFpbCB7XG4gICAgICAgICAgICAmX19hY3Rpb25zLWljb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgLS1ncmlkLWNvbHVtbi1taW46IDE1NnB4O1xuXG4gICAgICAgIEBjb250YWluZXIgcHJvZHVjdC1kZXRhaWwtZm9ybSAod2lkdGggPj0gNDgycHgpIHtcbiAgICAgICAgICAgIC0tZ3JpZC1jb2x1bW4tbWluOiAxNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdiAmOm5vdCguaW5jcmVhc2Utc3BlY2lmaWNpdHkpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGdhcDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4odmFyKC0tZ3JpZC1jb2x1bW4tbWluKSwgMTAwJSksIDFmcikpO1xuICAgICAgICAgICAgdGV4dC13cmFwOiBwcmV0dHk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6d2hlcmUoOm5vdCgucHJvZHVjdC1kZXRhaWxfX2FjdGlvbnMtbGluay0tcGxhaW4pKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4ycmVtLCAwLjUxdmkgKyAxLjAxcmVtLCAxLjRyZW0pO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlIC5idG5fX2xpbmtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxpbmssXG4gICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgICAgICY6d2hlcmUoOm5vdCgucHJvZHVjdC1kZXRhaWxfX2FjdGlvbnMtbGluay0tcGxhaW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1taWQpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1wbGFpbiB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgJl9fYWN0aW9ucy10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXRhaWwge1xuICAgICAgICAgICAgJl9fYWN0aW9ucy1saW5rIHtcbiAgICAgICAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fYWN0aW9ucy1pY29uIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogMDtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgfiBbY2xhc3NePSdwcm9kdWN0LWRldGFpbF9fJ10ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLXByb2R1Y3QtZGV0YWlsLWJveC1vdmVyZmxvdyk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogY2xhbXAoMTBweCwgMy4zMzN2dywgdmFyKC0tcHJvZHVjdC1kZXRhaWwtYm94LW92ZXJmbG93KSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAucHJvZHVjdC1kZXRhaWxfX21haW4tdGV4dC1zZWNvbmRhcnkge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKC0ycmVtIC0gdmFyKC0tcHJvZHVjdC1kZXRhaWwtYm94LW92ZXJmbG93LCAwcHgpKTsgLy8gZ2FwIHZhbHVlIGZvciBwYXJlbnQgZ3JpZCBjb250YWluZXJcblxuICAgICAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LXRleHQtYmxvY2sgKHdpZHRoIDwgNDUwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0xLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB+IC5wcm9kdWN0LWRldGFpbF9fbWFpbi10ZXh0LXNlY29uZGFyeSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoLTRyZW0gLSB2YXIoLS1wcm9kdWN0LWRldGFpbC1ib3gtb3ZlcmZsb3csIDBweCkpOyAvLyB0aGVyZSB3aWxsIGJlIGFuIGV4dHJhIGNvbnRhaW5lciB0aGVyZVxuXG4gICAgICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtdGV4dC1ibG9jayAod2lkdGggPCA0NTBweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogLTMuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAmX19kZWxpdmVyeS1vcHRpb25zIHtcbiAgICAgICAgW2NsYXNzKj0nZGVsaXZlcnktZGF0ZV9fJ10ge1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZWxpdmVyeSB7XG4gICAgICAgIGNvbnRhaW5lci1uYW1lOiAncHJvZHVjdC1kZXRhaWxfX2RlbGl2ZXJ5JztcbiAgICAgICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuXG4gICAgICAgICYtb3B0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1mbGV4LWdhcCk7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgICAgIEBjb250YWluZXIgKHdpZHRoID4gMzkwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAY29udGFpbmVyICh3aWR0aCA+IDU2MHB4KSB7XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnIFxcMjAxMyc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMi4ycmVtO1xuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgICAgICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPiAzOTBweCkge1xuICAgICAgICAgICAgICAgIHRleHQtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAY29udGFpbmVyICh3aWR0aCA8IDUzNXB4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAY29udGFpbmVyICh3aWR0aCA+PSA1MzVweCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgbGlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9ycy1tYXBcbiRncmF5czogKFxuICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgXCIzMDBcIjogJGdyYXktMzAwLFxuICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgXCI2MDBcIjogJGdyYXktNjAwLFxuICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgXCI5MDBcIjogJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9ycy1tYXBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAgICAjMGQ2ZWZkICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZDYzMzg0ICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMxOTg3NTQgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMGRjYWYwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwiYmxhY2tcIjogICAgICAkYmxhY2ssXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9ycy1tYXBcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjIgYXJlIDMsIDQuNSBhbmQgNy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jY29udHJhc3QtbWluaW11bVxuJG1pbi1jb250cmFzdC1yYXRpbzogICA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGJsdWUtMTAwOiB0aW50LWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuJGJsdWUtMjAwOiB0aW50LWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtMzAwOiB0aW50LWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtNDAwOiB0aW50LWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAkYmx1ZSAhZGVmYXVsdDtcbiRibHVlLTYwMDogc2hhZGUtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS03MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtODAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTkwMDogc2hhZGUtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRpbmRpZ28tMTAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTIwMDogdGludC1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby0zMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTUwMDogJGluZGlnbyAhZGVmYXVsdDtcbiRpbmRpZ28tNjAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby03MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTgwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tOTAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuXG4kcHVycGxlLTEwMDogdGludC1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0yMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTQwMDogdGludC1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS01MDA6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kcHVycGxlLTYwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNzAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS04MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTkwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcblxuJHBpbmstMTAwOiB0aW50LWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuJHBpbmstMjAwOiB0aW50LWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstMzAwOiB0aW50LWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstNDAwOiB0aW50LWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNTAwOiAkcGluayAhZGVmYXVsdDtcbiRwaW5rLTYwMDogc2hhZGUtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay03MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstODAwOiBzaGFkZS1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTkwMDogc2hhZGUtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG5cbiRyZWQtMTAwOiB0aW50LWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG4kcmVkLTIwMDogdGludC1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC0zMDA6IHRpbnQtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtNDAwOiB0aW50LWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTUwMDogJHJlZCAhZGVmYXVsdDtcbiRyZWQtNjAwOiBzaGFkZS1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC03MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTgwMDogc2hhZGUtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtOTAwOiBzaGFkZS1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuXG4kb3JhbmdlLTEwMDogdGludC1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMzAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTQwMDogdGludC1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcblxuJHllbGxvdy0xMDA6IHRpbnQtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMjAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTMwMDogdGludC1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy00MDA6IHRpbnQtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNTAwOiAkeWVsbG93ICFkZWZhdWx0O1xuJHllbGxvdy02MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTcwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctODAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy05MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG5cbiRncmVlbi0xMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuJGdyZWVuLTIwMDogdGludC1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiB0aW50LWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi00MDA6IHRpbnQtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTUwMDogJGdyZWVuICFkZWZhdWx0O1xuJGdyZWVuLTYwMDogc2hhZGUtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTgwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTkwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuXG4kdGVhbC0xMDA6IHRpbnQtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG4kdGVhbC0yMDA6IHRpbnQtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC0zMDA6IHRpbnQtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC00MDA6IHRpbnQtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC01MDA6ICR0ZWFsICFkZWZhdWx0O1xuJHRlYWwtNjAwOiBzaGFkZS1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTcwMDogc2hhZGUtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC04MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtOTAwOiBzaGFkZS1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcblxuJGN5YW4tMTAwOiB0aW50LWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuJGN5YW4tMjAwOiB0aW50LWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tMzAwOiB0aW50LWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tNDAwOiB0aW50LWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNTAwOiAkY3lhbiAhZGVmYXVsdDtcbiRjeWFuLTYwMDogc2hhZGUtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi03MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tODAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTkwMDogc2hhZGUtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiRibHVlczogKFxuICBcImJsdWUtMTAwXCI6ICRibHVlLTEwMCxcbiAgXCJibHVlLTIwMFwiOiAkYmx1ZS0yMDAsXG4gIFwiYmx1ZS0zMDBcIjogJGJsdWUtMzAwLFxuICBcImJsdWUtNDAwXCI6ICRibHVlLTQwMCxcbiAgXCJibHVlLTUwMFwiOiAkYmx1ZS01MDAsXG4gIFwiYmx1ZS02MDBcIjogJGJsdWUtNjAwLFxuICBcImJsdWUtNzAwXCI6ICRibHVlLTcwMCxcbiAgXCJibHVlLTgwMFwiOiAkYmx1ZS04MDAsXG4gIFwiYmx1ZS05MDBcIjogJGJsdWUtOTAwXG4pICFkZWZhdWx0O1xuXG4kaW5kaWdvczogKFxuICBcImluZGlnby0xMDBcIjogJGluZGlnby0xMDAsXG4gIFwiaW5kaWdvLTIwMFwiOiAkaW5kaWdvLTIwMCxcbiAgXCJpbmRpZ28tMzAwXCI6ICRpbmRpZ28tMzAwLFxuICBcImluZGlnby00MDBcIjogJGluZGlnby00MDAsXG4gIFwiaW5kaWdvLTUwMFwiOiAkaW5kaWdvLTUwMCxcbiAgXCJpbmRpZ28tNjAwXCI6ICRpbmRpZ28tNjAwLFxuICBcImluZGlnby03MDBcIjogJGluZGlnby03MDAsXG4gIFwiaW5kaWdvLTgwMFwiOiAkaW5kaWdvLTgwMCxcbiAgXCJpbmRpZ28tOTAwXCI6ICRpbmRpZ28tOTAwXG4pICFkZWZhdWx0O1xuXG4kcHVycGxlczogKFxuICBcInB1cnBsZS0xMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTIwMFwiOiAkcHVycGxlLTIwMCxcbiAgXCJwdXJwbGUtMzAwXCI6ICRwdXJwbGUtMzAwLFxuICBcInB1cnBsZS00MDBcIjogJHB1cnBsZS00MDAsXG4gIFwicHVycGxlLTUwMFwiOiAkcHVycGxlLTUwMCxcbiAgXCJwdXJwbGUtNjAwXCI6ICRwdXJwbGUtNjAwLFxuICBcInB1cnBsZS03MDBcIjogJHB1cnBsZS03MDAsXG4gIFwicHVycGxlLTgwMFwiOiAkcHVycGxlLTgwMCxcbiAgXCJwdXJwbGUtOTAwXCI6ICRwdXJwbGUtOTAwXG4pICFkZWZhdWx0O1xuXG4kcGlua3M6IChcbiAgXCJwaW5rLTEwMFwiOiAkcGluay0xMDAsXG4gIFwicGluay0yMDBcIjogJHBpbmstMjAwLFxuICBcInBpbmstMzAwXCI6ICRwaW5rLTMwMCxcbiAgXCJwaW5rLTQwMFwiOiAkcGluay00MDAsXG4gIFwicGluay01MDBcIjogJHBpbmstNTAwLFxuICBcInBpbmstNjAwXCI6ICRwaW5rLTYwMCxcbiAgXCJwaW5rLTcwMFwiOiAkcGluay03MDAsXG4gIFwicGluay04MDBcIjogJHBpbmstODAwLFxuICBcInBpbmstOTAwXCI6ICRwaW5rLTkwMFxuKSAhZGVmYXVsdDtcblxuJHJlZHM6IChcbiAgXCJyZWQtMTAwXCI6ICRyZWQtMTAwLFxuICBcInJlZC0yMDBcIjogJHJlZC0yMDAsXG4gIFwicmVkLTMwMFwiOiAkcmVkLTMwMCxcbiAgXCJyZWQtNDAwXCI6ICRyZWQtNDAwLFxuICBcInJlZC01MDBcIjogJHJlZC01MDAsXG4gIFwicmVkLTYwMFwiOiAkcmVkLTYwMCxcbiAgXCJyZWQtNzAwXCI6ICRyZWQtNzAwLFxuICBcInJlZC04MDBcIjogJHJlZC04MDAsXG4gIFwicmVkLTkwMFwiOiAkcmVkLTkwMFxuKSAhZGVmYXVsdDtcblxuJG9yYW5nZXM6IChcbiAgXCJvcmFuZ2UtMTAwXCI6ICRvcmFuZ2UtMTAwLFxuICBcIm9yYW5nZS0yMDBcIjogJG9yYW5nZS0yMDAsXG4gIFwib3JhbmdlLTMwMFwiOiAkb3JhbmdlLTMwMCxcbiAgXCJvcmFuZ2UtNDAwXCI6ICRvcmFuZ2UtNDAwLFxuICBcIm9yYW5nZS01MDBcIjogJG9yYW5nZS01MDAsXG4gIFwib3JhbmdlLTYwMFwiOiAkb3JhbmdlLTYwMCxcbiAgXCJvcmFuZ2UtNzAwXCI6ICRvcmFuZ2UtNzAwLFxuICBcIm9yYW5nZS04MDBcIjogJG9yYW5nZS04MDAsXG4gIFwib3JhbmdlLTkwMFwiOiAkb3JhbmdlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHllbGxvd3M6IChcbiAgXCJ5ZWxsb3ctMTAwXCI6ICR5ZWxsb3ctMTAwLFxuICBcInllbGxvdy0yMDBcIjogJHllbGxvdy0yMDAsXG4gIFwieWVsbG93LTMwMFwiOiAkeWVsbG93LTMwMCxcbiAgXCJ5ZWxsb3ctNDAwXCI6ICR5ZWxsb3ctNDAwLFxuICBcInllbGxvdy01MDBcIjogJHllbGxvdy01MDAsXG4gIFwieWVsbG93LTYwMFwiOiAkeWVsbG93LTYwMCxcbiAgXCJ5ZWxsb3ctNzAwXCI6ICR5ZWxsb3ctNzAwLFxuICBcInllbGxvdy04MDBcIjogJHllbGxvdy04MDAsXG4gIFwieWVsbG93LTkwMFwiOiAkeWVsbG93LTkwMFxuKSAhZGVmYXVsdDtcblxuJGdyZWVuczogKFxuICBcImdyZWVuLTEwMFwiOiAkZ3JlZW4tMTAwLFxuICBcImdyZWVuLTIwMFwiOiAkZ3JlZW4tMjAwLFxuICBcImdyZWVuLTMwMFwiOiAkZ3JlZW4tMzAwLFxuICBcImdyZWVuLTQwMFwiOiAkZ3JlZW4tNDAwLFxuICBcImdyZWVuLTUwMFwiOiAkZ3JlZW4tNTAwLFxuICBcImdyZWVuLTYwMFwiOiAkZ3JlZW4tNjAwLFxuICBcImdyZWVuLTcwMFwiOiAkZ3JlZW4tNzAwLFxuICBcImdyZWVuLTgwMFwiOiAkZ3JlZW4tODAwLFxuICBcImdyZWVuLTkwMFwiOiAkZ3JlZW4tOTAwXG4pICFkZWZhdWx0O1xuXG4kdGVhbHM6IChcbiAgXCJ0ZWFsLTEwMFwiOiAkdGVhbC0xMDAsXG4gIFwidGVhbC0yMDBcIjogJHRlYWwtMjAwLFxuICBcInRlYWwtMzAwXCI6ICR0ZWFsLTMwMCxcbiAgXCJ0ZWFsLTQwMFwiOiAkdGVhbC00MDAsXG4gIFwidGVhbC01MDBcIjogJHRlYWwtNTAwLFxuICBcInRlYWwtNjAwXCI6ICR0ZWFsLTYwMCxcbiAgXCJ0ZWFsLTcwMFwiOiAkdGVhbC03MDAsXG4gIFwidGVhbC04MDBcIjogJHRlYWwtODAwLFxuICBcInRlYWwtOTAwXCI6ICR0ZWFsLTkwMFxuKSAhZGVmYXVsdDtcblxuJGN5YW5zOiAoXG4gIFwiY3lhbi0xMDBcIjogJGN5YW4tMTAwLFxuICBcImN5YW4tMjAwXCI6ICRjeWFuLTIwMCxcbiAgXCJjeWFuLTMwMFwiOiAkY3lhbi0zMDAsXG4gIFwiY3lhbi00MDBcIjogJGN5YW4tNDAwLFxuICBcImN5YW4tNTAwXCI6ICRjeWFuLTUwMCxcbiAgXCJjeWFuLTYwMFwiOiAkY3lhbi02MDAsXG4gIFwiY3lhbi03MDBcIjogJGN5YW4tNzAwLFxuICBcImN5YW4tODAwXCI6ICRjeWFuLTgwMCxcbiAgXCJjeWFuLTkwMFwiOiAkY3lhbi05MDBcbikgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtdmFyaWFibGVzXG4kcHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzOiBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLXRleHQtZW1waGFzaXM6ICAgICAgc2hhZGUtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci10ZXh0LWVtcGhhc2lzOiAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kZGFyay10ZXh0LWVtcGhhc2lzOiAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlOiAgICAgdGludC1jb2xvcigkc2Vjb25kYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRzdWNjZXNzLCA4MCUpICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCR3YXJuaW5nLCA4MCUpICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDgwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYmctc3VidGxlOiAgICAgICAgIG1peCgkZ3JheS0xMDAsICR3aGl0ZSkgIWRlZmF1bHQ7XG4kZGFyay1iZy1zdWJ0bGU6ICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogdGludC1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZTogICAgICB0aW50LWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlOiAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGU6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRjb2xvci1tb2RlLXR5cGU6ICAgICAgICAgICAgIGRhdGEgIWRlZmF1bHQ7IC8vIGBkYXRhYCBvciBgbWVkaWEtcXVlcnlgXG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuXG4kdmFyaWFibGUtcHJlZml4OiAgICAgICAgICAgICBicy0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGJvZHktZW1waGFzaXMtY29sb3I6ICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBJY29uIGxpbmtzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaWNvbi1saW5rLXZhcmlhYmxlc1xuJGljb24tbGluay1nYXA6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDogIC4yNWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXNpemU6ICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zaXRpb246ICAgLjJzIGVhc2UtaW4tb3V0IHRyYW5zZm9ybSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaWNvbi1saW5rLXZhcmlhYmxlc1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBwYWRkaW5nXG5cbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHhsOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuLy8gZnVzdi1kaXNhYmxlXG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy14eGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuJGZvY3VzLXJpbmctd2lkdGg6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctb3BhY2l0eTogICAgLjI1ICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctY29sb3I6ICAgICAgcmdiYSgkcHJpbWFyeSwgJGZvY3VzLXJpbmctb3BhY2l0eSkgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ibHVyOiAgICAgICAwICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYm94LXNoYWRvdzogMCAwICRmb2N1cy1yaW5nLWJsdXIgJGZvY3VzLXJpbmctd2lkdGggJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvY3VzLXJpbmctdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC12YXJpYWJsZXNcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LXZhcmlhYmxlc1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS10cmFuc2l0aW9uXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS10cmFuc2l0aW9uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcbiRhc3BlY3QtcmF0aW9zOiAoXG4gIFwiMXgxXCI6IDEwMCUsXG4gIFwiNHgzXCI6IGNhbGMoMyAvIDQgKiAxMDAlKSxcbiAgXCIxNng5XCI6IGNhbGMoOSAvIDE2ICogMTAwJSksXG4gIFwiMjF4OVwiOiBjYWxjKDkgLyAyMSAqIDEwMCUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhc3BlY3QtcmF0aW9zXG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1tZWRpdW06ICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXN0eWxlOiAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkaXNwbGF5LWhlYWRpbmdzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0eXBlLXZhcmlhYmxlc1xuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kc3ViLXN1cC1mb250LXNpemU6ICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB2ci12YXJpYWJsZXNcbiR2ci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2ci12YXJpYWJsZXNcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXg6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246ICAgdG9wICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLWNvbG9yOiAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcjogICAgIC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItZmFjdG9yOiAgICAgICAgIC4yICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcjogZXZlbiAhZGVmYXVsdDtcblxuJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjogY3VycmVudGNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLXNjYWxlOiAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS1sb29wXG4kdGFibGUtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgIHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInNlY29uZGFyeVwiOiAgc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzdWNjZXNzXCI6ICAgIHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImluZm9cIjogICAgICAgc2hpZnQtY29sb3IoJGluZm8sICR0YWJsZS1iZy1zY2FsZSksXG4gIFwid2FybmluZ1wiOiAgICBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJkYW5nZXJcIjogICAgIHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFyayxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLWxvb3BcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWJ0bi12YXJpYWJsZXNcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgICAgJGZvY3VzLXJpbmctd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6ICRmb2N1cy1yaW5nLW9wYWNpdHkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICAgICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAkZm9jdXMtcmluZy1ibHVyICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2I6ICAgdG8tcmdiKG1peChjb2xvci1jb250cmFzdCgkbGluay1jb2xvciksICRsaW5rLWNvbG9yLCAxNSUpKSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAyKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1jb2xvci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1pbnB1dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tY2hlY2stdmFyaWFibGVzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICAgICAgICAgICAgICAgICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc206ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZzogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC10cmFuc2l0aW9uOiAgICAgICAgICAkaW5wdXQtdHJhbnNpdGlvbiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgICAgICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDogICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgICAgICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoLTEgKiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjNcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tdmFyaWFibGVzXG5cbi8vIFRvb2x0aXBzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLXZhcmlhYmxlc1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFRPRE86IHJlbW92ZSB0aGlzIGluIHY2XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4vLyBmdXN2LWVuYWJsZVxuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcblxuXG4vLyBQb3BvdmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci12YXJpYWJsZXNcbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBjYWxjKCN7JHBvcG92ZXItYm9yZGVyLXJhZGl1c30gLSAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cblxuLy8gVG9hc3RzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC12YXJpYWJsZXNcbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkdG9hc3QtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC12YXJpYWJsZXNcblxuXG4vLyBCYWRnZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLXZhcmlhYmxlc1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjY1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJhZGdlLXZhcmlhYmxlc1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtdmFyaWFibGVzXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyOiAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDAnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNNC42NDYgMS42NDZhLjUuNSAwIDAgMSAuNzA4IDBsNiA2YS41LjUgMCAwIDEgMCAuNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4LS43MDhMMTAuMjkzIDggNC42NDYgMi4zNTRhLjUuNSAwIDAgMSAwLS43MDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuNFxuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjRcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy40XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZpbHRlcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjRcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuQGltcG9ydCBcInZhcmlhYmxlcy1kYXJrXCI7IC8vIFRPRE86IGNhbiBiZSByZW1vdmVkIHNhZmVseSBpbiB2Niwgb25seSBoZXJlIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZXMgaW4gdjUuM1xuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1zZXJ2aWNlcyB7XG4gICAgLmZvcm0taW5wdXQge1xuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiA4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgneHhsJykge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWF4LWNvbnRlbnQgMGZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgwLCBhdXRvKSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgMC4zNXMgMHMgZWFzZS1pbjtcblxuICAgICAgICAgICAgJjpoYXMoLnByb2R1Y3Qtc2VydmljZXNfX2dyb3VwLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWF4LWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpoYXMoLnByb2R1Y3Qtc2VydmljZXNfX2dyb3VwLmFjdGl2ZSkge1xuICAgICAgICAgICAgLnByb2R1Y3Qtc2VydmljZXNfX2dyb3VwOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3Qtc2VydmljZXNfX2dyb3VwLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzLCAwcywgMC4wNXMsIDBzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmQtYm94O1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcblxuICAgICAgICAmLFxuICAgICAgICAmLS1hbHQge1xuICAgICAgICAgICAgc3Bhbjpub3QoLnByb2R1Y3Qtc2VydmljZXNfX3dyYXBwZXIpIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy13cmFwOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gc3Bhbjpub3QoLnByb2R1Y3Qtc2VydmljZXNfX3dyYXBwZXIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlbGVjdGVkLFxuICAgICAgICAmOmhhcyg6Y2hlY2tlZCksXG4gICAgICAgICYtLWFsdC5zZWxlY3RlZCxcbiAgICAgICAgJi0tYWx0Omhhcyg6Y2hlY2tlZCkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZGFyaycpO1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LWRhcmsnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3h4bCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgLnByb2R1Y3Qtc2VydmljZXNfX2dyb3VwLXRyaWdnZXItdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXNlcnZpY2VzX19ncm91cC10cmlnZ2VyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRyaWdnZXItdGl0bGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTEwMCcpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCA0NXB4IDhweCAxNHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvdXRsaW5lIDAuMDVzIGVhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3h4bCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE5MXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA4cHggMTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgY3VycmVudGNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxLjVweCAxLjVweCAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzLjVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4zNXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjM1cyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1saXN0IHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heChtaW4oMjAwcHgsIDEwMCUpLCAxZnIpKTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQgMHMgMHMgZWFzZSxcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDAuMzVzIDBzIGVhc2UsXG4gICAgICAgICAgICAgICAgb3BhY2l0eSAwLjM1cyAwcyBlYXNlLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjM1cyBlYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzLCAwcywgMC4wNXMsIDBzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1zZXJ2aWNlc19faXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAucHJvZHVjdC1zZXJ2aWNlc19fc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtYXgtY29udGVudCAxZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXNlcnZpY2VzX19ncm91cC1saXN0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDBzLCAwcywgMHM7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1zZXJ2aWNlc19fZ3JvdXAtdHJpZ2dlci10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZGFyaycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIC5wcm9kdWN0LXNlcnZpY2VzX19ncm91cC10cmlnZ2VyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZGFyaycpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LWRhcmsnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ3h4bCcpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucHJvZHVjdC1kZXRhaWwge1xuICAgICZfX2ZsYWdzICsgJl9fcHJvZHVjdHMtY29uZGl0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMXJlbTtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0cy1jb25kaXRpb25zIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGxhYmVsLXVzZWQtcHJvZHVjdC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGFiZWwtdXNlZC1wcm9kdWN0LWNvbG9yLCAwLjA1KTtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDE1cHg7XG4gICAgICAgIHRleHQtd3JhcDogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwO1xuICAgICAgICAgICAgY29sb3I6ICRsYWJlbC11c2VkLXByb2R1Y3QtY29sb3I7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtc3VidGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbW1vbi1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMnJlbTtcblxuICAgICAgICAgICAgPiAqICsgKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDNyZW07XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1naWZ0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIGdhcDogMS42cmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdtZCcpIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ2xnJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWdpZnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMi41cmVtIGF1dG8gYXV0bztcbiAgICBnYXA6IDAgMS4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1naWZ0LWJnLWNvbG9yO1xuICAgIHBhZGRpbmc6IDEwcHggMTdweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbGcnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgICAgIGdhcDogMCAycmVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMuNXJlbSBhdXRvIGF1dG87XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNjAwO1xuICAgICAgICBjb2xvcjogJGxhYmVsLWdpZnQtY29sb3I7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNC43cmVtO1xuICAgICAgICBoZWlnaHQ6IDQuN3JlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkbGFiZWwtZ2lmdC1jb2xvciwgMC4yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICAgICAgd2lkdGg6IDhyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogNSU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5lbWJsYSB7XG4gICAgJl9fcGFnaW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwLjJyZW07XG5cbiAgICAgICAgJi12YWx1ZSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDJjaDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdG90YWwtcGFnZXMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMC4yNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIG5leHQgc21hbGxlciBicmVha3BvaW50IGZyb20gdGhlIGdpdmVuIGJyZWFrcG9pbnQuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gVGhlIGJyZWFrcG9pbnQgZm9yIHdoaWNoIHRvIGZpbmQgdGhlIG5leHQgc21hbGxlciBicmVha3BvaW50LlxuICogQHJldHVybiB7U3RyaW5nfG51bGx9IC0gVGhlIG5leHQgc21hbGxlciBicmVha3BvaW50LCBvciBudWxsIGlmIG5vIHNtYWxsZXIgYnJlYWtwb2ludCBpcyBhdmFpbGFibGUuXG4gKi9cbi8qKlxuICogUmV0cmlldmVzIHRoZSBuZXh0IGxhcmdlciBicmVha3BvaW50IGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcC5cbiAqXG4gKiBAZnVuY3Rpb24gZ2V0LWJpZ2dlci1icmVha3BvaW50XG4gKiBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBUaGUgY3VycmVudCBicmVha3BvaW50IHRvIGZpbmQgdGhlIG5leHQgbGFyZ2VyIG9uZSBmb3IuXG4gKiBAcmV0dXJuIHtTdHJpbmcgfCBudWxsfSAtIFRoZSBuZXh0IGxhcmdlciBicmVha3BvaW50IG9yIG51bGwgaWYgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyB0aGUgbGFyZ2VzdCBvciBub3QgZm91bmQuXG4gKi9cbi8qKlxuICogUmVzZXQgaVNwYWNlIGN1c3RvbSBmb3JtIGlucHV0IHN0eWxlcyB0byBiZSBhYmxlIHRvIGRlc2lnbiBzcGVjaWFsIGlucHV0cyBtb3JlIGVhc2lseVxuICovXG4vKipcbiAqIFN0eWxlcyB0byBoaWRlIHRoZSBzY3JvbGxiYXIgYnV0IHN0aWxsIGFsbG93IHNjcm9sbGluZ1xuICovXG4uZW1ibGFfX3BhZ2luZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC4ycmVtO1xufVxuLmVtYmxhX19wYWdpbmctdmFsdWUge1xuICBtaW4td2lkdGg6IDJjaDtcbiAgdGV4dC1hbGlnbjogZW5kO1xufVxuLmVtYmxhX19wYWdpbmctdG90YWwtcGFnZXMge1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuZW1ibGFfX3BhZ2luZy10b3RhbC1wYWdlcyB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwLjI1ZW07XG4gIH1cbn0iLCIubW9kYWwge1xuICAgICZfX2ltYWdlIC5tb2RhbCB7XG4gICAgICAgICYtZGlhbG9nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgICAgICAgICAgd2lkdGg6IDEwMGR2dztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwZHZ3O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5OGR2aDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5OGR2aDtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTlkdnc7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5OWR2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtYm9keS1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogbWluKDJkdmgsIDJyZW0pIG1pbigzZHZ3LCAycmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAuZW1ibGEge1xuICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgJl9fdmlld3BvcnQsXG4gICAgICAgICAgICAgICAgJl9fY29udGFpbmVyLFxuICAgICAgICAgICAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgJl9fdmlld3BvcnQsXG4gICAgICAgICAgICAgICAgJl9fc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICA+ICo6bm90KC5lbWJsYV9fc2xpZGUtLXNwaW5uZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIG9wYWNpdHkgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhLFxuICAgICAgICAgICAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS1zcGlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6d2hlcmUoOm5vdCguZW1ibGFfX2xhenktbG9hZC0taGFzLWxvYWRlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoLmVtYmxhX19zbGlkZS0tc3Bpbm5lcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5lbWJsYV9fc2xpZGUtLXNwaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMC43NXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAndGhlbWUtdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL2RlZmF1bHQvc2Fzcy9hc2dhcmQtdmFyaWFibGVzJztcbkBpbXBvcnQgJ2FwcC9hYnN0cmFjdHMvYWxsJztcbkBpbXBvcnQgJy4uLy4uL2RlZmF1bHQvc2Fzcy9pbWFnZS1tb2RhbC9hbGwnO1xuXG4ubW9kYWwge1xuICAgIC5wcm9kdWN0LWRldGFpbCB7XG4gICAgICAgICZfX2ltYWdlLWNhcm91c2VsIHtcbiAgICAgICAgICAgIC5lbWJsYSB7XG4gICAgICAgICAgICAgICAgJl9fYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0OiBhdXRvIGNsYW1wKDFyZW0sIDJ2dywgNHJlbSkgY2xhbXAoMXJlbSwgMnZ3LCA0cmVtKTsgLy8gZGVmYXVsdCBsZWZ0L2JvdHRvbSB2YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQGltcG9ydCAndGhlbWUtdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL2RlZmF1bHQvc2Fzcy9hc2dhcmQtdmFyaWFibGVzJztcbkBpbXBvcnQgJ2FwcC9hYnN0cmFjdHMvYWxsJztcblxuOnJvb3Qge1xuICAgIC0tc3RpY2t5LXN1Ym1pdC1icmVha3BvaW50OiAje21hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSAtIDF9O1xufVxuXG4ucHJvZHVjdC1kZXRhaWwge1xuICAgICZfX3N0aWNreS1zdWJtaXQtYmxvY2sge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIDFmciBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxMHB4LCAzLjMzM3Z3LCB2YXIoLS1wcm9kdWN0LWRldGFpbC1ib3gtb3ZlcmZsb3cpKTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA3cHggMTJweCAycHggcmdiKDAsIDAsIDAsIDAuNyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTEwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBvcGFjaXR5IDAuMXMgZWFzZS1pbi1vdXQsXG4gICAgICAgICAgICAwLjFzIHotaW5kZXggMHMgZWFzZS1pbjtcblxuICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHotaW5kZXg6IDExMTAwMTsgLy8gc3VwcG9ydEJveCB3aWRnZXQgei1pbmRleCArIDFcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQsXG4gICAgICAgICAgICAgICAgMC4yNXMgei1pbmRleCAwcyBlYXNlLWluO1xuXG4gICAgICAgICAgICAubmF2LW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTQ7IC8vIGhlYWRlciB6aW5kZXggLSAxXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvZHk6aGFzKD4gaGMtY2FsYykgJiB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjUwMDsgLy8gaG9tZSBjcmVkaXQgY2FsY3VsYXRvciBtb2RhbCB6aW5kZXggPSAzMDAwXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBnZW5lcmFsIHN0eWxpbmdcbiAgICAgICAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAgICAgICAgICZfX3ByaWNlLWluZm8tYmVpbmctc29sZC1wZXJjZW50YWdlLWRpc2NvdW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19wcmljZS1pbmZvLWJsb2NrcyB7XG4gICAgICAgICAgICAgICAgLS1wcmljZS1ibG9jay1taW4taGVpZ2h0OiAxcHg7XG5cbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMztcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIGxheW91dCBjb25maWd1cmF0aW9ucy4uLlxuICAgICAgICAgICAgICAgICY6aGFzKD4gLnByb2R1Y3QtZGV0YWlsX19hY3Rpb25zLS1ob21lLWNyZWRpdC1jb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICZfX3N1Ym1pdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm5vdCg6aGFzKD4gLnByb2R1Y3QtZGV0YWlsX19hY3Rpb25zLS1ob21lLWNyZWRpdC1jb250YWluZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmX19wcmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICZfX3ByaWNlLWluZm8tYmVpbmctc29sZC1vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmX19zdWJtaXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAmLS1ob21lLWNyZWRpdC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDM7XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlLXNlbGY6IGNlbnRlciBlbmQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICZfX2FjdGlvbnMtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYtbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3ByaWNlIHtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtaW5mby1iZWluZy1zb2xkIHtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICYtcGVyY2VudGFnZS1kaXNjb3VudDp3aGVyZShbc3R5bGUqPSdub25lJ10pIH4gLnByb2R1Y3QtZGV0YWlsX19wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fcHJpY2UtaW5mby1zYXZpbmctcGVyY2VudCB7XG4gICAgICAgICAgICAgICAgdGV4dC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4O1xuXG4gICAgICAgICAgICAgICAgPiBbZGF0YS1kZWZhdWx0LWlkXSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNyLW9ubHkoJ3VuZG8nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3ByaWNlLWluZm8tYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgdGV4dC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3ByaWNlLWNvbmRpdGlvbiB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19wcmljZS11bnVzZWQtc2F2aW5nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19zdWJtaXQge1xuICAgICAgICAgICAgICAgIC0tcHJvZHVjdC1kZXRhaWwtYWN0aW9ucy1taW4taGVpZ2h0OiA0NXB4O1xuXG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG5cbiAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDYwMDtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwIDhweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLXByb2R1Y3QtZGV0YWlsLWFjdGlvbnMtbWluLWhlaWdodCk7IC8vIGZpeCBmb3IgaU9TXG5cbiAgICAgICAgICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IC04cHggMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/