/* $accordion-plus-content: '\003E';
$accordion-minus-content: '\003E'; */
/**
 * 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 .cad-data-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.product-finder .cad-data-wrapper__link {
  width: 1.25rem;
  height: 1.5rem;
  margin-right: 10px;
  border: 0;
  padding: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Ebene_1' data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %230041c0; font-family: Arial-BoldMT, Arial; font-size: 7px; font-weight: 700; isolation: isolate; %7D .cls-2 %7B stroke-linecap: round; %7D .cls-2, .cls-3 %7B fill: none; stroke: %230041c0; stroke-linejoin: round; stroke-width: 2px; %7D %3C/style%3E%3C/defs%3E%3Cg id='SYMBOLS'%3E%3Cg id='FileIcon_PDF' data-name='FileIcon/PDF'%3E%3Cg%3E%3Cpolygon id='Rectangle-16' class='cls-3' points='1 1 14.9 1 17 4 19 6.4 19 23 1 23 1 1'/%3E%3Cpolyline id='Path' class='cls-2' points='14 1.5 14 7 19 7'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Ctext class='cls-1' transform='translate(2.52 16.08)'%3E%3Ctspan x='0' y='0'%3ECAD%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.1s ease-out;
  transition: -webkit-transform 0.1s ease-out;
  transition: transform 0.1s ease-out;
  transition: transform 0.1s ease-out, -webkit-transform 0.1s ease-out;
}
.product-finder .cad-data-wrapper__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;
}

.pt-2x {
  padding-top: 20px !important;
}

.pt-4x {
  padding-top: 40px !important;
}

.pt-6x {
  padding-top: 60px !important;
}

.pt-7x {
  padding-top: 70px !important;
}

.pt-8x {
  padding-top: 80px !important;
}

.pt-10x {
  padding-top: 100px !important;
}

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

.pb-2x {
  padding-bottom: 20px !important;
}

.pb-4x {
  padding-bottom: 40px !important;
}

.pb-6x {
  padding-bottom: 60px !important;
}

.pb-7x {
  padding-bottom: 70px !important;
}

.pb-8x {
  padding-bottom: 80px !important;
}

.pb-10x {
  padding-bottom: 100px !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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiZ2xvYmFsL19taXhpbnMuc2NzcyIsImdsb2JhbC9fZXh0ZW5kcy5zY3NzIiwicHJvZHVjdC1maW5kZXIuY3NzIiwicHJvZHVjdC1maW5kZXIuc2NzcyIsImNvbXBvbmVudHMvcHJvZHVjdC1maW5kZXIvX2Zvcm0tZWxlbWVudHMuc2NzcyIsImdsb2JhbC9fY29sb3ItdmFycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiY29tcG9uZW50cy9wcm9kdWN0LWZpbmRlci9fcHJvZHVjdC1maW5kZXItZm9ybS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiY29tcG9uZW50cy9wcm9kdWN0LWZpbmRlci9fc3RpY2t5LXRhYmxlLnNjc3MiLCJjb21wb25lbnRzL3Byb2R1Y3QtZmluZGVyL19wcm9kdWN0LWZpbmRlci1maWx0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsImNvbXBvbmVudHMvcHJvZHVjdC1maW5kZXIvX3Byb2R1Y3QtZmluZGVyLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvcHJvZHVjdC1maW5kZXIvX21hbmFnZS1hdHRyaWJ1dGVzLnNjc3MiLCJjb21wb25lbnRzL3Byb2R1Y3QtZmluZGVyL3Byb2R1Y3QtZmluZGVyLnNjc3MiLCJjb21wb25lbnRzL191dGlsaXRpZXMuaGVscGVycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVQQTtvQ0FBQTtBQ3ZQQTs7Ozs7RUFBQTtBQ2tZQSxrQkFBQTtBQ2hXQTtFQUNFLGtCQUFBO0FDeEJGO0FEMEJFO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtBQ3hCSjtBRDBCSTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsaUJId0NTO0FJaEVmO0FEMEJNO0VEK1JKLHFCQUFBO0VBQ0EsV0YxUGE7RUUyUGIsWUYzUGE7RUU0UGIseUJBQUE7RUFDQSxrQkFBQTtFQ2hTTSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBQ3JCUjtBRHlCSTtFRDBRRixjQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO1VBQUEsd0JBQUE7RUFDQSxnQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsK0JBQUE7RUM5UUksV0FBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7QUNqQk47O0FEdUJBO0VBQ0UsNEJBQUE7QUNwQkY7QURzQkU7RUFDRSwwQ0FBQTtBQ3BCSjtBRHVCRTtFQUNFLG1CQUFBO0VBQ0EseThDQUFBO0FDckJKOztBQ3pDQTtFQUNJLDJEQUFBO0FENENKOztBRTdERTtFQUNFLG9CQUFBO0FGZ0VKO0FFN0RNO0VBQ0UsbUJOaUdRO0VNaEdSLHlCTmtjTztFTWpjUCwrQ0FBQTtVQUFBLHVDQUFBO0VBQ0EsMkNBQUE7RUFBQSxtQ0FBQTtFQUFBLDJCQUFBO0VBQUEsb0RBQUE7QUYrRFI7QUU3RFE7RUFDRSxpREFBQTtVQUFBLHlDQUFBO0FGK0RWO0FFNURRO0VBQ0UsNEJBQUE7RUFDQSw2QkFBQTtFQUNBLGlEQUFBO1VBQUEseUNBQUE7QUY4RFY7QUUzRFk7RUFDRSxRQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtBRjZEZDtBRXZETTtFQUNFLFlBQUE7RUFDQSw2QkFBQTtFQUNBLGVO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QWY2a0RGO0FlM2tERTtFQUNFLGFBQUE7QWY2a0RKO0FlMWtERTtFQUNFLHlCQUFBO0FmNGtESjs7QWV2a0RBO0VBQ0UsZ0NBQUE7QWYwa0RGOztBZXZrREE7RUFDRSwwQkFBQTtBZjBrREY7O0FldmtEQTtFQUNFLFdBQUE7QWYwa0RGOztBZWxrREE7RUFDRSxtQkFBQTtBZnFrREY7O0FlbGtEQTtFQUNFLGdCQUFBO0FmcWtERjs7QWU3akRJO0VBQ0UsZ0JBQUE7QWZna0ROOztBZXpqREE7RUFDRSx5QkFBQTtBZjRqREY7O0FlempEQTtFQUNFLDJCQUFBO0FmNGpERjs7QWV6akRBO0VBQ0Usd0JBQUE7QWY0akRGOztBZXpqREE7RUFDRSw4QkFBQTtBZjRqREY7O0FlempEQTtFQUNFLG1CQUFBO0FmNGpERjs7QWV6akRBO0VBQ0UsbUJBQUE7QWY0akRGOztBZXpqREE7RUFDRSxtQkFBQTtBZjRqREY7O0FldmpEQTtFQUNFLHlCQUFBO0FmMGpERjs7QWV4akRBO0VBQ0UsNEJBQUE7QWYyakRGOztBZXpqREE7RUFDRSw0QkFBQTtBZjRqREY7O0FlMWpEQTtFQUNFLDRCQUFBO0FmNmpERjs7QWUzakRBO0VBQ0UsNEJBQUE7QWY4akRGOztBZTVqREE7RUFDRSw0QkFBQTtBZitqREY7O0FlN2pEQTtFQUNFLDZCQUFBO0FmZ2tERjs7QWU3akRBO0VBQ0UsNEJBQUE7QWZna0RGOztBZTdqREE7RUFDRSwrQkFBQTtBZmdrREY7O0FlOWpEQTtFQUNFLCtCQUFBO0FmaWtERjs7QWUvakRBO0VBQ0UsK0JBQUE7QWZra0RGOztBZWhrREE7RUFDRSwrQkFBQTtBZm1rREY7O0FlamtEQTtFQUNFLCtCQUFBO0Fmb2tERjs7QWVsa0RBO0VBQ0UsZ0NBQUE7QWZxa0RGOztBZS9qREE7RUFDRSxpQ0FBQTtBZmtrREY7O0FlNWpEQTtFQUNFLGtCQUFBO0FmK2pERjs7QWUzakRBO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7QWY4akRGOztBZTFqREE7RUFDRSxtQlpuSlc7QUhndERiOztBZTFqREE7RUFDRSxtQlh4Q2tCO0FKcW1EcEI7O0FlMWpEQTtFQUNFLG1CWi9KUztBSDR0RFgiLCJmaWxlIjoicHJvZHVjdC1maW5kZXIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXNpdGUtd2lkdGg6IHJlbS1jYWxjKDI1NjApO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLXdpZHRoLW1lZGl1bTogcmVtLWNhbGMoOTQwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkcHJpbWFyeS1jb2xvcixcbiAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LWNvbG9yLFxuICBzdWNjZXNzOiAkc3VjY2Vzcy1jb2xvcixcbiAgd2FybmluZzogJHdhcm5pbmctY29sb3IsXG4gIGFsZXJ0OiAkYWxlcnQtY29sb3IsXG4pO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG5cbi8vIFNwYWNpbmcgLSBzcGVjaWZpYyAobm90IGZyb20gWlVSQiBGb3VuZGF0aW9uKVxuJHNwYWNlOiAxMHB4O1xuJHNwYWNlLWRvdWJsZTogY2FsYygkc3BhY2UqMik7XG4kc3BhY2UtdHJpcGxlOiBjYWxjKCRzcGFjZSozKTtcbiRzcGFjZS1xdWFkcnVwbGU6IGNhbGMoJHNwYWNlKjQpO1xuJHNwYWNlLXF1aW50dXBsZTogY2FsYygkc3BhY2UqNSk7XG4kc3BhY2Utc2V4dHVwbGU6IGNhbGMoJHNwYWNlKjYpO1xuJHNwYWNlLXNlcHR1cGxlOiBjYWxjKCRzcGFjZSo3KTtcbiRzcGFjZS1vY3R1cGxlOiBjYWxjKCRzcGFjZSo4KTtcbiRzcGFjZS1kZWN1cGxlOiBjYWxjKCRzcGFjZSoxMCk7XG4kc3BhY2Utb25lLWhhbGY6IGNhbGMoJHNwYWNlLzIpO1xuJHNwYWNlLW9uZS1maWZ0aDogY2FsYygkc3BhY2UvNSk7XG4kc3BhY2Utb25lLXRlbnRoOiBjYWxjKCRzcGFjZS8xMCk7XG5cbiRnbG9iYWwtbWFyZ2luOiAkc3BhY2U7XG4kZ2xvYmFsLXBhZGRpbmc6ICRzcGFjZTtcbiRnbG9iYWwtcG9zaXRpb246ICRzcGFjZTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAxNHB4O1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDA7XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbiRwcmludC1ocmVmczogdHJ1ZTtcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGZsZXg6IHRydWU7XG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogOS40NXB4LFxuICBtZWRpdW06IDIwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJ09wZW4gU2FucyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNCwgJ2xpbmUtaGVpZ2h0JzogNTApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgsICdsaW5lLWhlaWdodCc6IDQyKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE2LCAnbGluZS1oZWlnaHQnOiAzMCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCwgJ2xpbmUtaGVpZ2h0JzogMjgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjAsICdsaW5lLWhlaWdodCc6IDI4KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAyOCksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDQsICdsaW5lLWhlaWdodCc6IDYwKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDM0LCAnbGluZS1oZWlnaHQnOiA1MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxNiwgJ2xpbmUtaGVpZ2h0JzogMzApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjAsICdsaW5lLWhlaWdodCc6IDI4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAyOCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAyMCwgJ2xpbmUtaGVpZ2h0JzogMjgpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRtZWRpdW0tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kc21hbGwtZm9udC1zaXplOiA4MS4yNSU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjb2RlLWJvcmRlcjogbm9uZTtcbiRjb2RlLXBhZGRpbmc6IDA7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMDtcbi8qICRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDNFJztcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMDAzRSc7ICovXG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogMDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsXG4gIGNvbG9yIDAuMjVzIGVhc2Utb3V0LFxuICB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQsXG4gIGJveC1zaGFkb3cgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6IDA7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6IDI7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogY2FsYygkZm9ybS1zcGFjaW5nIC8gMik7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogJHNwYWNlO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46ICRzcGFjZS10cmlwbGU7XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAwO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDUgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6ICRkYXJrLXdoaXRlO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6ICRib3JkZXItY29sb3I7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogJGJvcmRlci1jb2xvcjtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb250YWluZXItbWVkaXVtOiAkZ2xvYmFsLXdpZHRoLW1lZGl1bTtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDkuNDVweCxcbiAgbWVkaXVtOiAyMHB4LFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogMDtcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIEFkZGl0aW9uYWwgZm9yIHRoZSBwcm9qZWN0IHNwZWNpZmljcyAobm90IGZvciBaVVJCIEZvdW5kYXRpb24pXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCZXZlbCBzZXR0aW5nc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJldmVsLWltZzogMC40Mzc1O1xuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjguMVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR2VuZXJhbCBNaXhpbnMgKHB1dCBzcGVjaWZpYyBvbmVzIGluIGNvbXBvbmVudCBmaWxlcyB3aGVyZSBhcHBsaWNhYmxlKVxuXG4vLy8gTWl4aW4gLSBDbGVhcmZpeC5cbi8vLyBBZGRzIGNsZWFyZml4IGJhc2VkIG9uIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI2NsZWFyZml4XG4vLy8gdXNlIGV4YW1wbGUgPSAgIEBpbmNsdWRlIGNsZWFmaXhcblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cblxuLy8vIE1peGluIC0gV3JhcHBlclxuLy8vIE91dGVyIGNvbnRhaW5lciBtaXhpbiBmb3IgbGFyZ2Ugc2NyZWVuc1xuQG1peGluIHdyYXBwZXIoJGNvbnRhaW5lci1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGgsICRvdXRlci1jb250YWluZXItYnJlYWs6IG1lZGl1bSwgJHYtbWFyZ2luOiAwLCAkdi1wYWRkaW5nOiAwLCAkaC1wYWRkaW5nOiAkc3BhY2UsICRoLXBhZGRpbmctbGFyZ2U6ICRoLXBhZGRpbmcpIHtcbiAgbWF4LXdpZHRoOiAjeyRjb250YWluZXItbWF4LXdpZHRofTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogI3skdi1tYXJnaW59IGF1dG87XG4gIHBhZGRpbmc6ICN7JHYtcGFkZGluZ30gI3skaC1wYWRkaW5nfTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRvdXRlci1jb250YWluZXItYnJlYWspIHtcbiAgICBwYWRkaW5nOiAjeyR2LXBhZGRpbmd9ICN7JGgtcGFkZGluZy1sYXJnZX07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb250YWluZXItbWF4LXdpZHRoKSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKCN7JGgtcGFkZGluZy1sYXJnZX0gKyBjYWxjKC01MHZ3ICsgY2FsYygjeyRjb250YWluZXItbWF4LXdpZHRofSAvIDIpKSk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygjeyRoLXBhZGRpbmctbGFyZ2V9ICsgY2FsYygtNTB2dyArIGNhbGMoI3skY29udGFpbmVyLW1heC13aWR0aH0gLyAyKSkpO1xuICB9XG59XG5cbi8vLyBVc2UgdGhlIGJyZWFrb3V0IG1peGluIGZvciBlbGVtZW50cyB0aGF0IHNob3VsZCBiZSBlZGdlLXRvLWVkZ2Vcbi8vLyBFdmVuIHdoZW4gYSBwYXJlbnQgY29udGFpbmVyIHVzZXMgdGhlIHdyYXBwZXIgbWl4aW5cbkBtaXhpbiBicmVha291dCgkdi1wYWRkaW5nOiAkc3BhY2UtZG91YmxlKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC01MHZ3ICsgNTAlKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC01MHZ3ICsgNTAlKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKCN7JHYtcGFkZGluZ30gKyBjYWxjKC01MHZ3ICsgNTAlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skdi1wYWRkaW5nfSArIGNhbGMoLTUwdncgKyA1MCUpKTtcbn1cblxuLy8vIE1peGluIC0gU3RhbmRhcmQgTWFyZ2luXG5AbWl4aW4gbWFyZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG5AbWl4aW4gbm8tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1peGluIGJvcmRlci1hcnJvdygkZGlyZWN0aW9uOiBib3R0b20sICRzaXplOiA4cHgsICRib3JkZXItd2lkdGg6IDJweCwgJGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc2l6ZTtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgJGJvcmRlci13aWR0aCAkYm9yZGVyLXdpZHRoO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDQ1ZGVnKTtcbiAgfVxuICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMjI1ZGVnKTtcbiAgfVxuICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHRvcCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDEzNWRlZyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigtNDVkZWcpO1xuICB9XG59XG5cbkBtaXhpbiBsaW5rKCRjb2xvcjogJHByaW1hcnktY29sb3IsICRib3JkZXItc2l6ZTogMnB4KSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLCAkY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjJzO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgY2FsYygycmVtLzE2KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoNnJlbS8xNik7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBjYWxjKDJyZW0vMTYpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGxpbmstaG92ZXItcHJpbWFyeSgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuMnM7XG4gIGJhY2tncm91bmQtc2l6ZTogMCBjYWxjKDJyZW0vMTYpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyg2cmVtLzE2KTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGNhbGMoMnJlbS8xNik7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbGluay1hY3RpdmUoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLCAkY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBjYWxjKDJyZW0vMTYpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyg2cmVtLzE2KTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGNhbGMoMnJlbS8xNik7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uKCRiZzokcHJpbWFyeS1jb2xvciwgJGNvbG9yOiR3aGl0ZSwgJGhvdmVyQmc6ICR3aGl0ZSwgJGhvdmVyQ29sb3I6ICRwcmltYXJ5LWNvbG9yLCAkYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3IsICRtaW4td2lkdGg6IDI0N3B4LCAkbWluLWhlaWdoOiA2MHB4KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkc3BhY2UgMS41KiRzcGFjZTtcbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtI3tyZW0tY2FsYyg0KX0pO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRob3ZlckNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlckJnO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24tLWdob3N0IHtcbiAgQGluY2x1ZGUgYnV0dG9uKCRiZzokd2hpdGUsICRjb2xvcjokcHJpbWFyeS1jb2xvciwgJGhvdmVyQmc6ICRwcmltYXJ5LWNvbG9yLCAkaG92ZXJDb2xvcjogJHdoaXRlKTtcbn1cblxuQG1peGluIGJ1dHRvbi0tYWx0IHtcbiAgQGluY2x1ZGUgYnV0dG9uKCRiZzokd2hpdGUsICRjb2xvcjokcHJpbWFyeS1jb2xvciwgJGhvdmVyQmc6ICRwcmltYXJ5LWNvbG9yLCAkaG92ZXJDb2xvcjogJHdoaXRlLCAkYm9yZGVyOiAwKTtcbn1cblxuQG1peGluIHNlYXJjaC1idXR0b25zIHtcbiAgLy8gQHRvZG8gV2h5IC5zZWFyY2gtZm9ybXMtYXJlYSBjbGFzcyBpcyBub3QgdXNlZCBpbiBwYWdlcywgb25seSBpbiBvdmVybGF5P1xuICAvLyBDb3B5IGZyb20gX3BhdHRlcm5zLzAzLW9yZ2FuaXNtcy9zaXRlLzExLXNpdGUtc2VhcmNoLWZvcm1zLWFyZWEvc2VhcmNoLWZvcm1zLWFyZWEuc2Nzc1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2UtcXVhZHJ1cGxlO1xuXG4gICAgLmZvcm0tc3VibWl0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXN1Ym1pdCB+IC5yZXNldCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkc3BhY2UtdHJpcGxlIDAgMCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgJHNwYWNlLWRvdWJsZTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1zdWJtaXQgKyAuYWpheC1wcm9ncmVzcyB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjZTtcbiAgfVxufVxuXG5AbWl4aW4gc2hvdy1hcy1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cblxuICBpbWcsXG4gIHZpZGVvIHtcbiAgICBAZXh0ZW5kICViYWNrZ3JvdW5kLWNvdmVyLWxpa2U7XG4gIH1cbn1cblxuQG1peGluIGN1c3RvbS14eS1ncmlkLWNvbnRhaW5lcigkd2lkdGg6ICRncmlkLWNvbnRhaW5lciwgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nKSB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKCR3aWR0aCwgJHBhZGRpbmcpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIG1heC13aWR0aDogJGdyaWQtY29udGFpbmVyLW1lZGl1bTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoKCRnbG9iYWwtd2lkdGgtbWVkaXVtICsgcmVtLWNhbGMoJHNwYWNlLXF1YWRydXBsZSkpIGRvd24pIHtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNlLWRvdWJsZTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS1kb3VibGU7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIG1heC13aWR0aDogMTkwbW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1peGluIGN1c3RvbS1zbGljay1pbi1mbGV4KCkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCgkZ2xvYmFsLXdpZHRoLW1lZGl1bSArIHJlbS1jYWxjKCRzcGFjZS1xdWFkcnVwbGUpKSBkb3duKSB7XG4gICAgJi5wYXJhZ3JhcGgtYmV2ZWxsZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7Ly9maXggZm9yIHNsaWNrIHNsaWRlciBidWcgaW4gZmxleCBjb250YWluZXJzXG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGljb24tY2xvc2UoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMnB4LCAtMnB4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgLTJweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHBhZ2luZy1saXN0KCRidXR0b24tc2l6ZTogJHNwYWNlLWRvdWJsZSwgJGJ1dHRvbi1mb250LXNpemU6IDAuNjI1cmVtKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogJHNwYWNlLWRvdWJsZSAwIDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgcGFkZGluZzogMCAkc3BhY2U7XG4gICAgbGluZS1oZWlnaHQ6ICRzcGFjZS1kb3VibGU7XG4gIH1cblxuICBidXR0b24sXG4gIC5wYWdlci1idXR0b24ge1xuICAgIEBpbmNsdWRlIHBhZ2luZy1idXR0b24oJGJ1dHRvbi1zaXplLCAkYnV0dG9uLWZvbnQtc2l6ZSk7XG4gIH1cbn1cblxuQG1peGluIHBhZ2luZy1idXR0b24oJGJ1dHRvbi1zaXplOiAkc3BhY2UtZG91YmxlLCAkYnV0dG9uLWZvbnQtc2l6ZTogMC42MjVyZW0pIHtcbiAgd2lkdGg6ICRidXR0b24tc2l6ZTtcbiAgaGVpZ2h0OiAkYnV0dG9uLXNpemU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC41ICogJGJ1dHRvbi1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zaXplIC0gMXB4O1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXdoaXRlO1xuICBvdXRsaW5lOiAwO1xuXG4gICY6aG92ZXIsXG4gIC5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuQG1peGluIHRpY2soJHNpemU6ICRzcGFjZS1kb3VibGUsICR0aWNrLWNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAuMzUqJHNpemU7XG4gIGhlaWdodDogMC42NSokc2l6ZTtcbiAgbWFyZ2luOiAwIGF1dG8gMC4xNSokc2l6ZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAzcHggJHRpY2stY29sb3I7XG4gIGJvcmRlci1yaWdodDogc29saWQgM3B4ICR0aWNrLWNvbG9yO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xufVxuXG5AbWl4aW4gY2hlY2tib3goJHNpemU6ICRzcGFjZS1kb3VibGUsICRib3JkZXItY29sb3I6ICRib3JkZXItY29sb3IpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNpemU7XG4gIGhlaWdodDogJHNpemU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuQG1peGluIGZvcm0tLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiAkc3BhY2UtcXVhZHJ1cGxlO1xuXG4gIC5zdWJtaXQge1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgICBtYXJnaW46IDAgMCAkc3BhY2UtdHJpcGxlO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmX19zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjUqJHNwYWNlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNSokc3BhY2U7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAmLmRpc2FibGVkOmhvdmVyLFxuICAgICAgJltkaXNhYmxlZF06aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6ICRzcGFjZS10cmlwbGU7XG5cbiAgICAuc3VibWl0IHtcbiAgICAgIG1pbi13aWR0aDogMjQ3cHg7XG4gICAgICBtYXJnaW46IDAgJHNwYWNlLWRvdWJsZSAwIDA7XG4gICAgfVxuICB9XG59XG5cbi8qIFRydW5jYXRlIFRleHQgKi9cbkBtaXhpbiB0cnVuY2F0ZS10ZXh0KCR3aWR0aCkge1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4iLCJAaW1wb3J0IFwibWl4aW5zXCI7XG5cbiViYWNrZ3JvdW5kLWNvdmVyLWxpa2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgcmlnaHQ6IC05OTk5cHg7XG4gIGJvdHRvbTogLTk5OTlweDtcbiAgbGVmdDogLTk5OTlweDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogYXV0bztcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlICogNDtcbiAgfVxufVxuXG4lYjEge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbiVibG9jay10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNjY3O1xuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgY29sb3I6ICRibGFjaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuJWZvcm0tY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYgKyBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyLjUqJHNwYWNlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbGluZS1oZWlnaHQ6ICRzcGFjZS1kb3VibGU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94KCk7XG5cbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0aWNrKCk7XG5cbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAycHg7XG4gICAgICBsZWZ0OiA2cHg7XG4gICAgfVxuICB9XG59XG5cbi8vIGlucHV0LS13aXRoLWljb24tLXJpZ2h0IGlucHV0LS13aXRoLWljb24tLW1hZ25pZmllclxuJWlucHV0LS13aXRoLWljb24ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICYtLXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAyMHB4KSA1MCU7XG4gIH1cblxuICAmLS1tYWduaWZpZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBjbGFzcz0naW5wdXQtc3ltYm9sX19zeW1ib2wnIHdpZHRoPScyNScgaGVpZ2h0PScyNScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2cgc3Ryb2tlLXdpZHRoPScuMScgZmlsbC1ydWxlPSdub256ZXJvJyBmaWxsPSclMjNBM0EzQTMnIHN0cm9rZT0nJTIzQTNBM0EzJyUzRSUzQ3BhdGggZD0nTTEwLjYxNyA5LjcyNWEuNDcyLjQ3MiAwIDExMCAuOTQzLjQ3Mi40NzIgMCAwMTAtLjk0M3onLyUzRSUzQ3BhdGggZD0nTTEuNjQ0IDIxLjY4OWw2LjI5NC02LjI5NGE5LjM0NyA5LjM0NyAwIDAxLTEuNTY2LTUuMTk5YzAtNS4yIDQuMjMxLTkuNDMxIDkuNDMzLTkuNDMxIDUuMTk5IDAgOS40MyA0LjIzIDkuNDMgOS40MzEgMCA1LjItNC4yMyA5LjQzMi05LjQzMSA5LjQzMmE5LjM0MyA5LjM0MyAwIDAxLTUuMTk5LTEuNTY2bC0xLjc0IDEuNzRzMCAwIDAgMGwtNC41NTQgNC41NTRjLS4zNTYuMzU3LS44My41NTMtMS4zMzQuNTUzLS41MDMgMC0uOTc3LS4xOTYtMS4zMzMtLjU1MmExLjg3MyAxLjg3MyAwIDAxLS41NTMtMS4zMzRjMC0uNTA0LjE5Ni0uOTc4LjU1My0xLjMzNHptOS4xODMtNC42MnMwIDAgMCAwYTguNDE1IDguNDE1IDAgMDA0Ljk3NyAxLjYxNWM0LjY4IDAgOC40ODgtMy44MDcgOC40ODgtOC40ODggMC00LjY4LTMuODA4LTguNDg4LTguNDg4LTguNDg4cy04LjQ4OCAzLjgwOC04LjQ4OCA4LjQ4OGMwIDEuOC41NTggMy41MjEgMS42MTYgNC45NzdhOC41MyA4LjUzIDAgMDAxLjg5NSAxLjg5NXptLS45OS40MjdhOS42MDMgOS42MDMgMCAwMS0xLjMzMy0xLjMzNEw3LjE2NiAxNy41Yy40MDcuNDguODU0LjkyNyAxLjMzNCAxLjMzNGwxLjMzOC0xLjMzOHpNMi4zMSAyMy42OWEuOTM3LjkzNyAwIDAwLjY2Ny4yNzYuOTM3LjkzNyAwIDAwLjY2Ny0uMjc2bDQuMTg3LTQuMTg4YTEyLjUyIDEyLjUyIDAgMDEtMS4zMzMtMS4zMzNMMi4zMSAyMi4zNTZhLjkzNi45MzYgMCAwMC0uMjc2LjY2Ny45MzYuOTM2IDAgMDAuMjc2LjY2N3onLyUzRSUzQ3BhdGggZD0nTTE1LjgwNCAyLjY1MWM0LjE2IDAgNy41NDUgMy4zODUgNy41NDUgNy41NDVzLTMuMzg1IDcuNTQ1LTcuNTQ1IDcuNTQ1LTcuNTQ1LTMuMzg0LTcuNTQ1LTcuNTQ1YzAtNC4xNiAzLjM4NC03LjU0NSA3LjU0NS03LjU0NXptMCAxNC4xNDdhNi42MSA2LjYxIDAgMDA2LjYwMS02LjYwMiA2LjYxIDYuNjEgMCAwMC02LjYwMS02LjYwMSA2LjYxIDYuNjEgMCAwMC02LjYwMiA2LjYwMiA2LjYxIDYuNjEgMCAwMDYuNjAyIDYuNjAyeicvJTNFJTNDcGF0aCBkPSdNMTAuNTE5IDguMTcyYTUuNjU5IDUuNjU5IDAgMDEyLjA0NS0yLjYxMyA1LjYxOSA1LjYxOSAwIDAxMy4yNC0xLjAyMS40NzIuNDcyIDAgMDEwIC45NDMgNC43NDggNC43NDggMCAwMC00LjQwNCAzLjAzLjQ3Mi40NzIgMCAxMS0uODgtLjMzOXonLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuXG4lZm9ybS0taW5saW5lIHtcbiAgLmZvcm0taXRlbSxcbiAgJiA+IC5mb3JtLWl0ZW0ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuXG4gICAgJiA+IC5mb3JtLWl0ZW0sXG4gICAgJiA+IC5mb3JtLWFjdGlvbnMge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgJiA+IC5mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4lY2FyZC1ob3ZlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtI3tyZW0tY2FsYygxMCl9KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxufVxuXG4lbm8tY2FyZC1ob3ZlciB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxufVxuXG4ldmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiLyogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwM0UnO1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwwMDNFJzsgKi9cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi44LjFcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiBUcnVuY2F0ZSBUZXh0ICovXG4ubWFuYWdlLWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZUNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1hbmFnZS1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGVDaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZUNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZUNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWw6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q4ZDhkODtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi5tYW5hZ2UtYXR0cmlidXRlcyAuYXR0cmlidXRlQ2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIG1hcmdpbjogMCBhdXRvIDNweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAzcHggIzAwM2I2ODtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAzcHggIzAwM2I2ODtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgbGVmdDogNnB4O1xufVxuXG4ucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIgLmZvcm0tdGV4dCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4ucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIgLmZvcm0tdGV4dCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDIwcHgpIDUwJTtcbn1cbi5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciAuZm9ybS10ZXh0IHtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBjbGFzcz0naW5wdXQtc3ltYm9sX19zeW1ib2wnIHdpZHRoPScyNScgaGVpZ2h0PScyNScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2cgc3Ryb2tlLXdpZHRoPScuMScgZmlsbC1ydWxlPSdub256ZXJvJyBmaWxsPSclMjNBM0EzQTMnIHN0cm9rZT0nJTIzQTNBM0EzJyUzRSUzQ3BhdGggZD0nTTEwLjYxNyA5LjcyNWEuNDcyLjQ3MiAwIDExMCAuOTQzLjQ3Mi40NzIgMCAwMTAtLjk0M3onLyUzRSUzQ3BhdGggZD0nTTEuNjQ0IDIxLjY4OWw2LjI5NC02LjI5NGE5LjM0NyA5LjM0NyAwIDAxLTEuNTY2LTUuMTk5YzAtNS4yIDQuMjMxLTkuNDMxIDkuNDMzLTkuNDMxIDUuMTk5IDAgOS40MyA0LjIzIDkuNDMgOS40MzEgMCA1LjItNC4yMyA5LjQzMi05LjQzMSA5LjQzMmE5LjM0MyA5LjM0MyAwIDAxLTUuMTk5LTEuNTY2bC0xLjc0IDEuNzRzMCAwIDAgMGwtNC41NTQgNC41NTRjLS4zNTYuMzU3LS44My41NTMtMS4zMzQuNTUzLS41MDMgMC0uOTc3LS4xOTYtMS4zMzMtLjU1MmExLjg3MyAxLjg3MyAwIDAxLS41NTMtMS4zMzRjMC0uNTA0LjE5Ni0uOTc4LjU1My0xLjMzNHptOS4xODMtNC42MnMwIDAgMCAwYTguNDE1IDguNDE1IDAgMDA0Ljk3NyAxLjYxNWM0LjY4IDAgOC40ODgtMy44MDcgOC40ODgtOC40ODggMC00LjY4LTMuODA4LTguNDg4LTguNDg4LTguNDg4cy04LjQ4OCAzLjgwOC04LjQ4OCA4LjQ4OGMwIDEuOC41NTggMy41MjEgMS42MTYgNC45NzdhOC41MyA4LjUzIDAgMDAxLjg5NSAxLjg5NXptLS45OS40MjdhOS42MDMgOS42MDMgMCAwMS0xLjMzMy0xLjMzNEw3LjE2NiAxNy41Yy40MDcuNDguODU0LjkyNyAxLjMzNCAxLjMzNGwxLjMzOC0xLjMzOHpNMi4zMSAyMy42OWEuOTM3LjkzNyAwIDAwLjY2Ny4yNzYuOTM3LjkzNyAwIDAwLjY2Ny0uMjc2bDQuMTg3LTQuMTg4YTEyLjUyIDEyLjUyIDAgMDEtMS4zMzMtMS4zMzNMMi4zMSAyMi4zNTZhLjkzNi45MzYgMCAwMC0uMjc2LjY2Ny45MzYuOTM2IDAgMDAuMjc2LjY2N3onLyUzRSUzQ3BhdGggZD0nTTE1LjgwNCAyLjY1MWM0LjE2IDAgNy41NDUgMy4zODUgNy41NDUgNy41NDVzLTMuMzg1IDcuNTQ1LTcuNTQ1IDcuNTQ1LTcuNTQ1LTMuMzg0LTcuNTQ1LTcuNTQ1YzAtNC4xNiAzLjM4NC03LjU0NSA3LjU0NS03LjU0NXptMCAxNC4xNDdhNi42MSA2LjYxIDAgMDA2LjYwMS02LjYwMiA2LjYxIDYuNjEgMCAwMC02LjYwMS02LjYwMSA2LjYxIDYuNjEgMCAwMC02LjYwMiA2LjYwMiA2LjYxIDYuNjEgMCAwMDYuNjAyIDYuNjAyeicvJTNFJTNDcGF0aCBkPSdNMTAuNTE5IDguMTcyYTUuNjU5IDUuNjU5IDAgMDEyLjA0NS0yLjYxMyA1LjYxOSA1LjYxOSAwIDAxMy4yNC0xLjAyMS40NzIuNDcyIDAgMDEwIC45NDMgNC43NDggNC43NDggMCAwMC00LjQwNCAzLjAzLjQ3Mi40NzIgMCAxMS0uODgtLjMzOXonLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9OTBlbVwiO1xufVxuXG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fY29udHJvbCB7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjdzO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fY29udHJvbDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fY29udHJvbC0tbWVudS1pcy1vcGVuIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fY29udHJvbC0tbWVudS1pcy1vcGVuIC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvcjo6YWZ0ZXIge1xuICB0b3A6IDZweDtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKC0yMjVkZWcpO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fdmFsdWUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwLjVyZW0gMCAwLjVyZW0gMzBweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX3ZhbHVlLWNvbnRhaW5lci0taXMtbXVsdGkge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX2luZGljYXRvci1zZXBhcmF0b3Ige1xuICB3aWR0aDogMnB4O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjZDhkOGQ4O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fZHJvcGRvd24taW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogODBweDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvciBzdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fZHJvcGRvd24taW5kaWNhdG9yOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMCAzcHggM3B4O1xuICBib3JkZXItY29sb3I6ICM3YTdhN2E7XG4gIHRyYW5zZm9ybTogcm90YXRlWigtNDVkZWcpO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTZweDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHRyYW5zaXRpb246IDAuNXMgdHJhbnNmb3JtO1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWVfX2xhYmVsIHtcbiAgcGFkZGluZzogMCAxY2ggMCAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6OmJlZm9yZSwgLnJlYWN0LXNlbGVjdC1jb250YWluZXIgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWVfX3JlbW92ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMThweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDNiNjg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZV9fcmVtb3ZlIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMTRweCAxNHB4O1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAzcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX21lbnUtbGlzdCB7XG4gIHBhZGRpbmc6IDIwcHggMDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX29wdGlvbiB7XG4gIHBhZGRpbmc6IDJweCAzMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX29wdGlvbiAuY2hlY2tib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogLTRweDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX29wdGlvbi0taXMtc2VsZWN0ZWQge1xuICBjb2xvcjogI2MxYzFjMTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19vcHRpb24tLWlzLXNlbGVjdGVkIHNwYW4ge1xuICBjb2xvcjogIzAwMDtcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyIC5yZWFjdC1zZWxlY3RfX29wdGlvbi0taXMtc2VsZWN0ZWQgLnRpY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBtYXJnaW46IDAgYXV0byAzcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgM3B4ICMwMDNiNjg7XG4gIGJvcmRlci1yaWdodDogc29saWQgM3B4ICMwMDNiNjg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19vcHRpb24tLWlzLWZvY3VzZWQge1xuICBjb2xvcjogIzAwM2I2ODtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lciAucmVhY3Qtc2VsZWN0X19vcHRpb24tLWlzLWZvY3VzZWQgc3BhbiB7XG4gIGNvbG9yOiAjMDAzYjY4O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIuZXJyb3IgLnJlYWN0LXNlbGVjdF9fY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2U2MzMyMztcbn1cbi5yZWFjdC1zZWxlY3QtY29udGFpbmVyLmVycm9yIC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvcjo6YmVmb3JlLCAucmVhY3Qtc2VsZWN0LWNvbnRhaW5lci5lcnJvciAucmVhY3Qtc2VsZWN0X19kcm9wZG93bi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE4cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzMzIzO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdG9wOiAtM3B4O1xufVxuLnJlYWN0LXNlbGVjdC1jb250YWluZXIuZXJyb3IgLnJlYWN0LXNlbGVjdF9fZHJvcGRvd24taW5kaWNhdG9yOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGxlZnQ6IDMxcHg7XG59XG4ucmVhY3Qtc2VsZWN0LWNvbnRhaW5lci5lcnJvciAucmVhY3Qtc2VsZWN0X19kcm9wZG93bi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLnNlbGVjdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnNlbGVjdC13cmFwcGVyIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDAgNXB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNTQ7XG4gIGNvbG9yOiAjN2E3YTdhO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xufVxuLnNlbGVjdC13cmFwcGVyIGxhYmVsLnZpc2libGUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIuZm9ybS1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IG5vbmU7XG59XG4ucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIgLmlucHV0LXN5bWJvbF9fc3ltYm9sIHtcbiAgdG9wOiAzNHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cywgb3BhY2l0eSAwLjdzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbn1cbi5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciAuaW5wdXQtc3ltYm9sX19jdGEge1xuICB0b3A6IDM0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MsIG9wYWNpdHkgMC43cztcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciAuaGFzLXZhbHVlIC5pbnB1dC1zeW1ib2xfX3N5bWJvbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLnJlYWN0LXNlYXJjaC1pbnB1dC13cmFwcGVyIC5oYXMtdmFsdWUgLmlucHV0LXN5bWJvbF9fY3RhIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbn1cblxuLnJlYWN0LWF1dG9zdWdnZXN0X19zdWdnZXN0aW9ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmVhY3QtYXV0b3N1Z2dlc3RfX3N1Z2dlc3Rpb25zLWxpc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjBweCAyNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4ucmVhY3QtYXV0b3N1Z2dlc3RfX3N1Z2dlc3Rpb25zLWxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTRweDtcbiAgcmlnaHQ6IC0ycHg7XG4gIGxlZnQ6IC0ycHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q4ZDhkODtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5yZWFjdC1hdXRvc3VnZ2VzdF9fc3VnZ2VzdGlvbnMtbGlzdDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTVweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjYTNhM2EzO1xufVxuLnJlYWN0LWF1dG9zdWdnZXN0X19zdWdnZXN0aW9uIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmVhY3QtYXV0b3N1Z2dlc3RfX3N1Z2dlc3Rpb24tLWhpZ2hsaWdodGVkIHtcbiAgY29sb3I6ICMwMDNiNjg7XG59XG5cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm1zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybXMge1xuICAgIG1heC13aWR0aDogNTguNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybXMge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybXMge1xuICAgIG1heC13aWR0aDogMTkwbW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbn1cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm1zIC50YWJzLS1mdWxsIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybXMgLnRhYnMtLWZ1bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtcyAudGFicy0tZnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIHtcbiAgLyogbWFyZ2luOiAkc3BhY2UtcXVhZHJ1cGxlIDAgJHNwYWNlLXF1aW50dXBsZTsgKi9cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybS5yZWZpbmUtZmlsdGVycy1mb3JtIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3NXB4O1xufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybS5yZWZpbmUtZmlsdGVycy1mb3JtIC5mb3JtX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0gLmZvcm1fX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSAuZm9ybV9fYWN0aW9ucyAuc3VibWl0IHtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBvdXRsaW5lOiAwO1xufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSAuZm9ybV9fYWN0aW9uc19fc2Vjb25kYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSAuZm9ybV9fYWN0aW9uc19fc2Vjb25kYXJ5IGJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zX19zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zX19zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciB7XG4gIGNvbG9yOiAjYzFjMWMxO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybSAuZm9ybV9fYWN0aW9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zIC5zdWJtaXQge1xuICAgIG1pbi13aWR0aDogMjQ3cHg7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICB9XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5lcnJvcl9fbWVzc2FnZSB7XG4gIGNvbG9yOiAjZTYzMzIzO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0gLmZvcm0tLWlubGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMDtcbn1cbi52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0uZmluZGVyLW1vZGUgLmZvcm0tLWlubGluZSAuZm9ybS10eXBlLXNlbGVjdCwgLnZpZXcgLnZpZXctZmlsdGVycyAucHJvZHVjdC1maW5kZXItZm9ybS5zZWFyY2gtbW9kZSAuZm9ybS0taW5saW5lIC5mb3JtLXR5cGUtc2VsZWN0IHtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIHtcbiAgICAvKiAmLmZpbmRlci1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgICAgLmZvcm1fX3RpdGxlLFxuICAgICAgJiA+IC5yZWFjdC1zZWxlY3QtY29udGFpbmVyLFxuICAgICAgJiA+IC5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlcixcbiAgICAgIC5mb3JtX19hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UtcXVhZHJ1cGxlO1xuICAgICAgfVxuICAgIH0gKi9cbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLmZpbmRlci1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG4gIC52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0uc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSAuZm9ybV9fdGl0bGUsIC52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0uc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSA+IC5yZWFjdC1zZWxlY3QtY29udGFpbmVyLCAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUgPiAucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIsXG4gIC52aWV3IC52aWV3LWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZvcm0uc2VhcmNoLW1vZGUgLmZvcm0tLWlubGluZSAuZm9ybV9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUgLmlucHV0LWNlbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtIC5mb3JtX19hY3Rpb25zIC5zdWJtaXQge1xuICAgIG1pbi13aWR0aDogMjQ3cHg7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICB9XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkOGQ4ZDg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlldyAudmlldy1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1mb3JtLnNlYXJjaC1tb2RlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgKyAxcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICB9XG59XG4udmlldyAudmlldy1maWx0ZXJzIC5zd2l0Y2gtbGluayB7XG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDI1cHg7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMDAzYjY4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejRLUEhOMlp5QjNhV1IwYUQwaU1UZHdlQ0lnYUdWcFoyaDBQU0l4TjNCNElpQjJhV1YzUW05NFBTSXdJREFnTVRjZ01UY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUkrQ2lBZ0lDQThaeUJwWkQwaVVHRm5aUzB4SWlCemRISnZhMlU5SW01dmJtVWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0S0lDQWdJQ0FnSUNBOFp5QnBaRDBpTVRoZlVISnZaSFZqZEY5R2FXNWtaWEpmVkdWNGRGOVRaV0Z5WTJoZlJXNTBaWEpsWkNJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9MVFV5T1M0d01EQXdNREFzSUMwME5UTXVNREF3TURBd0tTSWdjM1J5YjJ0bFBTSWpNREEwTVVNd0lpQnpkSEp2YTJVdGQybGtkR2c5SWpFdU5TSStDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pRY205a2RXTjBMVk5sWVhKamFDSWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTUM0d01EQXdNREFzSURFeU1DNHdNREF3TURBcElqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKTWFXNXJjeUlnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb05USTVMakF3TURBd01Dd2dNekExTGpBd01EQXdNQ2tpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKSlEwOU9VeTlTWlhObGRDOUNiSFZsTFRJdFEyOXdlU0lnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01DNHdNREF3TURBc0lESTFMakF3TURBd01Da2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThaeUJwWkQwaVNVTlBUbE12VTJWaGNtTm9MMEpzZFdVaUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLREF1TURBd01EQXdMQ0F5TGpBd01EQXdNQ2tpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHTnBjbU5zWlNCcFpEMGlUM1poYkNJZ1kzZzlJamt1TnpVaUlHTjVQU0k0TGpJMUlpQnlQU0kySWo0OEwyTnBjbU5zWlQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHNhVzVsSUhneFBTSXdMamM0TmpBMk9UYzNOQ0lnZVRFOUlqRTJMalV6TmpBM016Z2lJSGd5UFNJMUxqSTFJaUI1TWowaU1USXVOelVpSUdsa1BTSk1hVzVsTFVOdmNIa3RNeUlnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lqNDhMMnhwYm1VK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09XCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc3RpY2t5LXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc3RpY2t5LXRhYmxlIC5ydC1yZXNpemVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnN0aWNreS10YWJsZSB7IC8qIElFMTEgKi8gfVxuICAuc3RpY2t5LXRhYmxlIC5SZWFjdFRhYmxlIC5ydC10YWJsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG4gIC5zdGlja3ktdGFibGUgLlJlYWN0VGFibGUgLnJ0LXRib2R5IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuLnN0aWNreS10YWJsZSAuc3RpY2t5LXRhYmxlLWlubmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5zdGlja3ktdGFibGUuc3RpY2t5LWFjdGl2ZSAuc3RpY2t5LXRhYmxlLWlubmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnN0aWNreS10YWJsZS5zdGlja3ktYWN0aXZlIC5zdGlja3ktdGFibGUtaW5uZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cbi5zdGlja3ktdGFibGUuc3RpY2t5LWFjdGl2ZSAuUmVhY3RUYWJsZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zdGlja3ktdGFibGUuc3RpY2t5LWFjdGl2ZSAuUmVhY3RUYWJsZSAucnQtdGFibGUge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzLWZvcm0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogNTguNzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtLW92ZXJmbG93IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtLS1pbmxpbmUge1xuICBwYWRkaW5nOiA2MHB4IDIwcHggNDZweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyAuZm9ybS0taW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtX190aXRsZSxcbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyBoNC5mb3JtX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2FucyBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX3RpdGxlLFxuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgaDQuZm9ybV9fdGl0bGUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5yZWFjdC1zZWxlY3QtY29udGFpbmVyLFxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLnJlYWN0LXNlbGVjdC1jb250YWluZXIsXG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyAucmVhY3Qtc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICB9XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmljb24tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIG91dGxpbmU6IDA7XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyAuZm9ybV9fYWN0aW9ucyAuc3VibWl0IHtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBvdXRsaW5lOiAwO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtX19hY3Rpb25zX19zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnNfX3NlY29uZGFyeSBidXR0b24ge1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtX19hY3Rpb25zX19zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnNfX3NlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcbiAgY29sb3I6ICNjMWMxYzE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnJlZmluZS1maWx0ZXJzIC5mb3JtX19hY3Rpb25zIC5zdWJtaXQge1xuICAgIG1pbi13aWR0aDogMjQ3cHg7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucmVmaW5lLWZpbHRlcnMgLmZvcm1fX2FjdGlvbnMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5yZWZpbmUtZmlsdGVycyAuZm9ybV9fYWN0aW9ucyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci5yZXNldC1hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5jb3VudC1tYXRjaGVzIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLmNvdW50LW1hdGNoZXMge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMtYnV0dG9ucyB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIge1xuICBjb2xvcjogIzAwM2I2ODtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uIHtcbiAgbWluLXdpZHRoOiAxODBweDtcbiAgbWluLWhlaWdodDogNDBweDtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1maWx0ZXJzLmJ1dHRvbjpob3ZlciwgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICMwMDNiNjg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtZmlsdGVycy5idXR0b246aG92ZXIgLmljb24tZmlsdGVycywgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uOmZvY3VzIC5pY29uLWZpbHRlcnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzYjY4O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uOmhvdmVyIC5pY29uLWZpbHRlcnM6OmJlZm9yZSwgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMuYnV0dG9uOmhvdmVyIC5pY29uLWZpbHRlcnM6OmFmdGVyLCAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtZmlsdGVycy5idXR0b246Zm9jdXMgLmljb24tZmlsdGVyczo6YmVmb3JlLCAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtZmlsdGVycy5idXR0b246Zm9jdXMgLmljb24tZmlsdGVyczo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzYjY4O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMgLmljb24tZmlsdGVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1maWx0ZXJzIC5pY29uLWZpbHRlcnM6OmJlZm9yZSwgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMgLmljb24tZmlsdGVyczo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1maWx0ZXJzIC5pY29uLWZpbHRlcnM6OmJlZm9yZSB7XG4gIHRvcDogLTVweDtcbiAgbGVmdDogLTRweDtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1maWx0ZXJzIC5pY29uLWZpbHRlcnM6OmFmdGVyIHtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IDNweDtcbiAgd2lkdGg6IDZweDtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1hdHRyaWJ1dGVzIHtcbiAgbWFyZ2luLXJpZ2h0OiAzLjVyZW07XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtYXR0cmlidXRlcyAuaWNvbi1maWx0ZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDAzYjY4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3R0b206IDAuMWVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWF0dHJpYnV0ZXMgLmljb24tZmlsdGVyczo6YmVmb3JlLCAucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtYXR0cmlidXRlcyAuaWNvbi1maWx0ZXJzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzYjY4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAucHJvZHVjdC1maW5kZXItdG9nZ2xlci50b2dnbGUtYXR0cmlidXRlcyAuaWNvbi1maWx0ZXJzOjpiZWZvcmUge1xuICBsZWZ0OiAtNHB4O1xufVxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWF0dHJpYnV0ZXMgLmljb24tZmlsdGVyczo6YWZ0ZXIge1xuICByaWdodDogLTRweDtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnJlc2V0LWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIucmVzZXQtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVycyAubm8tcmVzdWx0cy1ibG9jayB7XG4gIG9yZGVyOiA1O1xuICB3aWR0aDogMTAwJTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5uby1yZXN1bHRzLWJsb2NrX19pbm5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5uby1yZXN1bHRzLWJsb2NrX19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA1OC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjEuMjVlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyAubm8tcmVzdWx0cy1ibG9ja19faW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLm5vLXJlc3VsdHMtYmxvY2tfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDE5MG1tO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVycyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnM6OmJlZm9yZSwgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnM6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzOjphZnRlciB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIudG9nZ2xlLWZpbHRlcnMge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnMgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIucmVzZXQtYWxsIHtcbiAgICBtYXJnaW46IDAgMCAzNHB4O1xuICB9XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIC5wcm9kdWN0LWZpbmRlci10b2dnbGVyLnRvZ2dsZS1hdHRyaWJ1dGVzIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fdG9vbGJveCxcbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19idG4ge1xuICBwYWRkaW5nOiAxLjMxMjVyZW0gMS4yNXJlbTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2J0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzAwM2I2ODtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19idG4ge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgd2lkdGg6IDE4Ljc1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG59XG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fYnRuID4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19idG4uaXMtb3BlbiAucHJvZHVjdC1maW5kZXItZmlsdGVyc19faWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSBzY2FsZVgoLTEpO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2J0bi5pcy1vcGVuIC5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX3Rvb2xib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJFMkU5O1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19jdGEtdGl0bGUge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2N0YS10aXRsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMC41cmVtO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19pY29uIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMDAzYjY4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwM2I2ODtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cywgY29sb3IgMC4yNXM7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzX19pY29uIC5pY29uIHtcbiAgaGVpZ2h0OiAxZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItZmlsdGVyc19faWNvbiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlci1hc2lkZSB7XG4gICAgd2lkdGg6IDE4Ljc1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjZmZmO1xufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IHtcbiAgcGFkZGluZzogMCAwLjg3NXJlbSAxLjI1cmVtIDFyZW07XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IC5yZWFjdC1zZWxlY3QtY29udGFpbmVyIGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fZmllbGRzZXQgLnJlYWN0LXNlbGVjdF9fbWVudSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDE0cHggMTRweDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IC5yZWFjdC1zZWxlY3RfX2NvbnRyb2wge1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCAucmVhY3Qtc2VsZWN0X19jb250cm9sLS1tZW51LWlzLW9wZW4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fZmllbGRzZXQgLnJlYWN0LXNlbGVjdF9fdmFsdWUtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0IC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvciB7XG4gIHdpZHRoOiAycmVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCAuZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19sYWJlbCB7XG4gIGNvbG9yOiAjMDAzYjY4O1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCAucmVhY3Qtc2VsZWN0X19pbmRpY2F0b3Itc2VwYXJhdG9yIHtcbiAgbWFyZ2luLXRvcDogMC4zNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0LS1jb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0wLjQzNzVyZW07XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2ZpZWxkc2V0LS1jb2xzID4gKiB7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbTtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX190b2dnbGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX190b2dnbGUuaXMtb3BlbiAuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdG9nZ2xlID4gZGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX190b2dnbGUgPiBkbCA+IGR0LCAucHJvZHVjdC1maW5kZXItYXNpZGVfX3RvZ2dsZSA+IGRsIGRkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdG9nZ2xlID4gZGwgPiBkdCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXgtd2lkdGg6IDExLjg3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX190b2dnbGUgPiBkbCA+IGRkIHtcbiAgbWFyZ2luLXRvcDogMC4zZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICMwMDNiNjg7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX3RvZ2dsZSA+IGRsID4gZGQgLmljb24ge1xuICBoZWlnaHQ6IDFlbTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19zcHJlYWQge1xuICBtYXJnaW46IDAgLTAuMzc1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19jZWxsIHtcbiAgcGFkZGluZzogMCAwLjM3NXJlbTtcbiAgd2lkdGg6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19jZWxsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS11bml0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMC43NXJlbTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29sb3I6ICM3YTdhN2E7XG4gIGJvcmRlci1sZWZ0OiAwLjEyNXJlbSBzb2xpZCAjZDhkOGQ4O1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdGV4dGJveCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMC40Mzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtIDEuNjI1cmVtIDAuNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMjAvMTY7XG4gIGNvbG9yOiAjMDAzYjY4O1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fdGV4dGJveDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgLnByb2R1Y3QtZmluZGVyLWFzaWRlX190ZXh0Ym94Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3gtZ3JvdXAge1xuICBtYXJnaW46IDA7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3ggKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMyODI4Mjg7XG4gIHBhZGRpbmctbGVmdDogMS42MjVlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3ggKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMS4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gIWltcG9ydGFudDtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3ggKyBsYWJlbDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2NoZWNrYm94ICsgbGFiZWwgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDAuMWVtO1xuICB0b3A6IDAuMmVtO1xuICBjb2xvcjogIzAwM2I2ODtcbiAgaGVpZ2h0OiAwLjg3NWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2NoZWNrYm94OmNoZWNrZWQgKyBsYWJlbCAuaWNvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjZmZmO1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXItYXNpZGVfX2Zvb3RlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY3RhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkODtcbiAgY29sb3I6ICMwMDNiNjg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY3RhOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgI2JiYik7XG59XG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2N0YSA+IC5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG59XG5cbi5yYW5nZS1zbGlkZXIge1xuICBoZWlnaHQ6IDAuMzc1cmVtO1xufVxuLnJhbmdlLXNsaWRlciAuTXVpU2xpZGVyLXJhaWwsXG4ucmFuZ2Utc2xpZGVyIC5NdWlTbGlkZXItdHJhY2sge1xuICBoZWlnaHQ6IDAuMzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG59XG4ucmFuZ2Utc2xpZGVyIC5NdWlTbGlkZXItcmFpbCB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2EzYTM7XG59XG4ucmFuZ2Utc2xpZGVyIC5NdWlTbGlkZXItdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnJhbmdlLXNsaWRlciAuTXVpU2xpZGVyLW1hcmsge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJhbmdlLXNsaWRlciAuTXVpU2xpZGVyLXRodW1iIHtcbiAgd2lkdGg6IDAuNjI1cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICBtYXJnaW4tdG9wOiAtMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzYjY4O1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5yYW5nZS1zbGlkZXItbGFiZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAtMC4zNzVyZW0gLTAuMzc1cmVtIDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnJhbmdlLXNsaWRlci1sYWJlbHNfX2xhYmVsIHtcbiAgcGFkZGluZzogMCAwLjM3NXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG59XG4ucmFuZ2Utc2xpZGVyLWxhYmVsc19fbGFiZWw6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yZW07XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS11bml0KTtcbn1cblxuLlJlYWN0Q29sbGFwc2UtLWNvbGxhcHNlIHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzO1xufVxuXG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUge1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgei1pbmRleDogMDtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGFibGUge1xuICBmbGV4LWdyb3c6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRoZWFkIHtcbiAgbWluLWhlaWdodDogODBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICMyODI4Mjg7XG4gIGZsZXgtZ3JvdzogMDtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGhlYWQgLnJ0LXRoIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICB6LWluZGV4OiAwO1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQkUyRTkgIWltcG9ydGFudDtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGgucnRoZmMtdGgtZml4ZWQge1xuICB6LWluZGV4OiAxO1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGguLXNvcnQtYXNjIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGJvZHkge1xuICBmbGV4LWdyb3c6IDA7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRyLWdyb3VwIHtcbiAgYm9yZGVyOiAwO1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ci4tb2RkLFxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ci4tZXZlbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ci4tb2RkIC5ydC10ZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRyLi1ldmVuIC5ydC10ZCB7XG4gIGJhY2tncm91bmQ6ICNEQkUyRTk7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRkLFxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aCB7XG4gIHBhZGRpbmc6IDExcHggMjBweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDhkOGQ4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDhkOGQ4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ZCB7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGQgc3Bhbjpub3QoLnByb2R1Y3QtbGFiZWwpIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0aGZjLXRkLWZpeGVkLnJ0aGZjLXRkLWZpeGVkLWxlZnQsXG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0aGZjLXRkLWZpeGVkLnJ0aGZjLXRkLWZpeGVkLWxlZnQtbGFzdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnRoZmMtdGQtZml4ZWQucnRoZmMtdGQtZml4ZWQtbGVmdC1sYXN0IHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10aCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogI2Q4ZDhkODtcbn1cbi5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGQucnRoZmMtdGQtZml4ZWQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG5AbWVkaWEgcHJpbnQge1xuICAucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRkLnJ0aGZjLXRkLWZpeGVkIHtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ZC5ydGhmYy10ZC1maXhlZCArIC5ydC10ZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLnByb2R1Y3QtZmluZGVyIC5SZWFjdFRhYmxlIC5ydC10ZC5ydGhmYy10ZC1maXhlZC1sZWZ0LWxhc3Qge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4ucHJvZHVjdC1maW5kZXIgLlJlYWN0VGFibGUgLnJ0LXRkLnJ0aGZjLXRkLWZpeGVkLWxlZnQtbGFzdDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAjZDhkOGQ4KTtcbn1cbkBtZWRpYSBwcmludCB7XG4gIC5wcm9kdWN0LWZpbmRlciAuUmVhY3RUYWJsZSAucnQtdGQucnRoZmMtdGQtZml4ZWQtbGVmdC1sYXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyIC5ydC1yZXNpemFibGUtaGVhZGVyLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucHJvZHVjdC1maW5kZXIgLmhlYWRlci10aCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLnByb2R1Y3QtZmluZGVyIC5oZWFkZXItdGhfX2NvbnRlbnQge1xuICB6LWluZGV4OiAwO1xufVxuLnByb2R1Y3QtZmluZGVyIC5oZWFkZXItdGhfX29wdGlvbmFsIHtcbiAgd2lkdGg6IDU1cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ucHJvZHVjdC1maW5kZXIgLnJ0aGZjLXRoLWZpeGVkIC5oZWFkZXItdGgge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnByb2R1Y3QtZmluZGVyIC5ydGhmYy10aC1maXhlZCAuaGVhZGVyLXRoX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LWxpbmsge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LWxpbmsgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5wcm9kdWN0LWZpbmRlciAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI0RCRTJFOTtcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucHJvZHVjdC1maW5kZXIgLnByb2R1Y3QtbGluayAucHJvZHVjdC1sYWJlbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4ucHJvZHVjdC1maW5kZXIgLnByb2R1Y3QtbGluayAucHJvZHVjdC1sYWJlbC5uZXcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGZhZDI2O1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtbGFiZWwuZW5kLW9mLWxpZmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzMzIzO1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtbGFiZWwubm90LXJlY29tbWVuZGVkLWZvci1uZXctZGVzaWduIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2YjkyMztcbn1cbi5wcm9kdWN0LWZpbmRlciAucHJvZHVjdC1zdG9jay1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLnByb2R1Y3QtZmluZGVyIC5wcm9kdWN0LXN0b2NrLWxpbmtfX3N0b2NrIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjhweCcgaGVpZ2h0PSczMnB4JyB2aWV3Qm94PScwIDAgNDMgMzknJTNFJTNDZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxLjYwOCAxLjAwOSknIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NlbGxpcHNlIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIGN4PScxOC4xMzMnIGN5PSczMi4yMjcnIHJ4PSc0LjA0OScgcnk9JzQuMTMzJy8lM0UlM0NlbGxpcHNlIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIGN4PSczMC4yOCcgY3k9JzMyLjIyNycgcng9JzQuMDQ5JyByeT0nNC4xMzMnLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTkuMjI2IDguMjU4aDMwLjc3MmwtMy4yNCAxNi41M0gxMi40NjZ6Jy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgZD0nTTEwLjA0IDEyLjM5TDcuNzYyIDBIMCcvJTNFJTNDcGF0aCBkPSdNMzEuODQ4IDE3Ljk5MmMuNDE0LS40MTQuNjItLjk1Ny42Mi0xLjUgMC0uNTQ0LS4yMDYtMS4wODgtLjYyLTEuNTAybC0zLjQ1NC0zLjQ1NGEyLjEyNSAyLjEyNSAwIDAwLTMuMDAyIDBjLS43NzQuNzczLS44MjQgMi0uMTUzIDIuODMyaC02LjY0OGMtMS4xNyAwLTIuMTIzLjk1My0yLjEyMyAyLjEyMyAwIDEuMTcuOTUzIDIuMTIzIDIuMTIzIDIuMTIzaDYuNjQ4YTIuMTI2IDIuMTI2IDAgMDAuMTUzIDIuODMzIDIuMTI1IDIuMTI1IDAgMDAzLjAwMiAwbDMuNDU0LTMuNDU1em0tNS40NTYgMi40NTRhLjcwMi43MDIgMCAwMS0uMjA3LS41YzAtLjE5LjA3NC0uMzY3LjIwNy0uNWwxLjA0LTEuMDRhLjcwOC43MDggMCAwMC0uNTAxLTEuMjA3aC04LjM0YS43MDguNzA4IDAgMDEwLTEuNDE1aDguMzRhLjcwNy43MDcgMCAwMC41LTEuMjA4bC0xLjAzOS0xLjA0YS43MDIuNzAyIDAgMDEtLjIwNy0uNWMwLS4xODguMDc0LS4zNjYuMjA3LS41YS43MDMuNzAzIDAgMDExIDBsMy40NTUgMy40NTVhLjcwOC43MDggMCAwMTAgMWwtMy40NTQgMy40NTVhLjcwOC43MDggMCAwMS0xIDB6JyBmaWxsPSclMjMwMDQxQzAnIGZpbGwtcnVsZT0nbm9uemVybycvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XG59XG4ucHJvZHVjdC1maW5kZXIgLnByb2R1Y3Qtc3RvY2stbGlua19fc3RvY2s6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTtcbn1cbi5wcm9kdWN0LWZpbmRlciAuZGF0YS1zaGVldC13cmFwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ucHJvZHVjdC1maW5kZXIgLmRhdGEtc2hlZXQtd3JhcGVyX19saW5rIHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIwcHgnIGhlaWdodD0nMjRweCcgdmlld0JveD0nMCAwIDIwIDI0JyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZyBpZD0nU1lNQk9MUycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPSdGaWxlSWNvbi9QREYnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDEuMDAwMDAwLCAxLjAwMDAwMCknJTNFJTNDZyUzRSUzQ3BvbHlnb24gaWQ9J1JlY3RhbmdsZS0xNicgc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgcG9pbnRzPSc5LjA5NTIyNDU3ZS0xMyAwIDEzLjg4Mzc4OTEgMCAxNiAzIDE4IDUuNDE2OTkyMTkgMTggMjIgOS4wOTUyMjQ1N2UtMTMgMjInJTNFJTNDL3BvbHlnb24lM0UlM0Nwb2x5bGluZSBpZD0nUGF0aCcgc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBwb2ludHM9JzEzIDAuNSAxMyA2IDE4IDYnJTNFJTNDL3BvbHlsaW5lJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDdGV4dCBpZD0nUERGJyBmb250LWZhbWlseT0nQXJpYWwtQm9sZE1ULCBBcmlhbCcgZm9udC1zaXplPSc3JyBmb250LXdlaWdodD0nYm9sZCcgZmlsbD0nJTIzMDA0MUMwJyUzRSUzQ3RzcGFuIHg9JzUwJTI1JyB5PScxNicgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgdGV4dC1hbmNob3I9J21pZGRsZSclM0VQREYlM0MvdHNwYW4lM0UlM0MvdGV4dCUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XG59XG4ucHJvZHVjdC1maW5kZXIgLmRhdGEtc2hlZXQtd3JhcGVyX19saW5rOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG59XG4ucHJvZHVjdC1maW5kZXIgLmNhZC1kYXRhLXdyYXBwZXIge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5wcm9kdWN0LWZpbmRlciAuY2FkLWRhdGEtd3JhcHBlcl9fbGluayB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J1VURi04JyUzRiUzRSUzQ3N2ZyBpZD0nRWJlbmVfMScgZGF0YS1uYW1lPSdFYmVuZSAxJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyNCclM0UlM0NkZWZzJTNFJTNDc3R5bGUlM0UgLmNscy0xICU3QiBmaWxsOiAlMjMwMDQxYzA7IGZvbnQtZmFtaWx5OiBBcmlhbC1Cb2xkTVQsIEFyaWFsOyBmb250LXNpemU6IDdweDsgZm9udC13ZWlnaHQ6IDcwMDsgaXNvbGF0aW9uOiBpc29sYXRlOyAlN0QgLmNscy0yICU3QiBzdHJva2UtbGluZWNhcDogcm91bmQ7ICU3RCAuY2xzLTIsIC5jbHMtMyAlN0IgZmlsbDogbm9uZTsgc3Ryb2tlOiAlMjMwMDQxYzA7IHN0cm9rZS1saW5lam9pbjogcm91bmQ7IHN0cm9rZS13aWR0aDogMnB4OyAlN0QgJTNDL3N0eWxlJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSdTWU1CT0xTJyUzRSUzQ2cgaWQ9J0ZpbGVJY29uX1BERicgZGF0YS1uYW1lPSdGaWxlSWNvbi9QREYnJTNFJTNDZyUzRSUzQ3BvbHlnb24gaWQ9J1JlY3RhbmdsZS0xNicgY2xhc3M9J2Nscy0zJyBwb2ludHM9JzEgMSAxNC45IDEgMTcgNCAxOSA2LjQgMTkgMjMgMSAyMyAxIDEnLyUzRSUzQ3BvbHlsaW5lIGlkPSdQYXRoJyBjbGFzcz0nY2xzLTInIHBvaW50cz0nMTQgMS41IDE0IDcgMTkgNycvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDdGV4dCBjbGFzcz0nY2xzLTEnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDIuNTIgMTYuMDgpJyUzRSUzQ3RzcGFuIHg9JzAnIHk9JzAnJTNFQ0FEJTNDL3RzcGFuJTNFJTNDL3RleHQlM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMiwgMS4yKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjFzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjFzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQ7XG59XG4ucHJvZHVjdC1maW5kZXIgLmNhZC1kYXRhLXdyYXBwZXJfX2xpbms6aG92ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcbn1cbi5wcm9kdWN0LWZpbmRlciAucGFnaW5hdGlvbi1ib3R0b20ge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAucHJvZHVjdC1maW5kZXIgLnBhZ2luYXRpb24tYm90dG9tIHtcbiAgICBtYXgtd2lkdGg6IDU4Ljc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlciAucGFnaW5hdGlvbi1ib3R0b20ge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLnByb2R1Y3QtZmluZGVyIC5wYWdpbmF0aW9uLWJvdHRvbSB7XG4gICAgbWF4LXdpZHRoOiAxOTBtbTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAucHJvZHVjdC1maW5kZXIgLnBhZ2luYXRpb24tYm90dG9tIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyIC5wYWdpbmF0aW9uLWJvdHRvbSAucGFnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tYW5hZ2UtYXR0cmlidXRlcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHotaW5kZXg6IDEwMTA7XG59XG4ubWFuYWdlLWF0dHJpYnV0ZXNfX2lubmVyIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiA4MCU7XG4gIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLm1hbmFnZS1hdHRyaWJ1dGVzX19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA1OC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjEuMjVlbSkge1xuICAubWFuYWdlLWF0dHJpYnV0ZXNfX2lubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5tYW5hZ2UtYXR0cmlidXRlc19faW5uZXIge1xuICAgIG1heC13aWR0aDogMTkwbW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbi5tYW5hZ2UtYXR0cmlidXRlc19faW5uZXIgLmljb24tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIG91dGxpbmU6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tYW5hZ2UtYXR0cmlidXRlc19faW5uZXIge1xuICAgIHBhZGRpbmc6IDYwcHggNTBweDtcbiAgfVxuICAubWFuYWdlLWF0dHJpYnV0ZXNfX2lubmVyIC5pY29uLWNsb3NlIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tYW5hZ2UtYXR0cmlidXRlc19faW5uZXIge1xuICAgIHBhZGRpbmc6IDEwMHB4IDgwcHg7XG4gIH1cbn1cbi5tYW5hZ2UtYXR0cmlidXRlcyAubWFuYWdlLWF0dHJpYnV0ZXMtZm9ybSB7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMDtcbn1cbi5tYW5hZ2UtYXR0cmlidXRlcyAubWFuYWdlLWF0dHJpYnV0ZXMtZm9ybSAuZm9ybS0taW5saW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cbi5tYW5hZ2UtYXR0cmlidXRlcyAubWFuYWdlLWF0dHJpYnV0ZXMtZm9ybSAuZm9ybV9fdGl0bGUge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWFuYWdlLWF0dHJpYnV0ZXMgLm1hbmFnZS1hdHRyaWJ1dGVzLWZvcm0gLmZvcm1fX3RpdGxlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIH1cbn1cbi5tYW5hZ2UtYXR0cmlidXRlcyAuYXR0cmlidXRlQ2hlY2tib3gge1xuICBtYXJnaW46IDVweCAwO1xufVxuLm1hbmFnZS1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGVDaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvZHVjdC1maW5kZXIudmlldyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1maW5kZXJfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnByb2R1Y3QtZmluZGVyX19ib2R5LmlzLW9wZW4gLnByb2R1Y3QtZmluZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTkuMzc1cmVtKTtcbiAgfVxufVxuLnByb2R1Y3QtZmluZGVyX19ib2R5LmlzLW9wZW4gLnByb2R1Y3QtZmluZGVyX19tYWluIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0LWZpbmRlcl9fbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC1maW5kZXJfX2FzaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbmRlcl9fYXNpZGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1heC13aWR0aDogMTguNzVyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIH1cbn1cbi5wcm9kdWN0LWZpbmRlcl9fYXNpZGUuaXMtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZmluZGVyX19hc2lkZS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlcl9fbWFpbiB7XG4gIGZsZXgtc2hyaW5rOiAxO1xufVxuXG4uc2VjdGlvbiB7XG4gIG1hcmdpbjogMTAwcHggMDtcbn1cblxuLnNlY3Rpb24tYm94IHtcbiAgcGFkZGluZy10b3A6IDIuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnNlY3Rpb24tYm94ICsgLnBhcmFncmFwaCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uaW4taWZyYW1lIC5zZWN0aW9uLWJveCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zZWN0aW9uLWJveC0tcHJvdHJ1ZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbi0tZm9yY2Uge1xuICBtYXJnaW46IDEwMHB4IDAgIWltcG9ydGFudDtcbn1cblxuLndpZHRoLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNpemUtbWQge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xufVxuXG4udHlwZS1oZWF2eSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZXNldC1zcGFjaW5nID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1sLTB4IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1iLTB4IHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubXQtMHgge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0xeCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbn1cblxuLm1iLTJ4IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1iLTR4IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLm1iLTV4IHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnB0LTB4IHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnB0LTJ4IHtcbiAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnB0LTR4IHtcbiAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnB0LTZ4IHtcbiAgcGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudDtcbn1cblxuLnB0LTd4IHtcbiAgcGFkZGluZy10b3A6IDcwcHggIWltcG9ydGFudDtcbn1cblxuLnB0LTh4IHtcbiAgcGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudDtcbn1cblxuLnB0LTEweCB7XG4gIHBhZGRpbmctdG9wOiAxMDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGItMHgge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ucGItMngge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ucGItNHgge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGItNngge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xufVxuXG4ucGItN3gge1xuICBwYWRkaW5nLWJvdHRvbTogNzBweCAhaW1wb3J0YW50O1xufVxuXG4ucGItOHgge1xuICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xufVxuXG4ucGItMTB4IHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmxleC1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYmFja2dyb3VuZC1ncmF5IHtcbiAgYmFja2dyb3VuZDogI0RCRTJFOTtcbn1cblxuLmJhY2tncm91bmQtYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDNiNjg7XG59XG5cbi5iYWNrZ3JvdW5kLXJlZCB7XG4gIGJhY2tncm91bmQ6ICNGRjAwMDA7XG59IiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuXG5AaW1wb3J0ICdnbG9iYWwvY29sb3ItdmFycyc7XG5AaW1wb3J0ICdnbG9iYWwvc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG4vL0BpbXBvcnQgJ21vdGlvbi11aSc7XG5AaW1wb3J0ICdnbG9iYWwvZXh0ZW5kcyc7XG5cblxuLy8gYmFzZVxuXG5cblxuXG5cbi8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuLy8gcHJvZHVjdC1maW5kZXJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZHVjdC1maW5kZXIvcHJvZHVjdC1maW5kZXIuc2Nzcyc7XG5cblxuXG5AaW1wb3J0IFwiY29tcG9uZW50cy91dGlsaXRpZXMuaGVscGVyc1wiO1xuXG5cblxuIiwiXG4gIC5yZWFjdC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgXG4gICAgLnJlYWN0LXNlbGVjdCB7XG4gICAgICAmX19jb250cm9sIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgICAgICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC43cztcbiAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICB9XG4gIFxuICAgICAgICAmLS1tZW51LWlzLW9wZW4ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIFxuICAgICAgICAgIC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvciB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooLTIyNWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgJl9fdmFsdWUtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4KSAwIHJlbS1jYWxjKDgpICRzcGFjZS10cmlwbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgXG4gICAgICAgICYtLWlzLW11bHRpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgJl9faW5kaWNhdG9yLXNlcGFyYXRvciB7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMiokc3BhY2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMiokc3BhY2U7XG4gICAgICAgIGJhY2tncm91bmQ6ICRib3JkZXItY29sb3I7XG4gICAgICB9XG4gIFxuICAgICAgJl9fZHJvcGRvd24taW5kaWNhdG9yIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogOCokc3BhY2U7XG4gIFxuICAgICAgICBzdmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYXJyb3coJHNpemU6IDEuNSokc3BhY2UsICRib3JkZXItd2lkdGg6IDNweCwgJGJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5KTtcbiAgXG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgJl9fbXVsdGktdmFsdWUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBcbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMWNoIDAgJHNwYWNlLW9uZS1maWZ0aDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgXG4gICAgICAgICZfX3JlbW92ZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogJHNwYWNlLWRvdWJsZTtcbiAgICAgICAgICBoZWlnaHQ6ICRzcGFjZS1kb3VibGU7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgXG4gICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMS44KiRzcGFjZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjZTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmX19tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXM7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIFxuICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1kb3VibGUgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICBcbiAgICAgICZfX29wdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS1vbmUtZmlmdGggJHNwYWNlLXRyaXBsZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIFxuICAgICAgICAuY2hlY2tib3gge1xuICAgICAgICAgIEBpbmNsdWRlIGNoZWNrYm94KCk7XG4gIFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNlO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMC40ICogJHNwYWNlO1xuICAgICAgICB9XG4gIFxuICAgICAgICAmLS1pcy1zZWxlY3RlZCB7XG4gICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICAudGljayB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0aWNrKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIFxuICAgICAgICAmLS1pcy1mb2N1c2VkIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIFxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgJi5lcnJvciB7XG4gICAgICAucmVhY3Qtc2VsZWN0IHtcbiAgICAgICAgJl9fY29udHJvbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgIH1cbiAgXG4gICAgICAgICZfX2Ryb3Bkb3duLWluZGljYXRvciB7XG4gICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMS44KiRzcGFjZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjZTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICBsZWZ0OiAzMXB4O1xuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5zZWxlY3Qtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlLW9uZS1oYWxmICRzcGFjZS1kb3VibGU7XG4gICAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTQ7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gIFxuICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gICAgJi5mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIFxuICAgIC5mb3JtLXRleHQge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtLXdpdGgtaWNvbjtcbiAgICAgIEBleHRlbmQgJWlucHV0LS13aXRoLWljb24tLXJpZ2h0O1xuICAgICAgQGV4dGVuZCAlaW5wdXQtLXdpdGgtaWNvbi0tbWFnbmlmaWVyO1xuICAgIH1cbiAgXG4gICAgLmlucHV0LXN5bWJvbF9fc3ltYm9sIHtcbiAgICAgIHRvcDogMzRweDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjdzLCBvcGFjaXR5IDAuN3M7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbiAgICB9XG4gIFxuICAgIC5pbnB1dC1zeW1ib2xfX2N0YSB7XG4gICAgICB0b3A6IDM0cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MsIG9wYWNpdHkgMC43cztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICBcbiAgICAuaGFzLXZhbHVlIHtcbiAgICAgIC5pbnB1dC1zeW1ib2xfX3N5bWJvbCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgfVxuICBcbiAgICAgIC5pbnB1dC1zeW1ib2xfX2N0YSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLy8gRGVsYXkgb24gZm9jdXNcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zNXM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAucmVhY3QtYXV0b3N1Z2dlc3Qge1xuICAgICZfX3N1Z2dlc3Rpb25zLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICBcbiAgICAmX19zdWdnZXN0aW9ucy1saXN0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6ICRzcGFjZS1kb3VibGUgMi41KiRzcGFjZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0kaW5wdXQtcmFkaXVzO1xuICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgaGVpZ2h0OiAkaW5wdXQtcmFkaXVzO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB9XG4gIFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0kc3BhY2Utb25lLWhhbGY7XG4gICAgICAgIHJpZ2h0OiAkc3BhY2UtZG91YmxlO1xuICAgICAgICBsZWZ0OiAkc3BhY2UtZG91YmxlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1saWdodGVyLWdyYXk7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmX19zdWdnZXN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICBcbiAgICAgICYtLWhpZ2hsaWdodGVkIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4iLCIvLyBQcm9qZWN0XG4kcHJpbWFyeS1jb2xvcjogIzAwM2I2ODtcbiRzZWNvbmRhcnktY29sb3I6ICMwMDNiNjg7XG4kc3VjY2Vzcy1jb2xvcjogIzRmYWQyNjtcbiR3YXJuaW5nLWNvbG9yOiAjZTZiOTIzO1xuJGFsZXJ0LWNvbG9yOiAjZTYzMzIzO1xuJHl0LWNvbG9yOiAjRkYwMDAwO1xuXG4vLyBHcmF5c2NhbGVcbiR3aGl0ZTogI2ZmZjtcbiRkYXJrLXdoaXRlOiAjREJFMkU5O1xuJGxpZ2h0ZXItZ3JheTogI2VhZWFlYTtcbiRsaWdodC1ncmF5OiAjYzFjMWMxO1xuJG1lZGl1bS1saWdodGVyLWdyYXk6ICNhM2EzYTM7XG4kbWVkaXVtLWdyYXk6ICM3YTdhN2E7XG4kZGFyay1ncmF5OiAjMzQzNDM0O1xuJGJsYWNraXNoLWdyYXk6ICMyODI4Mjg7XG4kYmxhY2s6ICMwMDA7XG4kYm9yZGVyLWNvbG9yOiAjZDhkOGQ4O1xuXG4kY29sb3ItYm9yZGVyOiAkbGlnaHQtZ3JheTsiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kcHJpbWFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzdWNjZXNzLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6IGRpdmlkZSgkcmdiLCAyNTUpO1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsIGRpdmlkZSgkcmdiLCAxMi45MiksIHBvdyhkaXZpZGUoJHJnYiArIDAuMDU1LCAxLjA1NSksIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86IGRpdmlkZSgkbHVtaW5hbmNlMSwgJGx1bWluYW5jZTIpO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IGRpdmlkZSgxLCAkcmF0aW8pO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgKiAwLjE7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuICdDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fSc7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIudmlldyAudmlldy1maWx0ZXJzIHtcblxuICAucHJvZHVjdC1maW5kZXItZm9ybXMge1xuICAgIEBpbmNsdWRlIGN1c3RvbS14eS1ncmlkLWNvbnRhaW5lcigpO1xuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICB9XG4gIFxuICAgIC50YWJzLS1mdWxsIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICBcbiAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoKCRnbG9iYWwtd2lkdGgtbWVkaXVtICsgcmVtLWNhbGMoJHNwYWNlLXF1YWRydXBsZSkpIGRvd24pIHtcbiAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHNwYWNlLWRvdWJsZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNwYWNlLWRvdWJsZTtcbiAgICAgIH1cbiAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLnByb2R1Y3QtZmluZGVyLWZvcm0ge1xuICAgIC8qIG1hcmdpbjogJHNwYWNlLXF1YWRydXBsZSAwICRzcGFjZS1xdWludHVwbGU7ICovXG4gIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoKCRnbG9iYWwtd2lkdGgtbWVkaXVtICsgcmVtLWNhbGMoJHNwYWNlLXF1YWRydXBsZSkpIGRvd24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICBcbiAgICAmLnNlYXJjaC1tb2RlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IC8vIGZpeCBzZWFyY2ggZm9ybSBhbGlnbm1lbnQgb24gdGFibGV0XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmLnJlZmluZS1maWx0ZXJzLWZvcm0ge1xuICAgICAgcGFkZGluZy10b3A6ICRzcGFjZS10cmlwbGU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNy41KiRzcGFjZTtcbiAgXG4gICAgICAuZm9ybV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAuZm9ybV9fYWN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBmb3JtLS1hY3Rpb25zO1xuICAgICAgXG4gICAgfVxuICBcbiAgICAuZXJyb3JfX21lc3NhZ2Uge1xuICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2UtdHJpcGxlO1xuICAgICAgZm9udC1zaXplOiAkbWVkaXVtLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIH1cbiAgXG4gICAgLmZvcm1fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgXG4gICAgLmZvcm0tLWlubGluZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwO1xuICAgIH1cblxuICAgICYuZmluZGVyLW1vZGUgLmZvcm0tLWlubGluZSAuZm9ybS10eXBlLXNlbGVjdCxcbiAgICAmLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUgLmZvcm0tdHlwZS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG9cbiAgICB9XG4gIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAvKiAmLmZpbmRlci1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgICAgICAuZm9ybV9fdGl0bGUsXG4gICAgICAgICYgPiAucmVhY3Qtc2VsZWN0LWNvbnRhaW5lcixcbiAgICAgICAgJiA+IC5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlcixcbiAgICAgICAgLmZvcm1fX2FjdGlvbnMge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNlLXF1YWRydXBsZTtcbiAgICAgICAgfVxuICAgICAgfSAqL1xuICAgICAgJi5maW5kZXItbW9kZSAuZm9ybS0taW5saW5lIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UtcXVhZHJ1cGxlOyAgXG4gICAgICB9XG4gICAgICAmLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNlLXF1YWRydXBsZTtcbiAgICAgIH1cbiAgXG4gICAgICAmLnNlYXJjaC1tb2RlIC5mb3JtLS1pbmxpbmUge1xuICAgICAgICAuZm9ybV9fdGl0bGUsXG4gICAgICAgICYgPiAucmVhY3Qtc2VsZWN0LWNvbnRhaW5lcixcbiAgICAgICAgJiA+IC5yZWFjdC1zZWFyY2gtaW5wdXQtd3JhcHBlcixcbiAgICAgICAgLmZvcm1fX2FjdGlvbnMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgLy9tYXJnaW4tbGVmdDogJHNwYWNlLXF1YWRydXBsZTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgLmlucHV0LWNlbGwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgLmZvcm1fX2FjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlLXRyaXBsZTtcbiAgXG4gICAgICAgIC5zdWJtaXQge1xuICAgICAgICAgIG1pbi13aWR0aDogMjQ3cHg7XG4gICAgICAgICAgbWFyZ2luOiAwICRzcGFjZS1kb3VibGUgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmLnNlYXJjaC1tb2RlIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSArIDFweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAuc3dpdGNoLWxpbmsge1xuICAgIHBhZGRpbmc6ICRzcGFjZSAwICRzcGFjZSAyLjUqJHNwYWNlO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGZvbnQtc2l6ZTogJG1lZGl1bS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejRLUEhOMlp5QjNhV1IwYUQwaU1UZHdlQ0lnYUdWcFoyaDBQU0l4TjNCNElpQjJhV1YzUW05NFBTSXdJREFnTVRjZ01UY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUkrQ2lBZ0lDQThaeUJwWkQwaVVHRm5aUzB4SWlCemRISnZhMlU5SW01dmJtVWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0S0lDQWdJQ0FnSUNBOFp5QnBaRDBpTVRoZlVISnZaSFZqZEY5R2FXNWtaWEpmVkdWNGRGOVRaV0Z5WTJoZlJXNTBaWEpsWkNJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9MVFV5T1M0d01EQXdNREFzSUMwME5UTXVNREF3TURBd0tTSWdjM1J5YjJ0bFBTSWpNREEwTVVNd0lpQnpkSEp2YTJVdGQybGtkR2c5SWpFdU5TSStDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pRY205a2RXTjBMVk5sWVhKamFDSWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTUM0d01EQXdNREFzSURFeU1DNHdNREF3TURBcElqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKTWFXNXJjeUlnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb05USTVMakF3TURBd01Dd2dNekExTGpBd01EQXdNQ2tpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKSlEwOU9VeTlTWlhObGRDOUNiSFZsTFRJdFEyOXdlU0lnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01DNHdNREF3TURBc0lESTFMakF3TURBd01Da2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThaeUJwWkQwaVNVTlBUbE12VTJWaGNtTm9MMEpzZFdVaUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLREF1TURBd01EQXdMQ0F5TGpBd01EQXdNQ2tpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHTnBjbU5zWlNCcFpEMGlUM1poYkNJZ1kzZzlJamt1TnpVaUlHTjVQU0k0TGpJMUlpQnlQU0kySWo0OEwyTnBjbU5zWlQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHNhVzVsSUhneFBTSXdMamM0TmpBMk9UYzNOQ0lnZVRFOUlqRTJMalV6TmpBM016Z2lJSGd5UFNJMUxqSTFJaUI1TWowaU1USXVOelVpSUdsa1BTSk1hVzVsTFVOdmNIa3RNeUlnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lqNDhMMnhwYm1VK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09Jyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgKiAwLjU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtc2l6ZTogbnVsbDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBcInNtYWxsXCI6IDAsXG4gIFwibWVkaXVtXCI6IDY0MHB4LFxuICBcImxhcmdlXCI6IDEwMjRweCxcbiAgXCJ4bGFyZ2VcIjogMTIwMHB4LFxuICBcInh4bGFyZ2VcIjogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgXCJoaWRwaS0xXCI6IDEsXG4gIFwiaGlkcGktMS01XCI6IDEuNSxcbiAgXCJoaWRwaS0yXCI6IDIsXG4gIFwicmV0aW5hXCI6IDIsXG4gIFwiaGlkcGktM1wiOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtIGRpdmlkZSgxLCAkc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dC1udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHQtbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dC1udW1iZXIpIHtcbiAgICAgICRuZXh0LW51bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dC1udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmQta2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kLWtleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmQta2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIuc3RpY2t5LXRhYmxlIHtcbiAgLnJ0LXJlc2l6ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICB9XG4gIC8vd2lkdGg6IDgwdnc7XG4gIHdpZHRoOiAxMDAlO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyAvKiBJRTExICovXG4gICAgLlJlYWN0VGFibGUge1xuICAgICAgLnJ0LXRhYmxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7IC8vIEFkanVzdCBob3Jpem9udGFsIHNjcm9sbC5cbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAucnQtdGJvZHkge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LXRhYmxlLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgJi5zdGlja3ktYWN0aXZlIHtcbiAgICAuc3RpY2t5LXRhYmxlLWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLlJlYWN0VGFibGUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAucnQtdGFibGUge1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi5wcm9kdWN0LWZpbmRlci1maWx0ZXJzIHtcblxuICAucmVmaW5lLWZpbHRlcnMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cbiAgICAucmVmaW5lLWZpbHRlcnMtZm9ybSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGgtbWVkaXVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgLy8mLm5vLXN0aWNreSB7XG4gICAgICAvLyAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvLyAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIC8vICBoZWlnaHQ6IDEwMCU7XG4gICAgICAvL1xuICAgICAgLy8gIC5mb3JtLW92ZXJmbG93IHtcbiAgICAgIC8vICAgIGhlaWdodDogYXV0bztcbiAgICAgIC8vICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgLy8gIH1cbiAgICAgIC8vfVxuICAgIH1cblxuICAgIC5mb3JtLW92ZXJmbG93IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmZvcm0tLWlubGluZSB7XG4gICAgICAvLyBAZXh0ZW5kICVmb3JtLS1pbmxpbmU7XG4gICAgICBwYWRkaW5nOiA2MHB4IDIwcHggNDZweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm1fX3RpdGxlLFxuICAgIGg0LmZvcm1fX3RpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJlYWN0LXNlbGVjdC1jb250YWluZXIsXG4gICAgLnJlYWN0LXNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uLWNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJHNwYWNlLWRvdWJsZTtcbiAgICAgIHJpZ2h0OiAkc3BhY2UtZG91YmxlO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAuZm9ybV9fYWN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBmb3JtLS1hY3Rpb25zO1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAkc3BhY2UtZG91YmxlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgZmFsc2UpO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2UtcXVhZHJ1cGxlO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1maW5kZXItdG9nZ2xlci5yZXNldC1hbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY291bnQtbWF0Y2hlcyB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIHdyYXBwZXIgZm9yIG1vYmlsZVxuICAucHJvZHVjdC1maW5kZXItZmlsdGVycy1idXR0b25zIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gIH1cblxuICAucHJvZHVjdC1maW5kZXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG5cbiAgICAmLnRvZ2dsZS1maWx0ZXJzIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS1kb3VibGU7XG5cbiAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgLmljb24tZmlsdGVycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmljb24tZmlsdGVycyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMS4yKiRzcGFjZTtcbiAgICAgICAgaGVpZ2h0OiAkc3BhY2Utb25lLWZpZnRoO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgLy8gc3BhY2UgZm9yIGljb25cbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogJHNwYWNlLWRvdWJsZTtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogLSRzcGFjZS1vbmUtaGFsZjtcbiAgICAgICAgICBsZWZ0OiAtNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogJHNwYWNlLW9uZS1oYWxmO1xuICAgICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgICB3aWR0aDogMC42KiRzcGFjZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYudG9nZ2xlLWF0dHJpYnV0ZXMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1Nik7XG5cbiAgICAgIC5pY29uLWZpbHRlcnMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6ICRzcGFjZS1vbmUtZmlmdGg7XG4gICAgICAgIGhlaWdodDogMS41KiRzcGFjZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2U7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAvLyBBbGlnbiB2ZXJ0aWNhdGxseS5cbiAgICAgICAgYm90dG9tOiAwLjFlbTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAkc3BhY2Utb25lLWZpZnRoO1xuICAgICAgICAgIGhlaWdodDogMS41KiRzcGFjZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucmVzZXQtYWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTknIGhlaWdodD0nMTUnJTNFJTNDcGF0aCBkPSdNMTQuNDI4IDMuMTg0QzEzLjI0MSAxLjg2NyAxMS40NzQgMS4wMyA5LjUgMS4wM2MtMy41NzEgMC02LjQ2NyAyLjczNi02LjQ2NyA2LjExdjEuNzk3JyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnIHN0cm9rZT0nJTIzYzFjMWMxJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0NwYXRoIGQ9J001LjMxNSA2LjA2M0wzLjAzMyA4LjkzOC43NSA2LjA2Mk00LjU3MiAxMS44MTdDNS43NTkgMTMuMTM0IDcuNTI2IDEzLjk3IDkuNSAxMy45N2MzLjU3MSAwIDYuNDY3LTIuNzM2IDYuNDY3LTYuMTFWNi4wNjInIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCcgc3Ryb2tlPSclMjNjMWMxYzEnIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQ3BhdGggZD0nTTEzLjY4NSA4LjkzOGwyLjI4Mi0yLjg3NiAyLjI4MyAyLjg3NicgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyBzdHJva2U9JyUyM2MxYzFjMScgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIC8vIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubm8tcmVzdWx0cy1ibG9jayB7XG4gICAgb3JkZXI6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICBAaW5jbHVkZSBjdXN0b20teHktZ3JpZC1jb250YWluZXIoKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZmluZGVyLXRvZ2dsZXIge1xuICAgICAgJi50b2dnbGUtZmlsdGVycyB7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjZS1kb3VibGU7XG4gICAgICB9XG5cbiAgICAgICYucmVzZXQtYWxsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMy40KiRzcGFjZTtcbiAgICAgIH1cblxuICAgICAgJi50b2dnbGUtYXR0cmlidXRlcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX3Rvb2xib3gsXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fYnRuIHtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjEgMjApO1xufVxuXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAvLyBUT0RPOiBDaGVjayBpZiBob3ZlciBlZmZlY3QgaXMgbmVlZGVkLlxuICAvLyAmOmhvdmVyIHtcbiAgLy8gICAucHJvZHVjdC1maW5kZXItZmlsdGVyc19faWNvbiB7XG4gIC8vICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gID4gc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBBc2lkZSBmaWx0ZXIgbWVudSBpcyBvcGVuXG4gICYuaXMtb3BlbiB7XG4gICAgLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2ljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHNjYWxlWCgtMSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX3Rvb2xib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay13aGl0ZTtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ucHJvZHVjdC1maW5kZXItZmlsdGVyc19fY3RhLXRpdGxlIHtcbiAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE2OCk7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyLWZpbHRlcnNfX2ljb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICBoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzLCBjb2xvciAwLjI1cztcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXG4gIC5pY29uIHtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgI2ZmZjtcbn1cblxuLnByb2R1Y3QtZmluZGVyLWFzaWRlX19maWVsZHNldCB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTQgMjAgMTYpO1xuXG4gIC8vIFNlbGVjdCBlbGVtZW50c1xuICAvLyBJdCdzIGVhc2llciB0byBvdmVycmlkZSB0aGVtIGhlcmUgdGhlbiB0byBhY3R1YWxseSBjaGFuZ2UgbWFya3VwLlxuICAvLyBTdG9yeSBvZiBteSBsaWZlLlxuXG4gIC5yZWFjdC1zZWxlY3QtY29udGFpbmVyIHtcblxuICAgIC8vIEhpZGUgdGhlIGxhYmVsLlxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gIH1cblxuICAucmVhY3Qtc2VsZWN0X19tZW51IHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxNHB4IDE0cHg7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucmVhY3Qtc2VsZWN0X19jb250cm9sIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDgpO1xuICB9XG5cbiAgLnJlYWN0LXNlbGVjdF9fY29udHJvbC0tbWVudS1pcy1vcGVuIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG5cbiAgLnJlYWN0LXNlbGVjdF9fdmFsdWUtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgfVxuXG4gIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnJlYWN0LXNlbGVjdF9fZHJvcGRvd24taW5kaWNhdG9yIHtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICB9XG5cbiAgLmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZV9fbGFiZWwge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxuXG4gIC5yZWFjdC1zZWxlY3RfX2luZGljYXRvci1zZXBhcmF0b3Ige1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDYpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fZmllbGRzZXQtLWNvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogcmVtLWNhbGMoLTcpO1xuXG4gID4gKiB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNyk7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX3RvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogcmVtLWNhbGMoMTYgMjApO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIH1cbiAgfVxuXG4gID4gZGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICA+IGR0LCBkZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgID4gZHQge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE5MCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgID4gZGQge1xuICAgICAgbWFyZ2luLXRvcDogMC4zZW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fc3ByZWFkIHtcbiAgbWFyZ2luOiAwIHJlbS1jYWxjKC02KTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2NlbGwge1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDYpO1xuICB3aWR0aDogNTAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gVW5pdFxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdW5pdCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiByZW0tY2FsYygxMik7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDIpIHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0KTtcbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX3RleHRib3gge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDcpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogcmVtLWNhbGMoOCAyNiA4IDEwKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gIGxpbmUtaGVpZ2h0OiAyMC8xNjtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gIC8vIFJlbW92ZSBzcGlubmVycy9hcnJvd3NcblxuICAvLyBDaHJvbWUsIFNhZmFyaSwgT3BlcmEsIEVkZ2VcbiAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIEZpcmVmb3hcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3gtZ3JvdXAge1xuICBtYXJnaW46IDA7XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fY2hlY2tib3gge1xuICArIGxhYmVsIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkYmxhY2tpc2gtZ3JheTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgyNmVtLzE2KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAvLyBXaGl0ZSBzcXVhcmUuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDAuMWVtO1xuICAgICAgdG9wOiAwLjJlbTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGhlaWdodDogKDE0ZW0vMTYpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9XG4gIH1cblxuICAmOmNoZWNrZWQge1xuICAgICsgbGFiZWwge1xuICAgICAgLmljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlci1hc2lkZV9fZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgI2ZmZjtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDc1KTtcbiAgfVxufVxuXG4ucHJvZHVjdC1maW5kZXItYXNpZGVfX2N0YSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItY29sb3I7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxMik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwwKSwgI2JiYik7XG4gIH1cblxuICA+IC5pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gIH1cbn1cblxuLy8gUmFuZ2Ugc2xpZGVyXG5cbi5yYW5nZS1zbGlkZXIge1xuICBoZWlnaHQ6IHJlbS1jYWxjKDYpO1xuXG4gIC5NdWlTbGlkZXItcmFpbCxcbiAgLk11aVNsaWRlci10cmFjayB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgfVxuXG4gIC5NdWlTbGlkZXItcmFpbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWxpZ2h0ZXItZ3JheTtcbiAgfVxuXG4gIC5NdWlTbGlkZXItdHJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cblxuICAvLyBIaWRlIGxpdHRsZSBzbGlkZXIgbWFya3NcbiAgLk11aVNsaWRlci1tYXJrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gU2xpZGVyIGNvbnRyb2xzXG4gIC5NdWlTbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiByZW0tY2FsYygxMCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNSk7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zKVxuICB9XG59XG5cbi5yYW5nZS1zbGlkZXItbGFiZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAgcmVtLWNhbGMoLTYpIHJlbS1jYWxjKC02KSAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5yYW5nZS1zbGlkZXItbGFiZWxzX19sYWJlbCB7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoNik7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMmVtO1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS11bml0KTtcbiAgfVxufVxuXG4uUmVhY3RDb2xsYXBzZS0tY29sbGFwc2Uge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkbWdjOiByZW0tY2FsYygkbWcpO1xuICAgICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAgICRtZ2M6IDByZW07XG4gICAgICB9XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWd9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRtZ2M6IHJlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKTtcbiAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICRtZ2M6IDByZW07XG4gICAgfVxuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nY30pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIucHJvZHVjdC1maW5kZXIge1xuICAuUmVhY3RUYWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgLnJ0LXRhYmxlIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLnJ0LXRoZWFkIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICRibGFja2lzaC1ncmF5O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgLy9wb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAucnQtdGgge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG4gICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay13aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ydGhmYy10aC1maXhlZCB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENhbmNlbCB0b3AtYm9yZGVyIGVmZmVjdCBmb3JtIGVsc2V3aGVyZS5cbiAgICAgICAgJi4tc29ydC1hc2Mge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucnQtdGJvZHkge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cblxuICAgIC5ydC10ci1ncm91cCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLnJ0LXRyLi1vZGQsXG4gICAgLnJ0LXRyLi1ldmVuIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5ydC10ci4tb2RkIC5ydC10ZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLnJ0LXRyLi1ldmVuIC5ydC10ZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5ydC10ZCxcbiAgICAucnQtdGgge1xuICAgICAgcGFkZGluZzogMS4xICogJHNwYWNlICRzcGFjZS1kb3VibGU7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAucnQtdGQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBzcGFuOm5vdCgucHJvZHVjdC1sYWJlbCkge1xuICAgICAgICAvLyBtYWtlIHN1cmUgdG8gdHJpbSB0aGUgdGV4dCBpbiBjb25qdWN0aW9uIHdpdGggZmxleGJveFxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucnRoZmMtdGQtZml4ZWQucnRoZmMtdGQtZml4ZWQtbGVmdCxcbiAgICAucnRoZmMtdGQtZml4ZWQucnRoZmMtdGQtZml4ZWQtbGVmdC1sYXN0IHtcbiAgICAgIC8vIGxlZnQgYWxpZ24gdGhlIGVsZW1lbnRzIGluIHRoZSBmaXJzdCBjb2x1bW5cbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAucnRoZmMtdGQtZml4ZWQucnRoZmMtdGQtZml4ZWQtbGVmdC1sYXN0IHtcbiAgICAgIC8vIGFsaWduIHRoZSBzdG9jayBpY29uIHRvIHRoZSBpbml0aWFsIGJhc2VsaW5lXG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLnJ0LXRoIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5ydC10ZC5ydGhmYy10ZC1maXhlZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG5cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgLy8gcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmKy5ydC10ZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ydC10ZC5ydGhmYy10ZC1maXhlZC1sZWZ0LWxhc3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6ICRzcGFjZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgJGJvcmRlci1jb2xvcik7XG5cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJ0LXJlc2l6YWJsZS1oZWFkZXItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5oZWFkZXItdGgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZS1kb3VibGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgJl9fb3B0aW9uYWwge1xuICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5ydGhmYy10aC1maXhlZCB7XG4gICAgLmhlYWRlci10aCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2UtZG91YmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0LWxpbmsge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50OyAvLyBwcmV2ZW50IHRoZSB1bmRlcmxpbmUgZGVjb3JhdGlvbiBmcm9tIGV4Y2VlZGluZyB0aGUgZWxlbWVudCB3aWR0aFxuICAgIH1cblxuICAgIC5wcm9kdWN0LWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogJGRhcmstd2hpdGU7XG4gICAgICBwYWRkaW5nOiAycHggNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgICYubmV3IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZW5kLW9mLWxpZmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYubm90LXJlY29tbWVuZGVkLWZvci1uZXctZGVzaWduIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdhcm5pbmctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3Qtc3RvY2stbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmX19zdG9jayB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAvL3dpZHRoOiByZW0tY2FsYyg0NSk7XG4gICAgICAvL2hlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjUgKiAkc3BhY2U7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOHB4JyBoZWlnaHQ9JzMycHgnIHZpZXdCb3g9JzAgMCA0MyAzOSclM0UlM0NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDEuNjA4IDEuMDA5KScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2VsbGlwc2Ugc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgY3g9JzE4LjEzMycgY3k9JzMyLjIyNycgcng9JzQuMDQ5JyByeT0nNC4xMzMnLyUzRSUzQ2VsbGlwc2Ugc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgY3g9JzMwLjI4JyBjeT0nMzIuMjI3JyByeD0nNC4wNDknIHJ5PSc0LjEzMycvJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwNDFDMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNOS4yMjYgOC4yNThoMzAuNzcybC0zLjI0IDE2LjUzSDEyLjQ2NnonLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDQxQzAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBkPSdNMTAuMDQgMTIuMzlMNy43NjIgMEgwJy8lM0UlM0NwYXRoIGQ9J00zMS44NDggMTcuOTkyYy40MTQtLjQxNC42Mi0uOTU3LjYyLTEuNSAwLS41NDQtLjIwNi0xLjA4OC0uNjItMS41MDJsLTMuNDU0LTMuNDU0YTIuMTI1IDIuMTI1IDAgMDAtMy4wMDIgMGMtLjc3NC43NzMtLjgyNCAyLS4xNTMgMi44MzJoLTYuNjQ4Yy0xLjE3IDAtMi4xMjMuOTUzLTIuMTIzIDIuMTIzIDAgMS4xNy45NTMgMi4xMjMgMi4xMjMgMi4xMjNoNi42NDhhMi4xMjYgMi4xMjYgMCAwMC4xNTMgMi44MzMgMi4xMjUgMi4xMjUgMCAwMDMuMDAyIDBsMy40NTQtMy40NTV6bS01LjQ1NiAyLjQ1NGEuNzAyLjcwMiAwIDAxLS4yMDctLjVjMC0uMTkuMDc0LS4zNjcuMjA3LS41bDEuMDQtMS4wNGEuNzA4LjcwOCAwIDAwLS41MDEtMS4yMDdoLTguMzRhLjcwOC43MDggMCAwMTAtMS40MTVoOC4zNGEuNzA3LjcwNyAwIDAwLjUtMS4yMDhsLTEuMDM5LTEuMDRhLjcwMi43MDIgMCAwMS0uMjA3LS41YzAtLjE4OC4wNzQtLjM2Ni4yMDctLjVhLjcwMy43MDMgMCAwMTEgMGwzLjQ1NSAzLjQ1NWEuNzA4LjcwOCAwIDAxMCAxbC0zLjQ1NCAzLjQ1NWEuNzA4LjcwOCAwIDAxLTEgMHonIGZpbGw9JyUyMzAwNDFDMCcgZmlsbC1ydWxlPSdub256ZXJvJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF0YS1zaGVldC13cmFwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgJl9fbGluayB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEgKiAkc3BhY2U7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMHB4JyBoZWlnaHQ9JzI0cHgnIHZpZXdCb3g9JzAgMCAyMCAyNCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2cgaWQ9J1NZTUJPTFMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nRmlsZUljb24vUERGJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxLjAwMDAwMCwgMS4wMDAwMDApJyUzRSUzQ2clM0UlM0Nwb2x5Z29uIGlkPSdSZWN0YW5nbGUtMTYnIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHBvaW50cz0nOS4wOTUyMjQ1N2UtMTMgMCAxMy44ODM3ODkxIDAgMTYgMyAxOCA1LjQxNjk5MjE5IDE4IDIyIDkuMDk1MjI0NTdlLTEzIDIyJyUzRSUzQy9wb2x5Z29uJTNFJTNDcG9seWxpbmUgaWQ9J1BhdGgnIHN0cm9rZT0nJTIzMDA0MUMwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgcG9pbnRzPScxMyAwLjUgMTMgNiAxOCA2JyUzRSUzQy9wb2x5bGluZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQ3RleHQgaWQ9J1BERicgZm9udC1mYW1pbHk9J0FyaWFsLUJvbGRNVCwgQXJpYWwnIGZvbnQtc2l6ZT0nNycgZm9udC13ZWlnaHQ9J2JvbGQnIGZpbGw9JyUyMzAwNDFDMCclM0UlM0N0c3BhbiB4PSc1MCUyNScgeT0nMTYnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIHRleHQtYW5jaG9yPSdtaWRkbGUnJTNFUERGJTNDL3RzcGFuJTNFJTNDL3RleHQlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIsIDEuMik7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FkLWRhdGEtd3JhcHBlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNhZC1kYXRhLXdyYXBwZXJfX2xpbmsge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J1VURi04JyUzRiUzRSUzQ3N2ZyBpZD0nRWJlbmVfMScgZGF0YS1uYW1lPSdFYmVuZSAxJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyNCclM0UlM0NkZWZzJTNFJTNDc3R5bGUlM0UgLmNscy0xICU3QiBmaWxsOiAlMjMwMDQxYzA7IGZvbnQtZmFtaWx5OiBBcmlhbC1Cb2xkTVQsIEFyaWFsOyBmb250LXNpemU6IDdweDsgZm9udC13ZWlnaHQ6IDcwMDsgaXNvbGF0aW9uOiBpc29sYXRlOyAlN0QgLmNscy0yICU3QiBzdHJva2UtbGluZWNhcDogcm91bmQ7ICU3RCAuY2xzLTIsIC5jbHMtMyAlN0IgZmlsbDogbm9uZTsgc3Ryb2tlOiAlMjMwMDQxYzA7IHN0cm9rZS1saW5lam9pbjogcm91bmQ7IHN0cm9rZS13aWR0aDogMnB4OyAlN0QgJTNDL3N0eWxlJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSdTWU1CT0xTJyUzRSUzQ2cgaWQ9J0ZpbGVJY29uX1BERicgZGF0YS1uYW1lPSdGaWxlSWNvbi9QREYnJTNFJTNDZyUzRSUzQ3BvbHlnb24gaWQ9J1JlY3RhbmdsZS0xNicgY2xhc3M9J2Nscy0zJyBwb2ludHM9JzEgMSAxNC45IDEgMTcgNCAxOSA2LjQgMTkgMjMgMSAyMyAxIDEnLyUzRSUzQ3BvbHlsaW5lIGlkPSdQYXRoJyBjbGFzcz0nY2xzLTInIHBvaW50cz0nMTQgMS41IDE0IDcgMTkgNycvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDdGV4dCBjbGFzcz0nY2xzLTEnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDIuNTIgMTYuMDgpJyUzRSUzQ3RzcGFuIHg9JzAnIHk9JzAnJTNFQ0FEJTNDL3RzcGFuJTNFJTNDL3RleHQlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIsIDEuMik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIsIDEuMik7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjFzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcbiAgICB9XG4gIH1cblxuXG4gIC5wYWdpbmF0aW9uLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgY3VzdG9tLXh5LWdyaWQtY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCgkZ2xvYmFsLXdpZHRoLW1lZGl1bSArIHJlbS1jYWxjKCRzcGFjZS1xdWFkcnVwbGUpKSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgbWFyZ2luLXRvcDogJHNwYWNlLXF1YWRydXBsZTtcblxuICAgIC5wYWdlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cbn0iLCIubWFuYWdlLWF0dHJpYnV0ZXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiAxMDEwO1xuXG4gICZfX2lubmVyIHtcbiAgICBAaW5jbHVkZSBjdXN0b20teHktZ3JpZC1jb250YWluZXIoKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogODAlO1xuICAgIHBhZGRpbmc6ICRzcGFjZS1xdWFkcnVwbGUgJHNwYWNlLWRvdWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgIC5pY29uLWNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJHNwYWNlO1xuICAgICAgcmlnaHQ6ICRzcGFjZTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6ICRzcGFjZS1zZXh0dXBsZSAkc3BhY2UtcXVpbnR1cGxlO1xuXG4gICAgICAuaWNvbi1jbG9zZSB7XG4gICAgICAgIHRvcDogJHNwYWNlLWRvdWJsZTtcbiAgICAgICAgcmlnaHQ6ICRzcGFjZS1kb3VibGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogJHNwYWNlLWRlY3VwbGUgOCokc3BhY2U7XG4gICAgfVxuICB9XG5cbiAgLm1hbmFnZS1hdHRyaWJ1dGVzLWZvcm0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZm9ybS0taW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5mb3JtX190aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCAkc3BhY2UtZG91YmxlIDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmF0dHJpYnV0ZUNoZWNrYm94IHtcbiAgICBAZXh0ZW5kICVmb3JtLWNoZWNrYm94O1xuXG4gICAgbWFyZ2luOiAkc3BhY2Utb25lLWhhbGYgMDtcblxuICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2UtdHJpcGxlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiX2Zvcm0tZWxlbWVudHMuc2Nzc1wiO1xuQGltcG9ydCBcIl9wcm9kdWN0LWZpbmRlci1mb3JtLnNjc3NcIjtcbkBpbXBvcnQgXCJfc3RpY2t5LXRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJfcHJvZHVjdC1maW5kZXItZmlsdGVycy5zY3NzXCI7XG5AaW1wb3J0IFwiX3Byb2R1Y3QtZmluZGVyLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIl9tYW5hZ2UtYXR0cmlidXRlcy5zY3NzXCI7XG5cbi5wcm9kdWN0LWZpbmRlci52aWV3IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wcm9kdWN0LWZpbmRlcl9fYm9keSB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICYuaXMtb3BlbiAucHJvZHVjdC1maW5kZXJfX21haW4ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE5LjM3NXJlbSk7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1vcGVuIC5wcm9kdWN0LWZpbmRlcl9fbWFpbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmluZGVyX19tYWluIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0LWZpbmRlcl9fYXNpZGUge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LWZpbmRlcl9fbWFpbiB7XG4gIGZsZXgtc2hyaW5rOiAxO1xufVxuIiwiLy8gR0VORVJBTCBMQVlPVVQgU1RZTEVTXG4vLyAoR2xvYmFsIGxheW91dCBzdHlsZXMgdGhhdCBjYW4gYmUgcmUtdXNlZClcbi5zZWN0aW9uIHtcbiAgbWFyZ2luOiAkc3BhY2UtZGVjdXBsZSAwO1xufVxuXG4vLyBQcmltYXJ5IHNlY3Rpb24gc3BhY2luZyB1c2luZyBwYWRkaW5nLlxuLnNlY3Rpb24tYm94IHtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICYgKyAucGFyYWdyYXBoIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmluLWlmcmFtZSAmIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbn1cblxuLnNlY3Rpb24tYm94LS1wcm90cnVkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApICFpbXBvcnRhbnQ7XG59XG5cbi5zZWN0aW9uLS1mb3JjZSB7XG4gIG1hcmdpbjogJHNwYWNlLWRlY3VwbGUgMCAhaW1wb3J0YW50O1xufVxuXG4ud2lkdGgtZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyAgSEVMUEVSIFNUWUxFU1xuLy8gIChHbG9iYWwgaGVscGVyIHN0eWxlcyB0aGF0IGNhbiBiZSByZS11c2VkKVxuLy8gIHxcbi8vICBgLS0gVHlwb2dyYXBoeVxuLy8gICAgICh0ZXh0IHN0eWxpbmcgcHJvcGVydGllcyBsaWtlIGZvbnQtc2l6ZXMsIGZvbnQtd2VpZ2h0cywgZXRjLilcbi5zaXplLW1kIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG59XG5cbi50eXBlLWhlYXZ5IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLy8gIHxcbi8vICBgLS0gQ29udGVudCByZXNldFxuLy8gICAgIChSZXNldCB2ZXJ0aWNhbCBzcGFjaW5nIG9mIHRoZSBuZXN0ZWQgZWxlbWVudHNsaWtlIHBhcmFncmFwaHMgZm9yIGV4YW1wbGUuKVxuLnJlc2V0LXNwYWNpbmcge1xuICA+ICoge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyAgfFxuLy8gIGAtLSBNYXJnaW4gb3ZlcnJpZGVzIChtbCAtIG1hcmdpbi1sZWZ0LCAuLi4pXG4ubWwtMHgge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWItMHgge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0weCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm1iLTF4IHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0yeCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZSAqIDI7XG59XG5cbi5tYi00eCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZSAqIDQ7XG59XG5cbi5tYi01eCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZSAqIDU7XG59XG5cbi8vICB8XG4vLyAgYC0tIFBhZGRpbmcgb3ZlcnJpZGVzIChwbCAtIHBhZGRpbmctbGVmdCwgLi4uKVxuLnB0LTB4IHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5wdC0yeCB7XG4gIHBhZGRpbmctdG9wOiAkc3BhY2UtZG91YmxlICFpbXBvcnRhbnQ7XG59XG4ucHQtNHgge1xuICBwYWRkaW5nLXRvcDogJHNwYWNlLXF1YWRydXBsZSAhaW1wb3J0YW50O1xufVxuLnB0LTZ4IHtcbiAgcGFkZGluZy10b3A6ICRzcGFjZS1zZXh0dXBsZSAhaW1wb3J0YW50O1xufVxuLnB0LTd4IHtcbiAgcGFkZGluZy10b3A6ICRzcGFjZS1zZXB0dXBsZSAhaW1wb3J0YW50O1xufVxuLnB0LTh4IHtcbiAgcGFkZGluZy10b3A6ICRzcGFjZS1vY3R1cGxlICFpbXBvcnRhbnQ7XG59XG4ucHQtMTB4IHtcbiAgcGFkZGluZy10b3A6ICRzcGFjZS1kZWN1cGxlICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0weCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0yeCB7XG4gIHBhZGRpbmctYm90dG9tOiAkc3BhY2UtZG91YmxlICFpbXBvcnRhbnQ7XG59XG4ucGItNHgge1xuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlLXF1YWRydXBsZSAhaW1wb3J0YW50O1xufVxuLnBiLTZ4IHtcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjZS1zZXh0dXBsZSAhaW1wb3J0YW50O1xufVxuLnBiLTd4IHtcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjZS1zZXB0dXBsZSAhaW1wb3J0YW50O1xufVxuLnBiLTh4IHtcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjZS1vY3R1cGxlICFpbXBvcnRhbnQ7XG59XG4ucGItMTB4IHtcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjZS1kZWN1cGxlICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gIHxcbi8vICBgLS0gQmFja3JvdW5kIGNvbG9yXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8vIFRleHQgYWxpZ25tZW50XG4vLyB8XG4vLyBgLS0gVGV4dCBjZW50ZXJcbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gRGlzcGxheVxuLmZsZXgtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8gQmFja2dyb3VuZHNcbi5iYWNrZ3JvdW5kLWdyYXkge1xuICBiYWNrZ3JvdW5kOiAkZGFyay13aGl0ZTtcbn1cblxuLmJhY2tncm91bmQtYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4uYmFja2dyb3VuZC1yZWQge1xuICBiYWNrZ3JvdW5kOiAkeXQtY29sb3I7IFxufSJdfQ== */
