/**
 * Foundation for Sites
 * Version 6.8.1
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/* Truncate Text */
.manage-attributes .attributeCheckbox {
  position: relative;
}
.manage-attributes .attributeCheckbox input[type=checkbox] {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.manage-attributes .attributeCheckbox input[type=checkbox] + label {
  position: relative;
  padding: 0 0 0 25px;
  cursor: pointer;
  line-height: 20px;
}
.manage-attributes .attributeCheckbox input[type=checkbox] + label::before {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #d8d8d8;
  border-radius: 4px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
}
.manage-attributes .attributeCheckbox input[type=checkbox]:checked + label::after {
  display: block;
  width: 7px;
  height: 13px;
  margin: 0 auto 3px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-bottom: solid 3px #003b68;
  border-right: solid 3px #003b68;
  border-bottom-right-radius: 2px;
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
}

.react-search-input-wrapper .form-text {
  background-repeat: no-repeat;
}
.react-search-input-wrapper .form-text {
  background-position: calc(100% - 20px) 50%;
}
.react-search-input-wrapper .form-text {
  padding-right: 50px;
  background-image: url("data:image/svg+xml,%3Csvg class='input-symbol__symbol' width='25' height='25' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke-width='.1' fill-rule='nonzero' fill='%23A3A3A3' stroke='%23A3A3A3'%3E%3Cpath d='M10.617 9.725a.472.472 0 110 .943.472.472 0 010-.943z'/%3E%3Cpath d='M1.644 21.689l6.294-6.294a9.347 9.347 0 01-1.566-5.199c0-5.2 4.231-9.431 9.433-9.431 5.199 0 9.43 4.23 9.43 9.431 0 5.2-4.23 9.432-9.431 9.432a9.343 9.343 0 01-5.199-1.566l-1.74 1.74s0 0 0 0l-4.554 4.554c-.356.357-.83.553-1.334.553-.503 0-.977-.196-1.333-.552a1.873 1.873 0 01-.553-1.334c0-.504.196-.978.553-1.334zm9.183-4.62s0 0 0 0a8.415 8.415 0 004.977 1.615c4.68 0 8.488-3.807 8.488-8.488 0-4.68-3.808-8.488-8.488-8.488s-8.488 3.808-8.488 8.488c0 1.8.558 3.521 1.616 4.977a8.53 8.53 0 001.895 1.895zm-.99.427a9.603 9.603 0 01-1.333-1.334L7.166 17.5c.407.48.854.927 1.334 1.334l1.338-1.338zM2.31 23.69a.937.937 0 00.667.276.937.937 0 00.667-.276l4.187-4.188a12.52 12.52 0 01-1.333-1.333L2.31 22.356a.936.936 0 00-.276.667.936.936 0 00.276.667z'/%3E%3Cpath d='M15.804 2.651c4.16 0 7.545 3.385 7.545 7.545s-3.385 7.545-7.545 7.545-7.545-3.384-7.545-7.545c0-4.16 3.384-7.545 7.545-7.545zm0 14.147a6.61 6.61 0 006.601-6.602 6.61 6.61 0 00-6.601-6.601 6.61 6.61 0 00-6.602 6.602 6.61 6.61 0 006.602 6.602z'/%3E%3Cpath d='M10.519 8.172a5.659 5.659 0 012.045-2.613 5.619 5.619 0 013.24-1.021.472.472 0 010 .943 4.748 4.748 0 00-4.404 3.03.472.472 0 11-.88-.339z'/%3E%3C/g%3E%3C/svg%3E");
}

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=90em";
}

.react-select-container {
  margin: 0 !important;
}
.react-select-container .react-select__control {
  border-radius: 14px;
  border: 2px solid #d8d8d8;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0);
  -webkit-transition: -webkit-box-shadow 0.7s;
  transition: -webkit-box-shadow 0.7s;
  transition: box-shadow 0.7s;
  transition: box-shadow 0.7s, -webkit-box-shadow 0.7s;
}
.react-select-container .react-select__control:hover {
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.react-select-container .react-select__control--menu-is-open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.react-select-container .react-select__control--menu-is-open .react-select__dropdown-indicator::after {
  top: 6px;
  -webkit-transform: rotateZ(-225deg);
          transform: rotateZ(-225deg);
}
.react-select-container .react-select__value-container {
  height: auto;
  padding: 0.5rem 0 0.5rem 30px;
  font-size: 1rem;
  font-weight: bold;
}
.react-select-container .react-select__value-container--is-multi {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.react-select-container .react-select__indicator-separator {
  width: 2px;
  margin-top: 12px;
  margin-bottom: 12px;
  background: #d8d8d8;
}
.react-select-container .react-select__dropdown-indicator {
  position: relative;
  width: 80px;
}
.react-select-container .react-select__dropdown-indicator svg {
  display: none;
}
.react-select-container .react-select__dropdown-indicator::after {
  display: block;
  width: 15px;
  height: 15px;
  border-style: solid;
  border-width: 0 0 3px 3px;
  border-color: #7a7a7a;
  -webkit-transform: rotateZ(-45deg);
          transform: rotateZ(-45deg);
  content: "";
  position: absolute;
  top: -6px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 2px;
  -webkit-transition: 0.5s -webkit-transform;
  transition: 0.5s -webkit-transform;
  transition: 0.5s transform;
  transition: 0.5s transform, 0.5s -webkit-transform;
}
.react-select-container .react-select__multi-value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
  background: transparent;
}
.react-select-container .react-select__multi-value__label {
  padding: 0 1ch 0 2px;
  font-size: 1rem;
}
.react-select-container .react-select__multi-value__remove {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 0;
  color: transparent;
  font-size: 0;
  vertical-align: text-bottom;
}
.react-select-container .react-select__multi-value__remove::before, .react-select-container .react-select__multi-value__remove::after {
  content: "";
  position: absolute;
  display: block;
  width: 18px;
  margin-top: 10px;
  height: 2px;
  background-color: #003b68;
  border-radius: 2px;
  overflow: hidden;
}
.react-select-container .react-select__multi-value__remove::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.react-select-container .react-select__multi-value__remove::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.react-select-container .react-select__multi-value__remove:hover {
  background: none;
  cursor: pointer;
}
.react-select-container .react-select__multi-value__remove svg {
  display: none;
}
.react-select-container .react-select__menu {
  margin: 0;
  border: 2px solid #d8d8d8;
  border-top: 0;
  border-radius: 0 0 14px 14px;
  color: #000;
  background: #fff;
  -webkit-box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2);
}
.react-select-container .react-select__menu-list {
  padding: 20px 0;
}
.react-select-container .react-select__option {
  padding: 2px 30px;
  white-space: nowrap;
  font-weight: bold;
}
.react-select-container .react-select__option .checkbox {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #d8d8d8;
  border-radius: 4px;
  margin-right: 10px;
  vertical-align: -4px;
}
.react-select-container .react-select__option--is-selected {
  color: #c1c1c1;
  background: transparent;
}
.react-select-container .react-select__option--is-selected span {
  color: #000;
}
.react-select-container .react-select__option--is-selected .tick {
  display: block;
  width: 7px;
  height: 13px;
  margin: 0 auto 3px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-bottom: solid 3px #003b68;
  border-right: solid 3px #003b68;
  border-bottom-right-radius: 2px;
}
.react-select-container .react-select__option--is-focused {
  color: #003b68;
  background: transparent;
}
.react-select-container .react-select__option--is-focused span {
  color: #003b68;
}
.react-select-container.error .react-select__control {
  border-color: #e63323;
}
.react-select-container.error .react-select__dropdown-indicator::before, .react-select-container.error .react-select__dropdown-indicator::after {
  content: "";
  position: absolute;
  display: block;
  width: 18px;
  margin-top: 10px;
  height: 2px;
  background-color: #e63323;
  border-style: none;
  border-radius: 2px;
  overflow: hidden;
  top: -3px;
}
.react-select-container.error .react-select__dropdown-indicator::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  left: 31px;
}
.react-select-container.error .react-select__dropdown-indicator::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.select-wrapper {
  position: relative;
}
.select-wrapper label {
  display: inline-block;
  padding: 0 0 5px 20px;
  font-size: 0.8125rem;
  font-weight: bold;
  line-height: 1.54;
  color: #7a7a7a;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
}
.select-wrapper label.visible {
  opacity: 1;
}

.react-search-input-wrapper.form-item {
  margin-left: 0;
  margin-right: 0;
  float: none;
}
.react-search-input-wrapper .input-symbol__symbol {
  top: 34px;
  -webkit-transition: opacity 0.7s, -webkit-transform 0.7s;
  transition: opacity 0.7s, -webkit-transform 0.7s;
  transition: transform 0.7s, opacity 0.7s;
  transition: transform 0.7s, opacity 0.7s, -webkit-transform 0.7s;
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}
.react-search-input-wrapper .input-symbol__cta {
  top: 34px;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 0;
  -webkit-transition: opacity 0.7s, -webkit-transform 0.7s;
  transition: opacity 0.7s, -webkit-transform 0.7s;
  transition: transform 0.7s, opacity 0.7s;
  transition: transform 0.7s, opacity 0.7s, -webkit-transform 0.7s;
  outline: none;
}
.react-search-input-wrapper .has-value .input-symbol__symbol {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  opacity: 0;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.react-search-input-wrapper .has-value .input-symbol__cta {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 1;
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}

.react-autosuggest__suggestions-container {
  position: relative;
}
.react-autosuggest__suggestions-list {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0;
  padding: 20px 25px;
  list-style: none;
  border: 2px solid #d8d8d8;
  border-top: 0;
  border-bottom-right-radius: 14px;
  border-bottom-left-radius: 14px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.react-autosuggest__suggestions-list::before {
  content: "";
  position: absolute;
  top: -14px;
  right: -2px;
  left: -2px;
  height: 14px;
  border: 2px solid #d8d8d8;
  border-width: 0 2px;
  background: #fff;
}
.react-autosuggest__suggestions-list::after {
  content: "";
  position: absolute;
  top: -5px;
  right: 20px;
  left: 20px;
  height: 1px;
  background: #a3a3a3;
}
.react-autosuggest__suggestion {
  padding: 0;
  font-weight: bold;
  line-height: 1.75;
  cursor: pointer;
}
.react-autosuggest__suggestion--highlighted {
  color: #003b68;
}

.view .view-filters .product-finder-forms {
  padding-right: 0;
  padding-left: 0;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (max-width: 89.99875em) {
  .view .view-filters .product-finder-forms {
    max-width: 58.75rem;
  }
}
@media screen and (max-width: 61.25em) {
  .view .view-filters .product-finder-forms {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media print {
  .view .view-filters .product-finder-forms {
    max-width: 190mm;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 40em) {
  .view .view-filters .product-finder-forms {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
}
.view .view-filters .product-finder-forms .tabs--full {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-top: 0;
  margin-bottom: 0;
}
@media print, screen and (max-width: 63.99875em) {
  .view .view-filters .product-finder-forms .tabs--full {
    margin-left: -20px;
    margin-right: -20px;
  }
}
@media print, screen and (min-width: 40em) {
  .view .view-filters .product-finder-forms .tabs--full {
    margin-left: 0;
    margin-right: 0;
  }
}
.view .view-filters .product-finder-form {
  /* margin: $space-quadruple 0 $space-quintuple; */
}
@media screen and (max-width: 61.25em) {
  .view .view-filters .product-finder-form {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 40em) {
  .view .view-filters .product-finder-form {
    width: 50%;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .view .view-filters .product-finder-form.search-mode {
    padding-top: 0;
  }
}
.view .view-filters .product-finder-form.refine-filters-form {
  padding-top: 30px;
  padding-bottom: 75px;
}
.view .view-filters .product-finder-form.refine-filters-form .form__title {
  font-size: 1.25rem;
}
.view .view-filters .product-finder-form .form__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 40px;
}
.view .view-filters .product-finder-form .form__actions .submit {
  min-width: initial;
  margin: 0 0 30px;
  outline: 0;
}
.view .view-filters .product-finder-form .form__actions__secondary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-item-align: center;
      align-self: center;
}
.view .view-filters .product-finder-form .form__actions__secondary button {
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: left;
}
.view .view-filters .product-finder-form .form__actions__secondary button.disabled:hover, .view .view-filters .product-finder-form .form__actions__secondary button[disabled]:hover {
  color: #c1c1c1;
}
@media print, screen and (min-width: 64em) {
  .view .view-filters .product-finder-form .form__actions {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 30px;
  }
  .view .view-filters .product-finder-form .form__actions .submit {
    min-width: 247px;
    margin: 0 20px 0 0;
  }
}
.view .view-filters .product-finder-form .error__message {
  color: #e63323;
  padding-top: 30px;
  font-size: 0.875rem;
  font-weight: bold;
}
.view .view-filters .product-finder-form .form__title {
  margin-bottom: 0.5rem;
}
.view .view-filters .product-finder-form .form--inline {
  display: block;
  margin: 0 0;
}
.view .view-filters .product-finder-form.finder-mode .form--inline .form-type-select, .view .view-filters .product-finder-form.search-mode .form--inline .form-type-select {
  width: auto;
}
@media print, screen and (min-width: 40em) {
  .view .view-filters .product-finder-form {
    /* &.finder-mode .form--inline {
      .form__title,
      & > .react-select-container,
      & > .react-search-input-wrapper,
      .form__actions {
        margin-right: $space-quadruple;
      }
    } */
  }
  .view .view-filters .product-finder-form.finder-mode .form--inline {
    margin-right: 40px;
  }
  .view .view-filters .product-finder-form.search-mode .form--inline {
    margin-left: 40px;
  }
  .view .view-filters .product-finder-form.search-mode .form--inline .form__title, .view .view-filters .product-finder-form.search-mode .form--inline > .react-select-container, .view .view-filters .product-finder-form.search-mode .form--inline > .react-search-input-wrapper,
  .view .view-filters .product-finder-form.search-mode .form--inline .form__actions {
    margin-top: 0;
  }
  .view .view-filters .product-finder-form.search-mode .form--inline .input-cell {
    margin-bottom: 1.875rem;
  }
}
@media print, screen and (min-width: 64em) {
  .view .view-filters .product-finder-form .form__actions {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 30px;
  }
  .view .view-filters .product-finder-form .form__actions .submit {
    min-width: 247px;
    margin: 0 20px 0 0;
  }
}
.view .view-filters .product-finder-form.search-mode {
  border-top: 2px solid #d8d8d8;
}
@media print, screen and (min-width: 40em) {
  .view .view-filters .product-finder-form.search-mode {
    width: calc(50% + 1px);
    margin-left: -1px;
    border-top: 0;
    border-left: 2px solid #d8d8d8;
  }
}
.view .view-filters .switch-link {
  padding: 10px 0 10px 25px;
  border: 0;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #003b68;
  background-color: transparent;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTdweCIgaGVpZ2h0PSIxN3B4IiB2aWV3Qm94PSIwIDAgMTcgMTciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMThfUHJvZHVjdF9GaW5kZXJfVGV4dF9TZWFyY2hfRW50ZXJlZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUyOS4wMDAwMDAsIC00NTMuMDAwMDAwKSIgc3Ryb2tlPSIjMDA0MUMwIiBzdHJva2Utd2lkdGg9IjEuNSI+CiAgICAgICAgICAgIDxnIGlkPSJQcm9kdWN0LVNlYXJjaCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDEyMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJMaW5rcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTI5LjAwMDAwMCwgMzA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJQ09OUy9SZXNldC9CbHVlLTItQ29weSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDI1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iSUNPTlMvU2VhcmNoL0JsdWUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCAyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgY3g9IjkuNzUiIGN5PSI4LjI1IiByPSI2Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIwLjc4NjA2OTc3NCIgeTE9IjE2LjUzNjA3MzgiIHgyPSI1LjI1IiB5Mj0iMTIuNzUiIGlkPSJMaW5lLUNvcHktMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: left center;
  cursor: pointer;
}

.sticky-table {
  width: 100%;
}
.sticky-table .rt-resizer {
  display: none !important;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .sticky-table { /* IE11 */ }
  .sticky-table .ReactTable .rt-table {
    padding-bottom: 16px;
    overflow-y: hidden;
  }
  .sticky-table .ReactTable .rt-tbody {
    overflow: visible;
  }
}
.sticky-table .sticky-table-inner {
  background: #fff;
}
.sticky-table.sticky-active .sticky-table-inner {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
@media print {
  .sticky-table.sticky-active .sticky-table-inner {
    position: static;
  }
}
.sticky-table.sticky-active .ReactTable {
  height: 100%;
}
.sticky-table.sticky-active .ReactTable .rt-table {
  overflow-y: hidden;
}

.product-finder-filters .refine-filters {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  background-color: rgba(0, 0, 0, 0.5);
}
.product-finder-filters .refine-filters .refine-filters-form {
  height: 100%;
  max-width: 58.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-left: auto;
  background-color: #fff;
}
.product-finder-filters .refine-filters .form-overflow {
  height: 100%;
  overflow-y: auto;
}
.product-finder-filters .refine-filters .form--inline {
  padding: 60px 20px 46px;
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters .refine-filters .form--inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
}
.product-finder-filters .refine-filters .form__title,
.product-finder-filters .refine-filters h4.form__title {
  font-family: "Open Sans Condensed", sans-serif;
  color: inherit;
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters .refine-filters .form__title,
  .product-finder-filters .refine-filters h4.form__title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0;
    min-width: 0;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
  }
}
.product-finder-filters .refine-filters .react-select-container,
.product-finder-filters .refine-filters .react-search-input-wrapper {
  margin-top: 0;
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters .refine-filters .react-select-container,
  .product-finder-filters .refine-filters .react-search-input-wrapper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
  }
}
.product-finder-filters .refine-filters .icon-close {
  position: absolute;
  top: 20px;
  right: 20px;
  outline: 0;
}
.product-finder-filters .refine-filters .form__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 40px;
  position: relative;
  width: 100%;
  margin-top: 0;
  padding: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.product-finder-filters .refine-filters .form__actions .submit {
  min-width: initial;
  margin: 0 0 30px;
  outline: 0;
}
.product-finder-filters .refine-filters .form__actions__secondary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-item-align: center;
      align-self: center;
}
.product-finder-filters .refine-filters .form__actions__secondary button {
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: left;
}
.product-finder-filters .refine-filters .form__actions__secondary button.disabled:hover, .product-finder-filters .refine-filters .form__actions__secondary button[disabled]:hover {
  color: #c1c1c1;
}
@media print, screen and (min-width: 64em) {
  .product-finder-filters .refine-filters .form__actions {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 30px;
  }
  .product-finder-filters .refine-filters .form__actions .submit {
    min-width: 247px;
    margin: 0 20px 0 0;
  }
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters .refine-filters .form__actions {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0;
    min-width: 0;
    width: calc(100% - 1.25rem);
    width: 100%;
    margin-top: 0;
    padding: 40px;
  }
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters .refine-filters .form__actions .product-finder-toggler.reset-all {
    margin-bottom: 0;
  }
}
.product-finder-filters .count-matches {
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 1.25rem;
  font-weight: bold;
}
@media print, screen and (max-width: 39.99875em) {
  .product-finder-filters .count-matches {
    margin: 0;
  }
}
.product-finder-filters .product-finder-filters-buttons {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters .product-finder-filters-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    margin-left: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.product-finder-filters .product-finder-toggler {
  color: #003b68;
  font-size: 1.25rem;
  font-weight: bold;
  cursor: pointer;
  margin-top: auto;
  margin-bottom: auto;
}
.product-finder-filters .product-finder-toggler.toggle-filters {
  color: #fff;
  margin-right: 20px;
}
.product-finder-filters .product-finder-toggler.toggle-filters.button {
  min-width: 180px;
  min-height: 40px;
}
.product-finder-filters .product-finder-toggler.toggle-filters.button:hover, .product-finder-filters .product-finder-toggler.toggle-filters.button:focus {
  color: #003b68;
  background-color: #fff;
}
.product-finder-filters .product-finder-toggler.toggle-filters.button:hover .icon-filters, .product-finder-filters .product-finder-toggler.toggle-filters.button:focus .icon-filters {
  background-color: #003b68;
}
.product-finder-filters .product-finder-toggler.toggle-filters.button:hover .icon-filters::before, .product-finder-filters .product-finder-toggler.toggle-filters.button:hover .icon-filters::after, .product-finder-filters .product-finder-toggler.toggle-filters.button:focus .icon-filters::before, .product-finder-filters .product-finder-toggler.toggle-filters.button:focus .icon-filters::after {
  background-color: #003b68;
}
.product-finder-filters .product-finder-toggler.toggle-filters .icon-filters {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 2px;
  margin-right: 10px;
  margin-left: 4px;
  padding: 0;
  background: #fff;
  vertical-align: middle;
}
.product-finder-filters .product-finder-toggler.toggle-filters .icon-filters::before, .product-finder-filters .product-finder-toggler.toggle-filters .icon-filters::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  overflow: hidden;
  background-color: #fff;
}
.product-finder-filters .product-finder-toggler.toggle-filters .icon-filters::before {
  top: -5px;
  left: -4px;
}
.product-finder-filters .product-finder-toggler.toggle-filters .icon-filters::after {
  top: 5px;
  left: 3px;
  width: 6px;
}
.product-finder-filters .product-finder-toggler.toggle-attributes {
  margin-right: 3.5rem;
}
.product-finder-filters .product-finder-toggler.toggle-attributes .icon-filters {
  position: relative;
  display: inline-block;
  width: 2px;
  height: 15px;
  margin-right: 10px;
  margin-left: 4px;
  padding: 0;
  background: #003b68;
  vertical-align: middle;
  bottom: 0.1em;
}
.product-finder-filters .product-finder-toggler.toggle-attributes .icon-filters::before, .product-finder-filters .product-finder-toggler.toggle-attributes .icon-filters::after {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 2px;
  height: 15px;
  background-color: #003b68;
  border-radius: 2px;
  overflow: hidden;
}
.product-finder-filters .product-finder-toggler.toggle-attributes .icon-filters::before {
  left: -4px;
}
.product-finder-filters .product-finder-toggler.toggle-attributes .icon-filters::after {
  right: -4px;
}
.product-finder-filters .product-finder-toggler.reset-all {
  margin-left: 0;
  padding-top: 0;
  padding-bottom: 0;
}
@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .product-finder-filters .product-finder-toggler.reset-all {
    margin-bottom: 0;
  }
}
.product-finder-filters .no-results-block {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
  width: 100%;
}
.product-finder-filters .no-results-block__inner {
  padding-right: 0;
  padding-left: 0;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (max-width: 89.99875em) {
  .product-finder-filters .no-results-block__inner {
    max-width: 58.75rem;
  }
}
@media screen and (max-width: 61.25em) {
  .product-finder-filters .no-results-block__inner {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media print {
  .product-finder-filters .no-results-block__inner {
    max-width: 190mm;
    margin-left: 0;
  }
}
@media print, screen and (max-width: 39.99875em) {
  .product-finder-filters {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .product-finder-filters::before, .product-finder-filters::after {
    content: "";
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .product-finder-filters::after {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .product-finder-filters .product-finder-toggler.toggle-filters {
    margin: 0 0 20px;
  }
  .product-finder-filters .product-finder-toggler.reset-all {
    margin: 0 0 34px;
  }
  .product-finder-filters .product-finder-toggler.toggle-attributes {
    margin: 0;
  }
}

.product-finder-filters__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.625rem;
}

.product-finder-filters__toolbox,
.product-finder-filters__btn {
  padding: 1.3125rem 1.25rem;
}

.product-finder-filters__btn {
  background-color: #d8d8d8;
  font-size: 1.25rem;
  font-weight: 700;
  cursor: pointer;
  color: #003b68;
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters__btn {
    margin-right: 0.625rem;
    width: 18.75rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.product-finder-filters__btn > span {
  display: inline-block;
  vertical-align: middle;
}
.product-finder-filters__btn.is-open .product-finder-filters__icon {
  -webkit-transform: rotate(90deg) scaleX(-1);
          transform: rotate(90deg) scaleX(-1);
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters__btn.is-open .product-finder-filters__icon {
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
  }
}

.product-finder-filters__toolbox {
  background-color: #DBE2E9;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.product-finder-filters__cta-title {
  margin-right: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters__cta-title {
    margin-right: 10.5rem;
  }
}

.product-finder-filters__icon {
  color: #fff;
  position: relative;
  width: 2rem;
  height: 2rem;
  border: 0.125rem solid #003b68;
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #003b68;
  -webkit-transition: background-color 0.25s, color 0.25s;
  transition: background-color 0.25s, color 0.25s;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.product-finder-filters__icon .icon {
  height: 1em;
}
@media print, screen and (min-width: 40em) {
  .product-finder-filters__icon {
    -webkit-transform: none;
            transform: none;
  }
}

@media print, screen and (min-width: 40em) {
  .product-finder-aside {
    width: 18.75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.product-finder-aside__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.product-finder-aside__item {
  background-color: #d8d8d8;
  border-top: 0.0625rem solid #fff;
}

.product-finder-aside__fieldset {
  padding: 0 0.875rem 1.25rem 1rem;
}
.product-finder-aside__fieldset .react-select-container label {
  display: none;
}
.product-finder-aside__fieldset .react-select__menu {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border: 0.0625rem solid #fff;
  border-radius: 0 0 14px 14px;
  margin: 0 !important;
}
.product-finder-aside__fieldset .react-select__control {
  border: 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border-radius: 0.5rem;
}
.product-finder-aside__fieldset .react-select__control--menu-is-open {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.product-finder-aside__fieldset .react-select__value-container {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0.625rem;
}
.product-finder-aside__fieldset .react-select__multi-value {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.product-finder-aside__fieldset .react-select__dropdown-indicator {
  width: 2rem;
}
.product-finder-aside__fieldset .eact-select__multi-value__label {
  color: #003b68;
}
.product-finder-aside__fieldset .react-select__indicator-separator {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}

.product-finder-aside__fieldset--cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -0.4375rem;
}
.product-finder-aside__fieldset--cols > * {
  padding: 0.4375rem;
  width: 50%;
}

.product-finder-aside__toggle {
  font-size: 0.875rem;
  width: 100%;
  padding: 1rem 1.25rem;
}
.product-finder-aside__toggle.is-open .icon {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}
.product-finder-aside__toggle > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.product-finder-aside__toggle > dl > dt, .product-finder-aside__toggle > dl dd {
  margin-bottom: 0;
}
.product-finder-aside__toggle > dl > dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 11.875rem;
  margin-right: 1rem;
  text-align: left;
  font-weight: 700;
}
.product-finder-aside__toggle > dl > dd {
  margin-top: 0.3em;
  font-size: 0.75rem;
  color: #003b68;
}
.product-finder-aside__toggle > dl > dd .icon {
  height: 1em;
}

.product-finder-aside__spread {
  margin: 0 -0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.625rem;
}

.product-finder-aside__cell {
  padding: 0 0.375rem;
  width: 50%;
  position: relative;
}
.product-finder-aside__cell::before {
  display: inline-block;
  content: attr(data-unit);
  position: absolute;
  right: 0.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #7a7a7a;
  border-left: 0.125rem solid #d8d8d8;
  padding-left: 0.25rem;
}

.product-finder-aside__textbox {
  border: 0;
  background-color: #fff;
  border-radius: 0.4375rem;
  width: 100%;
  padding: 0.5rem 1.625rem 0.5rem 0.625rem;
  font-weight: 700;
  font-size: 1rem;
  line-height: 20/16;
  color: #003b68;
  -moz-appearance: textfield;
}
.product-finder-aside__textbox::-webkit-outer-spin-button, .product-finder-aside__textbox::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.product-finder-aside__checkbox-group {
  margin: 0;
}

.product-finder-aside__checkbox + label {
  font-size: 1rem;
  font-weight: 700;
  color: #282828;
  padding-left: 1.625em !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.product-finder-aside__checkbox + label::before {
  background-color: #fff;
  border: 0 !important;
  top: 0;
  -webkit-transform: none !important;
          transform: none !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  border-radius: 0.1875rem !important;
}
.product-finder-aside__checkbox + label::after {
  display: none !important;
}
.product-finder-aside__checkbox + label .icon {
  position: absolute;
  left: 0.1em;
  top: 0.2em;
  color: #003b68;
  height: 0.875em;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  -webkit-transform: scale(0);
          transform: scale(0);
}
.product-finder-aside__checkbox:checked + label .icon {
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.product-finder-aside__footer {
  padding-top: 3.125rem;
  background-color: #d8d8d8;
  border-top: 0.0625rem solid #fff;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .product-finder-aside__footer {
    margin-bottom: 4.6875rem;
  }
}

.product-finder-aside__cta {
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  padding: 1.25rem;
  width: 100%;
  background-color: #d8d8d8;
  color: #003b68;
  position: relative;
}
.product-finder-aside__cta::after {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  display: block;
  content: "";
  height: 0.75rem;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#bbb));
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #bbb);
}
.product-finder-aside__cta > .icon {
  vertical-align: top;
  margin-right: 0.3125rem;
}

.range-slider {
  height: 0.375rem;
}
.range-slider .MuiSlider-rail,
.range-slider .MuiSlider-track {
  height: 0.375rem;
  border-radius: 0.1875rem;
}
.range-slider .MuiSlider-rail {
  opacity: 1;
  background-color: #a3a3a3;
}
.range-slider .MuiSlider-track {
  background-color: #fff;
}
.range-slider .MuiSlider-mark {
  display: none;
}
.range-slider .MuiSlider-thumb {
  width: 0.625rem;
  height: 1.5rem;
  border-radius: 0.3125rem;
  margin-top: -0.5625rem;
  background-color: #003b68;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
}

.range-slider-labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: -0.375rem -0.375rem 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.range-slider-labels__label {
  padding: 0 0.375rem;
  font-size: 0.8125rem;
}
.range-slider-labels__label::after {
  display: inline-block;
  margin-left: 0.2em;
  content: attr(data-unit);
}

.ReactCollapse--collapse {
  -webkit-transition: height 0.35s;
  transition: height 0.35s;
}

.product-finder .ReactTable {
  border: 0;
  font-size: 1rem;
  z-index: 0;
}
.product-finder .ReactTable .rt-table {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  border: 1px solid #d8d8d8;
}
.product-finder .ReactTable .rt-thead {
  min-height: 80px;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #282828;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.product-finder .ReactTable .rt-thead .rt-th {
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.43;
  z-index: 0;
}
@media print {
  .product-finder .ReactTable .rt-thead .rt-th {
    background-color: #DBE2E9 !important;
  }
}
.product-finder .ReactTable .rt-thead .rt-th.rthfc-th-fixed {
  z-index: 1;
}
.product-finder .ReactTable .rt-thead .rt-th.-sort-asc {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.product-finder .ReactTable .rt-tbody {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.product-finder .ReactTable .rt-tr-group {
  border: 0;
}
.product-finder .ReactTable .rt-tr.-odd,
.product-finder .ReactTable .rt-tr.-even {
  background: transparent;
}
.product-finder .ReactTable .rt-tr.-odd .rt-td {
  background: #fff;
}
.product-finder .ReactTable .rt-tr.-even .rt-td {
  background: #DBE2E9;
}
.product-finder .ReactTable .rt-td,
.product-finder .ReactTable .rt-th {
  padding: 11px 20px;
  border-left: 1px solid #d8d8d8;
  border-right: 1px solid #d8d8d8;
  text-align: left;
}
.product-finder .ReactTable .rt-td {
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.product-finder .ReactTable .rt-td span:not(.product-label) {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.product-finder .ReactTable .rthfc-td-fixed.rthfc-td-fixed-left,
.product-finder .ReactTable .rthfc-td-fixed.rthfc-td-fixed-left-last {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.product-finder .ReactTable .rthfc-td-fixed.rthfc-td-fixed-left-last {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.product-finder .ReactTable .rt-th {
  padding-top: 0;
  padding-bottom: 0;
  background: #d8d8d8;
}
.product-finder .ReactTable .rt-td.rthfc-td-fixed {
  border-right: 0;
}
@media print {
  .product-finder .ReactTable .rt-td.rthfc-td-fixed {
    border-right: 2px solid #d8d8d8;
    background: #fff !important;
  }
}
.product-finder .ReactTable .rt-td.rthfc-td-fixed + .rt-td {
  border-left: 0;
}
.product-finder .ReactTable .rt-td.rthfc-td-fixed-left-last {
  border-right: 0;
}
.product-finder .ReactTable .rt-td.rthfc-td-fixed-left-last::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 10px;
  height: 100%;
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(#d8d8d8));
  background-image: linear-gradient(to left, rgba(255, 255, 255, 0), #d8d8d8);
}
@media print {
  .product-finder .ReactTable .rt-td.rthfc-td-fixed-left-last::after {
    display: none;
  }
}
.product-finder .rt-resizable-header-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.product-finder .header-th {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding-right: 20px;
  white-space: normal;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.product-finder .header-th__content {
  z-index: 0;
}
.product-finder .header-th__optional {
  width: 55px;
  margin-right: 10px;
  text-align: right;
}
.product-finder .rthfc-th-fixed .header-th {
  padding-right: 0;
}
.product-finder .rthfc-th-fixed .header-th__content {
  position: relative;
  padding-right: 20px;
}
.product-finder .product-link {
  text-align: left;
}
.product-finder .product-link a {
  display: block;
  padding-bottom: 0;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.product-finder .product-link .product-label {
  font-size: 12px;
  font-weight: 700;
  color: #DBE2E9;
  padding: 2px 5px;
  border-radius: 3px;
  display: inline-block;
  text-transform: uppercase;
}
.product-finder .product-link .product-label:not(:last-child) {
  margin-right: 5px;
}
.product-finder .product-link .product-label.new {
  background-color: #4fad26;
}
.product-finder .product-link .product-label.end-of-life {
  background-color: #e63323;
}
.product-finder .product-link .product-label.not-recommended-for-new-design {
  background-color: #e6b923;
}
.product-finder .product-stock-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.product-finder .product-stock-link__stock {
  width: 2rem;
  height: 2rem;
  margin-right: 15px;
  border-bottom-color: transparent;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28px' height='32px' viewBox='0 0 43 39'%3E%3Cg transform='translate(1.608 1.009)' fill='none' fill-rule='evenodd'%3E%3Cellipse stroke='%230041C0' stroke-width='2' cx='18.133' cy='32.227' rx='4.049' ry='4.133'/%3E%3Cellipse stroke='%230041C0' stroke-width='2' cx='30.28' cy='32.227' rx='4.049' ry='4.133'/%3E%3Cpath stroke='%230041C0' stroke-width='2' stroke-linejoin='round' d='M9.226 8.258h30.772l-3.24 16.53H12.466z'/%3E%3Cpath stroke='%230041C0' stroke-width='2' stroke-linecap='round' d='M10.04 12.39L7.762 0H0'/%3E%3Cpath d='M31.848 17.992c.414-.414.62-.957.62-1.5 0-.544-.206-1.088-.62-1.502l-3.454-3.454a2.125 2.125 0 00-3.002 0c-.774.773-.824 2-.153 2.832h-6.648c-1.17 0-2.123.953-2.123 2.123 0 1.17.953 2.123 2.123 2.123h6.648a2.126 2.126 0 00.153 2.833 2.125 2.125 0 003.002 0l3.454-3.455zm-5.456 2.454a.702.702 0 01-.207-.5c0-.19.074-.367.207-.5l1.04-1.04a.708.708 0 00-.501-1.207h-8.34a.708.708 0 010-1.415h8.34a.707.707 0 00.5-1.208l-1.039-1.04a.702.702 0 01-.207-.5c0-.188.074-.366.207-.5a.703.703 0 011 0l3.455 3.455a.708.708 0 010 1l-3.454 3.455a.708.708 0 01-1 0z' fill='%230041C0' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto;
  -webkit-transition: -webkit-transform 0.35s ease-out;
  transition: -webkit-transform 0.35s ease-out;
  transition: transform 0.35s ease-out;
  transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
}
.product-finder .product-stock-link__stock:hover {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}
.product-finder .data-sheet-wraper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.product-finder .data-sheet-wraper__link {
  width: 1.25rem;
  height: 1.5rem;
  margin-right: 10px;
  border: 0;
  padding: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='20px' height='24px' viewBox='0 0 20 24' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='SYMBOLS' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='FileIcon/PDF' transform='translate(1.000000, 1.000000)'%3E%3Cg%3E%3Cpolygon id='Rectangle-16' stroke='%230041C0' stroke-width='2' stroke-linejoin='round' points='9.09522457e-13 0 13.8837891 0 16 3 18 5.41699219 18 22 9.09522457e-13 22'%3E%3C/polygon%3E%3Cpolyline id='Path' stroke='%230041C0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' points='13 0.5 13 6 18 6'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Ctext id='PDF' font-family='Arial-BoldMT, Arial' font-size='7' font-weight='bold' fill='%230041C0'%3E%3Ctspan x='50%25' y='16' dominant-baseline='middle' text-anchor='middle'%3EPDF%3C/tspan%3E%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto;
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -webkit-transition: -webkit-transform 0.35s ease-out;
  transition: -webkit-transform 0.35s ease-out;
  transition: transform 0.35s ease-out;
  transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
}
.product-finder .data-sheet-wraper__link:hover {
  -webkit-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3);
}
.product-finder .pagination-bottom {
  padding-right: 0;
  padding-left: 0;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
}
@media print, screen and (max-width: 89.99875em) {
  .product-finder .pagination-bottom {
    max-width: 58.75rem;
  }
}
@media screen and (max-width: 61.25em) {
  .product-finder .pagination-bottom {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media print {
  .product-finder .pagination-bottom {
    max-width: 190mm;
    margin-left: 0;
  }
}
@media screen and (min-width: 61.25em) {
  .product-finder .pagination-bottom {
    width: 100%;
  }
}
.product-finder .pagination-bottom .pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.manage-attributes {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1010;
}
.manage-attributes__inner {
  padding-right: 0;
  padding-left: 0;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  top: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 80%;
  padding: 40px 20px;
  background-color: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media print, screen and (max-width: 89.99875em) {
  .manage-attributes__inner {
    max-width: 58.75rem;
  }
}
@media screen and (max-width: 61.25em) {
  .manage-attributes__inner {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media print {
  .manage-attributes__inner {
    max-width: 190mm;
    margin-left: 0;
  }
}
.manage-attributes__inner .icon-close {
  position: absolute;
  top: 10px;
  right: 10px;
  outline: 0;
  cursor: pointer;
}
@media print, screen and (min-width: 40em) {
  .manage-attributes__inner {
    padding: 60px 50px;
  }
  .manage-attributes__inner .icon-close {
    top: 20px;
    right: 20px;
  }
}
@media print, screen and (min-width: 64em) {
  .manage-attributes__inner {
    padding: 100px 80px;
  }
}
.manage-attributes .manage-attributes-form {
  margin: 0;
  overflow-y: auto;
  padding: 0;
}
.manage-attributes .manage-attributes-form .form--inline {
  display: block;
  margin: 0;
}
.manage-attributes .manage-attributes-form .form__title {
  margin: 0 0 20px 0;
}
@media print, screen and (min-width: 40em) {
  .manage-attributes .manage-attributes-form .form__title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0;
    min-width: 0;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
  }
}
.manage-attributes .attributeCheckbox {
  margin: 5px 0;
}
.manage-attributes .attributeCheckbox input[type=checkbox] + label {
  margin: 0;
  padding-left: 30px;
  font-weight: bold;
}

.product-finder.view {
  overflow: visible;
}

@media print, screen and (min-width: 40em) {
  .product-finder__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .product-finder__body.is-open .product-finder__main {
    width: calc(100% - 19.375rem);
  }
}
.product-finder__body.is-open .product-finder__main {
  width: 100%;
}

.product-finder__main {
  width: 100%;
}

.product-finder__aside {
  display: none;
}
@media print, screen and (min-width: 40em) {
  .product-finder__aside {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    max-width: 18.75rem;
    margin-top: -0.625rem;
    margin-right: 0.625rem;
  }
}
.product-finder__aside.is-open {
  display: block;
}
@media print, screen and (min-width: 40em) {
  .product-finder__aside.is-open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.product-finder__main {
  -ms-flex-negative: 1;
      flex-shrink: 1;
}

.section {
  margin: 100px 0;
}

.section-box {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.section-box + .paragraph {
  margin-top: 0;
}
.in-iframe .section-box {
  padding-top: 0 !important;
}

.section-box--protruding {
  margin-bottom: 2.5rem !important;
}

.section--force {
  margin: 100px 0 !important;
}

.width-full {
  width: 100%;
}

.size-md {
  font-size: 1.875rem;
}

.type-heavy {
  font-weight: 700;
}

.reset-spacing > *:last-child {
  margin-bottom: 0;
}

.ml-0x {
  margin-left: 0 !important;
}

.mb-0x {
  margin-bottom: 0 !important;
}

.mt-0x {
  margin-top: 0 !important;
}

.mb-1x {
  margin-bottom: 10px !important;
}

.mb-2x {
  margin-bottom: 20px;
}

.mb-4x {
  margin-bottom: 40px;
}

.mb-5x {
  margin-bottom: 50px;
}

.pt-0x {
  padding-top: 0 !important;
}

.pb-0x {
  padding-bottom: 0 !important;
}

.bg-white {
  background-color: #fff !important;
}

.text-center {
  text-align: center;
}

.flex-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.background-gray {
  background: #DBE2E9;
}

.background-blue {
  background: #003b68;
}

.background-red {
  background: #FF0000;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiZ2xvYmFsL19taXhpbnMuc2NzcyIsImdsb2JhbC9fZXh0ZW5kcy5zY3NzIiwicHJvZHVjdC1maW5kZXIuY3NzIiwiZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwicHJvZHVjdC1maW5kZXIuc2NzcyIsImNvbXBvbmVudHMvcHJvZHVjdC1maW5kZXIvX2Zvcm0tZWxlbWVudHMuc2NzcyIsImdsb2JhbC9fY29sb3ItdmFycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiY29tcG9uZW50cy9wcm9kdWN0LWZpbmRlci9fcHJvZHVjdC1maW5kZXItZm9ybS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiY29tcG9uZW50cy9wcm9kdWN0LWZpbmRlci9fc3RpY2t5LXRhYmxlLnNjc3MiLCJjb21wb25lbnRzL3Byb2R1Y3QtZmluZGVyL19wcm9kdWN0LWZpbmRlci1maWx0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsImNvbXBvbmVudHMvcHJvZHVjdC1maW5kZXIvX3Byb2R1Y3QtZmluZGVyLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvcHJvZHVjdC1maW5kZXIvX21hbmFnZS1hdHRyaWJ1dGVzLnNjc3MiLCJjb21wb25lbnRzL3Byb2R1Y3QtZmluZGVyL3Byb2R1Y3QtZmluZGVyLnNjc3MiLCJjb21wb25lbnRzL191dGlsaXRpZXMuaGVscGVycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztFQUFBO0FDa1lBLGtCQUFBO0FDaFdBO0VBQ0Usa0JBQUE7QUMxQkY7QUQ0QkU7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0FDMUJKO0FENEJJO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkV3Q1M7QURsRWY7QUQ0Qk07RUQrUkoscUJBQUE7RUFDQSxXRzFQYTtFSDJQYixZRzNQYTtFSDRQYix5QkFBQTtFQUNBLGtCQUFBO0VDaFNNLFdBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FDdkJSO0FEMkJJO0VEMFFGLGNBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0NBQUE7VUFBQSx3QkFBQTtFQUNBLGdDQUFBO0VBQ0EsK0JBQUE7RUFDQSwrQkFBQTtFQzlRSSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtBQ25CTjs7QUR5QkE7RUFDRSw0QkFBQTtBQ3RCRjtBRHdCRTtFQUNFLDBDQUFBO0FDdEJKO0FEeUJFO0VBQ0UsbUJBQUE7RUFDQSx5OENBQUE7QUN2Qko7O0FFdkNBO0VBQ0ksMkRBQUE7QUYwQ0o7O0FHM0RFO0VBQ0Usb0JBQUE7QUg4REo7QUczRE07RUFDRSxtQkZnR1E7RUUvRlIseUJGK2JPO0VFOWJQLCtDQUFBO1VBQUEsdUNBQUE7RUFDQSwyQ0FBQTtFQUFBLG1DQUFBO0VBQUEsMkJBQUE7RUFBQSxvREFBQTtBSDZEUjtBRzNEUTtFQUNFLGlEQUFBO1VBQUEseUNBQUE7QUg2RFY7QUcxRFE7RUFDRSw0QkFBQTtFQUNBLDZCQUFBO0VBQ0EsaURBQUE7VUFBQSx5Q0FBQTtBSDREVjtBR3pEWTtFQUNFLFFBQUE7RUFDQSxtQ0FBQTtVQUFBLDJCQUFBO0FIMkRkO0FHckRNO0VBQ0UsWUFBQTtFQUNBLDZCQUFBO0VBQ0EsZUZnYVU7RUUvWlYsaUJG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aEI0aERGOztBZ0J6aERBO0VBQ0UsbUJBQUE7QWhCNGhERjs7QWdCemhEQTtFQUNFLG1CQUFBO0FoQjRoREY7O0FnQnpoREE7RUFDRSxtQkFBQTtBaEI0aERGOztBZ0J2aERBO0VBQ0UseUJBQUE7QWhCMGhERjs7QWdCdmhEQTtFQUNFLDRCQUFBO0FoQjBoREY7O0FnQnJoREE7RUFDRSxpQ0FBQTtBaEJ3aERGOztBZ0JsaERBO0VBQ0Usa0JBQUE7QWhCcWhERjs7QWdCamhEQTtFQUNFLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0FoQm9oREY7O0FnQmhoREE7RUFDRSxtQlo3R1c7QUpnb0RiOztBZ0JoaERBO0VBQ0UsbUJYRmtCO0FMcWhEcEI7O0FnQmhoREE7RUFDRSxtQlp6SFM7QUo0b0RYIiwiZmlsZSI6InByb2R1Y3QtZmluZGVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi44LjFcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdlbmVyYWwgTWl4aW5zIChwdXQgc3BlY2lmaWMgb25lcyBpbiBjb21wb25lbnQgZmlsZXMgd2hlcmUgYXBwbGljYWJsZSlcblxuLy8vIE1peGluIC0gQ2xlYXJmaXguXG4vLy8gQWRkcyBjbGVhcmZpeCBiYXNlZCBvbiBodHRwOi8vYm91cmJvbi5pby9kb2NzLyNjbGVhcmZpeFxuLy8vIHVzZSBleGFtcGxlID0gICBAaW5jbHVkZSBjbGVhZml4XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG5cbi8vLyBNaXhpbiAtIFdyYXBwZXJcbi8vLyBPdXRlciBjb250YWluZXIgbWl4aW4gZm9yIGxhcmdlIHNjcmVlbnNcbkBtaXhpbiB3cmFwcGVyKCRjb250YWluZXItbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoLCAkb3V0ZXItY29udGFpbmVyLWJyZWFrOiBtZWRpdW0sICR2LW1hcmdpbjogMCwgJHYtcGFkZGluZzogMCwgJGgtcGFkZGluZzogJHNwYWNlLCAkaC1wYWRkaW5nLWxhcmdlOiAkaC1wYWRkaW5nKSB7XG4gIG1heC13aWR0aDogI3skY29udGFpbmVyLW1heC13aWR0aH07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46ICN7JHYtbWFyZ2lufSBhdXRvO1xuICBwYWRkaW5nOiAjeyR2LXBhZGRpbmd9ICN7JGgtcGFkZGluZ307XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkb3V0ZXItY29udGFpbmVyLWJyZWFrKSB7XG4gICAgcGFkZGluZzogI3skdi1wYWRkaW5nfSAjeyRoLXBhZGRpbmctbGFyZ2V9O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29udGFpbmVyLW1heC13aWR0aCkge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRoLXBhZGRpbmctbGFyZ2V9ICsgY2FsYygtNTB2dyArIGNhbGMoI3skY29udGFpbmVyLW1heC13aWR0aH0gLyAyKSkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skaC1wYWRkaW5nLWxhcmdlfSArIGNhbGMoLTUwdncgKyBjYWxjKCN7JGNvbnRhaW5lci1tYXgtd2lkdGh9IC8gMikpKTtcbiAgfVxufVxuXG4vLy8gVXNlIHRoZSBicmVha291dCBtaXhpbiBmb3IgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgZWRnZS10by1lZGdlXG4vLy8gRXZlbiB3aGVuIGEgcGFyZW50IGNvbnRhaW5lciB1c2VzIHRoZSB3cmFwcGVyIG1peGluXG5AbWl4aW4gYnJlYWtvdXQoJHYtcGFkZGluZzogJHNwYWNlLWRvdWJsZSkge1xuICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDUwJSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDUwJSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygjeyR2LXBhZGRpbmd9ICsgY2FsYygtNTB2dyArIDUwJSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JHYtcGFkZGluZ30gKyBjYWxjKC01MHZ3ICsgNTAlKSk7XG59XG5cbi8vLyBNaXhpbiAtIFN0YW5kYXJkIE1hcmdpblxuQG1peGluIG1hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuQG1peGluIG5vLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtaXhpbiBib3JkZXItYXJyb3coJGRpcmVjdGlvbjogYm90dG9tLCAkc2l6ZTogOHB4LCAkYm9yZGVyLXdpZHRoOiAycHgsICRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHNpemU7XG4gIGhlaWdodDogJHNpemU7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAwICRib3JkZXItd2lkdGggJGJvcmRlci13aWR0aDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gIH1cbiAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDIyNWRlZyk7XG4gIH1cbiAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigxMzVkZWcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooLTQ1ZGVnKTtcbiAgfVxufVxuXG5AbWl4aW4gbGluaygkY29sb3I6ICRwcmltYXJ5LWNvbG9yLCAkYm9yZGVyLXNpemU6IDJweCkge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4ycztcbiAgYmFja2dyb3VuZC1zaXplOiAwIGNhbGMoMnJlbS8xNik7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDZyZW0vMTYpO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgY2FsYygycmVtLzE2KTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBsaW5rLWhvdmVyLXByaW1hcnkoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLCAkY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjJzO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgY2FsYygycmVtLzE2KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoNnJlbS8xNik7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBjYWxjKDJyZW0vMTYpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGxpbmstYWN0aXZlKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgY2FsYygycmVtLzE2KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoNnJlbS8xNik7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBjYWxjKDJyZW0vMTYpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbigkYmc6JHByaW1hcnktY29sb3IsICRjb2xvcjokd2hpdGUsICRob3ZlckJnOiAkd2hpdGUsICRob3ZlckNvbG9yOiAkcHJpbWFyeS1jb2xvciwgJGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLCAkbWluLXdpZHRoOiAyNDdweCwgJG1pbi1oZWlnaDogNjBweCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJG1pbi13aWR0aDtcbiAgcGFkZGluZzogJHNwYWNlIDEuNSokc3BhY2U7XG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSN7cmVtLWNhbGMoNCl9KTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaG92ZXJDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJCZztcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLS1naG9zdCB7XG4gIEBpbmNsdWRlIGJ1dHRvbigkYmc6JHdoaXRlLCAkY29sb3I6JHByaW1hcnktY29sb3IsICRob3ZlckJnOiAkcHJpbWFyeS1jb2xvciwgJGhvdmVyQ29sb3I6ICR3aGl0ZSk7XG59XG5cbkBtaXhpbiBidXR0b24tLWFsdCB7XG4gIEBpbmNsdWRlIGJ1dHRvbigkYmc6JHdoaXRlLCAkY29sb3I6JHByaW1hcnktY29sb3IsICRob3ZlckJnOiAkcHJpbWFyeS1jb2xvciwgJGhvdmVyQ29sb3I6ICR3aGl0ZSwgJGJvcmRlcjogMCk7XG59XG5cbkBtaXhpbiBzZWFyY2gtYnV0dG9ucyB7XG4gIC8vIEB0b2RvIFdoeSAuc2VhcmNoLWZvcm1zLWFyZWEgY2xhc3MgaXMgbm90IHVzZWQgaW4gcGFnZXMsIG9ubHkgaW4gb3ZlcmxheT9cbiAgLy8gQ29weSBmcm9tIF9wYXR0ZXJucy8wMy1vcmdhbmlzbXMvc2l0ZS8xMS1zaXRlLXNlYXJjaC1mb3Jtcy1hcmVhL3NlYXJjaC1mb3Jtcy1hcmVhLnNjc3NcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNlLXF1YWRydXBsZTtcblxuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1zdWJtaXQgfiAucmVzZXQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJHNwYWNlLXRyaXBsZSAwIDAgMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW46IDAgMCAwICRzcGFjZS1kb3VibGU7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc3VibWl0ICsgLmFqYXgtcHJvZ3Jlc3Mge1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2U7XG4gIH1cbn1cblxuQG1peGluIHNob3ctYXMtYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgaW1nLFxuICB2aWRlbyB7XG4gICAgQGV4dGVuZCAlYmFja2dyb3VuZC1jb3Zlci1saWtlO1xuICB9XG59XG5cbkBtaXhpbiBjdXN0b20teHktZ3JpZC1jb250YWluZXIoJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZykge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigkd2lkdGgsICRwYWRkaW5nKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBtYXgtd2lkdGg6ICRncmlkLWNvbnRhaW5lci1tZWRpdW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCgkZ2xvYmFsLXdpZHRoLW1lZGl1bSArIHJlbS1jYWxjKCRzcGFjZS1xdWFkcnVwbGUpKSBkb3duKSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjZS1kb3VibGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UtZG91YmxlO1xuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBtYXgtd2lkdGg6IDE5MG1tO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbkBtaXhpbiBjdXN0b20tc2xpY2staW4tZmxleCgpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgoJGdsb2JhbC13aWR0aC1tZWRpdW0gKyByZW0tY2FsYygkc3BhY2UtcXVhZHJ1cGxlKSkgZG93bikge1xuICAgICYucGFyYWdyYXBoLWJldmVsbGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOy8vZml4IGZvciBzbGljayBzbGlkZXIgYnVnIGluIGZsZXggY29udGFpbmVyc1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpY29uLWNsb3NlKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAuaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogMC41cyBhbGw7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgLTJweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgycHgsIC0ycHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwYWdpbmctbGlzdCgkYnV0dG9uLXNpemU6ICRzcGFjZS1kb3VibGUsICRidXR0b24tZm9udC1zaXplOiAwLjYyNXJlbSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46ICRzcGFjZS1kb3VibGUgMCAwIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIHBhZGRpbmc6IDAgJHNwYWNlO1xuICAgIGxpbmUtaGVpZ2h0OiAkc3BhY2UtZG91YmxlO1xuICB9XG5cbiAgYnV0dG9uLFxuICAucGFnZXItYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmctYnV0dG9uKCRidXR0b24tc2l6ZSwgJGJ1dHRvbi1mb250LXNpemUpO1xuICB9XG59XG5cbkBtaXhpbiBwYWdpbmctYnV0dG9uKCRidXR0b24tc2l6ZTogJHNwYWNlLWRvdWJsZSwgJGJ1dHRvbi1mb250LXNpemU6IDAuNjI1cmVtKSB7XG4gIHdpZHRoOiAkYnV0dG9uLXNpemU7XG4gIGhlaWdodDogJGJ1dHRvbi1zaXplO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNSAqICRidXR0b24tc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgbGluZS1oZWlnaHQ6ICRidXR0b24tc2l6ZSAtIDFweDtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay13aGl0ZTtcbiAgb3V0bGluZTogMDtcblxuICAmOmhvdmVyLFxuICAuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbkBtaXhpbiB0aWNrKCRzaXplOiAkc3BhY2UtZG91YmxlLCAkdGljay1jb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjM1KiRzaXplO1xuICBoZWlnaHQ6IDAuNjUqJHNpemU7XG4gIG1hcmdpbjogMCBhdXRvIDAuMTUqJHNpemU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgM3B4ICR0aWNrLWNvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDNweCAkdGljay1jb2xvcjtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbn1cblxuQG1peGluIGNoZWNrYm94KCRzaXplOiAkc3BhY2UtZG91YmxlLCAkYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzaXplO1xuICBoZWlnaHQ6ICRzaXplO1xuICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbkBtaXhpbiBmb3JtLS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogJHNwYWNlLXF1YWRydXBsZTtcblxuICAuc3VibWl0IHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgbWFyZ2luOiAwIDAgJHNwYWNlLXRyaXBsZTtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJl9fc2Vjb25kYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41KiRzcGFjZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjUqJHNwYWNlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJi5kaXNhYmxlZDpob3ZlcixcbiAgICAgICZbZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2UtdHJpcGxlO1xuXG4gICAgLnN1Ym1pdCB7XG4gICAgICBtaW4td2lkdGg6IDI0N3B4O1xuICAgICAgbWFyZ2luOiAwICRzcGFjZS1kb3VibGUgMCAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiBUcnVuY2F0ZSBUZXh0ICovXG5AbWl4aW4gdHJ1bmNhdGUtdGV4dCgkd2lkdGgpIHtcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuIiwiQGltcG9ydCBcIm1peGluc1wiO1xuXG4lYmFja2dyb3VuZC1jb3Zlci1saWtlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHJpZ2h0OiAtOTk5OXB4O1xuICBib3R0b206IC05OTk5cHg7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IGF1dG87XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZSAqIDQ7XG4gIH1cbn1cblxuJWIxIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4lYmxvY2stdGl0bGUge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTY2NztcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbiVmb3JtLWNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmICsgbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMi41KiRzcGFjZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc3BhY2UtZG91YmxlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveCgpO1xuXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdGljaygpO1xuXG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbGVmdDogNnB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBpbnB1dC0td2l0aC1pY29uLS1yaWdodCBpbnB1dC0td2l0aC1pY29uLS1tYWduaWZpZXJcbiVpbnB1dC0td2l0aC1pY29uIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAmLS1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgNTAlO1xuICB9XG5cbiAgJi0tbWFnbmlmaWVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgY2xhc3M9J2lucHV0LXN5bWJvbF9fc3ltYm9sJyB3aWR0aD0nMjUnIGhlaWdodD0nMjUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NnIHN0cm9rZS13aWR0aD0nLjEnIGZpbGwtcnVsZT0nbm9uemVybycgZmlsbD0nJTIzQTNBM0EzJyBzdHJva2U9JyUyM0EzQTNBMyclM0UlM0NwYXRoIGQ9J00xMC42MTcgOS43MjVhLjQ3Mi40NzIgMCAxMTAgLjk0My40NzIuNDcyIDAgMDEwLS45NDN6Jy8lM0UlM0NwYXRoIGQ9J00xLjY0NCAyMS42ODlsNi4yOTQtNi4yOTRhOS4zNDcgOS4zNDcgMCAwMS0xLjU2Ni01LjE5OWMwLTUuMiA0LjIzMS05LjQzMSA5LjQzMy05LjQzMSA1LjE5OSAwIDkuNDMgNC4yMyA5LjQzIDkuNDMxIDAgNS4yLTQuMjMgOS40MzItOS40MzEgOS40MzJhOS4zNDMgOS4zNDMgMCAwMS01LjE5OS0xLjU2NmwtMS43NCAxLjc0czAgMCAwIDBsLTQuNTU0IDQuNTU0Yy0uMzU2LjM1Ny0uODMuNTUzLTEuMzM0LjU1My0uNTAzIDAtLjk3Ny0uMTk2LTEuMzMzLS41NTJhMS44NzMgMS44NzMgMCAwMS0uNTUzLTEuMzM0YzAtLjUwNC4xOTYtLjk3OC41NTMtMS4zMzR6bTkuMTgzLTQuNjJzMCAwIDAgMGE4LjQxNSA4LjQxNSAwIDAwNC45NzcgMS42MTVjNC42OCAwIDguNDg4LTMuODA3IDguNDg4LTguNDg4IDAtNC42OC0zLjgwOC04LjQ4OC04LjQ4OC04LjQ4OHMtOC40ODggMy44MDgtOC40ODggOC40ODhjMCAxLjguNTU4IDMuNTIxIDEuNjE2IDQuOTc3YTguNTMgOC41MyAwIDAwMS44OTUgMS44OTV6bS0uOTkuNDI3YTkuNjAzIDkuNjAzIDAgMDEtMS4zMzMtMS4zMzRMNy4xNjYgMTcuNWMuNDA3LjQ4Ljg1NC45MjcgMS4zMzQgMS4zMzRsMS4zMzgtMS4zMzh6TTIuMzEgMjMuNjlhLjkzNy45MzcgMCAwMC42NjcuMjc2LjkzNy45MzcgMCAwMC42NjctLjI3Nmw0LjE4Ny00LjE4OGExMi41MiAxMi41MiAwIDAxLTEuMzMzLTEuMzMzTDIuMzEgMjIuMzU2YS45MzYuOTM2IDAgMDAtLjI3Ni42NjcuOTM2LjkzNiAwIDAwLjI3Ni42Njd6Jy8lM0UlM0NwYXRoIGQ9J00xNS44MDQgMi42NTFjNC4xNiAwIDcuNTQ1IDMuMzg1IDcuNTQ1IDcuNTQ1cy0zLjM4NSA3LjU0NS03LjU0NSA3LjU0NS03LjU0NS0zLjM4NC03LjU0NS03LjU0NWMwLTQuMTYgMy4zODQtNy41NDUgNy41NDUtNy41NDV6bTAgMTQuMTQ3YTYuNjEgNi42MSAwIDAwNi42MDEtNi42MDIgNi42MSA2LjYxIDAgMDAtNi42MDEtNi42MDEgNi42MSA2LjYxIDAgMDAtNi42MDIgNi42MDIgNi42MSA2LjYxIDAgMDA2LjYwMiA2LjYwMnonLyUzRSUzQ3BhdGggZD0nTTEwLjUxOSA4LjE3MmE1LjY1OSA1LjY1OSAwIDAxMi4wNDUtMi42MTMgNS42MTkgNS42MTkgMCAwMTMuMjQtMS4wMjEuNDcyLjQ3MiAwIDAxMCAuOTQzIDQuNzQ4IDQuNzQ4IDAgMDAtNC40MDQgMy4wMy40NzIuNDcyIDAgMTEtLjg4LS4zMzl6Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cblxuJWZvcm0tLWlubGluZSB7XG4gIC5mb3JtLWl0ZW0sXG4gICYgPiAuZm9ybS1pdGVtIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcblxuICAgICYgPiAuZm9ybS1pdGVtLFxuICAgICYgPiAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgICYgPiAuZm9ybS10eXBlLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuJWNhcmQtaG92ZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSN7cmVtLWNhbGMoMTApfSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cbn1cblxuJXZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi44LjFcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiBUcnVuY2F0ZSBUZXh0ICovXG4ubWFuYWdlLWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZUNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1hbmFnZS1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGVDaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZUNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZUNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWw6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q4ZDhkODtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi5tYW5hZ2UtYXR0cmlidXRlcyAuYXR0cmlidXRlQ2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIG1hcmdpbjogMCBhdXRvIDNweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAzcHggIzAwM2I2ODtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAzcHggIzAwM2I2ODtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgbGVmdDogNnB4O1xufVxuXG4ucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIgLmZvcm0tdGV4dCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4ucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIgLmZvcm0tdGV4dCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDIwcHgpIDUwJTtcbn1cbi5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciAuZm9ybS10ZXh0IHtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBjbGFzcz0naW5wdXQtc3ltYm9sX19zeW1ib2wnIHdpZHRoPScyNScgaGVpZ2h0PScyNScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2cgc3Ryb2tlLXdpZHRoPScuMScgZmlsbC1ydWxlPSdub256ZXJvJyBmaWxsPSclMjNBM0EzQTMnIHN0cm9rZT0nJTIzQTNBM0EzJyUzRSUzQ3BhdGggZD0nTTEwLjYxNyA5LjcyNWEuNDcyLjQ3MiAwIDExMCAuOTQzLjQ3Mi40NzIgMCAwMTAtLjk0M3onLyUzRSUzQ3BhdGggZD0nTTEuNjQ0IDIxLjY4OWw2LjI5NC02LjI5NGE5LjM0NyA5LjM0NyAwIDAxLTEuNTY2LTUuMTk5YzAtNS4yIDQuMjMxLTkuNDMxIDkuNDMzLTkuNDMxIDUuMTk5IDAgOS40MyA0LjIzIDkuNDMgOS40MzEgMCA1LjItNC4yMyA5LjQzMi05LjQzMSA5LjQzMmE5LjM0MyA5LjM0MyAwIDAxLTUuMTk5LTEuNTY2bC0xLjc0IDEuNzRzMCAwIDAgMGwtNC41NTQgNC41NTRjLS4zNTYuMzU3LS44My41NTMtMS4zMzQuNTUzLS41MDMgMC0uOTc3LS4xOTYtMS4zMzMtLjU1MmExLjg3MyAxLjg3MyAwIDAxLS41NTMtMS4zMzRjMC0uNTA0LjE5Ni0uOTc4LjU1My0xLjMzNHptOS4xODMtNC42MnMwIDAgMCAwYTguNDE1IDguNDE1IDAgMDA0Ljk3NyAxLjYxNWM0LjY4IDAgOC40ODgtMy44MDcgOC40ODgtOC40ODggMC00LjY4LTMuODA4LTguNDg4LTguNDg4LTguNDg4cy04LjQ4OCAzLjgwOC04LjQ4OCA4LjQ4OGMwIDEuOC41NTggMy41MjEgMS42MTYgNC45NzdhOC41MyA4LjUzIDAgMDAxLjg5NSAxLjg5NXptLS45OS40MjdhOS42MDMgOS42MDMgMCAwMS0xLjMzMy0xLjMzNEw3LjE2NiAxNy41Yy40MDcuNDguODU0LjkyNyAxLjMzNCAxLjMzNGwxLjMzOC0xLjMzOHpNMi4zMSAyMy42OWEuOTM3LjkzNyAwIDAwLjY2Ny4yNzYuOTM3LjkzNyAwIDAwLjY2Ny0uMjc2bDQuMTg3LTQuMTg4YTEyLjUyIDEyLjUyIDAgMDEtMS4zMzMtMS4zMzNMMi4zMSAyMi4zNTZhLjkzNi45MzYgMCAwMC0uMjc2LjY2Ny45MzYuOTM2IDAgMDAuMjc2LjY2N3onLyUzRSUzQ3BhdGggZD0nTTE1LjgwNCAyLjY1MWM0LjE2IDAgNy41NDUgMy4zODUgNy41NDUgNy41NDVzLTMuMzg1IDcuNTQ1LTcuNTQ1IDcuNTQ1LTcuNTQ1LTMuMzg0LTcuNTQ1LTcuNTQ1YzAtNC4xNiAzLjM4NC03LjU0NSA3LjU0NS03LjU0NXptMCAxNC4xNDdhNi42MSA2LjYxIDAgMDA2LjYwMS02LjYwMiA2LjYxIDYuNjEgMCAwMC02LjYwMS02LjYwMSA2LjYxIDYuNjEgMCAwMC02LjYwMiA2LjYwMiA2LjYxIDYuNjEgMCAwMDYuNjAyIDYuNjAyeicvJTNFJTNDcGF0aCBkPSdNMTAuNTE5IDguMTcyYTUuNjU5IDUuNjU5IDAgMDEyLjA0NS0yLjYxMyA1LjYxOSA1LjYxOSAwIDAxMy4yNC0xLjAyMS40NzIuNDcyIDAgMDEwIC45NDMgNC43NDggNC43NDggMCAwMC00LjQwNCAzLjAzLjQ3Mi40NzIgMCAxMS0uODgtLjMzOXonLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9OTBlbVwiO1xufVxuXG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fY29udHJvbCB7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjdzO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fY29udHJvbDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fY29udHJvbC0tbWVudS1pcy1vcGVuIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fY29udHJvbC0tbWVudS1pcy1vcGVuIC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvcjo6YWZ0ZXIge1xuICB0b3A6IDZweDtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKC0yMjVkZWcpO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fdmFsdWUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwLjVyZW0gMCAwLjVyZW0gMzBweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX3ZhbHVlLWNvbnRhaW5lci0taXMtbXVsdGkge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX2luZGljYXRvci1zZXBhcmF0b3Ige1xuICB3aWR0aDogMnB4O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjZDhkOGQ4O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fZHJvcGRvd24taW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogODBweDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvciBzdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fZHJvcGRvd24taW5kaWNhdG9yOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMCAzcHggM3B4O1xuICBib3JkZXItY29sb3I6ICM3YTdhN2E7XG4gIHRyYW5zZm9ybTogcm90YXRlWigtNDVkZWcpO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTZweDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHRyYW5zaXRpb246IDAuNXMgdHJhbnNmb3JtO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWVfX2xhYmVsIHtcbiAgcGFkZGluZzogMCAxY2ggMCAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6OmJlZm9yZSwgLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWVfX3JlbW92ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMThweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDNiNjg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZV9fcmVtb3ZlIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMTRweCAxNHB4O1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAzcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX21lbnUtbGlzdCB7XG4gIHBhZGRpbmc6IDIwcHggMDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX29wdGlvbiB7XG4gIHBhZGRpbmc6IDJweCAzMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX29wdGlvbiAuY2hlY2tib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogLTRweDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX29wdGlvbi0taXMtc2VsZWN0ZWQge1xuICBjb2xvcjogI2MxYzFjMTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19vcHRpb24tLWlzLXNlbGVjdGVkIHNwYW4ge1xuICBjb2xvcjogIzAwMDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX29wdGlvbi0taXMtc2VsZWN0ZWQgLnRpY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBtYXJnaW46IDAgYXV0byAzcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgM3B4ICMwMDNiNjg7XG4gIGJvcmRlci1yaWdodDogc29saWQgM3B4ICMwMDNiNjg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19vcHRpb24tLWlzLWZvY3VzZWQge1xuICBjb2xvcjogIzAwM2I2ODtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19vcHRpb24tLWlzLWZvY3VzZWQgc3BhbiB7XG4gIGNvbG9yOiAjMDAzYjY4O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIuZXJyb3IgLnJlYWN0LXNlbGVjdF9fY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2U2MzMyMztcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyLmVycm9yIC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvcjo6YmVmb3JlLCAucmVhY3Qtc2VsZWN0LWNvbnRhaW5lci5lcnJvciAucmVhY3Qtc2VsZWN0X19kcm9wZG93bi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE4cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzMzIzO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdG9wOiAtM3B4O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIuZXJyb3IgLnJlYWN0LXNlbGVjdF9fZHJvcGRvd24taW5kaWNhdG9yOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGxlZnQ6IDMxcHg7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lci5lcnJvciAucmVhY3Qtc2VsZWN0X19kcm9wZG93bi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLnNlbGVjdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnNlbGVjdC13cmFwcGVyIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDAgNXB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNTQ7XG4gIGNvbG9yOiAjN2E3YTdhO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xufVxuLnNlbGVjdC13cmFwcGVyIGxhYmVsLnZpc2libGUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIuZm9ybS1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IG5vbmU7XG59XG4ucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIgLmlucHV0LXN5bWJvbF9fc3ltYm9sIHtcbiAgdG9wOiAzNHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cywgb3BhY2l0eSAwLjdzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbn1cbi5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciAuaW5wdXQtc3ltYm9sX19jdGEge1xuICB0b3A6IDM0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MsIG9wYWNpdHkgMC43cztcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciAuaGFzLXZhbHVlIC5pbnB1dC1zeW1ib2xfX3N5bWJvbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLnJlYWN0LXNlYXJjaC1pbnB1dC13cmFwcGVyIC5oYXMtdmFsdWUgLmlucHV0LXN5bWJvbF9fY3RhIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbn1cblxuLnJlYWN0LWF1dG9zdWdnZXN0X19zdWdnZXN0aW9ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmVhY3QtYXV0b3N1Z2dlc3RfX3N1Z2dlc3Rpb25zLWxpc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjBweCAyNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4ucmVhY3QtYXV0b3N1Z2dlc3RfX3N1Z2dlc3Rpb25zLWxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTRweDtcbiAgcmlnaHQ6IC0ycHg7XG4gIGxlZnQ6IC0ycHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q4ZDhkODtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5yZWFjdC1hdXRvc3VnZ2VzdF9fc3VnZ2VzdGlvbnMtbGlzdDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTVweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjYTNhM2EzO1xufVxuLnJlYWN0LWF1dG9zdWdnZXN0X19zdWdnZXN0aW9uIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmVhY3QtYXV0b3N1Z2dlc3RfX3N1Z2dlc3Rpb24tLWhpZ2hsaWdodGVkIHtcbiAgY29sb3I6ICMwMDNiNjg7XG59XG5cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm1zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybXMge1xuICAgIG1heC13aWR0aDogNTguNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybXMge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybXMge1xuICAgIG1heC13aWR0aDogMTkwbW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbn1cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm1zIC50YWJzLS1mdWxsIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybXMgLnRhYnMtLWZ1bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtcyAudGFicy0tZnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIHtcbiAgLyogbWFyZ2luOiAkc3BhY2UtcXVhZHJ1cGxlIDAgJHNwYWNlLXF1aW50dXBsZTsgKi9cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybS5yZWZpbmUtZmlsdGVycy1mb3JtIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3NXB4O1xufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybS5yZWZpbmUtZmlsdGVycy1mb3JtIC5mb3JtX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0gLmZvcm1fX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSAuZm9ybV9fYWN0aW9ucyAuc3VibWl0IHtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBvdXRsaW5lOiAwO1xufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSAuZm9ybV9fYWN0aW9uc19fc2Vjb25kYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSAuZm9ybV9fYWN0aW9uc19fc2Vjb25kYXJ5IGJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zX19zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zX19zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciB7XG4gIGNvbG9yOiAjYzFjMWMxO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSAuZm9ybV9fYWN0aW9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zIC5zdWJtaXQge1xuICAgIG1pbi13aWR0aDogMjQ3cHg7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICB9XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5lcnJvcl9fbWVzc2FnZSB7XG4gIGNvbG9yOiAjZTYzMzIzO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0gLmZvcm0tLWlubGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMDtcbn1cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0uZmluZGVyLW1vZGUgLmZvcm0tLWlubGluZSAuZm9ybS10eXBlLXNlbGVjdCwgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybS5zZWFyY2gtbW9kZSAuZm9ybS0taW5saW5lIC5mb3JtLXR5cGUtc2VsZWN0IHtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIHtcbiAgICAvKiAmLmZpbmRlci1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgICAgLmZvcm1fX3RpdGxlLFxuICAgICAgJiA+IC5yZWFjdC1zZWxlY3QtY29udGFpbmVyLFxuICAgICAgJiA+IC5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlcixcbiAgICAgIC5mb3JtX19hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UtcXVhZHJ1cGxlO1xuICAgICAgfVxuICAgIH0gKi9cbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLmZpbmRlci1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG4gIC52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0uc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSAuZm9ybV9fdGl0bGUsIC52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0uc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSA+IC5yZWFjdC1zZWxlY3QtY29udGFpbmVyLCAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUgPiAucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIsXG4gIC52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0uc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSAuZm9ybV9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUgLmlucHV0LWNlbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zIC5zdWJtaXQge1xuICAgIG1pbi13aWR0aDogMjQ3cHg7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICB9XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkOGQ4ZDg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgKyAxcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICB9XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5zd2l0Y2gtbGluayB7XG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDI1cHg7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMDAzYjY4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejRLUEhOMlp5QjNhV1IwYUQwaU1UZHdlQ0lnYUdWcFoyaDBQU0l4TjNCNElpQjJhV1YzUW05NFBTSXdJREFnTVRjZ01UY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUkrQ2lBZ0lDQThaeUJwWkQwaVVHRm5aUzB4SWlCemRISnZhMlU5SW01dmJtVWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0S0lDQWdJQ0FnSUNBOFp5QnBaRDBpTVRoZlVISnZaSFZqZEY5R2FXNWtaWEpmVkdWNGRGOVRaV0Z5WTJoZlJXNTBaWEpsWkNJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9MVFV5T1M0d01EQXdNREFzSUMwME5UTXVNREF3TURBd0tTSWdjM1J5YjJ0bFBTSWpNREEwTVVNd0lpQnpkSEp2YTJVdGQybGtkR2c5SWpFdU5TSStDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pRY205a2RXTjBMVk5sWVhKamFDSWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTUM0d01EQXdNREFzSURFeU1DNHdNREF3TURBcElqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKTWFXNXJjeUlnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb05USTVMakF3TURBd01Dd2dNekExTGpBd01EQXdNQ2tpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKSlEwOU9VeTlTWlhObGRDOUNiSFZsTFRJdFEyOXdlU0lnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01DNHdNREF3TURBc0lESTFMakF3TURBd01Da2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThaeUJwWkQwaVNVTlBUbE12VTJWaGNtTm9MMEpzZFdVaUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLREF1TURBd01EQXdMQ0F5TGpBd01EQXdNQ2tpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHTnBjbU5zWlNCcFpEMGlUM1poYkNJZ1kzZzlJamt1TnpVaUlHTjVQU0k0TGpJMUlpQnlQU0kySWo0OEwyTnBjbU5zWlQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHNhVzVsSUhneFBTSXdMamM0TmpBMk9UYzNOQ0lnZVRFOUlqRTJMalV6TmpBM016Z2lJSGd5UFNJMUxqSTFJaUI1TWowaU1USXVOelVpSUdsa1BTSk1hVzVsTFVOdmNIa3RNeUlnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lqNDhMMnhwYm1VK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09XCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc3RpY2t5LXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc3RpY2t5LXRhYmxlIC5ydC1yZXNpemVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnN0aWNreS10YWJsZSB7IC8qIElFMTEgKi8gfVxuICAuc3RpY2t5LXRhYmxlIC5SZWFjdFRhYmxlIC5ydC10YWJsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG4gIC5zdGlja3ktdGFibGUgLlJlYWN0VGFibGUgLnJ0LXRib2R5IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuLnN0aWNreS10YWJsZSAuc3RpY2t5LXRhYmxlLWlubmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5zdGlja3ktdGFibGUuc3RpY2t5LWFjdGl2ZSAuc3RpY2t5LXRhYmxlLWlubmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnN0aWNreS10YWJsZS5zdGlja3ktYWN0aXZlIC5zdGlja3ktdGFibGUtaW5uZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cbi5zdGlja3ktdGFibGUuc3RpY2t5LWFjdGl2ZSAuUmVhY3RUYWJsZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zdGlja3ktdGFibGUuc3RpY2t5LWFjdGl2ZSAuUmVhY3RUYWJsZSAucnQtdGFibGUge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzLWZvcm0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogNTguNzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtLW92ZXJmbG93IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtLS1pbmxpbmUge1xuICBwYWRkaW5nOiA2MHB4IDIwcHggNDZweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyAuZm9ybS0taW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtX190aXRsZSxcbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyBoNC5mb3JtX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2FucyBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX3RpdGxlLFxuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgaDQuZm9ybV9fdGl0bGUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5yZWFjdC1zZWxlY3QtY29udGFpbmVyLFxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLnJlYWN0LXNlbGVjdC1jb250YWluZXIsXG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyAucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICB9XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmljb24tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIG91dGxpbmU6IDA7XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyAuZm9ybV9fYWN0aW9ucyAuc3VibWl0IHtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBvdXRsaW5lOiAwO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtX19hY3Rpb25zX19zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnNfX3NlY29uZGFyeSBidXR0b24ge1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtX19hY3Rpb25zX19zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnNfX3NlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcbiAgY29sb3I6ICNjMWMxYzE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtX19hY3Rpb25zIC5zdWJtaXQge1xuICAgIG1pbi13aWR0aDogMjQ3cHg7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyAuZm9ybV9fYWN0aW9ucyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci5yZXNldC1hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5jb3VudC1tYXRjaGVzIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLmNvdW50LW1hdGNoZXMge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMtYnV0dG9ucyB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIge1xuICBjb2xvcjogIzAwM2I2ODtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uIHtcbiAgbWluLXdpZHRoOiAxODBweDtcbiAgbWluLWhlaWdodDogNDBweDtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1maWx0ZXJzLmJ1dHRvbjpob3ZlciwgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICMwMDNiNjg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtZmlsdGVycy5idXR0b246aG92ZXIgLmljb24tZmlsdGVycywgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uOmZvY3VzIC5pY29uLWZpbHRlcnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzYjY4O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uOmhvdmVyIC5pY29uLWZpbHRlcnM6OmJlZm9yZSwgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uOmhvdmVyIC5pY29uLWZpbHRlcnM6OmFmdGVyLCAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtZmlsdGVycy5idXR0b246Zm9jdXMgLmljb24tZmlsdGVyczo6YmVmb3JlLCAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtZmlsdGVycy5idXR0b246Zm9jdXMgLmljb24tZmlsdGVyczo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzYjY4O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMgLmljb24tZmlsdGVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1maWx0ZXJzIC5pY29uLWZpbHRlcnM6OmJlZm9yZSwgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMgLmljb24tZmlsdGVyczo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1maWx0ZXJzIC5pY29uLWZpbHRlcnM6OmJlZm9yZSB7XG4gIHRvcDogLTVweDtcbiAgbGVmdDogLTRweDtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1maWx0ZXJzIC5pY29uLWZpbHRlcnM6OmFmdGVyIHtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IDNweDtcbiAgd2lkdGg6IDZweDtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1hdHRyaWJ1dGVzIHtcbiAgbWFyZ2luLXJpZ2h0OiAzLjVyZW07XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtYXR0cmlidXRlcyAuaWNvbi1maWx0ZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDAzYjY4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3R0b206IDAuMWVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWF0dHJpYnV0ZXMgLmljb24tZmlsdGVyczo6YmVmb3JlLCAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtYXR0cmlidXRlcyAuaWNvbi1maWx0ZXJzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzYjY4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtYXR0cmlidXRlcyAuaWNvbi1maWx0ZXJzOjpiZWZvcmUge1xuICBsZWZ0OiAtNHB4O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWF0dHJpYnV0ZXMgLmljb24tZmlsdGVyczo6YWZ0ZXIge1xuICByaWdodDogLTRweDtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnJlc2V0LWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIucmVzZXQtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAubm8tcmVzdWx0cy1ibG9jayB7XG4gIG9yZGVyOiA1O1xuICB3aWR0aDogMTAwJTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5uby1yZXN1bHRzLWJsb2NrX19pbm5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5uby1yZXN1bHRzLWJsb2NrX19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA1OC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjEuMjVlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAubm8tcmVzdWx0cy1ibG9ja19faW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLm5vLXJlc3VsdHMtYmxvY2tfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDE5MG1tO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnM6OmJlZm9yZSwgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnM6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzOjphZnRlciB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIucmVzZXQtYWxsIHtcbiAgICBtYXJnaW46IDAgMCAzNHB4O1xuICB9XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1hdHRyaWJ1dGVzIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fdG9vbGJveCxcbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19idG4ge1xuICBwYWRkaW5nOiAxLjMxMjVyZW0gMS4yNXJlbTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2J0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzAwM2I2ODtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19idG4ge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgd2lkdGg6IDE4Ljc1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fYnRuID4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19idG4uaXMtb3BlbiAucHJvZHVjdC1maW5kZXItZmlsdGVyc19faWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSBzY2FsZVgoLTEpO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2J0bi5pcy1vcGVuIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX3Rvb2xib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJFMkU5O1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19jdGEtdGl0bGUge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2N0YS10aXRsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMC41cmVtO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19pY29uIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMDAzYjY4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwM2I2ODtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cywgY29sb3IgMC4yNXM7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19pY29uIC5pY29uIHtcbiAgaGVpZ2h0OiAxZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVyc19faWNvbiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1hc2lkZSB7XG4gICAgd2lkdGg6IDE4Ljc1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjZmZmO1xufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IHtcbiAgcGFkZGluZzogMCAwLjg3NXJlbSAxLjI1cmVtIDFyZW07XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IC5yZWFjdC1zZWxlY3QtY29udGFpbmVyIGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fZmllbGRzZXQgLnJlYWN0LXNlbGVjdF9fbWVudSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDE0cHggMTRweDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IC5yZWFjdC1zZWxlY3RfX2NvbnRyb2wge1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCAucmVhY3Qtc2VsZWN0X19jb250cm9sLS1tZW51LWlzLW9wZW4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fZmllbGRzZXQgLnJlYWN0LXNlbGVjdF9fdmFsdWUtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvciB7XG4gIHdpZHRoOiAycmVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCAuZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19sYWJlbCB7XG4gIGNvbG9yOiAjMDAzYjY4O1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCAucmVhY3Qtc2VsZWN0X19pbmRpY2F0b3Itc2VwYXJhdG9yIHtcbiAgbWFyZ2luLXRvcDogMC4zNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0LS1jb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0wLjQzNzVyZW07XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0LS1jb2xzID4gKiB7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbTtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX190b2dnbGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX190b2dnbGUuaXMtb3BlbiAuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdG9nZ2xlID4gZGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX190b2dnbGUgPiBkbCA+IGR0LCAucHJvZHVjdC1maW5kZXItYXNpZGVfX3RvZ2dsZSA+IGRsIGRkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdG9nZ2xlID4gZGwgPiBkdCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXgtd2lkdGg6IDExLjg3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX190b2dnbGUgPiBkbCA+IGRkIHtcbiAgbWFyZ2luLXRvcDogMC4zZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICMwMDNiNjg7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX3RvZ2dsZSA+IGRsID4gZGQgLmljb24ge1xuICBoZWlnaHQ6IDFlbTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19zcHJlYWQge1xuICBtYXJnaW46IDAgLTAuMzc1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19jZWxsIHtcbiAgcGFkZGluZzogMCAwLjM3NXJlbTtcbiAgd2lkdGg6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19jZWxsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS11bml0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMC43NXJlbTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29sb3I6ICM3YTdhN2E7XG4gIGJvcmRlci1sZWZ0OiAwLjEyNXJlbSBzb2xpZCAjZDhkOGQ4O1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdGV4dGJveCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMC40Mzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtIDEuNjI1cmVtIDAuNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMjAvMTY7XG4gIGNvbG9yOiAjMDAzYjY4O1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdGV4dGJveDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgLnByb2R1Y3QtZmluZGVyLWFzaWRlX190ZXh0Ym94Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3gtZ3JvdXAge1xuICBtYXJnaW46IDA7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3ggKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMyODI4Mjg7XG4gIHBhZGRpbmctbGVmdDogMS42MjVlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3ggKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMS4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gIWltcG9ydGFudDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3ggKyBsYWJlbDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2NoZWNrYm94ICsgbGFiZWwgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDAuMWVtO1xuICB0b3A6IDAuMmVtO1xuICBjb2xvcjogIzAwM2I2ODtcbiAgaGVpZ2h0OiAwLjg3NWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2NoZWNrYm94OmNoZWNrZWQgKyBsYWJlbCAuaWNvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjZmZmO1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItYXNpZGVfX2Zvb3RlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY3RhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODtcbiAgY29sb3I6ICMwMDNiNjg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY3RhOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgI2JiYik7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2N0YSA+IC5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG59XG5cbi5yYW5nZS1zbGlkZXIge1xuICBoZWlnaHQ6IDAuMzc1cmVtO1xufVxuLnJhbmdlLXNsaWRlciAuTXVpU2xpZGVyLXJhaWwsXG4ucmFuZ2Utc2xpZGVyIC5NdWlTbGlkZXItdHJhY2sge1xuICBoZWlnaHQ6IDAuMzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG59XG4ucmFuZ2Utc2xpZGVyIC5NdWlTbGlkZXItcmFpbCB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2EzYTM7XG59XG4ucmFuZ2Utc2xpZGVyIC5NdWlTbGlkZXItdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnJhbmdlLXNsaWRlciAuTXVpU2xpZGVyLW1hcmsge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJhbmdlLXNsaWRlciAuTXVpU2xpZGVyLXRodW1iIHtcbiAgd2lkdGg6IDAuNjI1cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICBtYXJnaW4tdG9wOiAtMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzYjY4O1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5yYW5nZS1zbGlkZXItbGFiZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAtMC4zNzVyZW0gLTAuMzc1cmVtIDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnJhbmdlLXNsaWRlci1sYWJlbHNfX2xhYmVsIHtcbiAgcGFkZGluZzogMCAwLjM3NXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG59XG4ucmFuZ2Utc2xpZGVyLWxhYmVsc19fbGFiZWw6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yZW07XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS11bml0KTtcbn1cblxuLlJlYWN0Q29sbGFwc2UtLWNvbGxhcHNlIHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzO1xufVxuXG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUge1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgei1pbmRleDogMDtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGFibGUge1xuICBmbGV4LWdyb3c6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRoZWFkIHtcbiAgbWluLWhlaWdodDogODBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICMyODI4Mjg7XG4gIGZsZXgtZ3JvdzogMDtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGhlYWQgLnJ0LXRoIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICB6LWluZGV4OiAwO1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQkUyRTkgIWltcG9ydGFudDtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGgucnRoZmMtdGgtZml4ZWQge1xuICB6LWluZGV4OiAxO1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGguLXNvcnQtYXNjIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGJvZHkge1xuICBmbGV4LWdyb3c6IDA7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRyLWdyb3VwIHtcbiAgYm9yZGVyOiAwO1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ci4tb2RkLFxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ci4tZXZlbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ci4tb2RkIC5ydC10ZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRyLi1ldmVuIC5ydC10ZCB7XG4gIGJhY2tncm91bmQ6ICNEQkUyRTk7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRkLFxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aCB7XG4gIHBhZGRpbmc6IDExcHggMjBweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDhkOGQ4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDhkOGQ4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ZCB7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGQgc3Bhbjpub3QoLnByb2R1Y3QtbGFiZWwpIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0aGZjLXRkLWZpeGVkLnJ0aGZjLXRkLWZpeGVkLWxlZnQsXG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0aGZjLXRkLWZpeGVkLnJ0aGZjLXRkLWZpeGVkLWxlZnQtbGFzdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnRoZmMtdGQtZml4ZWQucnRoZmMtdGQtZml4ZWQtbGVmdC1sYXN0IHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogI2Q4ZDhkODtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGQucnRoZmMtdGQtZml4ZWQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG5AbWVkaWEgcHJpbnQge1xuICAucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRkLnJ0aGZjLXRkLWZpeGVkIHtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ZC5ydGhmYy10ZC1maXhlZCArIC5ydC10ZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ZC5ydGhmYy10ZC1maXhlZC1sZWZ0LWxhc3Qge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRkLnJ0aGZjLXRkLWZpeGVkLWxlZnQtbGFzdDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAjZDhkOGQ4KTtcbn1cbkBtZWRpYSBwcmludCB7XG4gIC5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGQucnRoZmMtdGQtZml4ZWQtbGVmdC1sYXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyIC5ydC1yZXNpemFibGUtaGVhZGVyLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucHJvZHVjdC1maW5kZXIgLmhlYWRlci10aCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLnByb2R1Y3QtZmluZGVyIC5oZWFkZXItdGhfX2NvbnRlbnQge1xuICB6LWluZGV4OiAwO1xufVxuLnByb2R1Y3QtZmluZGVyIC5oZWFkZXItdGhfX29wdGlvbmFsIHtcbiAgd2lkdGg6IDU1cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ucHJvZHVjdC1maW5kZXIgLnJ0aGZjLXRoLWZpeGVkIC5oZWFkZXItdGgge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnByb2R1Y3QtZmluZGVyIC5ydGhmYy10aC1maXhlZCAuaGVhZGVyLXRoX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LWxpbmsge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LWxpbmsgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5wcm9kdWN0LWZpbmRlciAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI0RCRTJFOTtcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucHJvZHVjdC1maW5kZXIgLnByb2R1Y3QtbGluayAucHJvZHVjdC1sYWJlbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4ucHJvZHVjdC1maW5kZXIgLnByb2R1Y3QtbGluayAucHJvZHVjdC1sYWJlbC5uZXcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGZhZDI2O1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtbGFiZWwuZW5kLW9mLWxpZmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzMzIzO1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtbGFiZWwubm90LXJlY29tbWVuZGVkLWZvci1uZXctZGVzaWduIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2YjkyMztcbn1cbi5wcm9kdWN0LWZpbmRlciAucHJvZHVjdC1zdG9jay1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LXN0b2NrLWxpbmtfX3N0b2NrIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjhweCcgaGVpZ2h0PSczMnB4JyB2aWV3Qm94PScwIDAgNDMgMzknJTNFJTNDZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxLjYwOCAxLjAwOSknIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NlbGxpcHNlIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIGN4PScxOC4xMzMnIGN5PSczMi4yMjcnIHJ4PSc0LjA0OScgcnk9JzQuMTMzJy8lM0UlM0NlbGxpcHNlIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIGN4PSczMC4yOCcgY3k9JzMyLjIyNycgcng9JzQuMDQ5JyByeT0nNC4xMzMnLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTkuMjI2IDguMjU4aDMwLjc3MmwtMy4yNCAxNi41M0gxMi40NjZ6Jy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgZD0nTTEwLjA0IDEyLjM5TDcuNzYyIDBIMCcvJTNFJTNDcGF0aCBkPSdNMzEuODQ4IDE3Ljk5MmMuNDE0LS40MTQuNjItLjk1Ny42Mi0xLjUgMC0uNTQ0LS4yMDYtMS4wODgtLjYyLTEuNTAybC0zLjQ1NC0zLjQ1NGEyLjEyNSAyLjEyNSAwIDAwLTMuMDAyIDBjLS43NzQuNzczLS44MjQgMi0uMTUzIDIuODMyaC02LjY0OGMtMS4xNyAwLTIuMTIzLjk1My0yLjEyMyAyLjEyMyAwIDEuMTcuOTUzIDIuMTIzIDIuMTIzIDIuMTIzaDYuNjQ4YTIuMTI2IDIuMTI2IDAgMDAuMTUzIDIuODMzIDIuMTI1IDIuMTI1IDAgMDAzLjAwMiAwbDMuNDU0LTMuNDU1em0tNS40NTYgMi40NTRhLjcwMi43MDIgMCAwMS0uMjA3LS41YzAtLjE5LjA3NC0uMzY3LjIwNy0uNWwxLjA0LTEuMDRhLjcwOC43MDggMCAwMC0uNTAxLTEuMjA3aC04LjM0YS43MDguNzA4IDAgMDEwLTEuNDE1aDguMzRhLjcwNy43MDcgMCAwMC41LTEuMjA4bC0xLjAzOS0xLjA0YS43MDIuNzAyIDAgMDEtLjIwNy0uNWMwLS4xODguMDc0LS4zNjYuMjA3LS41YS43MDMuNzAzIDAgMDExIDBsMy40NTUgMy40NTVhLjcwOC43MDggMCAwMTAgMWwtMy40NTQgMy40NTVhLjcwOC43MDggMCAwMS0xIDB6JyBmaWxsPSclMjMwMDQxQzAnIGZpbGwtcnVsZT0nbm9uemVybycvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XG59XG4ucHJvZHVjdC1maW5kZXIgLnByb2R1Y3Qtc3RvY2stbGlua19fc3RvY2s6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTtcbn1cbi5wcm9kdWN0LWZpbmRlciAuZGF0YS1zaGVldC13cmFwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ucHJvZHVjdC1maW5kZXIgLmRhdGEtc2hlZXQtd3JhcGVyX19saW5rIHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIwcHgnIGhlaWdodD0nMjRweCcgdmlld0JveD0nMCAwIDIwIDI0JyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZyBpZD0nU1lNQk9MUycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPSdGaWxlSWNvbi9QREYnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDEuMDAwMDAwLCAxLjAwMDAwMCknJTNFJTNDZyUzRSUzQ3BvbHlnb24gaWQ9J1JlY3RhbmdsZS0xNicgc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgcG9pbnRzPSc5LjA5NTIyNDU3ZS0xMyAwIDEzLjg4Mzc4OTEgMCAxNiAzIDE4IDUuNDE2OTkyMTkgMTggMjIgOS4wOTUyMjQ1N2UtMTMgMjInJTNFJTNDL3BvbHlnb24lM0UlM0Nwb2x5bGluZSBpZD0nUGF0aCcgc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBwb2ludHM9JzEzIDAuNSAxMyA2IDE4IDYnJTNFJTNDL3BvbHlsaW5lJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDdGV4dCBpZD0nUERGJyBmb250LWZhbWlseT0nQXJpYWwtQm9sZE1ULCBBcmlhbCcgZm9udC1zaXplPSc3JyBmb250LXdlaWdodD0nYm9sZCcgZmlsbD0nJTIzMDA0MUMwJyUzRSUzQ3RzcGFuIHg9JzUwJTI1JyB5PScxNicgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgdGV4dC1hbmNob3I9J21pZGRsZSclM0VQREYlM0MvdHNwYW4lM0UlM0MvdGV4dCUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XG59XG4ucHJvZHVjdC1maW5kZXIgLmRhdGEtc2hlZXQtd3JhcGVyX19saW5rOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG59XG4ucHJvZHVjdC1maW5kZXIgLnBhZ2luYXRpb24tYm90dG9tIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyIC5wYWdpbmF0aW9uLWJvdHRvbSB7XG4gICAgbWF4LXdpZHRoOiA1OC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjEuMjVlbSkge1xuICAucHJvZHVjdC1maW5kZXIgLnBhZ2luYXRpb24tYm90dG9tIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5wcm9kdWN0LWZpbmRlciAucGFnaW5hdGlvbi1ib3R0b20ge1xuICAgIG1heC13aWR0aDogMTkwbW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyIC5wYWdpbmF0aW9uLWJvdHRvbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5wcm9kdWN0LWZpbmRlciAucGFnaW5hdGlvbi1ib3R0b20gLnBhZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWFuYWdlLWF0dHJpYnV0ZXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiAxMDEwO1xufVxuLm1hbmFnZS1hdHRyaWJ1dGVzX19pbm5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogODAlO1xuICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5tYW5hZ2UtYXR0cmlidXRlc19faW5uZXIge1xuICAgIG1heC13aWR0aDogNTguNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxLjI1ZW0pIHtcbiAgLm1hbmFnZS1hdHRyaWJ1dGVzX19pbm5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAubWFuYWdlLWF0dHJpYnV0ZXNfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDE5MG1tO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXNfX2lubmVyIC5pY29uLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBvdXRsaW5lOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWFuYWdlLWF0dHJpYnV0ZXNfX2lubmVyIHtcbiAgICBwYWRkaW5nOiA2MHB4IDUwcHg7XG4gIH1cbiAgLm1hbmFnZS1hdHRyaWJ1dGVzX19pbm5lciAuaWNvbi1jbG9zZSB7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWFuYWdlLWF0dHJpYnV0ZXNfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAxMDBweCA4MHB4O1xuICB9XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXMgLm1hbmFnZS1hdHRyaWJ1dGVzLWZvcm0ge1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXMgLm1hbmFnZS1hdHRyaWJ1dGVzLWZvcm0gLmZvcm0tLWlubGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXMgLm1hbmFnZS1hdHRyaWJ1dGVzLWZvcm0gLmZvcm1fX3RpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1hbmFnZS1hdHRyaWJ1dGVzIC5tYW5hZ2UtYXR0cmlidXRlcy1mb3JtIC5mb3JtX190aXRsZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICB9XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZUNoZWNrYm94IHtcbiAgbWFyZ2luOiA1cHggMDtcbn1cbi5tYW5hZ2UtYXR0cmlidXRlcyAuYXR0cmlidXRlQ2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnByb2R1Y3QtZmluZGVyLnZpZXcge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyX19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5wcm9kdWN0LWZpbmRlcl9fYm9keS5pcy1vcGVuIC5wcm9kdWN0LWZpbmRlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE5LjM3NXJlbSk7XG4gIH1cbn1cbi5wcm9kdWN0LWZpbmRlcl9fYm9keS5pcy1vcGVuIC5wcm9kdWN0LWZpbmRlcl9fbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC1maW5kZXJfX21haW4ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3QtZmluZGVyX19hc2lkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXJfX2FzaWRlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXgtd2lkdGg6IDE4Ljc1cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICB9XG59XG4ucHJvZHVjdC1maW5kZXJfX2FzaWRlLmlzLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlcl9fYXNpZGUuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXJfX21haW4ge1xuICBmbGV4LXNocmluazogMTtcbn1cblxuLnNlY3Rpb24ge1xuICBtYXJnaW46IDEwMHB4IDA7XG59XG5cbi5zZWN0aW9uLWJveCB7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5zZWN0aW9uLWJveCArIC5wYXJhZ3JhcGgge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmluLWlmcmFtZSAuc2VjdGlvbi1ib3gge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbi1ib3gtLXByb3RydWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNlY3Rpb24tLWZvcmNlIHtcbiAgbWFyZ2luOiAxMDBweCAwICFpbXBvcnRhbnQ7XG59XG5cbi53aWR0aC1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaXplLW1kIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbn1cblxuLnR5cGUtaGVhdnkge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucmVzZXQtc3BhY2luZyA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tbC0weCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0weCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm10LTB4IHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWItMXgge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0yeCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tYi00eCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5tYi01eCB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5cbi5wdC0weCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0weCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmxleC1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYmFja2dyb3VuZC1ncmF5IHtcbiAgYmFja2dyb3VuZDogI0RCRTJFOTtcbn1cblxuLmJhY2tncm91bmQtYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDNiNjg7XG59XG5cbi5iYWNrZ3JvdW5kLXJlZCB7XG4gIGJhY2tncm91bmQ6ICNGRjAwMDA7XG59IiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXNpdGUtd2lkdGg6IHJlbS1jYWxjKDI1NjApO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLXdpZHRoLW1lZGl1bTogcmVtLWNhbGMoOTQwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkcHJpbWFyeS1jb2xvcixcbiAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LWNvbG9yLFxuICBzdWNjZXNzOiAkc3VjY2Vzcy1jb2xvcixcbiAgd2FybmluZzogJHdhcm5pbmctY29sb3IsXG4gIGFsZXJ0OiAkYWxlcnQtY29sb3IsXG4pO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG5cbi8vIFNwYWNpbmcgLSBzcGVjaWZpYyAobm90IGZyb20gWlVSQiBGb3VuZGF0aW9uKVxuJHNwYWNlOiAxMHB4O1xuJHNwYWNlLWRvdWJsZTogY2FsYygkc3BhY2UqMik7XG4kc3BhY2UtdHJpcGxlOiBjYWxjKCRzcGFjZSozKTtcbiRzcGFjZS1xdWFkcnVwbGU6IGNhbGMoJHNwYWNlKjQpO1xuJHNwYWNlLXF1aW50dXBsZTogY2FsYygkc3BhY2UqNSk7XG4kc3BhY2Utc2V4dHVwbGU6IGNhbGMoJHNwYWNlKjYpO1xuJHNwYWNlLXNlcHR1cGxlOiBjYWxjKCRzcGFjZSo3KTtcbiRzcGFjZS1kZWN1cGxlOiBjYWxjKCRzcGFjZSoxMCk7XG4kc3BhY2Utb25lLWhhbGY6IGNhbGMoJHNwYWNlLzIpO1xuJHNwYWNlLW9uZS1maWZ0aDogY2FsYygkc3BhY2UvNSk7XG4kc3BhY2Utb25lLXRlbnRoOiBjYWxjKCRzcGFjZS8xMCk7XG5cbiRnbG9iYWwtbWFyZ2luOiAkc3BhY2U7XG4kZ2xvYmFsLXBhZGRpbmc6ICRzcGFjZTtcbiRnbG9iYWwtcG9zaXRpb246ICRzcGFjZTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAxNHB4O1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDA7XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbiRwcmludC1ocmVmczogdHJ1ZTtcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGZsZXg6IHRydWU7XG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogOS40NXB4LFxuICBtZWRpdW06IDIwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJ09wZW4gU2FucyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNCwgJ2xpbmUtaGVpZ2h0JzogNTApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgsICdsaW5lLWhlaWdodCc6IDQyKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE2LCAnbGluZS1oZWlnaHQnOiAzMCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCwgJ2xpbmUtaGVpZ2h0JzogMjgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjAsICdsaW5lLWhlaWdodCc6IDI4KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAyOCksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDQsICdsaW5lLWhlaWdodCc6IDYwKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDM0LCAnbGluZS1oZWlnaHQnOiA1MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxNiwgJ2xpbmUtaGVpZ2h0JzogMzApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjAsICdsaW5lLWhlaWdodCc6IDI4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAyOCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAyMCwgJ2xpbmUtaGVpZ2h0JzogMjgpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRtZWRpdW0tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kc21hbGwtZm9udC1zaXplOiA4MS4yNSU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjb2RlLWJvcmRlcjogbm9uZTtcbiRjb2RlLXBhZGRpbmc6IDA7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAwO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCxcbiAgY29sb3IgMC4yNXMgZWFzZS1vdXQsXG4gIHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCxcbiAgYm94LXNoYWRvdyAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogMDtcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRpbnB1dC1saW5lLWhlaWdodDogMjtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiBjYWxjKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAkc3BhY2U7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogJHNwYWNlLXRyaXBsZTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDA7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoNSAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogJGRhcmstd2hpdGU7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogJGJvcmRlci1jb2xvcjtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiAkYm9yZGVyLWNvbG9yO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbnRhaW5lci1tZWRpdW06ICRnbG9iYWwtd2lkdGgtbWVkaXVtO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogOS40NXB4LFxuICBtZWRpdW06IDIwcHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAwO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcblxuLy8gQWRkaXRpb25hbCBmb3IgdGhlIHByb2plY3Qgc3BlY2lmaWNzIChub3QgZm9yIFpVUkIgRm91bmRhdGlvbilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJldmVsIHNldHRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYmV2ZWwtaW1nOiAwLjQzNzU7XG4iLCJAY2hhcnNldCAndXRmLTgnO1xuXG5cbkBpbXBvcnQgJ2dsb2JhbC9jb2xvci12YXJzJztcbkBpbXBvcnQgJ2dsb2JhbC9zZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbi8vQGltcG9ydCAnbW90aW9uLXVpJztcbkBpbXBvcnQgJ2dsb2JhbC9leHRlbmRzJztcblxuXG4vLyBiYXNlXG5cblxuXG5cblxuLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4uZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbi8vQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4vLyBwcm9kdWN0LWZpbmRlclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9kdWN0LWZpbmRlci9wcm9kdWN0LWZpbmRlci5zY3NzJztcblxuXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL3V0aWxpdGllcy5oZWxwZXJzXCI7XG5cblxuXG4iLCJcbiAgLnJlYWN0LXNlbGVjdC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBcbiAgICAucmVhY3Qtc2VsZWN0IHtcbiAgICAgICZfX2NvbnRyb2wge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICAgICAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjdzO1xuICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIH1cbiAgXG4gICAgICAgICYtLW1lbnUtaXMtb3BlbiB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgXG4gICAgICAgICAgLnJlYWN0LXNlbGVjdF9fZHJvcGRvd24taW5kaWNhdG9yIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigtMjI1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmX192YWx1ZS1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIDAgcmVtLWNhbGMoOCkgJHNwYWNlLXRyaXBsZTtcbiAgICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBcbiAgICAgICAgJi0taXMtbXVsdGkge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmX19pbmRpY2F0b3Itc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yKiRzcGFjZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yKiRzcGFjZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgXG4gICAgICAmX19kcm9wZG93bi1pbmRpY2F0b3Ige1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA4KiRzcGFjZTtcbiAgXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1hcnJvdygkc2l6ZTogMS41KiRzcGFjZSwgJGJvcmRlci13aWR0aDogM3B4LCAkYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkpO1xuICBcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC41cyB0cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmX19tdWx0aS12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIFxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgcGFkZGluZzogMCAxY2ggMCAkc3BhY2Utb25lLWZpZnRoO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgJl9fcmVtb3ZlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAkc3BhY2UtZG91YmxlO1xuICAgICAgICAgIGhlaWdodDogJHNwYWNlLWRvdWJsZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBcbiAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxLjgqJHNwYWNlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICBcbiAgICAgICZfX21lbnUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cztcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgXG4gICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlLWRvdWJsZSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgJl9fb3B0aW9uIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlLW9uZS1maWZ0aCAkc3BhY2UtdHJpcGxlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgXG4gICAgICAgIC5jaGVja2JveCB7XG4gICAgICAgICAgQGluY2x1ZGUgY2hlY2tib3goKTtcbiAgXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2U7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IC0wLjQgKiAkc3BhY2U7XG4gICAgICAgIH1cbiAgXG4gICAgICAgICYtLWlzLXNlbGVjdGVkIHtcbiAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIFxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIC50aWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRpY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgXG4gICAgICAgICYtLWlzLWZvY3VzZWQge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmLmVycm9yIHtcbiAgICAgIC5yZWFjdC1zZWxlY3Qge1xuICAgICAgICAmX19jb250cm9sIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgICAgfVxuICBcbiAgICAgICAgJl9fZHJvcGRvd24taW5kaWNhdG9yIHtcbiAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxLjgqJHNwYWNlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIGxlZnQ6IDMxcHg7XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLnNlbGVjdC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMCAkc3BhY2Utb25lLWhhbGYgJHNwYWNlLWRvdWJsZTtcbiAgICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMS41NDtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgXG4gICAgICAmLnZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLnJlYWN0LXNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICAmLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgXG4gICAgLmZvcm0tdGV4dCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC0td2l0aC1pY29uO1xuICAgICAgQGV4dGVuZCAlaW5wdXQtLXdpdGgtaWNvbi0tcmlnaHQ7XG4gICAgICBAZXh0ZW5kICVpbnB1dC0td2l0aC1pY29uLS1tYWduaWZpZXI7XG4gICAgfVxuICBcbiAgICAuaW5wdXQtc3ltYm9sX19zeW1ib2wge1xuICAgICAgdG9wOiAzNHB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MsIG9wYWNpdHkgMC43cztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzO1xuICAgIH1cbiAgXG4gICAgLmlucHV0LXN5bWJvbF9fY3RhIHtcbiAgICAgIHRvcDogMzRweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cywgb3BhY2l0eSAwLjdzO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5oYXMtdmFsdWUge1xuICAgICAgLmlucHV0LXN5bWJvbF9fc3ltYm9sIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICB9XG4gIFxuICAgICAgLmlucHV0LXN5bWJvbF9fY3RhIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvLyBEZWxheSBvbiBmb2N1c1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5yZWFjdC1hdXRvc3VnZ2VzdCB7XG4gICAgJl9fc3VnZ2VzdGlvbnMtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIFxuICAgICZfX3N1Z2dlc3Rpb25zLWxpc3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogJHNwYWNlLWRvdWJsZSAyLjUqJHNwYWNlO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSRpbnB1dC1yYWRpdXM7XG4gICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgICBoZWlnaHQ6ICRpbnB1dC1yYWRpdXM7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cbiAgXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSRzcGFjZS1vbmUtaGFsZjtcbiAgICAgICAgcmlnaHQ6ICRzcGFjZS1kb3VibGU7XG4gICAgICAgIGxlZnQ6ICRzcGFjZS1kb3VibGU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWxpZ2h0ZXItZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICZfX3N1Z2dlc3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIFxuICAgICAgJi0taGlnaGxpZ2h0ZWQge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiIsIi8vIFByb2plY3RcbiRwcmltYXJ5LWNvbG9yOiAjMDAzYjY4O1xuJHNlY29uZGFyeS1jb2xvcjogIzAwM2I2ODtcbiRzdWNjZXNzLWNvbG9yOiAjNGZhZDI2O1xuJHdhcm5pbmctY29sb3I6ICNlNmI5MjM7XG4kYWxlcnQtY29sb3I6ICNlNjMzMjM7XG4keXQtY29sb3I6ICNGRjAwMDA7XG5cbi8vIEdyYXlzY2FsZVxuJHdoaXRlOiAjZmZmO1xuJGRhcmstd2hpdGU6ICNEQkUyRTk7XG4kbGlnaHRlci1ncmF5OiAjZWFlYWVhO1xuJGxpZ2h0LWdyYXk6ICNjMWMxYzE7XG4kbWVkaXVtLWxpZ2h0ZXItZ3JheTogI2EzYTNhMztcbiRtZWRpdW0tZ3JheTogIzdhN2E3YTtcbiRkYXJrLWdyYXk6ICMzNDM0MzQ7XG4kYmxhY2tpc2gtZ3JheTogIzI4MjgyODtcbiRibGFjazogIzAwMDtcbiRib3JkZXItY29sb3I6ICNkOGQ4ZDg7XG5cbiRjb2xvci1ib3JkZXI6ICRsaWdodC1ncmF5OyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi52aWV3IC52aWV3LWZpbHRlcnMge1xuXG4gIC5wcm9kdWN0LWZpbmRlci1mb3JtcyB7XG4gICAgQGluY2x1ZGUgY3VzdG9tLXh5LWdyaWQtY29udGFpbmVyKCk7XG4gIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgIH1cbiAgXG4gICAgLnRhYnMtLWZ1bGwge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIFxuICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCgoJGdsb2JhbC13aWR0aC1tZWRpdW0gKyByZW0tY2FsYygkc3BhY2UtcXVhZHJ1cGxlKSkgZG93bikge1xuICBcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2UtZG91YmxlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kc3BhY2UtZG91YmxlO1xuICAgICAgfVxuICBcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAucHJvZHVjdC1maW5kZXItZm9ybSB7XG4gICAgLyogbWFyZ2luOiAkc3BhY2UtcXVhZHJ1cGxlIDAgJHNwYWNlLXF1aW50dXBsZTsgKi9cbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgoJGdsb2JhbC13aWR0aC1tZWRpdW0gKyByZW0tY2FsYygkc3BhY2UtcXVhZHJ1cGxlKSkgZG93bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIFxuICAgICYuc2VhcmNoLW1vZGUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgLy8gZml4IHNlYXJjaCBmb3JtIGFsaWdubWVudCBvbiB0YWJsZXRcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICYucmVmaW5lLWZpbHRlcnMtZm9ybSB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNwYWNlLXRyaXBsZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3LjUqJHNwYWNlO1xuICBcbiAgICAgIC5mb3JtX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5mb3JtX19hY3Rpb25zIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tLWFjdGlvbnM7XG4gICAgICBcbiAgICB9XG4gIFxuICAgIC5lcnJvcl9fbWVzc2FnZSB7XG4gICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgcGFkZGluZy10b3A6ICRzcGFjZS10cmlwbGU7XG4gICAgICBmb250LXNpemU6ICRtZWRpdW0tZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICBcbiAgICAuZm9ybV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XG4gICAgfVxuICBcbiAgICAuZm9ybS0taW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDA7XG4gICAgfVxuXG4gICAgJi5maW5kZXItbW9kZSAuZm9ybS0taW5saW5lIC5mb3JtLXR5cGUtc2VsZWN0LFxuICAgICYuc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSAuZm9ybS10eXBlLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0b1xuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIC8qICYuZmluZGVyLW1vZGUgLmZvcm0tLWlubGluZSB7XG4gICAgICAgIC5mb3JtX190aXRsZSxcbiAgICAgICAgJiA+IC5yZWFjdC1zZWxlY3QtY29udGFpbmVyLFxuICAgICAgICAmID4gLnJlYWN0LXNlYXJjaC1pbnB1dC13cmFwcGVyLFxuICAgICAgICAuZm9ybV9fYWN0aW9ucyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UtcXVhZHJ1cGxlO1xuICAgICAgICB9XG4gICAgICB9ICovXG4gICAgICAmLmZpbmRlci1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS1xdWFkcnVwbGU7ICBcbiAgICAgIH1cbiAgICAgICYuc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2UtcXVhZHJ1cGxlO1xuICAgICAgfVxuICBcbiAgICAgICYuc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSB7XG4gICAgICAgIC5mb3JtX190aXRsZSxcbiAgICAgICAgJiA+IC5yZWFjdC1zZWxlY3QtY29udGFpbmVyLFxuICAgICAgICAmID4gLnJlYWN0LXNlYXJjaC1pbnB1dC13cmFwcGVyLFxuICAgICAgICAuZm9ybV9fYWN0aW9ucyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAvL21hcmdpbi1sZWZ0OiAkc3BhY2UtcXVhZHJ1cGxlO1xuICAgICAgICB9XG4gIFxuICAgICAgICAuaW5wdXQtY2VsbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAuZm9ybV9fYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2UtdHJpcGxlO1xuICBcbiAgICAgICAgLnN1Ym1pdCB7XG4gICAgICAgICAgbWluLXdpZHRoOiAyNDdweDtcbiAgICAgICAgICBtYXJnaW46IDAgJHNwYWNlLWRvdWJsZSAwIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICYuc2VhcmNoLW1vZGUge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlICsgMXB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5zd2l0Y2gtbGluayB7XG4gICAgcGFkZGluZzogJHNwYWNlIDAgJHNwYWNlIDIuNSokc3BhY2U7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgZm9udC1zaXplOiAkbWVkaXVtLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQSE4yWnlCM2FXUjBhRDBpTVRkd2VDSWdhR1ZwWjJoMFBTSXhOM0I0SWlCMmFXVjNRbTk0UFNJd0lEQWdNVGNnTVRjaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SStDaUFnSUNBOFp5QnBaRDBpVUdGblpTMHhJaUJ6ZEhKdmEyVTlJbTV2Ym1VaUlITjBjbTlyWlMxM2FXUjBhRDBpTVNJZ1ptbHNiRDBpYm05dVpTSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJajRLSUNBZ0lDQWdJQ0E4WnlCcFpEMGlNVGhmVUhKdlpIVmpkRjlHYVc1a1pYSmZWR1Y0ZEY5VFpXRnlZMmhmUlc1MFpYSmxaQ0lnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb0xUVXlPUzR3TURBd01EQXNJQzAwTlRNdU1EQXdNREF3S1NJZ2MzUnliMnRsUFNJak1EQTBNVU13SWlCemRISnZhMlV0ZDJsa2RHZzlJakV1TlNJK0NpQWdJQ0FnSUNBZ0lDQWdJRHhuSUdsa1BTSlFjbTlrZFdOMExWTmxZWEpqYUNJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9NQzR3TURBd01EQXNJREV5TUM0d01EQXdNREFwSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pNYVc1cmN5SWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTlRJNUxqQXdNREF3TUN3Z016QTFMakF3TURBd01Da2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pKUTA5T1V5OVNaWE5sZEM5Q2JIVmxMVEl0UTI5d2VTSWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTUM0d01EQXdNREFzSURJMUxqQXdNREF3TUNraVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFp5QnBaRDBpU1VOUFRsTXZVMlZoY21Ob0wwSnNkV1VpSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtEQXVNREF3TURBd0xDQXlMakF3TURBd01Da2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdOcGNtTnNaU0JwWkQwaVQzWmhiQ0lnWTNnOUlqa3VOelVpSUdONVBTSTRMakkxSWlCeVBTSTJJajQ4TDJOcGNtTnNaVDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4c2FXNWxJSGd4UFNJd0xqYzROakEyT1RjM05DSWdlVEU5SWpFMkxqVXpOakEzTXpnaUlIZ3lQU0kxTGpJMUlpQjVNajBpTVRJdU56VWlJR2xrUFNKTWFXNWxMVU52Y0hrdE15SWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWo0OEwyeHBibVUrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBOEwyYytDand2YzNablBnPT0nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi5zdGlja3ktdGFibGUge1xuICAucnQtcmVzaXplciB7XG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gIH1cbiAgLy93aWR0aDogODB2dztcbiAgd2lkdGg6IDEwMCU7XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7IC8qIElFMTEgKi9cbiAgICAuUmVhY3RUYWJsZSB7XG4gICAgICAucnQtdGFibGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDsgLy8gQWRqdXN0IGhvcml6b250YWwgc2Nyb2xsLlxuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5ydC10Ym9keSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdGlja3ktdGFibGUtaW5uZXIge1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cblxuICAmLnN0aWNreS1hY3RpdmUge1xuICAgIC5zdGlja3ktdGFibGUtaW5uZXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuUmVhY3RUYWJsZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC5ydC10YWJsZSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMge1xuXG4gIC5yZWZpbmUtZmlsdGVycyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcblxuICAgIC5yZWZpbmUtZmlsdGVycy1mb3JtIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aC1tZWRpdW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAvLyYubm8tc3RpY2t5IHtcbiAgICAgIC8vICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgLy8gIGhlaWdodDogMTAwJTtcbiAgICAgIC8vXG4gICAgICAvLyAgLmZvcm0tb3ZlcmZsb3cge1xuICAgICAgLy8gICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLy8gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAvLyAgfVxuICAgICAgLy99XG4gICAgfVxuXG4gICAgLmZvcm0tb3ZlcmZsb3cge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAuZm9ybS0taW5saW5lIHtcbiAgICAgIC8vIEBleHRlbmQgJWZvcm0tLWlubGluZTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMjBweCA0NnB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG5cbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybV9fdGl0bGUsXG4gICAgaDQuZm9ybV9fdGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChmdWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVhY3Qtc2VsZWN0LWNvbnRhaW5lcixcbiAgICAucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24tY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkc3BhY2UtZG91YmxlO1xuICAgICAgcmlnaHQ6ICRzcGFjZS1kb3VibGU7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgIC5mb3JtX19hY3Rpb25zIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tLWFjdGlvbnM7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6ICRzcGFjZS1kb3VibGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCBmYWxzZSk7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS1xdWFkcnVwbGU7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnJlc2V0LWFsbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb3VudC1tYXRjaGVzIHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b24gd3JhcHBlciBmb3IgbW9iaWxlXG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzLWJ1dHRvbnMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcblxuICAgICYudG9nZ2xlLWZpbHRlcnMge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNlLWRvdWJsZTtcblxuICAgICAgJi5idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAuaWNvbi1maWx0ZXJzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbi1maWx0ZXJzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxLjIqJHNwYWNlO1xuICAgICAgICBoZWlnaHQ6ICRzcGFjZS1vbmUtZmlmdGg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNlO1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyAvLyBzcGFjZSBmb3IgaWNvblxuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAkc3BhY2UtZG91YmxlO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAtJHNwYWNlLW9uZS1oYWxmO1xuICAgICAgICAgIGxlZnQ6IC00cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAkc3BhY2Utb25lLWhhbGY7XG4gICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICAgIHdpZHRoOiAwLjYqJHNwYWNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50b2dnbGUtYXR0cmlidXRlcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDU2KTtcblxuICAgICAgLmljb24tZmlsdGVycyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogJHNwYWNlLW9uZS1maWZ0aDtcbiAgICAgICAgaGVpZ2h0OiAxLjUqJHNwYWNlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIC8vIEFsaWduIHZlcnRpY2F0bGx5LlxuICAgICAgICBib3R0b206IDAuMWVtO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6ICRzcGFjZS1vbmUtZmlmdGg7XG4gICAgICAgICAgaGVpZ2h0OiAxLjUqJHNwYWNlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAtNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5yZXNldC1hbGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOScgaGVpZ2h0PScxNSclM0UlM0NwYXRoIGQ9J00xNC40MjggMy4xODRDMTMuMjQxIDEuODY3IDExLjQ3NCAxLjAzIDkuNSAxLjAzYy0zLjU3MSAwLTYuNDY3IDIuNzM2LTYuNDY3IDYuMTF2MS43OTcnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCcgc3Ryb2tlPSclMjNjMWMxYzEnIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQ3BhdGggZD0nTTUuMzE1IDYuMDYzTDMuMDMzIDguOTM4Ljc1IDYuMDYyTTQuNTcyIDExLjgxN0M1Ljc1OSAxMy4xMzQgNy41MjYgMTMuOTcgOS41IDEzLjk3YzMuNTcxIDAgNi40NjctMi43MzYgNi40NjctNi4xMVY2LjA2MicgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyBzdHJva2U9JyUyM2MxYzFjMScgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDcGF0aCBkPSdNMTMuNjg1IDguOTM4bDIuMjgyLTIuODc2IDIuMjgzIDIuODc2JyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnIHN0cm9rZT0nJTIzYzFjMWMxJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgLy8gY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgLy8gY3Vyc29yOiBwb2ludGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uby1yZXN1bHRzLWJsb2NrIHtcbiAgICBvcmRlcjogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICZfX2lubmVyIHtcbiAgICAgIEBpbmNsdWRlIGN1c3RvbS14eS1ncmlkLWNvbnRhaW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBvcmRlcjogMztcbiAgICB9XG5cbiAgICAucHJvZHVjdC1maW5kZXItdG9nZ2xlciB7XG4gICAgICAmLnRvZ2dsZS1maWx0ZXJzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlLWRvdWJsZTtcbiAgICAgIH1cblxuICAgICAgJi5yZXNldC1hbGwge1xuICAgICAgICBtYXJnaW46IDAgMCAzLjQqJHNwYWNlO1xuICAgICAgfVxuXG4gICAgICAmLnRvZ2dsZS1hdHRyaWJ1dGVzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xufVxuXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fdG9vbGJveCxcbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19idG4ge1xuICBwYWRkaW5nOiByZW0tY2FsYygyMSAyMCk7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC8vIFRPRE86IENoZWNrIGlmIGhvdmVyIGVmZmVjdCBpcyBuZWVkZWQuXG4gIC8vICY6aG92ZXIge1xuICAvLyAgIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19pY29uIHtcbiAgLy8gICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIEFzaWRlIGZpbHRlciBtZW51IGlzIG9wZW5cbiAgJi5pcy1vcGVuIHtcbiAgICAucHJvZHVjdC1maW5kZXItZmlsdGVyc19faWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgc2NhbGVYKC0xKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fdG9vbGJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXdoaXRlO1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19jdGEtdGl0bGUge1xuICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTY4KTtcbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19faWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiByZW0tY2FsYygzMik7XG4gIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMsIGNvbG9yIDAuMjVzO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cbiAgLmljb24ge1xuICAgIGhlaWdodDogMWVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAjZmZmO1xufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IHtcbiAgcGFkZGluZzogcmVtLWNhbGMoMCAxNCAyMCAxNik7XG5cbiAgLy8gU2VsZWN0IGVsZW1lbnRzXG4gIC8vIEl0J3MgZWFzaWVyIHRvIG92ZXJyaWRlIHRoZW0gaGVyZSB0aGVuIHRvIGFjdHVhbGx5IGNoYW5nZSBtYXJrdXAuXG4gIC8vIFN0b3J5IG9mIG15IGxpZmUuXG5cbiAgLnJlYWN0LXNlbGVjdC1jb250YWluZXIge1xuXG4gICAgLy8gSGlkZSB0aGUgbGFiZWwuXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgfVxuXG4gIC5yZWFjdC1zZWxlY3RfX21lbnUge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDE0cHggMTRweDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5yZWFjdC1zZWxlY3RfX2NvbnRyb2wge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoOCk7XG4gIH1cblxuICAucmVhY3Qtc2VsZWN0X19jb250cm9sLS1tZW51LWlzLW9wZW4ge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cblxuICAucmVhY3Qtc2VsZWN0X192YWx1ZS1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICB9XG5cbiAgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAucmVhY3Qtc2VsZWN0X19kcm9wZG93bi1pbmRpY2F0b3Ige1xuICAgIHdpZHRoOiByZW0tY2FsYygzMik7XG4gIH1cblxuICAuZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19sYWJlbCB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgLnJlYWN0LXNlbGVjdF9faW5kaWNhdG9yLXNlcGFyYXRvciB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldC0tY29scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiByZW0tY2FsYygtNyk7XG5cbiAgPiAqIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg3KTtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdG9nZ2xlIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiByZW0tY2FsYygxNiAyMCk7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICAuaWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgfVxuICB9XG5cbiAgPiBkbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgID4gZHQsIGRkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgPiBkdCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTkwKTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgPiBkZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjNlbTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgLmljb24ge1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19zcHJlYWQge1xuICBtYXJnaW46IDAgcmVtLWNhbGMoLTYpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2VsbCB7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoNik7XG4gIHdpZHRoOiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBVbml0XG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS11bml0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDEyKTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMikgc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQpO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdGV4dGJveCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNyk7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiByZW0tY2FsYyg4IDI2IDggMTApO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgbGluZS1oZWlnaHQ6IDIwLzE2O1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgLy8gUmVtb3ZlIHNwaW5uZXJzL2Fycm93c1xuXG4gIC8vIENocm9tZSwgU2FmYXJpLCBPcGVyYSwgRWRnZVxuICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gRmlyZWZveFxuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19jaGVja2JveC1ncm91cCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19jaGVja2JveCB7XG4gICsgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICRibGFja2lzaC1ncmF5O1xuICAgIHBhZGRpbmctbGVmdDogKDI2ZW0vMTYpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgIC8vIFdoaXRlIHNxdWFyZS5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMC4xZW07XG4gICAgICB0b3A6IDAuMmVtO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgaGVpZ2h0OiAoMTRlbS8xNik7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIH1cbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgKyBsYWJlbCB7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19mb290ZXIge1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAjZmZmO1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzUpO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY3RhIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDEyKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDApLCAjYmJiKTtcbiAgfVxuXG4gID4gLmljb24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgfVxufVxuXG4vLyBSYW5nZSBzbGlkZXJcblxuLnJhbmdlLXNsaWRlciB7XG4gIGhlaWdodDogcmVtLWNhbGMoNik7XG5cbiAgLk11aVNsaWRlci1yYWlsLFxuICAuTXVpU2xpZGVyLXRyYWNrIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICB9XG5cbiAgLk11aVNsaWRlci1yYWlsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHRlci1ncmF5O1xuICB9XG5cbiAgLk11aVNsaWRlci10cmFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC8vIEhpZGUgbGl0dGxlIHNsaWRlciBtYXJrc1xuICAuTXVpU2xpZGVyLW1hcmsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBTbGlkZXIgY29udHJvbHNcbiAgLk11aVNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDEwKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1KTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtOSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpXG4gIH1cbn1cblxuLnJhbmdlLXNsaWRlci1sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46ICByZW0tY2FsYygtNikgcmVtLWNhbGMoLTYpIDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnJhbmdlLXNsaWRlci1sYWJlbHNfX2xhYmVsIHtcbiAgcGFkZGluZzogMCByZW0tY2FsYyg2KTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMC4yZW07XG4gICAgY29udGVudDogYXR0cihkYXRhLXVuaXQpO1xuICB9XG59XG5cbi5SZWFjdENvbGxhcHNlLS1jb2xsYXBzZSB7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjM1cztcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRtZ2M6IHJlbS1jYWxjKCRtZyk7XG4gICAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICAgJG1nYzogMHJlbTtcbiAgICAgIH1cbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ30pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJG1nYzogcmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpO1xuICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgJG1nYzogMHJlbTtcbiAgICB9XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWdjfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi5wcm9kdWN0LWZpbmRlciB7XG4gIC5SZWFjdFRhYmxlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAucnQtdGFibGUge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAucnQtdGhlYWQge1xuICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogJGJsYWNraXNoLWdyYXk7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAvL3Bvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgIC5ydC10aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40MztcbiAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJ0aGZjLXRoLWZpeGVkIHtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FuY2VsIHRvcC1ib3JkZXIgZWZmZWN0IGZvcm0gZWxzZXdoZXJlLlxuICAgICAgICAmLi1zb3J0LWFzYyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5ydC10Ym9keSB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgfVxuXG4gICAgLnJ0LXRyLWdyb3VwIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAucnQtdHIuLW9kZCxcbiAgICAucnQtdHIuLWV2ZW4ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnJ0LXRyLi1vZGQgLnJ0LXRkIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAucnQtdHIuLWV2ZW4gLnJ0LXRkIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLnJ0LXRkLFxuICAgIC5ydC10aCB7XG4gICAgICBwYWRkaW5nOiAxLjEgKiAkc3BhY2UgJHNwYWNlLWRvdWJsZTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5ydC10ZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIHNwYW46bm90KC5wcm9kdWN0LWxhYmVsKSB7ICAvLyBtYWtlIHN1cmUgdG8gdHJpbSB0aGUgdGV4dCBpbiBjb25qdWN0aW9uIHdpdGggZmxleGJveFxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucnRoZmMtdGQtZml4ZWQucnRoZmMtdGQtZml4ZWQtbGVmdCxcbiAgICAucnRoZmMtdGQtZml4ZWQucnRoZmMtdGQtZml4ZWQtbGVmdC1sYXN0IHsgIC8vIGxlZnQgYWxpZ24gdGhlIGVsZW1lbnRzIGluIHRoZSBmaXJzdCBjb2x1bW5cbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAucnRoZmMtdGQtZml4ZWQucnRoZmMtdGQtZml4ZWQtbGVmdC1sYXN0IHsgIC8vIGFsaWduIHRoZSBzdG9jayBpY29uIHRvIHRoZSBpbml0aWFsIGJhc2VsaW5lXG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLnJ0LXRoIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5ydC10ZC5ydGhmYy10ZC1maXhlZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG5cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgLy8gcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmICsgLnJ0LXRkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJ0LXRkLnJ0aGZjLXRkLWZpeGVkLWxlZnQtbGFzdCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogJHNwYWNlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAkYm9yZGVyLWNvbG9yKTtcblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucnQtcmVzaXphYmxlLWhlYWRlci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmhlYWRlci10aCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNlLWRvdWJsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAmX19vcHRpb25hbCB7XG4gICAgICB3aWR0aDogNTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnJ0aGZjLXRoLWZpeGVkIHtcbiAgICAuaGVhZGVyLXRoIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZS1kb3VibGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3QtbGluayB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7IC8vIHByZXZlbnQgdGhlIHVuZGVybGluZSBkZWNvcmF0aW9uIGZyb20gZXhjZWVkaW5nIHRoZSBlbGVtZW50IHdpZHRoXG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAkZGFyay13aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIH1cblxuICAgICAgJi5uZXcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5lbmQtb2YtbGlmZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5ub3QtcmVjb21tZW5kZWQtZm9yLW5ldy1kZXNpZ24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZHVjdC1zdG9jay1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICZfX3N0b2NrIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMik7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgIC8vd2lkdGg6IHJlbS1jYWxjKDQ1KTtcbiAgICAgIC8vaGVpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNSAqICRzcGFjZTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI4cHgnIGhlaWdodD0nMzJweCcgdmlld0JveD0nMCAwIDQzIDM5JyUzRSUzQ2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMS42MDggMS4wMDkpJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZWxsaXBzZSBzdHJva2U9JyUyMzAwNDFDMCcgc3Ryb2tlLXdpZHRoPScyJyBjeD0nMTguMTMzJyBjeT0nMzIuMjI3JyByeD0nNC4wNDknIHJ5PSc0LjEzMycvJTNFJTNDZWxsaXBzZSBzdHJva2U9JyUyMzAwNDFDMCcgc3Ryb2tlLXdpZHRoPScyJyBjeD0nMzAuMjgnIGN5PSczMi4yMjcnIHJ4PSc0LjA0OScgcnk9JzQuMTMzJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J005LjIyNiA4LjI1OGgzMC43NzJsLTMuMjQgMTYuNTNIMTIuNDY2eicvJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwNDFDMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIGQ9J00xMC4wNCAxMi4zOUw3Ljc2MiAwSDAnLyUzRSUzQ3BhdGggZD0nTTMxLjg0OCAxNy45OTJjLjQxNC0uNDE0LjYyLS45NTcuNjItMS41IDAtLjU0NC0uMjA2LTEuMDg4LS42Mi0xLjUwMmwtMy40NTQtMy40NTRhMi4xMjUgMi4xMjUgMCAwMC0zLjAwMiAwYy0uNzc0Ljc3My0uODI0IDItLjE1MyAyLjgzMmgtNi42NDhjLTEuMTcgMC0yLjEyMy45NTMtMi4xMjMgMi4xMjMgMCAxLjE3Ljk1MyAyLjEyMyAyLjEyMyAyLjEyM2g2LjY0OGEyLjEyNiAyLjEyNiAwIDAwLjE1MyAyLjgzMyAyLjEyNSAyLjEyNSAwIDAwMy4wMDIgMGwzLjQ1NC0zLjQ1NXptLTUuNDU2IDIuNDU0YS43MDIuNzAyIDAgMDEtLjIwNy0uNWMwLS4xOS4wNzQtLjM2Ny4yMDctLjVsMS4wNC0xLjA0YS43MDguNzA4IDAgMDAtLjUwMS0xLjIwN2gtOC4zNGEuNzA4LjcwOCAwIDAxMC0xLjQxNWg4LjM0YS43MDcuNzA3IDAgMDAuNS0xLjIwOGwtMS4wMzktMS4wNGEuNzAyLjcwMiAwIDAxLS4yMDctLjVjMC0uMTg4LjA3NC0uMzY2LjIwNy0uNWEuNzAzLjcwMyAwIDAxMSAwbDMuNDU1IDMuNDU1YS43MDguNzA4IDAgMDEwIDFsLTMuNDU0IDMuNDU1YS43MDguNzA4IDAgMDEtMSAweicgZmlsbD0nJTIzMDA0MUMwJyBmaWxsLXJ1bGU9J25vbnplcm8nLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBlYXNlLW91dDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xLCAxLjEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kYXRhLXNoZWV0LXdyYXBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmX19saW5rIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMSAqICRzcGFjZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIwcHgnIGhlaWdodD0nMjRweCcgdmlld0JveD0nMCAwIDIwIDI0JyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZyBpZD0nU1lNQk9MUycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPSdGaWxlSWNvbi9QREYnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDEuMDAwMDAwLCAxLjAwMDAwMCknJTNFJTNDZyUzRSUzQ3BvbHlnb24gaWQ9J1JlY3RhbmdsZS0xNicgc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgcG9pbnRzPSc5LjA5NTIyNDU3ZS0xMyAwIDEzLjg4Mzc4OTEgMCAxNiAzIDE4IDUuNDE2OTkyMTkgMTggMjIgOS4wOTUyMjQ1N2UtMTMgMjInJTNFJTNDL3BvbHlnb24lM0UlM0Nwb2x5bGluZSBpZD0nUGF0aCcgc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBwb2ludHM9JzEzIDAuNSAxMyA2IDE4IDYnJTNFJTNDL3BvbHlsaW5lJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDdGV4dCBpZD0nUERGJyBmb250LWZhbWlseT0nQXJpYWwtQm9sZE1ULCBBcmlhbCcgZm9udC1zaXplPSc3JyBmb250LXdlaWdodD0nYm9sZCcgZmlsbD0nJTIzMDA0MUMwJyUzRSUzQ3RzcGFuIHg9JzUwJTI1JyB5PScxNicgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgdGV4dC1hbmNob3I9J21pZGRsZSclM0VQREYlM0MvdHNwYW4lM0UlM0MvdGV4dCUzRSUzQy9zdmclM0VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMiwgMS4yKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBlYXNlLW91dDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLnBhZ2luYXRpb24tYm90dG9tIHtcbiAgICBAaW5jbHVkZSBjdXN0b20teHktZ3JpZC1jb250YWluZXIoKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoKCRnbG9iYWwtd2lkdGgtbWVkaXVtICsgcmVtLWNhbGMoJHNwYWNlLXF1YWRydXBsZSkpKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBtYXJnaW4tdG9wOiAkc3BhY2UtcXVhZHJ1cGxlO1xuXG4gICAgLnBhZ2VyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLm1hbmFnZS1hdHRyaWJ1dGVzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogMTAxMDtcblxuICAmX19pbm5lciB7XG4gICAgQGluY2x1ZGUgY3VzdG9tLXh5LWdyaWQtY29udGFpbmVyKCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDgwJTtcbiAgICBwYWRkaW5nOiAkc3BhY2UtcXVhZHJ1cGxlICRzcGFjZS1kb3VibGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAuaWNvbi1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRzcGFjZTtcbiAgICAgIHJpZ2h0OiAkc3BhY2U7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAkc3BhY2Utc2V4dHVwbGUgJHNwYWNlLXF1aW50dXBsZTtcblxuICAgICAgLmljb24tY2xvc2Uge1xuICAgICAgICB0b3A6ICRzcGFjZS1kb3VibGU7XG4gICAgICAgIHJpZ2h0OiAkc3BhY2UtZG91YmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6ICRzcGFjZS1kZWN1cGxlIDgqJHNwYWNlO1xuICAgIH1cbiAgfVxuXG4gIC5tYW5hZ2UtYXR0cmlidXRlcy1mb3JtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmZvcm0tLWlubGluZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZm9ybV9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlLWRvdWJsZSAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hdHRyaWJ1dGVDaGVja2JveCB7XG4gICAgQGV4dGVuZCAlZm9ybS1jaGVja2JveDtcblxuICAgIG1hcmdpbjogJHNwYWNlLW9uZS1oYWxmIDA7XG5cbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNlLXRyaXBsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIl9mb3JtLWVsZW1lbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCJfcHJvZHVjdC1maW5kZXItZm9ybS5zY3NzXCI7XG5AaW1wb3J0IFwiX3N0aWNreS10YWJsZS5zY3NzXCI7XG5AaW1wb3J0IFwiX3Byb2R1Y3QtZmluZGVyLWZpbHRlcnMuc2Nzc1wiO1xuQGltcG9ydCBcIl9wcm9kdWN0LWZpbmRlci1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCJfbWFuYWdlLWF0dHJpYnV0ZXMuc2Nzc1wiO1xuXG4ucHJvZHVjdC1maW5kZXIudmlldyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZHVjdC1maW5kZXJfX2JvZHkge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAmLmlzLW9wZW4gLnByb2R1Y3QtZmluZGVyX19tYWluIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOS4zNzVyZW0pO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtb3BlbiAucHJvZHVjdC1maW5kZXJfX21haW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlcl9fbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC1maW5kZXJfX2FzaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTApO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXJfX21haW4ge1xuICBmbGV4LXNocmluazogMTtcbn1cbiIsIi8vIEdFTkVSQUwgTEFZT1VUIFNUWUxFU1xuLy8gKEdsb2JhbCBsYXlvdXQgc3R5bGVzIHRoYXQgY2FuIGJlIHJlLXVzZWQpXG4uc2VjdGlvbiB7XG4gIG1hcmdpbjogJHNwYWNlLWRlY3VwbGUgMDtcbn1cblxuLy8gUHJpbWFyeSBzZWN0aW9uIHNwYWNpbmcgdXNpbmcgcGFkZGluZy5cbi5zZWN0aW9uLWJveCB7XG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCkgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAmICsgLnBhcmFncmFwaCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5pbi1pZnJhbWUgJiB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG59XG5cbi5zZWN0aW9uLWJveC0tcHJvdHJ1ZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbi0tZm9yY2Uge1xuICBtYXJnaW46ICRzcGFjZS1kZWN1cGxlIDAgIWltcG9ydGFudDtcbn1cblxuLndpZHRoLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gIEhFTFBFUiBTVFlMRVNcbi8vICAoR2xvYmFsIGhlbHBlciBzdHlsZXMgdGhhdCBjYW4gYmUgcmUtdXNlZClcbi8vICB8XG4vLyAgYC0tIFR5cG9ncmFwaHlcbi8vICAgICAodGV4dCBzdHlsaW5nIHByb3BlcnRpZXMgbGlrZSBmb250LXNpemVzLCBmb250LXdlaWdodHMsIGV0Yy4pXG4uc2l6ZS1tZCB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xufVxuXG4udHlwZS1oZWF2eSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8vICB8XG4vLyAgYC0tIENvbnRlbnQgcmVzZXRcbi8vICAgICAoUmVzZXQgdmVydGljYWwgc3BhY2luZyBvZiB0aGUgbmVzdGVkIGVsZW1lbnRzbGlrZSBwYXJhZ3JhcGhzIGZvciBleGFtcGxlLilcbi5yZXNldC1zcGFjaW5nIHtcbiAgPiAqIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gIHxcbi8vICBgLS0gTWFyZ2luIG92ZXJyaWRlcyAobWwgLSBtYXJnaW4tbGVmdCwgLi4uKVxuLm1sLTB4IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1iLTB4IHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubXQtMHgge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0xeCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZSAhaW1wb3J0YW50O1xufVxuXG4ubWItMngge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2UgKiAyO1xufVxuXG4ubWItNHgge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2UgKiA0O1xufVxuXG4ubWItNXgge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2UgKiA1O1xufVxuXG4vLyAgfFxuLy8gIGAtLSBQYWRkaW5nIG92ZXJyaWRlcyAocGwgLSBwYWRkaW5nLWxlZnQsIC4uLilcbi5wdC0weCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0weCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vICB8XG4vLyAgYC0tIEJhY2tyb3VuZCBjb2xvclxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vLyBUZXh0IGFsaWdubWVudFxuLy8gfFxuLy8gYC0tIFRleHQgY2VudGVyXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIERpc3BsYXlcbi5mbGV4LWJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vIEJhY2tncm91bmRzXG4uYmFja2dyb3VuZC1ncmF5IHtcbiAgYmFja2dyb3VuZDogJGRhcmstd2hpdGU7XG59XG5cbi5iYWNrZ3JvdW5kLWJsdWUge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLmJhY2tncm91bmQtcmVkIHtcbiAgYmFja2dyb3VuZDogJHl0LWNvbG9yOyBcbn0iXX0= */
