/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/styles.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* https://gist.github.com/italodr/b4ded5894afa2ceae19ed1b767785e02 */
/* Headings */
/* Atoms */
input[type=submit],
button.button {
  display: block;
  text-align: center;
}

button,
[role=button],
input[type=button],
input[type=reset],
input[type=submit] {
  appearance: none;
  background-color: #dee0e2;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 100%;
  line-height: 1.444rem;
  padding: 6px;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  width: 100%;
}
button *,
[role=button] *,
input[type=button] *,
input[type=reset] *,
input[type=submit] * {
  pointer-events: none;
}
button:disabled,
[role=button]:disabled,
input[type=button]:disabled,
input[type=reset]:disabled,
input[type=submit]:disabled {
  color: #5a5959;
  cursor: default;
}
@media screen and (min-width: 480px) {
  button,
  [role=button],
  input[type=button],
  input[type=reset],
  input[type=submit] {
    width: auto;
  }
}

.button {
  align-items: center;
  appearance: none;
  background: linear-gradient(256deg, #ff7033, #ff4b00);
  background-color: #ff7033;
  border: none;
  border-radius: 36px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 100%;
  font-weight: 700;
  height: auto;
  line-height: 1.444rem;
  overflow: visible;
  padding: 0.722rem 1.444rem;
  position: relative;
  text-align: center;
  text-decoration: none !important;
  vertical-align: top;
  width: 100%;
  z-index: 1;
}
.button::-moz-focus-inner {
  border: 0;
  padding: 0;
}
@media screen and (min-width: 480px) {
  .button {
    min-width: 300px;
    padding: 0.722rem 1.805rem;
    width: auto;
  }
}
.button::after {
  border-radius: 36px;
  box-shadow: none;
  color: #fff;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease-out;
  width: 100%;
  z-index: -1;
}
.button::before {
  background: linear-gradient(256deg, #ff9733, #ff7b00);
  background-color: #ff7b00;
  border-radius: 36px;
  box-shadow: none;
  color: #fff;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease-out;
  width: 100%;
  z-index: -1;
}
.non-touch .button:hover {
  color: #fff;
}
.non-touch .button:hover::before {
  opacity: 1;
}
.non-touch .button:hover::after {
  opacity: 0;
}
.button--small {
  font-size: 0.8rem;
  padding: 0.361rem 1.083rem;
}
@media screen and (min-width: 480px) {
  .button--small {
    padding: 0.361rem 1.083rem;
  }
}
.button--secondary {
  background-color: transparent;
  background-image: none;
  color: #ff4b00;
}
.button--secondary.button--dark {
  background-color: transparent;
  color: #fff;
}
.button--secondary::after {
  border: 3px solid #ff4b00;
}
.button--secondary::before {
  background: linear-gradient(256deg, #ff9733, #ff7b00);
  background-color: #ff9733;
}
.non-touch .button--secondary:hover {
  color: #fff;
}
.button--secondary.button--blue {
  background-color: transparent;
  background-image: none;
  color: #153185;
}
.button--tertiary {
  background-color: transparent;
  background-image: none;
  color: #ff4b00;
  height: auto;
  letter-spacing: 1.2px;
  padding: 0;
  text-align: left;
  text-transform: uppercase;
}
@media screen and (min-width: 480px) {
  .button--tertiary {
    padding: 0;
  }
}
.button--tertiary .u-icon {
  height: 14px;
  width: 14px;
  fill: #ff9733;
  left: 0;
  position: relative;
  transition: left 0.2s ease-in-out, right 0.2s ease-in-out;
}
.button--tertiary span {
  display: inline-block;
  font-size: 0.8rem;
  margin-right: 0.361rem;
  text-transform: uppercase;
}
.button--tertiary::before {
  content: none;
}
.non-touch .button--tertiary:hover {
  background-color: transparent;
  background-image: none;
  color: #ff9733;
}
.non-touch .button--tertiary:hover .u-icon {
  fill: #ff9733;
  left: 0.361rem;
}
.button--tertiary.button--blue {
  background-color: transparent;
  background-image: none;
  color: #024b96;
}
.button--tertiary.button--blue .u-icon {
  fill: #00a6d6;
}
.non-touch .button--tertiary.button--blue:hover {
  background-color: transparent;
  background-image: none;
  color: #00a6d6;
}
.non-touch .button--tertiary.button--blue:hover .u-icon {
  fill: #00a6d6;
  left: 0.361rem;
}
.button--tertiary.button--dark {
  background-color: transparent;
  color: #fff;
}
.button--blue {
  background: linear-gradient(256deg, #0582c7, #024b96);
  background-color: #0582c7;
}
.button--blue::after {
  border-color: #024b96;
}
.button--blue::before {
  background: linear-gradient(256deg, #00d2ed, #00a6d6);
  background-color: #00d2ed;
}
.non-touch .button--blue:hover {
  color: #fff;
}

button:disabled,
.button:disabled,
.button--state-disabled {
  background: none;
  cursor: not-allowed;
  pointer-events: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  max-width: 100%;
  padding: 0;
  table-layout: fixed;
  width: 100% !important;
}
table td,
table th {
  text-align: left;
}
table th {
  background: #4178b0;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 2px;
  padding: 0.722rem 1.444rem;
  text-transform: uppercase;
}
table thead {
  display: none;
}
@media screen and (min-width: 768px) {
  table thead {
    display: table-header-group;
  }
}
table tr {
  border-top: 0.361rem solid #4178b0;
  display: block;
  margin: 0 0 1.444rem;
}
@media screen and (min-width: 768px) {
  table tr {
    border-top: none;
    display: table-row;
  }
}
@media screen and (min-width: 768px) {
  table tr:nth-child(odd) {
    background: #e9eff5;
  }
}
@media screen and (min-width: 768px) {
  table tr:nth-child(even) {
    background: #f5f7fa;
  }
}
table td {
  align-items: flex-start;
  display: flex;
  font-size: 0.875rem;
  padding: 0.722rem 1.444rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  table td {
    display: table-cell;
  }
}
table td > span {
  flex: 1;
  padding: 0 0 0 0.722rem;
}
@media screen and (min-width: 768px) {
  table td > span {
    padding: 0;
  }
}
table td:nth-child(odd) {
  background: #e9eff5;
}
@media screen and (min-width: 768px) {
  table td:nth-child(odd) {
    background: transparent;
  }
}
table td:nth-child(even) {
  background: #f5f7fa;
}
@media screen and (min-width: 768px) {
  table td:nth-child(even) {
    background: transparent;
  }
}
table td::before {
  content: attr(data-label);
  display: block;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  table td::before {
    display: none;
  }
}

/* Molecules */
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0.2166rem;
  position: relative;
  z-index: 1;
}
.breadcrumbs__item {
  color: #98a5b3;
}
.breadcrumbs__item:nth-last-child(2)::before {
  color: #153185;
  content: "< ";
  list-style: none;
  padding-bottom: 0.5rem;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .breadcrumbs__item:nth-last-child(2)::before {
    content: none;
  }
}
.breadcrumbs__item:not(:last-child)::after {
  content: none;
}
@media screen and (min-width: 768px) {
  .breadcrumbs__item:not(:last-child)::after {
    color: #153185;
    content: ">";
    list-style: none;
    margin-right: 0.361rem;
    padding-bottom: 0.5rem;
    text-decoration: none;
  }
}
.breadcrumbs__item:not(:nth-last-child(2)) {
  display: none;
}
@media screen and (min-width: 768px) {
  .breadcrumbs__item:not(:nth-last-child(2)) {
    display: flex;
  }
}
.breadcrumbs__item svg {
  display: none;
  height: 16px;
  width: 16px;
}
.breadcrumbs__item svg path {
  stroke: #153185;
}
@media screen and (min-width: 768px) {
  .breadcrumbs__item svg {
    display: inline-flex;
  }
}
.non-touch .breadcrumbs__item:hover svg path {
  stroke: #00a6d6;
}
.breadcrumbs__link {
  color: #153185;
  padding-right: 0.361rem;
  text-decoration: none;
}
.breadcrumbs__logo svg {
  display: inline-flex !important;
}

.button-fixed {
  background-color: #e9eff5;
  bottom: 0;
  box-shadow: 0 -2px 4px 0 rgba(31, 54, 77, 0.1);
  left: 0;
  padding: 0.722rem;
  position: fixed;
  width: 100%;
  z-index: 12;
}
.button-fixed .button {
  display: block;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .button-fixed .button {
    display: inline-flex;
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .button-fixed {
    background-color: transparent;
    box-shadow: none;
    display: inline-flex;
    padding: 0;
    position: relative;
  }
}

.card {
  display: block;
}
.card__image {
  min-height: 8.375rem;
  padding: 1.444rem;
}
.card__title {
  color: #fff;
  font-weight: 700;
  position: relative;
  z-index: 2;
}
.card .u-icon {
  height: 14px;
  width: 14px;
  bottom: 0.722rem;
  fill: #fff;
  position: absolute;
  right: 0.722rem;
  transition: all 0.35s ease-in-out;
  z-index: 2;
}
.card .u-veil::before {
  opacity: 0.4;
}
.card--big .card__image {
  min-height: 9.375rem;
}
@media screen and (min-width: 768px) {
  .card--big .card__image {
    min-height: 12.5rem;
  }
}
.card--big .u-icon {
  height: 26px;
  width: 26px;
  bottom: 1.083rem;
  right: 1.083rem;
}
.non-touch .card:hover .u-icon {
  right: 0.361rem;
}
.non-touch .card:hover .u-veil::before {
  opacity: 0.25;
}

.external {
  display: block;
}
.external__image {
  margin: 0 0 0.361rem;
  min-height: 8.375rem;
}
@media screen and (min-width: 768px) {
  .external__image {
    min-height: 11.875rem;
  }
}
.external .u-icon {
  height: 12px;
  width: 12px;
  fill: #00a6d6;
  margin: 0 0 0 0.361rem;
}
.non-touch .external:hover {
  color: #00a6d6;
}

.pagination {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .pagination {
    margin-bottom: 4.332rem;
  }
}
.pagination__item,
.pagination a {
  color: #212c69;
  font-weight: 800;
  padding: 0 0.722rem;
}
.pagination a {
  text-decoration: none;
}
.pagination__previous .u-icon {
  transform: rotate(180deg);
}
.pagination__current {
  color: #212c69;
  position: relative;
}
.pagination__current span {
  position: relative;
  z-index: 1;
}
.pagination__current::before {
  height: 27px;
  width: 27px;
  background-color: #dfe9f2;
  border-radius: 100%;
  content: "";
  left: 0.1875rem;
  position: absolute;
  top: -1px;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .pagination__current::before {
    left: 0.25rem;
    top: 0;
  }
}
.pagination__previous, .pagination__next {
  color: #153185;
  position: relative;
  top: 3px;
}
.pagination__previous .u-icon, .pagination__next .u-icon {
  height: 16px;
  width: 16px;
}

.gallery {
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .gallery {
    display: flex;
    flex-direction: row-reverse;
  }
}
.gallery__image {
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border: 1px solid #d3dce6;
  height: auto;
  padding-bottom: 100%;
  position: relative;
  width: 100%;
}
.gallery__image--no-thumbnails {
  background-clip: content-box;
  background-color: #fff;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: initial;
  position: relative;
}
.gallery__image--no-thumbnails::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.gallery__image--no-thumbnails + p {
  margin-top: 0.361rem;
  text-align: left;
}
.gallery .isNew {
  background-image: url(/build/images/new_logo.3bd8ac9a.png);
  background-repeat: no-repeat;
  background-size: contain;
  height: 80px;
  position: absolute;
  width: 80px;
}
.gallery__images {
  overflow: hidden;
}
.gallery__text {
  background-color: #fff;
  display: block;
  font-style: italic;
  padding: 0.361rem 0;
  text-align: left;
}
.gallery__thumbnails {
  margin-top: 0.361rem;
  padding: 0 25px;
  position: relative;
  text-align: left;
  width: 100%;
}
.gallery__thumbnails__image {
  background-clip: content-box;
  background-color: #fff;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
.gallery__thumbnails__image::before {
  border: 1px solid #d3dce6;
  content: "";
  display: block;
  padding-bottom: 100%;
}
.gallery__thumbnails__next, .gallery__thumbnails__prev {
  height: auto;
  position: relative;
  width: auto;
}
.gallery__thumbnails [data-controls] {
  background: transparent;
  border: 0;
  height: 32px;
  min-width: 20px;
  padding: 0;
  position: absolute;
  top: 30%;
  width: auto;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .gallery__thumbnails [data-controls] {
    left: -2px;
    top: auto;
    width: 100%;
  }
}
.gallery__thumbnails [data-controls]:disabled {
  opacity: 0.3;
}
.gallery__thumbnails [data-controls=prev] {
  left: 0;
}
.gallery__thumbnails [data-controls=next] {
  right: 0;
}
.gallery__thumbnails--no-buttons {
  padding: 0 !important;
}
@media screen and (min-width: 768px) {
  .gallery__thumbnails {
    margin-left: 0;
    margin-right: 0.722rem;
    margin-top: 0;
    padding: 25px 0;
    text-align: right;
    width: 3rem;
  }
  .gallery__thumbnails [data-controls=prev] {
    top: -10px;
  }
  .gallery__thumbnails [data-controls=next] {
    bottom: -10px;
    right: unset;
  }
  .gallery__thumbnails .gallery__prev::after, .gallery__thumbnails .gallery__next::after {
    display: inline-block;
    transform: rotate(90deg);
  }
}
@media screen and (min-width: 960px) {
  .gallery__thumbnails {
    width: 4.125rem;
  }
}
@media screen and (min-width: 1280px) {
  .gallery__thumbnails {
    width: 5.25rem;
  }
}
.gallery__container {
  flex: 1;
  position: relative;
  width: 100%;
}
.gallery__container img {
  margin: 0 auto;
  width: 100%;
}
.gallery__container--no-thumbnails {
  margin: 0 auto;
  width: 85%;
}
@media screen and (min-width: 960px) {
  .gallery__container--no-thumbnails {
    width: 90%;
  }
}
.gallery__container--no-thumbnails [data-controls] {
  background: transparent;
  border: 0;
  height: auto;
  min-width: 20px;
  padding: 0;
  position: absolute;
  top: 40%;
  width: auto;
  z-index: 1;
}
.gallery__container--no-thumbnails [data-controls=prev] {
  left: 0;
  text-align: left;
}
.gallery__container--no-thumbnails [data-controls=next] {
  right: 0;
  text-align: right;
}
.gallery__next, .gallery__prev {
  height: auto;
  position: relative;
  width: auto;
}
.gallery__prev::after {
  content: url(/build/images/prev.ab8d17e0.png);
}
.gallery__next::after {
  content: url(/build/images/next.697b88c4.png);
}

.modal {
  background: rgba(245, 247, 250, 0.95);
  inset: 0;
  opacity: 0;
  padding-top: 3.61rem;
  position: fixed;
  transition: opacity 0.3s ease-in-out;
  visibility: hidden;
  will-change: opacity;
  z-index: -9;
}
.modal--open {
  opacity: 1;
  visibility: visible;
  z-index: 20;
}
.modal__wrapper {
  height: 100%;
  margin: 0 auto;
  overflow-y: scroll;
  padding: 1.444rem 0 2.166rem;
}
.modal__wrapper .u-wrapper {
  height: auto;
  max-width: 890px;
}
.modal__list {
  margin-top: 2.888rem;
}
.modal__card {
  align-items: space-between;
  background-color: #fff;
  border: 1px solid #d3dce6;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 1.444rem;
  padding: 2.166rem;
  text-align: center;
}
.modal__card .button {
  margin: 0 auto;
  max-width: 220px;
  min-width: 0;
  width: 100%;
}
@media screen and (max-width: 639px) {
  .modal__card:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 640px) {
  .modal__card {
    width: calc((100% - 1.444rem) / 2);
  }
  .modal__card:nth-child(n) {
    margin-right: 1.444rem;
  }
  .modal__card:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .modal__card {
    width: calc((100% - 2.888rem) / 3);
  }
  .modal__card:nth-child(n) {
    margin-right: 1.444rem;
  }
  .modal__card:nth-child(3n) {
    margin-right: 0;
  }
}
.modal__card-title {
  overflow-wrap: break-word;
}
.modal__card-title * {
  display: block;
}
.modal__close {
  cursor: pointer;
  display: inline-block;
  height: 2.166rem;
  position: absolute;
  right: 0.722rem;
  top: 0.722rem;
  width: 2.166rem;
}
.modal__close svg {
  height: 2.166rem;
  width: 2.166rem;
}
.modal__close * {
  pointer-events: none;
}

.two-columns-list {
  column-gap: 2.888rem;
  columns: none;
  margin-bottom: 0;
}
@media screen and (min-width: 480px) {
  .two-columns-list {
    columns: 2;
  }
}
.two-columns-list li {
  margin-bottom: 0.722rem;
  padding-left: 1.444rem;
  position: relative;
}
.two-columns-list li .u-icon {
  fill: #fff;
  height: 6px;
  left: 0;
  position: absolute;
  top: 10px;
  width: 14px;
}

@media screen and (min-width: 768px) {
  .categories {
    display: flex;
    justify-content: space-between;
  }
}
.categories__item {
  background-color: #98a5b3;
  background-position: bottom;
  background-size: cover;
  border-radius: 0.361rem;
  display: inline-block;
  overflow: hidden;
  padding: 2.166rem 1.444rem;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 480px) {
  .categories__item {
    padding: 2.888rem 1.444rem;
  }
}
@media screen and (min-width: 768px) {
  .categories__item {
    height: 24.25rem;
    padding: 0;
    width: 13.9%;
  }
}
.categories__item--1 {
  background-image: url(/build/images/1-mobile.24c416cf.jpg);
}
@media screen and (min-width: 768px) {
  .categories__item--1 {
    background-image: url(/build/images/1.5491a6a3.jpg);
  }
}
.categories__item--2 {
  background-image: url(/build/images/2-mobile.524dbb91.jpg);
}
@media screen and (min-width: 768px) {
  .categories__item--2 {
    background-image: url(/build/images/2.38502b0f.jpg);
  }
}
.categories__item--3 {
  background-image: url(/build/images/3-mobile.35cc511c.jpg);
}
@media screen and (min-width: 768px) {
  .categories__item--3 {
    background-image: url(/build/images/3.0dbb3b7d.jpg);
  }
}
.categories__item--4 {
  background-image: url(/build/images/4-mobile.7a928f4d.jpg);
}
@media screen and (min-width: 768px) {
  .categories__item--4 {
    background-image: url(/build/images/4.4abf78db.jpg);
  }
}
.categories__item--5 {
  background-image: url(/build/images/5-mobile.0bdc8f52.jpg);
}
@media screen and (min-width: 768px) {
  .categories__item--5 {
    background-image: url(/build/images/5.79649143.jpg);
  }
}
.categories__item--6 {
  background-image: url(/build/images/6-mobile.3351b289.jpg);
}
@media screen and (min-width: 768px) {
  .categories__item--6 {
    background-image: url(/build/images/6.bf0d6cb1.jpg);
  }
}
.categories__item--7 {
  background-image: url(/build/images/7-mobile.2b1e2e1e.jpg);
}
@media screen and (min-width: 768px) {
  .categories__item--7 {
    background-image: url(/build/images/7.ac24911a.jpg);
  }
}
.categories__item::before {
  background: linear-gradient(to left, rgba(33, 44, 105, 0) 0, rgba(33, 44, 105, 0.95) 100%);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: top 0.25s ease-in-out;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .categories__item::before {
    background: linear-gradient(to bottom, rgba(33, 44, 105, 0) 20%, rgba(33, 44, 105, 0.95) 100%);
    top: 2px;
  }
}
@media screen and (min-width: 768px) {
  .non-touch .categories__item:hover::before {
    top: 5.3125rem;
  }
}
.categories__text {
  color: #fff;
  display: inline-block;
  margin-bottom: 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .categories__text {
    bottom: 0.722rem;
    height: 1.444rem;
    left: 50%;
    position: absolute;
    transform: rotate(-90deg) translateY(-50%);
    transform-origin: 0 0;
    width: 20.625rem;
  }
}

.videos {
  margin-top: 4.332rem;
  padding-bottom: 2.888rem;
}
.videos__item {
  background-color: #e9eff5;
  background-position: center;
  margin-bottom: 1.444rem;
  padding-bottom: 56%;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .videos__item {
    margin-bottom: 2.166rem;
    padding-bottom: 26%;
    width: 47%;
  }
}
.videos__loading {
  left: 50%;
  position: absolute;
  top: 60%;
  transform: translate(-50%, -50%);
}
.videos__loading::before {
  background-color: #f5f7fa;
  border-radius: 100%;
  bottom: 110%;
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  height: 50px;
  width: 50px;
}
.videos__loading::after {
  border-color: transparent transparent transparent #d3dce6;
  border-style: solid;
  border-width: 12px 0 12px 18px;
  bottom: 155%;
  content: "";
  left: 53%;
  opacity: 0.8;
  position: absolute;
  transform: translateX(-50%);
}
.videos__loading-text {
  color: #98a5b3;
  font-size: 0.8rem;
  opacity: 0.8;
}
.product__related + .videos {
  margin-top: 2.888rem;
}

/* Organisms */
.filters__category {
  position: relative;
}
.filters__category::after {
  background-color: transparent;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: background-color 0.2s ease-out;
  width: 4px;
  will-change: background-color;
}
.filters__category.filters-active::after {
  background-color: #212c69;
  transition-delay: 0.3s;
}
.filters__category.active::after {
  background-color: transparent;
}
.filters__close {
  display: block;
  position: absolute;
  right: 0.722rem;
  top: 1.444rem;
}
.filters__close .u-icon {
  height: 24px;
  width: 24px;
}
@media screen and (min-width: 768px) {
  .filters__close {
    display: none;
  }
}
.filters__filters-button {
  align-items: center;
  background-color: #fff;
  border: solid 1px #d3dce6;
  border-radius: 4px;
  display: flex;
  font-size: 0.8rem;
  font-weight: 700;
  justify-content: space-between;
  letter-spacing: 2px;
  padding: 0.722rem;
  position: relative;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .filters__filters-button {
    display: none;
  }
}
.filters__filters-button .u-icon {
  height: 12px;
  width: 12px;
  fill: transparent;
  pointer-events: none;
  position: absolute;
  right: 0.722rem;
  top: 47%;
  transform: translateY(-30%);
}
.filters__footer {
  align-items: center;
  background-color: #f5f7fa;
  bottom: 0;
  box-shadow: 0 0 4px 0 rgba(31, 54, 77, 0.3);
  display: flex;
  height: 72px;
  left: 0;
  padding: 0 1.444rem;
  position: fixed;
  right: 0;
}
.filters__footer > * {
  flex-grow: 1;
  width: auto;
}
.filters__footer .link {
  font-size: 0.8rem;
  margin-right: 0.722rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .filters__footer {
    display: none;
  }
}
.filters__wrapper {
  display: none;
}
@media screen and (max-width: 767px) {
  .filters__wrapper {
    padding-bottom: 72px;
  }
}
@media screen and (min-width: 768px) {
  .filters__wrapper {
    display: block;
  }
}
.filters__wrapper.is-open {
  display: block;
  height: 100vh;
  left: 0;
  overflow: scroll;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.find-your-store {
  background-color: #f5f7fa;
  padding: 3.61rem 0;
}
@media screen and (min-width: 768px) {
  .find-your-store {
    padding: 4.332rem 0 1.444rem;
  }
}
.find-your-store__header {
  margin-bottom: 2.166rem;
}
.find-your-store__title {
  margin-bottom: 0.722rem;
}
.find-your-store .card {
  position: relative;
  margin-bottom: 1.444rem;
}
@media screen and (min-width: 768px) {
  .find-your-store .card {
    margin-bottom: 2.888rem;
    width: 47%;
  }
}
.find-your-store .card::after {
  position: absolute;
  inset: 0;
  content: "";
  display: block;
  background: linear-gradient(180deg, #024b96 0%, #212c69 100%);
  opacity: 0.5;
}
@media screen and (min-width: 1052px) {
  .find-your-store .u-wrapper {
    padding-left: 3.61rem;
    padding-right: 3.61rem;
  }
}

.footer {
  background: #e9f0f7;
  color: #212c69;
  overflow: hidden;
  padding-top: 2.888rem;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer {
    text-align: left;
  }
}
.footer::before {
  background: rgba(245, 247, 250, 0.8);
  border-radius: 50%;
  bottom: -30px;
  content: "";
  height: 350px;
  left: -115px;
  position: absolute;
  width: 350px;
  z-index: 1;
}
@media screen and (min-width: 480px) {
  .footer::before {
    bottom: -100px;
    height: 450px;
    left: -100px;
    width: 450px;
    z-index: 1;
  }
}
.footer::after {
  background: linear-gradient(to left, #0582c7, #024b96);
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 2;
}
.footer .u-icon {
  fill: #212c69;
}
.footer__content {
  position: relative;
  z-index: 2;
}
.footer__logo {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    flex-basis: auto;
    margin-right: 1.444rem;
  }
  .footer__logo a {
    margin-bottom: 0;
  }
}
.footer__logo svg {
  height: 45px;
  width: 45px;
}
.footer__logo img {
  height: 45px;
  width: auto;
}
.footer__claim {
  color: #212c69;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__claim {
    margin-bottom: 0;
    text-align: left;
  }
}
.footer__pages {
  border-top: 1px solid #d3dce6;
  font-size: 0.64rem;
  margin-top: 0.722rem;
  padding-bottom: 0.361rem;
  padding-top: 2.166rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__pages {
    padding-top: 0.722rem;
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .footer__pages--links {
    display: inline-block;
  }
}
.footer__pages-item {
  display: block;
  padding-bottom: 0;
  padding-right: 0;
}
.footer__pages-item:last-child {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .footer__pages-item {
    display: inline-block;
    padding-right: 0.722rem;
  }
}
.footer__pages-item a {
  color: currentcolor;
}
.non-touch .footer__pages-item a:hover {
  opacity: 0.75;
}
.footer__pages-item a.active {
  text-decoration: underline;
}
.footer__nav {
  margin-bottom: 2.166rem;
}
.footer__nav-title, .footer__nav-item {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__nav-title, .footer__nav-item {
    text-align: left;
  }
}
.footer__nav-title {
  color: #79addb;
  font-size: 0.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.footer__nav-item {
  color: #212c69;
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 0.722rem;
}
.footer__copyright {
  color: #727eb9;
}
.footer__social-network {
  margin-right: 0.722rem;
  transition: color 0.3s ease-in-out;
}
.footer__social-network svg path {
  fill: #212c69;
}
.non-touch .footer__social-network:hover svg path {
  fill: #00a6d6;
}
.footer__cta {
  width: 100%;
}
@media screen and (min-width: 480px) {
  .footer__cta {
    width: max-content;
  }
}

input[type=text].form__state--invalid, input[type=text].form__state--invalid:focus,
input[type=email].form__state--invalid,
input[type=email].form__state--invalid:focus,
input[type=tel].form__state--invalid,
input[type=tel].form__state--invalid:focus,
input[type=url].form__state--invalid,
input[type=url].form__state--invalid:focus,
input[type=password].form__state--invalid,
input[type=password].form__state--invalid:focus,
input[type=search].form__state--invalid,
input[type=search].form__state--invalid:focus,
select.form__state--invalid,
select.form__state--invalid:focus,
textarea.form__state--invalid,
textarea.form__state--invalid:focus, input[type=text]:focus:not(.form__state--invalid),
input[type=email]:focus:not(.form__state--invalid),
input[type=tel]:focus:not(.form__state--invalid),
input[type=url]:focus:not(.form__state--invalid),
input[type=password]:focus:not(.form__state--invalid),
input[type=search]:focus:not(.form__state--invalid),
select:focus:not(.form__state--invalid),
textarea:focus:not(.form__state--invalid) {
  border-color: #024b96;
  box-shadow: inset 0 0 0 0.0625rem #024b96;
  color: #024b96;
  padding: 0.8664rem 0.722rem;
}

.input--surname1 {
  left: -999999rem;
  position: absolute;
}

button,
input[type=submit] {
  display: block;
  min-width: auto;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  button,
  input[type=submit] {
    display: inline-block;
    min-width: 150px;
    text-align: center;
    width: auto;
  }
}

textarea {
  height: 3.25rem;
  min-height: 3.25rem;
}

select {
  appearance: none;
  background-color: transparent;
  background-image: none;
  line-height: 1.083rem;
}
select.is-filter {
  border: solid 1px #d3dce6;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 2px;
  margin-bottom: 0.361rem;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=password],
input[type=search],
select,
textarea {
  background: #fff;
  border: 1px solid #024b96;
  border-radius: 4px;
  box-shadow: none;
  color: #212c69;
  font-family: "Montserrat", helvetica, arial, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.2px;
  padding: 0.8664rem 0.722rem;
  width: 100%;
}
input[type=text][disabled], input[type=text][readonly],
input[type=email][disabled],
input[type=email][readonly],
input[type=tel][disabled],
input[type=tel][readonly],
input[type=url][disabled],
input[type=url][readonly],
input[type=password][disabled],
input[type=password][readonly],
input[type=search][disabled],
input[type=search][readonly],
select[disabled],
select[readonly],
textarea[disabled],
textarea[readonly] {
  background: #d3dce6;
}
input[type=text].form__state--invalid, input[type=text].form__state--invalid:focus,
input[type=email].form__state--invalid,
input[type=email].form__state--invalid:focus,
input[type=tel].form__state--invalid,
input[type=tel].form__state--invalid:focus,
input[type=url].form__state--invalid,
input[type=url].form__state--invalid:focus,
input[type=password].form__state--invalid,
input[type=password].form__state--invalid:focus,
input[type=search].form__state--invalid,
input[type=search].form__state--invalid:focus,
select.form__state--invalid,
select.form__state--invalid:focus,
textarea.form__state--invalid,
textarea.form__state--invalid:focus {
  border-color: #ff1940;
  box-shadow: inset 0 0 0 0.0625rem #ff1940;
}

label {
  color: #4178b0;
  letter-spacing: 0.2px;
  margin: 0;
}
label span {
  color: #98a5b3;
}

legend {
  font-size: 0.8rem;
  font-weight: 800;
  margin: 0;
}

.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form input[type=url],
.form input[type=password],
.form input[type=search],
.form select,
.form textarea {
  background: #f5f7fa;
}
.form__field {
  margin: 0 0 1.444rem;
  position: relative;
}
.form__field--inline {
  margin: 0 0 1.444rem;
}
.form__field--inline input[type=checkbox],
.form__field--inline input[type=radio] {
  margin: 0 1.444rem 0 0;
}
.form__field--inline label {
  margin: 0;
}
.form__field--inline label,
.form__field--inline input {
  display: block;
}
.form__field--note {
  margin: 0;
}
.form__field--half {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form__field--half {
    width: 48%;
  }
}
.form__field--one-third {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form__field--one-third {
    width: 32%;
  }
}
@media screen and (min-width: 960px) {
  .form__field--one-third {
    width: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .form__field--one-third {
    width: 32%;
  }
}
.form__field--two-third {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form__field--two-third {
    width: 64%;
  }
}
@media screen and (min-width: 960px) {
  .form__field--two-third {
    width: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .form__field--two-third {
    width: 64%;
  }
}
.form__field:not(.form__field--inline) label {
  padding: 0 0.722rem;
  pointer-events: none;
  position: absolute;
  top: 0.9285714286rem;
  transform-origin: left;
  transition: all 0.3s ease;
}
.form__field:not(.form__field--inline) input:focus ~ label,
.form__field:not(.form__field--inline) input[aria-invalid=false] ~ label,
.form__field:not(.form__field--inline) input.active-material ~ label,
.form__field:not(.form__field--inline) textarea:focus ~ label,
.form__field:not(.form__field--inline) textarea[aria-invalid=false] ~ label,
.form__field:not(.form__field--inline) textarea.active-material ~ label,
.form__field:not(.form__field--inline) select:focus ~ label,
.form__field:not(.form__field--inline) .active-material ~ label,
.form__field:not(.form__field--inline) input[aria-invalid=true] ~ label,
.form__field:not(.form__field--inline) select[aria-invalid=true] ~ label,
.form__field:not(.form__field--inline) textarea[aria-invalid=true] ~ label,
.form__field:not(.form__field--inline) select[aria-invalid=false] ~ label {
  background-color: #fff;
  color: #024b96;
  font-size: 0.8rem;
  font-weight: 400;
  margin-left: 0.722rem;
  padding: 0 0.25rem 0 0.3125rem;
  top: -12px;
  transform: scale(1, 1);
}
.form__field:not(.form__field--inline) input:focus ~ label span,
.form__field:not(.form__field--inline) input[aria-invalid=false] ~ label span,
.form__field:not(.form__field--inline) input.active-material ~ label span,
.form__field:not(.form__field--inline) textarea:focus ~ label span,
.form__field:not(.form__field--inline) textarea[aria-invalid=false] ~ label span,
.form__field:not(.form__field--inline) textarea.active-material ~ label span,
.form__field:not(.form__field--inline) select:focus ~ label span,
.form__field:not(.form__field--inline) .active-material ~ label span,
.form__field:not(.form__field--inline) input[aria-invalid=true] ~ label span,
.form__field:not(.form__field--inline) select[aria-invalid=true] ~ label span,
.form__field:not(.form__field--inline) textarea[aria-invalid=true] ~ label span,
.form__field:not(.form__field--inline) select[aria-invalid=false] ~ label span {
  display: none;
}
.form__field:not(.form__field--inline) input:focus {
  outline: none;
}
.form__field:not(.form__field--inline) input[aria-invalid=true],
.form__field:not(.form__field--inline) select[aria-invalid=true],
.form__field:not(.form__field--inline) textarea[aria-invalid=true] {
  border-color: #ff1940;
  box-shadow: inset 0 0 0 0.0625rem #ff1940;
}
.form__field:not(.form__field--inline) input[aria-invalid=true] ~ label,
.form__field:not(.form__field--inline) select[aria-invalid=true] ~ label,
.form__field:not(.form__field--inline) textarea[aria-invalid=true] ~ label {
  color: #ff1940;
}
.form__field:not(.form__field--inline) input[aria-invalid=false],
.form__field:not(.form__field--inline) select[aria-invalid=false],
.form__field:not(.form__field--inline) textarea[aria-invalid=false] {
  color: #212c69;
}
.form__field:not(.form__field--inline) input[aria-invalid=true]:focus ~ label,
.form__field:not(.form__field--inline) select[aria-invalid=true]:focus ~ label,
.form__field:not(.form__field--inline) textarea[aria-invalid=true]:focus ~ label {
  color: #ff1940;
}
.form .form__field:not(.form__field--inline) input:focus ~ label,
.form .form__field:not(.form__field--inline) input[aria-invalid=false] ~ label,
.form .form__field:not(.form__field--inline) textarea:focus ~ label,
.form .form__field:not(.form__field--inline) textarea[aria-invalid=false] ~ label,
.form .form__field:not(.form__field--inline) select:focus ~ label,
.form .form__field:not(.form__field--inline) input[aria-invalid=true] ~ label,
.form .form__field:not(.form__field--inline) select[aria-invalid=true] ~ label,
.form .form__field:not(.form__field--inline) textarea[aria-invalid=true] ~ label,
.form .form__field:not(.form__field--inline) select[aria-invalid=false] ~ label {
  background-color: #f5f7fa;
}
.form__checkboxes {
  margin-bottom: 1.444rem;
}
.form__checkboxes .form__field--inline {
  margin-bottom: 0.361rem;
}
.form__checkboxes a {
  text-decoration: underline;
}
.form__message--invalid {
  color: #ff1940;
  display: block;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.4;
  padding-top: 0.361rem;
}
.form__field--note .form__message--invalid {
  bottom: -1.444rem;
  position: absolute;
}
.form .select {
  position: relative;
}
.form .select::before {
  background: linear-gradient(to right, rgba(245, 247, 250, 0) 0%, #f5f7fa 30%);
}
.form__switch {
  display: block;
  margin: 0 0 calc(1.444rem + 0.722rem);
  position: relative;
}
.form__switch > label {
  margin-bottom: 0.722rem;
}
.form__switch:last-child {
  margin: 0 0 1.444rem;
}
.form__switch li {
  display: block;
  margin-bottom: 0.722rem;
}
.form__switch li label {
  color: #212c69;
  position: relative;
}
@media screen and (min-width: 480px) {
  .form__switch li {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 2.888rem;
  }
  .form__switch li :last-child {
    margin-right: 0;
  }
}
.form__switch input[type=radio] {
  color: #212c69;
  cursor: pointer;
  opacity: 0;
  position: absolute;
  z-index: 2;
}
.form__switch input[type=radio]:not(:checked) + label, .form__switch input[type=radio]:checked + label {
  padding: 0 0 0 26px;
}
.form__switch input[type=radio]:not(:checked) + label::before, .form__switch input[type=radio]:checked + label::before {
  background-color: #f5f7fa;
  border: solid 1px #98a5b3;
  bottom: 3px;
  content: "";
  height: 18px;
  left: 2px;
  position: absolute;
  width: 18px;
}
@media screen and (min-width: 768px) {
  .form__switch input[type=radio]:not(:checked) + label::before, .form__switch input[type=radio]:checked + label::before {
    bottom: 6px;
    left: 1px;
  }
}
.form__switch input[type=radio]:not(:checked) + label::after, .form__switch input[type=radio]:checked + label::after {
  bottom: 8px;
  color: #024b96;
  display: block;
  height: 8px;
  left: 7px;
  position: absolute;
  transition: all 0.1s;
  width: 8px;
}
@media screen and (min-width: 768px) {
  .form__switch input[type=radio]:not(:checked) + label::after, .form__switch input[type=radio]:checked + label::after {
    bottom: 11px;
    left: 6px;
  }
}
.form__switch input[type=radio]:not(:checked) + label::after {
  opacity: 0;
  transform: scale(0);
}
.form__switch input[type=radio]:checked + label::after {
  opacity: 1;
  transform: scale(1);
}
.form__switch input[type=radio]:disabled:not(:checked) + label::before, .form__switch input[type=radio]:disabled:checked + label::before {
  border-color: rgba(2, 75, 150, 0.75);
}
.form__switch input[type=radio]:disabled:checked + label::after {
  color: #999;
}
.form__switch input[type=radio]:disabled + label {
  color: rgba(0, 0, 0, 0.75);
}
.form__switch input[type=radio] {
  /* accessibility */
}
.form__switch input[type=radio]:checked:focus + label::before, .form__switch input[type=radio]:not(:checked):focus + label::before {
  border: 1px solid #98a5b3;
}
.form__switch input[type=radio] + label::before {
  border-radius: 50%;
}
.form__switch input[type=radio] + label::after {
  background: currentcolor;
  border-radius: 50%;
  bottom: 8px;
  content: "";
  height: 12px;
  left: 7px;
  position: absolute;
  transition: all 0.1s;
  width: 12px;
}
@media screen and (min-width: 768px) {
  .form__switch input[type=radio] + label::after {
    bottom: 11px;
    left: 6px;
  }
}
.form input[type=file] {
  cursor: pointer;
  display: block;
  filter: alpha(opacity=0);
  min-height: 100%;
  min-width: 100%;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.form__fileWrapper {
  margin-bottom: 2.888rem;
  position: relative;
}
.form__fileWrapper--group {
  margin-bottom: 1.805rem;
}
.form__fileWrapper label {
  color: #212c69;
}
.form__fileWrapper .form__field {
  position: unset;
  margin: 0;
}
.form__fileWrapper .form__field label {
  display: none;
}
.form__fileWrapper .form__message--invalid {
  bottom: -1.083rem;
  position: absolute;
  left: 0;
  top: auto;
}
.form__note {
  color: #98a5b3;
  display: block;
  font-size: 0.8rem;
}
.form__field .form__note {
  margin-top: calc(1.444rem / 4);
}
.form__field--note .form__note {
  margin-bottom: calc(1.444rem * 1.5);
}
.form__field--note .form__note:last-child {
  margin-bottom: 1.444rem;
}
.form__file {
  align-items: center;
  background-color: #fff;
  border: 1px solid #024b96;
  border-radius: 0.361rem;
  display: flex;
  height: 2.875rem;
  justify-content: space-between;
  overflow: hidden;
  margin-bottom: 0.361rem;
  margin-top: 0.361rem;
  transition: border 0.2s ease-in-out;
}
.form__file label {
  color: #212c69;
  font-size: 0.9375rem;
  margin-left: 0.722rem;
  overflow: hidden;
  width: 75%;
}
@media screen and (min-width: 768px) {
  .form__file label {
    width: 85%;
  }
}
.form__file div {
  background-color: #024b96;
  padding: 0.8125rem 0.722rem 0.375rem;
  transition: background-color 0.2s ease-in-out;
}
.form__file div svg {
  fill: #fff;
  height: 1.5rem;
  width: 1.5rem;
}

/* stylelint-disable */
[type=checkbox]:not(:checked),
[type=checkbox]:checked {
  position: absolute;
  left: -9999px;
}

[type=checkbox]:not(:checked) + label,
[type=checkbox]:checked + label {
  color: #212c69;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: normal;
  position: relative;
  padding-left: 1.5rem;
  text-transform: none;
}
[type=checkbox]:not(:checked) + label a,
[type=checkbox]:checked + label a {
  color: #212c69;
}
[type=checkbox]:not(:checked) + label a:hover,
[type=checkbox]:checked + label a:hover {
  color: #024b96;
}

[type=checkbox]:not(:checked) + label:before,
[type=checkbox]:checked + label:before {
  content: "";
  background-color: transparent;
  border: solid 1px #024b96;
  height: 1rem;
  left: 1px;
  position: absolute;
  top: 3px;
  width: 1rem;
}

[type=checkbox]:not(:checked) + label:after,
[type=checkbox]:checked + label:after {
  content: url(/build/images/check.3fc05b81.svg);
  color: #f5f7fa;
  font-weight: bold;
  position: absolute;
  top: 1px;
  left: 4px;
  transition: all 0.2s;
}

[type=checkbox]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}

[type=checkbox]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}

[type=checkbox]:checked + label:before {
  background-color: #024b96;
}

[type=checkbox][disabled] + label {
  opacity: 0.4;
}

[type=checkbox][disabled] + label:before,
[type=checkbox][disabled] + label:after {
  opacity: 0.7;
}

/* stylelint-enable */
.select {
  position: relative;
}
.select::before {
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 30%);
  content: "";
  height: 90%;
  pointer-events: none;
  position: absolute;
  right: 3px;
  top: 2px;
  width: 2.888rem;
}
.select .u-icon {
  height: 12px;
  width: 12px;
  fill: transparent;
  pointer-events: none;
  position: absolute;
  right: 0.722rem;
  top: 47%;
  transform: translateY(-30%);
}

.product h2 {
  overflow-wrap: break-word;
}
.product__description {
  max-width: 685px;
  text-align: left;
}
.product__description p {
  margin-top: 0 !important;
  max-width: 880px !important;
}
@media screen and (min-width: 768px) {
  .product__description {
    text-align: center;
  }
}
.product__title {
  line-height: 1.444rem;
  margin-bottom: 0;
}
.product__title .t-h2,
.product__title .t-h5 {
  margin-bottom: inherit;
}
.product__title--desktop {
  display: none;
  margin-bottom: 0.722rem;
}
@media screen and (min-width: 768px) {
  .product__title--desktop .t-h2 {
    margin-bottom: 0.361rem;
  }
}
.product__subtitle {
  display: block;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .product__subtitle {
    display: block;
    text-align: center;
  }
}
.product__header {
  margin-bottom: 1.805rem;
  padding-top: 2.166rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .product__header {
    margin-bottom: 3.61rem;
    padding-top: 4.332rem;
  }
}
.product__description-wrapper .t-h5 {
  margin-bottom: 0.722rem;
}
.product__image {
  height: 290px;
  width: 290px;
  background-position: center;
  background-size: cover;
  border-radius: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .product__image {
    margin: 0 0 0 auto;
  }
}
.product__images {
  margin-bottom: 2.888rem;
  padding-bottom: 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .product__images {
    margin-bottom: 0;
  }
}
.product__images .gallery::after {
  background: radial-gradient(#79addb 35%, transparent 36%), transparent;
  background-position: 0 0;
  background-size: 24px 24px;
  bottom: 0;
  content: "";
  display: block;
  height: 270px;
  left: -20%;
  opacity: 0.2;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .product__images .gallery::after {
    bottom: -2.888rem;
    width: 74%;
  }
}
.product__info {
  margin-bottom: 1.444rem;
  position: relative;
}
.product__select {
  margin-bottom: 2.166rem;
}
@media screen and (min-width: 960px) {
  .product__select {
    width: 80%;
  }
}
@media screen and (min-width: 1280px) {
  .product__ctas {
    display: flex;
    justify-content: space-between;
  }
}
.product__cta.button {
  padding: 0.722rem 1.444rem;
}
.product__cta.button:first-child {
  margin-bottom: 1.444rem;
}
@media screen and (min-width: 960px) {
  .product__cta.button:first-child {
    margin-right: 1.444rem;
  }
}
@media screen and (min-width: 1280px) {
  .product__cta.button:last-child {
    margin-bottom: 1.444rem;
  }
}
.product__tech-wrapper {
  background-color: #f5f7fa;
  padding-bottom: 1.444rem;
  padding-top: 1.444rem;
}
.product__equipment, .product__tech-features {
  padding-bottom: 1.444rem;
  padding-top: 1.444rem;
}
@media screen and (min-width: 768px) {
  .product__equipment, .product__tech-features {
    padding-bottom: 2.888rem;
    padding-top: 2.888rem;
  }
}
.product__banner {
  background-position: center;
  background-size: cover;
  display: none;
  margin-top: -2.888rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__banner {
    display: block;
    height: 100%;
    max-height: calc(700px + 2.888rem);
  }
}
.product__seal {
  display: inline-block;
  height: 100px;
  margin-bottom: 1.444rem;
  margin-right: 0.722rem;
  width: 100px;
}
@media screen and (min-width: 768px) {
  .product__seal {
    margin-bottom: 0;
  }
}
.product__related {
  margin: 4.332rem 0 2.888rem;
}
@media screen and (min-width: 768px) {
  .product__related {
    margin: 5.776rem 0 2.888rem;
  }
}
.product__blog {
  background-color: #f5f7fa;
  padding: 4.332rem 0 2.888rem;
}
.product__link {
  margin-bottom: 0.722rem;
}
.product > div:last-child {
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .products-list {
    margin: 0 0 0 2.888rem;
  }
}
.products-list__wrapper {
  min-height: 0;
  transition: min-height 0.2s ease-out, height 0.2s ease-out;
  will-change: min-height, height;
}
.products-list__products {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.361rem;
}
@media screen and (min-width: 768px) {
  .products-list__products {
    margin: 0 -1.444rem;
  }
}
.products-list__family {
  margin-bottom: 1.444rem;
  padding: 0 0.722rem;
  width: 50%;
}
.products-list__family--full {
  margin-bottom: 2.166rem;
}
.products-list__family--full:nth-child(odd) {
  padding: 0 0.722rem 0 0;
}
@media screen and (min-width: 768px) {
  .products-list__family--full:nth-child(odd) {
    padding: 0 0.722rem;
  }
}
@media screen and (min-width: 960px) {
  .products-list__family--full:nth-child(odd) {
    padding: 0 1.444rem;
  }
}
.products-list__family--full:nth-child(even) {
  padding: 0 0 0 0.722rem;
}
@media screen and (min-width: 768px) {
  .products-list__family--full:nth-child(even) {
    padding: 0 0.722rem;
  }
}
@media screen and (min-width: 960px) {
  .products-list__family--full:nth-child(even) {
    padding: 0 1.444rem;
  }
}
@media screen and (min-width: 768px) {
  .products-list__family--full {
    width: 25%;
  }
}
@media screen and (min-width: 960px) {
  .products-list__family {
    padding: 0 1.444rem;
    width: 33.3333333333%;
  }
  .products-list__family--full {
    width: 25%;
  }
}
.non-touch .products-list__family:hover .products-list__title {
  color: #00a6d6;
}
.products-list__image-wrapper {
  border-radius: 4px;
}
.products-list__image-wrapper::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.products-list__item {
  background-color: #fff;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
  visibility: visible;
  width: 100%;
  will-change: opacity, visibility;
}
.products-list__item--no-image {
  background-color: #d3dce6;
}
.products-list__item.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.products-list__count {
  color: #98a5b3;
  margin-bottom: 0.722rem;
}
.products-list__title {
  color: #153185;
  margin-bottom: 0;
  margin-top: 0.361rem;
  padding-bottom: 0.361rem;
  transition: color 0.3s ease-out;
}
.products-list__attribute {
  color: #98a5b3;
  margin-bottom: 0;
  margin-top: 0.361rem;
  transition: color 0.3s ease-out;
}

.sidebar-list__group, .sidebar-list__item {
  display: block;
  font-size: 0.875rem;
  margin: 0 0 0.722rem;
}
.sidebar-list__group {
  color: #98a5b3;
  font-weight: 700;
}
.sidebar-list__item {
  color: #212c69;
}
.sidebar-list__item.active {
  color: #00a6d6;
}
.sidebar-list ul {
  margin: 0 0 0 0.722rem;
}

.shop-card {
  background-color: #f5f7fa;
  border-radius: 4px;
  max-width: 450px;
  padding: 1.444rem 1.083rem;
}
@media screen and (min-width: 768px) {
  .shop-card {
    padding: 1.444rem 2.166rem;
  }
  .shop-card:nth-child(odd) {
    margin-right: 2.166rem;
  }
}
.shop-card__header {
  display: flex;
  margin-bottom: 1.444rem;
}
.shop-card__title {
  width: 60%;
}
.shop-card__logo {
  padding-left: 1.444rem;
  width: 40%;
}
.shop-card__logo img {
  max-height: 3.75rem;
  max-width: 7.5rem;
  min-width: 3.75rem;
  object-fit: contain;
  width: 100%;
}
.shop-card__item {
  overflow-wrap: break-word;
  padding-left: 1.805rem;
  position: relative;
}
.shop-card__item:not(:last-child) {
  margin-bottom: 0.722rem;
}
.shop-card__item--highlighted {
  background-color: #d3dce6;
  display: inline-block;
  margin-bottom: 1.444rem;
  padding: 0.361rem 0.722rem;
}
.shop-card__message {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .shop-card__message {
    margin-top: 1.444rem;
  }
}
.shop-card .u-icon {
  height: 16px;
  width: 16px;
  fill: transparent;
  left: 0;
  position: absolute;
  top: 0;
}
@media screen and (min-width: 960px) {
  .shop-card .u-icon {
    height: 21px;
    width: 21px;
  }
}

.sidebar-item {
  background-color: #fff;
  border: 1px solid #d3dce6;
  font-size: 0.8rem;
  margin-bottom: 1.444rem;
}
.sidebar-item__title {
  border-bottom: 1px solid #d3dce6;
  display: block;
  font-weight: 700;
  letter-spacing: 2px;
  padding: 1.444rem 1.083rem;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .sidebar-item__title {
    padding: 0.722rem 1.083rem;
  }
}
.sidebar-item__group {
  border-bottom: 1px solid #d3dce6;
  cursor: pointer;
  display: inline-block;
  padding: 1.083rem;
  position: relative;
  width: 100%;
}
.sidebar-item__header {
  font-weight: 700;
}
.sidebar-item__link.active {
  color: #00a6d6;
  font-weight: 700;
}
.sidebar-item__item {
  align-items: center;
  color: #212c69;
  cursor: pointer;
  display: flex;
  line-height: 1;
  margin: 0 0 0.722rem;
}
.sidebar-item__item:first-child {
  margin-top: 0.722rem;
}
.non-touch .sidebar-item__item:hover {
  text-decoration: underline;
}
.sidebar-item__checkbox {
  background-color: #fff;
  border: 1px solid #212c69;
  display: inline-block;
  margin-right: 0.361rem;
  position: relative;
  transition: border 0.3s ease-in-out;
  height: 18px;
  width: 18px;
}
.is-checked .sidebar-item__checkbox {
  background-color: #212c69;
}
.sidebar-item__checkbox .u-icon--check {
  height: 15px;
  width: 15px;
  fill: #fff;
  left: 0;
  opacity: 0;
  position: absolute;
  transform: rotate(0);
  transition: opacity 0.3s ease-in-out;
}
.is-checked .sidebar-item__checkbox .u-icon--check {
  opacity: 1;
}

.keybenefits {
  padding: 3.61rem 0;
}
@media screen and (min-width: 768px) {
  .keybenefits {
    padding: 4.332rem 0 1.444rem;
  }
}
.keybenefits__icon svg {
  height: 48px;
  width: 48px;
  margin-bottom: 0.722rem;
}
.keybenefits__item {
  display: block;
  margin-bottom: 1.444rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 560px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .keybenefits__item {
    width: 45%;
  }
}
@media screen and (min-width: 960px) {
  .keybenefits__item {
    display: inline-block;
    margin-bottom: 3.61rem;
    margin-left: initial;
    margin-right: initial;
    width: 22%;
  }
}

.cookies-message {
  background: #e9eff5;
  border-top: 1px solid #d3dce6;
  bottom: 0;
  color: #212c69;
  display: block;
  font-size: 0.8rem;
  left: 0;
  opacity: 0;
  padding: 1.083rem 0;
  position: fixed;
  width: 100%;
  z-index: -2;
}
.cookies-message--state-visible {
  opacity: 1;
  z-index: 14;
}
.cookies-message__info {
  margin-bottom: 0.722rem;
}
@media screen and (min-width: 960px) {
  .cookies-message__info {
    margin-bottom: 0;
    padding-right: 0.722rem;
  }
}
.cookies-message__info p {
  margin-bottom: 0;
}
.cookies-message__info a {
  font-weight: 800;
  text-decoration: underline;
}
.cookies-message__button {
  display: block !important;
  font-size: 1rem;
  min-width: auto !important;
  text-align: center;
}
@media screen and (min-width: 480px) {
  .cookies-message__button {
    width: 100%;
  }
}
.cookies-message__close {
  cursor: pointer;
  position: absolute;
  right: 0.361rem;
  top: 0.361rem;
}
@media screen and (min-width: 960px) {
  .cookies-message__close {
    right: 0.722rem;
  }
}
.cookies-message__close .u-icon {
  height: 13px;
  width: 13px;
  fill: #024b96;
}

/* stylelint-disable selector-id-pattern */
a#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll,
a#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
a#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
  /* stylelint-enable selector-id-pattern */
  background: transparent !important;
  border: solid 2px rgba(33, 44, 105, 0.4) !important;
  color: #212c69 !important;
}

.download-file__subtitle {
  display: block;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .download-file__subtitle {
    display: block;
    text-align: center;
  }
}
.download-file__related {
  padding: 4.332rem 0 2.888rem;
}
@media screen and (min-width: 768px) {
  .download-file__related {
    padding: 4.332rem 0;
  }
}
.product__related + .download-file__related, .videos + .download-file__related {
  padding-top: 0;
}
.download-file__list {
  margin: 0;
  padding: 0;
}
.download-file__list ul,
.download-file__list li {
  list-style: none !important;
  margin: 0 !important;
}
.download-file__list ul::before,
.download-file__list li::before {
  display: none !important;
}
.download-file__item {
  background-color: #f5f7fa;
  border-radius: 4px;
  display: block;
  justify-content: space-between;
  margin-bottom: 0.722rem;
  padding: 0.722rem 0.722rem 0.722rem 3.249rem;
  position: relative;
  text-align: left !important;
  text-decoration: none !important;
}
@media screen and (min-width: 768px) {
  .download-file__item {
    display: flex;
    padding: 1.083rem;
  }
}
.download-file__item-file {
  height: 24px;
  width: 24px;
  fill: #00a6d6;
  margin-right: 0.722rem;
}
@media screen and (max-width: 767px) {
  .download-file__item-file {
    left: 0.722rem;
    position: absolute;
    top: 0.9386rem;
  }
}
.download-file__item-arrow {
  height: 16px;
  width: 16px;
  fill: #00a6d6;
  margin-left: 0.361rem;
  position: relative;
}
.download-file__item-label {
  align-items: center;
  color: #98a5b3;
  display: flex;
  font-size: 0.8rem;
}
.download-file__item-header span {
  border-bottom: 1px solid currentcolor;
  display: inline-block;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .download-file__item-header {
    align-items: center;
    display: flex;
  }
  .download-file__item-header * {
    flex-grow: 1;
  }
}

.video-gallery__title {
  display: block;
  text-wrap: balance;
}
.video-gallery__title .u-icon {
  fill: currentcolor;
  margin: 0 0 0 0.361rem;
  height: 12px;
  width: 12px;
}
@media screen and (max-width: 767px) {
  .video-gallery__title {
    padding: 0.722rem;
    padding-bottom: 1.444rem;
  }
}
@media screen and (max-width: 767px) {
  .video-gallery__thumbnails .video-gallery__thumbnails-item + .video-gallery__thumbnails-item {
    margin-top: 0.722rem;
  }
}
@media screen and (min-width: 768px) {
  .video-gallery__thumbnails .video-gallery__thumbnails-item {
    width: calc((100% - 1.444rem) / 3);
  }
  .video-gallery__thumbnails .video-gallery__thumbnails-item:nth-child(n) {
    margin-right: 0.722rem;
  }
  .video-gallery__thumbnails .video-gallery__thumbnails-item:nth-child(3n) {
    margin-right: 0;
  }
  .video-gallery__thumbnails .video-gallery__thumbnails-item {
    display: flex;
  }
}
.video-gallery__thumbnail {
  background: #fff;
  border: 1px solid #d3dce6;
  display: flex;
  flex-direction: column;
  transition: none;
}
.non-touch .video-gallery__thumbnail:hover {
  background: linear-gradient(225deg, #0582c7 0%, #024b96 100%);
  border: 1px solid #4178b0;
  color: #fff;
}
@media (prefers-reduced-motion: no-preference) {
  .video-gallery__thumbnail .video-gallery__image-main {
    transition: 0.3s ease-in-out;
    will-change: transform;
  }
  .non-touch .video-gallery__thumbnail:hover .video-gallery__image-main {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 767px) {
  .video-gallery__thumbnail {
    background: linear-gradient(225deg, #0582c7 0%, #024b96 100%);
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .video-gallery__thumbnail {
    gap: 0.9025rem;
    padding: 0.722rem 0.722rem 1.444rem;
  }
}
.video-gallery__image {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  position: relative;
}
.video-gallery__image::before {
  content: "";
  display: block;
  padding-top: 37.5%;
  width: 100%;
}
.video-gallery__image > img {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.video-gallery__image .u-icon {
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 46px;
  fill: #000;
}
@media screen and (min-width: 768px) {
  .video-gallery__image .u-icon {
    width: 60px;
  }
}
.video-gallery__image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .video-gallery__image {
    overflow: hidden;
    position: relative;
  }
  .video-gallery__image::before {
    content: "";
    display: block;
    padding-top: 56.25%;
    width: 100%;
  }
  .video-gallery__image > img {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
  }
}

/* Pages */
.not-found {
  background: #024b96 url(/build/images/billboard-bg-l.193fee78.jpg) 50%;
  background-size: cover;
  color: #fff;
  padding-top: 2.527rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .not-found {
    min-height: 82vh;
    padding-top: 0;
  }
}
.not-found__wrapper {
  height: 100%;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .not-found__wrapper {
    width: 50%;
  }
}
.not-found__title {
  color: #fff;
  width: 100%;
}
.not-found__image {
  height: auto;
  margin: 0 auto;
  position: relative;
  width: auto;
}
@media screen and (min-width: 480px) {
  .not-found__image {
    max-width: 300px;
  }
}
@media screen and (min-width: 768px) {
  .not-found__image {
    bottom: 0;
    height: auto;
    position: absolute;
    right: 5%;
  }
}
@media screen and (min-width: 960px) {
  .not-found__image {
    max-width: none;
  }
}
@media screen and (min-width: 1280px) {
  .not-found__image {
    right: 10%;
  }
}
.not-found__list {
  column-gap: 2.888rem;
  columns: none;
  margin-bottom: 0;
  padding-top: 1.444rem;
}
@media screen and (min-width: 480px) {
  .not-found__list {
    columns: 2;
  }
}
.not-found__list li {
  margin-bottom: 1.083rem;
}
@media screen and (min-width: 480px) {
  .not-found__list li {
    margin-bottom: 2.166rem;
  }
}

.home__banner-pool {
  background-position: center;
  background-size: cover;
  padding-bottom: 80%;
}
@media screen and (min-width: 480px) {
  .home__banner-pool {
    padding-bottom: 50%;
  }
}
@media screen and (min-width: 768px) {
  .home__banner-pool {
    padding-bottom: 20%;
  }
}
.home__links, .home__videos {
  background-color: #f5f7fa;
  padding: 3.61rem 0;
}
@media screen and (min-width: 768px) {
  .home__links, .home__videos {
    padding: 4.332rem 0 1.444rem;
  }
}
.home__links .card, .home__videos .card {
  margin-bottom: 1.444rem;
}
@media screen and (min-width: 768px) {
  .home__links .card, .home__videos .card {
    margin-bottom: 2.888rem;
    width: 47%;
  }
}
@media screen and (min-width: 1052px) {
  .home__links .u-wrapper, .home__videos .u-wrapper {
    padding-left: 3.61rem;
    padding-right: 3.61rem;
  }
}
.home__blogposts {
  padding: 3.61rem 0;
}
@media screen and (min-width: 768px) {
  .home__blogposts {
    padding: 4.332rem 0;
  }
}

.cookies__subtitle {
  margin-bottom: 0.722rem;
}
@media screen and (min-width: 768px) {
  .cookies__subtitle {
    margin-bottom: 0;
    padding-right: 1.444rem;
  }
}
.cookies__section {
  margin-bottom: 2.888rem;
}
@media screen and (min-width: 768px) {
  .cookies__section {
    margin-bottom: 5.054rem;
  }
}
.cookies__header {
  border-bottom: 1px solid #98a5b3;
  margin-bottom: 1.444rem;
  padding-bottom: 1.444rem;
}
@media screen and (min-width: 768px) {
  .cookies__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 2.888rem;
    padding-bottom: 1.444rem;
  }
}
.cookies__header .form__field--inline {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .cookies__header .form__field--inline {
    margin-bottom: 0;
  }
}

.after-sales {
  background-color: #f5f7fa;
  padding-top: 2.888rem;
}
.after-sales__title {
  margin-bottom: 1.444rem;
}
.after-sales__section {
  border-bottom: solid 1px #e9eff5;
  margin-bottom: 1.805rem;
  padding-bottom: 0.722rem;
}
@media screen and (min-width: 768px) {
  .after-sales__section {
    margin-bottom: 2.166rem;
    padding-bottom: 1.083rem;
  }
}
.after-sales__section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.after-sales__label {
  color: #98a5b3;
  display: block;
  margin-bottom: 0.361rem;
}
.after-sales__block:not(:last-child) {
  margin-bottom: 0;
}
.after-sales .u-wysiwyg--check-bullets {
  border-bottom: solid 1px #e9eff5;
  margin-bottom: 1.444rem;
}
.after-sales .u-wysiwyg--check-bullets ul {
  margin-bottom: 2.166rem;
}
.after-sales .u-wysiwyg--check-bullets li {
  margin-bottom: 1.083rem;
}
.after-sales .u-wysiwyg--check-bullets .disclaimer {
  font-size: 0.8rem;
  max-width: 100%;
}
.after-sales input[type=text],
.after-sales input[type=email],
.after-sales input[type=tel],
.after-sales input[type=url],
.after-sales input[type=password],
.after-sales input[type=search],
.after-sales select,
.after-sales textarea {
  background: #fff;
}
.after-sales .form__field:not(.form__field--inline) input:focus ~ label,
.after-sales .form__field:not(.form__field--inline) input[aria-invalid=false] ~ label,
.after-sales .form__field:not(.form__field--inline) textarea:focus ~ label,
.after-sales .form__field:not(.form__field--inline) textarea[aria-invalid=false] ~ label,
.after-sales .form__field:not(.form__field--inline) select:focus ~ label,
.after-sales .form__field:not(.form__field--inline) input[aria-invalid=true] ~ label,
.after-sales .form__field:not(.form__field--inline) select[aria-invalid=true] ~ label,
.after-sales .form__field:not(.form__field--inline) textarea[aria-invalid=true] ~ label,
.after-sales .form__field:not(.form__field--inline) select[aria-invalid=false] ~ label {
  background-color: #fff;
}
.after-sales .select::before {
  background: #fff;
}
.after-sales__footer {
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .after-sales__footer {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .after-sales__footer a {
    margin-right: 1.444rem;
  }
}
@media screen and (min-width: 768px) {
  .after-sales__footer .form__field {
    margin-bottom: 0;
  }
}
.after-sales__policy a {
  text-decoration: underline;
}
.after-sales__checks [type=checkbox]:not(:checked) + label,
.after-sales__checks [type=checkbox]:checked + label {
  font-size: 1rem;
}
.after-sales__other {
  display: none;
  margin-left: 1.805rem;
}
.after-sales__other.is-open {
  display: block;
}
.after-sales__different-address {
  display: none;
  margin-top: calc(1.444rem + 0.722rem);
}
.after-sales__different-address.is-open {
  display: block;
}
.after-sales__subtitle {
  color: #212c69;
}
.after-sales__subtitle span, .after-sales__subtitle--small {
  color: #98a5b3;
}
.after-sales__subtitle--small {
  font-size: 0.8rem;
}
.after-sales__loading {
  color: #00a6d6;
  display: none;
  font-size: 0.8rem;
  margin-top: 0.361rem;
  text-align: right;
  width: 100%;
}
@media screen and (min-width: 640px) {
  .after-sales__loading {
    margin-top: 0;
    position: absolute;
    right: 0;
    top: calc(100% + 15px);
  }
}
.after-sales__loading.visible {
  display: block;
}
.after-sales__loading span {
  animation-duration: 1.4s;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
  animation-name: blink;
  font-size: 1.25rem;
}
.after-sales__loading span:nth-child(2) {
  animation-delay: 0.2s;
}
.after-sales__loading span:nth-child(3) {
  animation-delay: 0.4s;
}
.after-sales .button {
  margin-left: auto;
  margin-right: auto;
}

/* Libraries */
.zEWidget-launcher {
  transition: none !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTtBQ0FBO0FDT0E7QUNIQTs7RUFFSTtFQUNBO0FEQUo7O0FDR0E7Ozs7O0VBS0k7RUFDQSx5QkFoQlE7RUFpQlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBcEJhO0VBcUJiO0VBQ0E7RUFDQTtFQUNBO0FEQUo7QUNFSTs7Ozs7RUFDSTtBRElSO0FDREk7Ozs7O0VBQ0ksY0FoQ2dCO0VBaUNoQjtBRE9SO0FGV0k7RUcxQ0o7Ozs7O0lBNEJRO0VEV047QUFDRjs7QUNSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCQzNCa0I7RUQ0QmxCO0VBQ0E7RUFDQSxXQ2pETTtFRGtETjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEV0o7QUNUSTtFQUNJO0VBQ0E7QURXUjtBRjFCSTtFR1ZKO0lBNkJRO0lBQ0E7SUFDQTtFRFdOO0FBQ0Y7QUNUSTtFQUNJO0VBQ0E7RUFDQSxXQy9FRTtFRGdGRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEV1I7QUNSSTtFQUNJO0VBQ0EseUJDMUVjO0VEMkVkO0VBQ0E7RUFDQSxXQy9GRTtFRGdHRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURVUjtBR0pRO0VGRkEsV0M1R0U7QUZxSFY7QUNQUTtFQUNJO0FEU1o7QUNOUTtFQUNJO0FEUVo7QUNKSTtFQUNJO0VBQ0E7QURNUjtBRjNFSTtFR21FQTtJQUtRO0VET1Y7QUFDRjtBQ0pJO0VBQ0k7RUFDQTtFQUNBLGNDcEhhO0FGMEhyQjtBQ0pRO0VBQ0k7RUFDQSxXQ3ZJRjtBRjZJVjtBQ0hRO0VBQ0k7QURLWjtBQ0ZRO0VBQ0k7RUFDQSx5QkNsSVM7QUZzSXJCO0FHdENRO0VGc0NJLFdDcEpGO0FGdUpWO0FDQVE7RUFDSTtFQUNBO0VBQ0EsY0NySkE7QUZ1Slo7QUNFSTtFQUNJO0VBQ0E7RUFDQSxjQ2xKYTtFRG1KYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEQVI7QUZsSEk7RUcwR0E7SUFXUTtFRENWO0FBQ0Y7QUNDUTtFRWxJSixZRm1Jd0I7RUVsSXhCLFdGa0l3QjtFQUVoQixhQ2pLUztFRGtLVDtFQUNBO0VBQ0EseURBQ0k7QURBaEI7QUNJUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FERlo7QUNLUTtFQUNJO0FESFo7QUc5RVE7RUZxRkk7RUFDQTtFQUNBLGNDdkxTO0FGbUxyQjtBQ01ZO0VBQ0ksYUMxTEs7RUQyTEw7QURKaEI7QUNRUTtFQUNJO0VBQ0E7RUFDQSxjQzVNQTtBRnNNWjtBQ1FZO0VBQ0ksYUN2TUs7QUZpTXJCO0FHL0ZRO0VGeUdRO0VBQ0E7RUFDQSxjQzdNSztBRnNNckI7QUNTZ0I7RUFDSSxhQ2hOQztFRGlORDtBRFBwQjtBQ1lRO0VBQ0k7RUFDQSxXQ3BPRjtBRjBOVjtBQ2NJO0VBQ0k7RUFDQSx5QkN6Tlk7QUY2TXBCO0FDY1E7RUFDSSxxQkN6T0E7QUY2Tlo7QUNlUTtFQUNJO0VBQ0EseUJDbE9RO0FGcU5wQjtBR3ZIUTtFRndJSSxXQ3RQRjtBRndPVjs7QUNtQkE7OztFQUdJO0VBQ0E7RUFDQTtBRGhCSjs7QUloUEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm1QSjtBSWpQSTs7RUFFSTtBSm1QUjtBSWhQSTtFQUNJLG1CRlpJO0VFYUosV0ZoQkU7RUVpQkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSmtQUjtBSS9PSTtFQUNJO0FKaVBSO0FGdE5JO0VNNUJBO0lBSVE7RUprUFY7QUFDRjtBSS9PSTtFQUNJO0VBQ0E7RUFDQTtBSmlQUjtBRmhPSTtFTXBCQTtJQU1RO0lBQ0E7RUprUFY7QUFDRjtBRnRPSTtFTVZJO0lBRVEsbUJGcENGO0VGc1JaO0FBQ0Y7QUYzT0k7RU1KSTtJQUVRLG1CRjNDRjtFRjRSWjtBQUNGO0FJN09JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSitPUjtBRnZQSTtFTUdBO0lBUVE7RUpnUFY7QUFDRjtBSTlPUTtFQUNJO0VBQ0E7QUpnUFo7QUZoUUk7RU1jSTtJQUtRO0VKaVBkO0FBQ0Y7QUk5T1E7RUFDSSxtQkZwRUU7QUZvVGQ7QUZ4UUk7RU11Qkk7SUFJUTtFSmlQZDtBQUNGO0FJOU9RO0VBQ0ksbUJGN0VFO0FGNlRkO0FGaFJJO0VNK0JJO0lBSVE7RUppUGQ7QUFDRjtBSTlPUTtFQUNJO0VBQ0E7RUFDQTtBSmdQWjtBRjFSSTtFTXVDSTtJQU1RO0VKaVBkO0FBQ0Y7O0FBeFVBO0FLWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMdVZKO0FLclZJO0VBQ0ksY0hFTTtBRnFWZDtBS3BWWTtFQUNJLGNIUEo7RUdRSTtFQUNBO0VBQ0E7RUFDQTtBTHNWaEI7QUZsVEk7RU96Q1E7SUFRUTtFTHVWbEI7QUFDRjtBS2xWWTtFQUNJO0FMb1ZoQjtBRjFUSTtFTzNCUTtJQUlRLGNIeEJSO0lHeUJRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUxxVmxCO0FBQ0Y7QUtqVlE7RUFDSTtBTG1WWjtBRnZVSTtFT2JJO0lBSVE7RUxvVmQ7QUFDRjtBS2pWUTtFQUNJO0VBQ0E7RUFDQTtBTG1WWjtBS2pWWTtFQUNJLGVIaERKO0FGbVlaO0FGcFZJO0VPTEk7SUFVUTtFTG1WZDtBQUNGO0FLL1VZO0VBQ0ksZUhuREs7QUZvWXJCO0FLNVVJO0VBQ0ksY0hoRUk7RUdpRUo7RUFDQTtBTDhVUjtBSzNVSTtFQUNJO0FMNlVSOztBTXhaQTtFQUNJLHlCSk9VO0VJTlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4yWko7QU16Wkk7RUFDSTtFQUNBO0VBQ0E7QU4yWlI7QUZwWEk7RVExQ0E7SUFNUTtJQUNBO0VONFpWO0FBQ0Y7QUYxWEk7RVFwREo7SUFzQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFTjRaTjtBQUNGOztBT3ZiQTtFQUNJO0FQMGJKO0FPeGJJO0VBQ0k7RUFDQTtBUDBiUjtBT3ZiSTtFQUNJLFdMVEU7RUtVRjtFQUNBO0VBQ0E7QVB5YlI7QU90Ykk7RUoyQkEsWUkxQm9CO0VKMkJwQixXSTNCb0I7RUFFaEI7RUFDQSxVTG5CRTtFS29CRjtFQUNBO0VBQ0E7RUFDQTtBUHdiUjtBT3JiSTtFQUNJO0FQdWJSO0FPbmJRO0VBQ0k7QVBxYlo7QUZqYUk7RVNyQkk7SUFJUTtFUHNiZDtBQUNGO0FPbmJRO0VKR0osWUlGd0I7RUpHeEIsV0lId0I7RUFFaEI7RUFDQTtBUHFiWjtBT2hiUTtFQUNJO0FQa2JaO0FPL2FRO0VBQ0k7QVBpYlo7O0FRdGVBO0VBQ0k7QVJ5ZUo7QVF2ZUk7RUFDSTtFQUNBO0FSeWVSO0FGMWJJO0VVakRBO0lBS1E7RVIwZVY7QUFDRjtBUXZlSTtFTDhCQSxZSzdCb0I7RUw4QnBCLFdLOUJvQjtFQUVoQixhTkhhO0VNSWI7QVJ5ZVI7QUczWVE7RUsxRkEsY05SYTtBRmdmckI7O0FTNWZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVCtmSjtBRmhkSTtFV3BESjtJQVFRO0VUZ2dCTjtBQUNGO0FTOWZJOztFQUVJLGNQUEk7RU9RSjtFQUNBO0FUZ2dCUjtBUzdmSTtFQUNJO0FUK2ZSO0FTM2ZRO0VBQ0k7QVQ2Zlo7QVN6Zkk7RUFDSSxjUHZCSTtFT3dCSjtBVDJmUjtBU3pmUTtFQUNJO0VBQ0E7QVQyZlo7QVN4ZlE7RU5LSixZTUp3QjtFTkt4QixXTUx3QjtFQUVoQix5QlB0Q0E7RU91Q0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUMGZaO0FGcGZJO0VXZkk7SUFZUTtJQUNBO0VUMmZkO0FBQ0Y7QVN2Zkk7RUFFSSxjUHBESTtFT3FESjtFQUNBO0FUd2ZSO0FTdGZRO0VObkJKLFlNb0J3QjtFTm5CeEIsV01tQndCO0FUeWY1Qjs7QVV2akJBO0VBQ0k7RUFDQTtBVjBqQko7QUZ4Z0JJO0VZcERKO0lBS1E7SUFDQTtFVjJqQk47QUFDRjtBVXpqQkk7RUFDSSxzQlJWRTtFUVdGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYyakJSO0FVempCUTtFQUNJO0VBQ0Esc0JSdEJGO0VRdUJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYyakJaO0FVempCWTtFQUNJO0VBQ0E7RUFDQTtBVjJqQmhCO0FVeGpCWTtFQUNJO0VBQ0E7QVYwakJoQjtBVXJqQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ1akJSO0FVcGpCSTtFQUNJO0FWc2pCUjtBVW5qQkk7RUFDSSxzQlJ4REU7RVF5REY7RUFDQTtFQUNBO0VBQ0E7QVZxakJSO0FVbGpCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZvakJSO0FVbGpCUTtFQUNJO0VBQ0Esc0JSeEVGO0VReUVFO0VBQ0E7RUFDQTtFQUNBO0FWb2pCWjtBVWxqQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBVm9qQmhCO0FVaGpCUTtFQUVJO0VBQ0E7RUFDQTtBVmlqQlo7QVU5aUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWZ2pCWjtBRmxtQkk7RVl5Q0k7SUFZUTtJQUNBO0lBQ0E7RVZpakJkO0FBQ0Y7QVU5aUJRO0VBQ0k7QVZnakJaO0FVN2lCUTtFQUNJO0FWK2lCWjtBVTVpQlE7RUFDSTtBVjhpQlo7QVUzaUJRO0VBQ0k7QVY2aUJaO0FGcm5CSTtFWVdBO0lBaUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVjZpQlY7RVUzaUJVO0lBQ0k7RVY2aUJkO0VVMWlCVTtJQUNJO0lBQ0E7RVY0aUJkO0VVdmlCYztJQUNJO0lBQ0E7RVZ5aUJsQjtBQUNGO0FGMW9CSTtFWVdBO0lBMkZRO0VWd2lCVjtBQUNGO0FGL29CSTtFWVdBO0lBK0ZRO0VWeWlCVjtBQUNGO0FVdGlCSTtFQUNJO0VBQ0E7RUFDQTtBVndpQlI7QVV0aUJRO0VBQ0k7RUFDQTtBVndpQlo7QVVyaUJRO0VBQ0k7RUFDQTtBVnVpQlo7QUZqcUJJO0VZd0hJO0lBS1E7RVZ3aUJkO0FBQ0Y7QVV0aUJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWd2lCaEI7QVVyaUJZO0VBQ0k7RUFDQTtBVnVpQmhCO0FVcGlCWTtFQUNJO0VBQ0E7QVZzaUJoQjtBVWppQkk7RUFFSTtFQUNBO0VBQ0E7QVZraUJSO0FVOWhCUTtFQUNJO0FWZ2lCWjtBVTNoQlE7RUFDSTtBVjZoQlo7O0FXeHZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDJ2Qko7QVd6dkJJO0VBQ0k7RUFDQTtFQUNBO0FYMnZCUjtBV3h2Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBWDB2QlI7QVd4dkJRO0VBQ0k7RUFDQTtBWDB2Qlo7QVd0dkJJO0VBQ0k7QVh3dkJSO0FXcnZCSTtFQUNJO0VBQ0Esc0JUbkNFO0VTb0NGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVh1dkJSO0FXcnZCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FYdXZCWjtBRnB3Qkk7RWFpQlE7SUFDSTtFWHN2QmQ7QUFDRjtBRnp2Qkk7RWFuQkE7SVJ3R0E7RUh3cUJGO0VHdHFCRTtJQUNJO0VId3FCTjtFR3JxQkU7SUFDSTtFSHVxQk47QUFDRjtBRnB3Qkk7RWFuQkE7SVJ3R0E7RUhtckJGO0VHanJCRTtJQUNJO0VIbXJCTjtFR2hyQkU7SUFDSTtFSGtyQk47QUFDRjtBV2h3Qkk7RUFDSTtBWGt3QlI7QVdod0JRO0VBQ0k7QVhrd0JaO0FXOXZCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYZ3dCUjtBVzl2QlE7RUFDSTtFQUNBO0FYZ3dCWjtBVzd2QlE7RUFDSTtBWCt2Qlo7O0FZejFCQTtFQUNJO0VBQ0E7RUFDQTtBWjQxQko7QUYzeUJJO0VjcERKO0lBTVE7RVo2MUJOO0FBQ0Y7QVkzMUJJO0VBQ0k7RUFDQTtFQUNBO0FaNjFCUjtBWTMxQlE7RUFDSSxVVmZGO0VVZ0JFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo2MUJaOztBRjd6Qkk7RWVwREo7SUFFUTtJQUNBO0VibzNCTjtBQUNGO0FhbDNCSTtFQUNJLHlCWEdNO0VXRk47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYm8zQlI7QUYvMEJJO0VlOUNBO0lBWVE7RWJxM0JWO0FBQ0Y7QUZwMUJJO0VlOUNBO0lBZ0JRO0lBQ0E7SUFDQTtFYnMzQlY7QUFDRjtBYXAzQlE7RUFDSTtBYnMzQlo7QUY5MUJJO0VlekJJO0lBSVE7RWJ1M0JkO0FBQ0Y7QWFwM0JRO0VBQ0k7QWJzM0JaO0FGdDJCSTtFZWpCSTtJQUlRO0VidTNCZDtBQUNGO0FhcDNCUTtFQUNJO0FiczNCWjtBRjkyQkk7RWVUSTtJQUlRO0VidTNCZDtBQUNGO0FhcDNCUTtFQUNJO0FiczNCWjtBRnQzQkk7RWVESTtJQUlRO0VidTNCZDtBQUNGO0FhcDNCUTtFQUNJO0FiczNCWjtBRjkzQkk7RWVPSTtJQUlRO0VidTNCZDtBQUNGO0FhcDNCUTtFQUNJO0FiczNCWjtBRnQ0Qkk7RWVlSTtJQUlRO0VidTNCZDtBQUNGO0FhcDNCUTtFQUNJO0FiczNCWjtBRjk0Qkk7RWV1Qkk7SUFJUTtFYnUzQmQ7QUFDRjtBYXAzQlE7RUFDSTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiazNCWjtBRjc1Qkk7RWUrQkk7SUFlUTtJQUtBO0ViKzJCZDtBQUNGO0FGbjZCSTtFZXdEUTtJQUVRO0ViNjJCbEI7QUFDRjtBYXgyQkk7RUFDSSxXWHJIRTtFV3NIRjtFQUNBO0VBQ0E7QWIwMkJSO0FGOTZCSTtFZWdFQTtJQU9RO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0ViMjJCVjtBQUNGOztBYzcrQkE7RUFDSTtFQUNBO0FkZy9CSjtBYzkrQkk7RUFDSSx5QlpHTTtFWUZOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRnL0JSO0FGdDhCSTtFZ0JoREE7SUFTUTtJQUNBO0lBQ0E7RWRpL0JWO0FBQ0Y7QWM5K0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWRnL0JSO0FjOStCUTtFQUNJLHlCWm5CRTtFWW9CRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVhVUixZV1J3QjtFWFN4QixXV1R3QjtBZGcvQjVCO0FjNytCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZCsrQlo7QWMzK0JJO0VBQ0ksY1p6Q007RVkwQ047RUFDQTtBZDYrQlI7QWMxK0JJO0VBQ0k7QWQ0K0JSOztBQTlnQ0E7QWV0Qkk7RUFDSTtBZndpQ1I7QWV0aUNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fmd2lDWjtBZXJpQ1E7RUFDSSx5QmJYQTtFYVlBO0FmdWlDWjtBZXBpQ1E7RUFDSTtBZnNpQ1o7QWVsaUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWZvaUNSO0FlbGlDUTtFWlVKLFlZVHdCO0VaVXhCLFdZVndCO0FmcWlDNUI7QUZsaENJO0VpQjFCQTtJQVdRO0VmcWlDVjtBQUNGO0FlbGlDSTtFQUNJO0VBQ0Esc0JiM0NFO0VhNENGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fmb2lDUjtBRnJpQ0k7RWlCWEE7SUFlUTtFZnFpQ1Y7QUFDRjtBZW5pQ1E7RVpqQkosWVlrQndCO0VaakJ4QixXWWlCd0I7RUFFaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmcWlDWjtBZWppQ0k7RUFDSTtFQUNBLHlCYmxFTTtFYW1FTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmbWlDUjtBZWppQ1E7RUFDSTtFQUNBO0FmbWlDWjtBZWhpQ1E7RUFDSTtFQUNBO0VBQ0E7QWZraUNaO0FGemtDSTtFaUJtQkE7SUF3QlE7RWZraUNWO0FBQ0Y7QWUvaENJO0VBQ0k7QWZpaUNSO0FGam1DSTtFaUIrREE7SUFJUTtFZmtpQ1Y7QUFDRjtBRnRsQ0k7RWlCK0NBO0lBUVE7RWZtaUNWO0FBQ0Y7QWVqaUNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZm1pQ1o7O0FnQnpwQ0E7RUFDSSx5QmRNVTtFY0xWO0FoQjRwQ0o7QUYxbUNJO0VrQnBESjtJQUtRO0VoQjZwQ047QUFDRjtBZ0IzcENJO0VBQ0k7QWhCNnBDUjtBZ0IxcENJO0VBQ0k7QWhCNHBDUjtBZ0J6cENJO0VBQ0k7RUFDQTtBaEIycENSO0FGem5DSTtFa0JwQ0E7SUFLUTtJQUNBO0VoQjRwQ1Y7QUFDRjtBZ0IxcENRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQjRwQ1o7QUZqb0NJO0VrQnZCQTtJQUVRO0lBQ0E7RWhCMHBDVjtBQUNGOztBaUJqc0NBO0VBQ0k7RUFDQSxjZklRO0VlSFI7RUFDQTtFQUNBO0VBQ0E7QWpCb3NDSjtBRnRwQ0k7RW1CcERKO0lBU1E7RWpCcXNDTjtBQUNGO0FpQm5zQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCcXNDUjtBRnRxQ0k7RW1CeENBO0lBWVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFakJzc0NWO0FBQ0Y7QWlCbnNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCcXNDUjtBaUJsc0NJO0VBQ0ksYWZ0Q0k7QUYwdUNaO0FpQmpzQ0k7RUFDSTtFQUNBO0FqQm1zQ1I7QWlCaHNDSTtFQUNJO0VBQ0E7RUFDQTtBakJrc0NSO0FGcnNDSTtFbUJBQTtJQU1RO0lBQ0E7RWpCbXNDVjtFaUJqc0NVO0lBQ0k7RWpCbXNDZDtBQUNGO0FpQmhzQ1E7RUFDSTtFQUNBO0FqQmtzQ1o7QWlCL3JDUTtFQUNJO0VBQ0E7QWpCaXNDWjtBaUI3ckNJO0VBQ0ksY2Z4RUk7RWV5RUo7QWpCK3JDUjtBRjF0Q0k7RW1CeUJBO0lBS1E7SUFDQTtFakJnc0NWO0FBQ0Y7QWlCN3JDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakIrckNSO0FGeHVDSTtFbUJtQ0E7SUFTUTtJQUNBO0VqQmdzQ1Y7QUFDRjtBRjl1Q0k7RW1CZ0RJO0lBRVE7RWpCZ3NDZDtBQUNGO0FpQjVyQ0k7RUFDSTtFQUNBO0VBQ0E7QWpCOHJDUjtBaUI1ckNRO0VBQ0k7QWpCOHJDWjtBRjN2Q0k7RW1CdURBO0lBVVE7SUFDQTtFakI4ckNWO0FBQ0Y7QWlCNXJDUTtFQUNJO0FqQjhyQ1o7QUcxc0NRO0VjZVE7QWpCOHJDaEI7QWlCM3JDWTtFQUNJO0FqQjZyQ2hCO0FpQnhyQ0k7RUFDSTtBakIwckNSO0FpQnZyQ0k7RUFFSTtBakJ3ckNSO0FGaHhDSTtFbUJzRkE7SUFLUTtFakJ5ckNWO0FBQ0Y7QWlCdHJDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqQndyQ1I7QWlCcnJDSTtFQUNJLGNmckpJO0Vlc0pKO0VBQ0E7RUFDQTtFQUNBO0FqQnVyQ1I7QWlCcHJDSTtFQUNJLGNmdEphO0FGNDBDckI7QWlCbnJDSTtFQUNJO0VBQ0E7QWpCcXJDUjtBaUJuckNRO0VBQ0ksYWZyS0E7QUYwMUNaO0FpQmpyQ1k7RUFDSSxhZnBLSztBRnUxQ3JCO0FpQjlxQ0k7RUFDSTtBakJnckNSO0FGbHpDSTtFbUJpSUE7SUFJUTtFakJpckNWO0FBQ0Y7O0FrQnIyQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFDSSxxQmhCSFE7RWdCSVI7RUFDQSxjaEJMUTtFZ0JNUiwyQkFSVztBbEJxNENmOztBa0IxM0NBO0VBQ0k7RUFDQTtBbEI2M0NKOztBa0IxM0NBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FsQjYzQ0o7QUZoMkNJO0VvQmxDSjs7SUFRUTtJQUNBO0lBQ0E7SUFDQTtFbEIrM0NOO0FBQ0Y7O0FrQjUzQ0E7RUFDSSxlQTlCVztFQStCWCxtQkEvQlc7QWxCODVDZjs7QWtCNTNDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsQiszQ0o7QWtCNzNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEIrM0NSOztBa0IzM0NBOzs7Ozs7OztFQVFJLGdCaEI5RE07RWdCK0ROLHlCQzNEVTtFRDREVixrQkM3RFU7RUQ4RFYsZ0JDL0RVO0VEZ0VWLGNoQjVEUTtFZ0I2RFIsdURFakVRO0VGa0VSO0VBQ0E7RUFDQTtFQUNBLDJCQXJFVztFQXNFWDtBbEI4M0NKO0FrQjUzQ0k7Ozs7Ozs7Ozs7Ozs7OztFQUVJLG1CaEJuRU07QUY4OENkO0FrQnA0Q0k7Ozs7Ozs7Ozs7Ozs7OztFQUlJLHFCaEJuRUU7RWdCb0VGO0FsQmk1Q1I7O0FrQjc0Q0E7RUFDSSxjaEIxRlE7RWdCMkZSO0VBQ0E7QWxCZzVDSjtBa0I5NENJO0VBQ0ksY2hCeEZNO0FGdytDZDs7QWtCNTRDQTtFQUNJO0VBQ0E7RUFDQTtBbEIrNENKOztBa0IzNENJOzs7Ozs7OztFQVFJLG1CaEI5R007QUY0L0NkO0FrQjM0Q0k7RUFDSTtFQUNBO0FsQjY0Q1I7QWtCMzRDUTtFQUNJO0FsQjY0Q1o7QWtCMzRDWTs7RUFFSTtBbEI2NENoQjtBa0IxNENZO0VBQ0k7QWxCNDRDaEI7QWtCejRDWTs7RUFFSTtBbEIyNENoQjtBa0J2NENRO0VBQ0k7QWxCeTRDWjtBa0J0NENRO0VBQ0k7QWxCdzRDWjtBRnYrQ0k7RW9COEZJO0lBSVE7RWxCeTRDZDtBQUNGO0FrQnQ0Q1E7RUFDSTtBbEJ3NENaO0FGLytDSTtFb0JzR0k7SUFJUTtFbEJ5NENkO0FBQ0Y7QUZwL0NJO0VvQnNHSTtJQVFRO0VsQjA0Q2Q7QUFDRjtBRnovQ0k7RW9Cc0dJO0lBWVE7RWxCMjRDZDtBQUNGO0FrQng0Q1E7RUFDSTtBbEIwNENaO0FGamdESTtFb0JzSEk7SUFJUTtFbEIyNENkO0FBQ0Y7QUZ0Z0RJO0VvQnNISTtJQVFRO0VsQjQ0Q2Q7QUFDRjtBRjNnREk7RW9Cc0hJO0lBWVE7RWxCNjRDZDtBQUNGO0FrQno0Q1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCMjRDaEI7QWtCNTNDZ0I7Ozs7Ozs7Ozs7OztFQUNJLHNCaEJqTlY7RWdCa05VLGNoQjlNUjtFZ0IrTVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQnk0Q3BCO0FrQnY0Q29COzs7Ozs7Ozs7Ozs7RUFDSTtBbEJvNUN4QjtBa0IvNENZO0VBQ0k7QWxCaTVDaEI7QWtCOTRDWTs7O0VBR0kscUJoQm5OTjtFZ0JvTk07QWxCZzVDaEI7QWtCOTRDZ0I7OztFQUNJLGNoQnZOVjtBRnltRFY7QWtCOTRDWTs7O0VBR0ksY2hCNU9KO0FGNG5EWjtBa0IxNENnQjs7O0VBQ0ksY2hCck9WO0FGbW5EVjtBa0I5M0NZOzs7Ozs7Ozs7RUFDSSx5QmhCblFGO0FGMm9EZDtBa0JuNENJO0VBQ0ksdUJBN1FNO0FsQmtwRGQ7QWtCbjRDUTtFQUNJO0FsQnE0Q1o7QWtCbDRDUTtFQUNJO0FsQm80Q1o7QWtCLzNDUTtFQUNJLGNoQnpRRjtFZ0IwUUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJpNENaO0FrQi8zQ1k7RUFDSTtFQUNBO0FsQmk0Q2hCO0FrQjUzQ0k7RUFDSTtBbEI4M0NSO0FrQjUzQ1E7RUFDSTtBbEI4M0NaO0FrQnAzQ0k7RUFDSTtFQUNBO0VBQ0E7QWxCczNDUjtBa0JwM0NRO0VBQ0k7QWxCczNDWjtBa0JuM0NRO0VBQ0k7QWxCcTNDWjtBa0JsM0NRO0VBQ0k7RUFDQTtBbEJvM0NaO0FrQmwzQ1k7RUFDSSxjaEJyVUo7RWdCc1VJO0FsQm8zQ2hCO0FGNW9ESTtFb0JrUkk7SUFVUTtJQUNBO0lBQ0E7RWxCbzNDZDtFa0JsM0NjO0lBQ0k7RWxCbzNDbEI7QUFDRjtBa0JoM0NRO0VBQ0ksY2hCclZBO0VnQnNWQTtFQUNBO0VBQ0E7RUFDQTtBbEJrM0NaO0FrQjkyQ2dCO0VBQ0k7QWxCZzNDcEI7QWtCOTJDb0I7RUFDSSx5QmhCaFdWO0VnQmlXVTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJnM0N4QjtBRjFxREk7RW9Ca1RnQjtJQVdRO0lBQ0E7RWxCaTNDMUI7QUFDRjtBa0I5MkNvQjtFQUNJO0VBQ0EsY2hCcFhaO0VnQnFYWTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCZzNDeEI7QUYxckRJO0VvQmtVZ0I7SUFXUTtJQUNBO0VsQmkzQzFCO0FBQ0Y7QWtCNTJDWTtFQUNJO0VBQ0E7QWxCODJDaEI7QWtCMzJDWTtFQUNJO0VBQ0E7QWxCNjJDaEI7QWtCejJDZ0I7RUFFSTtBbEIwMkNwQjtBa0J2MkNnQjtFQUNJO0FsQnkyQ3BCO0FrQnQyQ2dCO0VBQ0k7QWxCdzJDcEI7QWtCMzZDUTtFQXVFSTtBbEJ1MkNaO0FrQnQyQ1k7RUFFSTtBbEJ1MkNoQjtBa0JuMkNnQjtFQUNJO0FsQnEyQ3BCO0FrQmwyQ2dCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQm8yQ3BCO0FGcnVESTtFb0J3WFk7SUFZUTtJQUNBO0VsQnEyQ3RCO0FBQ0Y7QWtCLzFDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJpMkNSO0FrQjkxQ0k7RUFDSTtFQUNBO0FsQmcyQ1I7QWtCOTFDUTtFQUNJO0FsQmcyQ1o7QWtCNzFDUTtFQUNJLGNoQi9jQTtBRjh5RFo7QWtCNTFDUTtFQUNJO0VBQ0E7QWxCODFDWjtBa0I1MUNZO0VBQ0k7QWxCODFDaEI7QWtCMTFDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsQjQxQ1o7QWtCeDFDSTtFQUNJLGNoQmhlTTtFZ0JpZU47RUFDQTtBbEIwMUNSO0FrQngxQ1E7RUFDSTtBbEIwMUNaO0FrQnYxQ1E7RUFDSTtBbEJ5MUNaO0FrQnYxQ1k7RUFDSSx1QkFuZkY7QWxCNDBEZDtBa0JwMUNJO0VBQ0k7RUFDQSxzQmhCN2ZFO0VnQjhmRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCczFDUjtBa0JwMUNRO0VBQ0ksY2hCbmdCQTtFZ0JvZ0JBO0VBQ0E7RUFDQTtFQUNBO0FsQnMxQ1o7QUYveURJO0VvQm9kSTtJQVFRO0VsQnUxQ2Q7QUFDRjtBa0JwMUNRO0VBQ0kseUJoQmpoQkE7RWdCa2hCQTtFQUNBO0FsQnMxQ1o7QWtCcDFDWTtFQUNJLFVoQjFoQk47RWdCMmhCTTtFQUNBO0FsQnMxQ2hCOztBa0JoMUNBO0FBQ0E7O0VBRUk7RUFDQTtBbEJtMUNKOztBa0JoMUNBOztFQUVJLGNoQnJpQlE7RWdCc2lCUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCbTFDSjtBa0JqMUNJOztFQUNJLGNoQjlpQkk7QUZrNERaO0FrQmwxQ1E7O0VBQ0ksY2hCbmpCQTtBRnc0RFo7O0FrQmgxQ0E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJtMUNKOztBa0JoMUNBOztFQUVJO0VBQ0EsY2hCcGtCVTtFZ0Jxa0JWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCbTFDSjs7QWtCaDFDQTtFQUNJO0VBQ0E7QWxCbTFDSjs7QWtCaDFDQTtFQUNJO0VBQ0E7QWxCbTFDSjs7QWtCaDFDQTtFQUNJLHlCaEIxbEJRO0FGNjZEWjs7QWtCaDFDQTtFQUNJO0FsQm0xQ0o7O0FrQmgxQ0E7O0VBRUk7QWxCbTFDSjs7QWtCajFDQTtBQUVBO0VBQ0k7QWxCbTFDSjtBa0JqMUNJO0VBQ0k7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEIrMENSO0FrQjUwQ0k7RWZubEJBLFllb2xCb0I7RWZubEJwQixXZW1sQm9CO0VBRWhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEI4MENSOztBcUJsOURJO0VBQ0k7QXJCcTlEUjtBcUJsOURJO0VBQ0k7RUFDQTtBckJvOURSO0FxQmw5RFE7RUFDSTtFQUNBO0FyQm85RFo7QUYzNkRJO0V1Qi9DQTtJQVVRO0VyQm85RFY7QUFDRjtBcUJqOURJO0VBQ0k7RUFDQTtBckJtOURSO0FxQmo5RFE7O0VBRUk7QXJCbTlEWjtBcUJoOURRO0VBQ0k7RUFDQTtBckJrOURaO0FGNTdESTtFdUJuQlk7SUFDSTtFckJrOURsQjtBQUNGO0FxQjc4REk7RUFDSTtFQUNBO0FyQis4RFI7QUZyOERJO0V1QlpBO0lBS1E7SUFDQTtFckJnOURWO0FBQ0Y7QXFCNzhESTtFQUNJO0VBQ0E7RUFDQTtBckIrOERSO0FGaDlESTtFdUJGQTtJQU1RO0lBQ0E7RXJCZzlEVjtBQUNGO0FxQjc4REk7RUFDSTtBckIrOERSO0FxQjU4REk7RWxCdkJBLGFrQndCb0I7RWxCdkJwQixZa0J1Qm9CO0VBRWhCO0VBQ0E7RUFDQTtFQUNBO0FyQjg4RFI7QUZqK0RJO0V1QmFBO0lBU1E7RXJCKzhEVjtBQUNGO0FxQjU4REk7RUFDSTtFQUNBO0VBQ0E7QXJCODhEUjtBRjMrREk7RXVCMEJBO0lBTVE7RXJCKzhEVjtBQUNGO0FxQjU4RFk7RWxCNkRSO0VBQ0E7RUFDQTtFa0I1RFk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCKzhEaEI7QUYvL0RJO0V1Qm9DUTtJQWVRO0lBQ0E7RXJCZzlEbEI7QUFDRjtBcUIzOERJO0VBQ0k7RUFDQTtBckI2OERSO0FxQjE4REk7RUFDSTtBckI0OERSO0FGNWdFSTtFdUIrREE7SUFJUTtFckI2OERWO0FBQ0Y7QUZqaEVJO0V1QnVFQTtJQUVRO0lBQ0E7RXJCNDhEVjtBQUNGO0FxQno4REk7RUFDSTtBckIyOERSO0FxQno4RFE7RUFDSTtBckIyOERaO0FGN2hFSTtFdUJpRkk7SUFJUTtFckI0OERkO0FBQ0Y7QUZsaUVJO0V1QjBGUTtJQUNJO0VyQjI4RGQ7QUFDRjtBcUJ2OERJO0VBQ0kseUJuQjlJTTtFbUIrSU47RUFDQTtBckJ5OERSO0FxQnQ4REk7RUFFSTtFQUNBO0FyQnU4RFI7QUZoakVJO0V1QnNHQTtJQU1RO0lBQ0E7RXJCdzhEVjtBQUNGO0FxQnI4REk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQnU4RFI7QUY3akVJO0V1QmlIQTtJQVFRO0lBQ0E7SUFDQTtFckJ3OERWO0FBQ0Y7QXFCcjhESTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCdThEUjtBRjNrRUk7RXVCK0hBO0lBUVE7RXJCdzhEVjtBQUNGO0FxQnI4REk7RUFDSTtBckJ1OERSO0FGbmxFSTtFdUIySUE7SUFJUTtFckJ3OERWO0FBQ0Y7QXFCcjhESTtFQUNJLHlCbkJqTU07RW1Ca01OO0FyQnU4RFI7QXFCcDhESTtFQUNJO0FyQnM4RFI7QXFCbjhESTtFQUNJLHNCbkJqTkU7QUZzcEVWOztBRmxtRUk7RXdCcERKO0lBRVE7RXRCeXBFTjtBQUNGO0FzQnZwRUk7RUFDSTtFQUNBLDBEQUNJO0VBRUo7QXRCdXBFUjtBc0JwcEVJO0VBQ0k7RUFDQTtFQUNBO0F0QnNwRVI7QUZsbkVJO0V3QnZDQTtJQU1RO0V0QnVwRVY7QUFDRjtBc0JwcEVJO0VBQ0k7RUFDQTtFQUNBO0F0QnNwRVI7QXNCcHBFUTtFQUNJO0F0QnNwRVo7QXNCcHBFWTtFQUNJO0F0QnNwRWhCO0FGbG9FSTtFd0JyQlE7SUFJUTtFdEJ1cEVsQjtBQUNGO0FGdm9FSTtFd0JyQlE7SUFRUTtFdEJ3cEVsQjtBQUNGO0FzQnJwRVk7RUFDSTtBdEJ1cEVoQjtBRi9vRUk7RXdCVFE7SUFJUTtFdEJ3cEVsQjtBQUNGO0FGcHBFSTtFd0JUUTtJQVFRO0V0QnlwRWxCO0FBQ0Y7QUZ6cEVJO0V3QnhCSTtJQTRCUTtFdEJ5cEVkO0FBQ0Y7QUY5cEVJO0V3QjdCQTtJQXNDUTtJQUNBO0V0QnlwRVY7RXNCdnBFVTtJQUNJO0V0QnlwRWQ7QUFDRjtBc0JycEVZO0VBQ0ksY3BCM0RLO0FGa3RFckI7QXNCOW9FSTtFQUNJO0F0QmdwRVI7QXNCOW9FUTtFQUNJO0VBQ0E7RUFDQTtBdEJncEVaO0FzQjVvRUk7RUFDSSxzQnBCM0ZFO0VvQjRGRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsaUVBQ0k7RUFFSjtFQUNBO0VBQ0E7QXRCNG9FUjtBc0Ixb0VRO0VBQ0kseUJwQm5HRTtBRit1RWQ7QXNCem9FUTtFQUNJO0VBQ0E7QXRCMm9FWjtBc0J2b0VJO0VBQ0ksY3BCNUdNO0VvQjZHTjtBdEJ5b0VSO0FzQnRvRUk7RUFDSSxjcEJ0SEk7RW9CdUhKO0VBQ0E7RUFDQTtFQUNBO0F0QndvRVI7QXNCcm9FSTtFQUNJLGNwQnpITTtFb0IwSE47RUFDQTtFQUNBO0F0QnVvRVI7O0F1QjV3RUk7RUFFSTtFQUNBO0VBQ0E7QXZCOHdFUjtBdUIzd0VJO0VBQ0ksY3JCQ007RXFCQU47QXZCNndFUjtBdUIxd0VJO0VBQ0ksY3JCUkk7QUZveEVaO0F1QjF3RVE7RUFDSSxjckJMUztBRml4RXJCO0F1Qnh3RUk7RUFDSTtBdkIwd0VSOztBd0JoeUVBO0VBQ0kseUJ0Qk1VO0VzQkxWO0VBQ0E7RUFDQTtBeEJteUVKO0FGbnZFSTtFMEJwREo7SUFPUTtFeEJveUVOO0V3Qmx5RU07SUFDSTtFeEJveUVWO0FBQ0Y7QXdCanlFSTtFQUNJO0VBQ0E7QXhCbXlFUjtBd0JoeUVJO0VBQ0k7QXhCa3lFUjtBd0IveEVJO0VBQ0k7RUFDQTtBeEJpeUVSO0F3Qi94RVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Qml5RVo7QXdCN3hFSTtFQUNJO0VBQ0E7RUFDQTtBeEIreEVSO0F3Qjd4RVE7RUFDSTtBeEIreEVaO0F3QjV4RVE7RUFDSSx5QnRCckNFO0VzQnNDRjtFQUNBO0VBQ0E7QXhCOHhFWjtBd0IxeEVJO0VBQ0k7QXhCNHhFUjtBRjl4RUk7RTBCQ0E7SUFJUTtFeEI2eEVWO0FBQ0Y7QXdCMXhFSTtFckJuQkEsWXFCb0JvQjtFckJuQnBCLFdxQm1Cb0I7RUFFaEI7RUFDQTtFQUNBO0VBQ0E7QXhCNHhFUjtBRjN5RUk7RTBCU0E7SXJCbkJBLFlxQjRCd0I7SXJCM0J4QixXcUIyQndCO0V4Qjh4RTFCO0FBQ0Y7O0F5QnIyRUE7RUFDSSxzQnZCRE07RXVCRU47RUFDQTtFQUNBO0F6QncyRUo7QXlCdDJFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJ3MkVSO0FGaDBFSTtFMkI5Q0E7SUFTUTtFekJ5MkVWO0FBQ0Y7QXlCdDJFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJ3MkVSO0F5QnIyRUk7RUFDSTtBekJ1MkVSO0F5Qm4yRVE7RUFDSSxjdkJ0QlM7RXVCdUJUO0F6QnEyRVo7QXlCajJFSTtFQUNJO0VBQ0EsY3ZCbkNJO0V1Qm9DSjtFQUNBO0VBQ0E7RUFDQTtBekJtMkVSO0F5QmoyRVE7RUFDSTtBekJtMkVaO0FHcnlFUTtFc0IxREk7QXpCazJFWjtBeUI5MUVJO0VBQ0ksc0J2QnpERTtFdUIwREY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdEJwQkosWXNCc0JvQjtFdEJyQnBCLFdzQnFCb0I7QXpCZzJFeEI7QXlCOTFFUTtFQUNJLHlCdkI3REE7QUY2NUVaO0F5QjcxRVE7RXRCNUJKLFlzQjZCd0I7RXRCNUJ4QixXc0I0QndCO0VBRWhCLFV2QnpFRjtFdUIwRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekIrMUVaO0F5QjcxRVk7RUFDSTtBekIrMUVoQjs7QTBCaDdFQTtFQUNJO0ExQm03RUo7QUZoNEVJO0U0QnBESjtJQUlRO0UxQm83RU47QUFDRjtBMEJsN0VJO0V2Qm1DQSxZdUJsQ29CO0V2Qm1DcEIsV3VCbkNvQjtFQUVoQjtBMUJvN0VSO0EwQmo3RUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCbTdFUjtBRmw1RUk7RTRCdkNBO0lBU1E7RTFCbzdFVjtBQUNGO0FGdjVFSTtFNEJ2Q0E7SUFhUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQnE3RVY7QUFDRjs7QTJCcDlFQTtFQUNJLG1CekJPVTtFeUJOVjtFQUNBO0VBQ0EsY3pCRVE7RXlCRFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J1OUVKO0EyQnI5RUk7RUFDSTtFQUNBO0EzQnU5RVI7QTJCcDlFSTtFQUNJO0EzQnM5RVI7QUZ0N0VJO0U2QmpDQTtJQUlRO0lBQ0E7RTNCdTlFVjtBQUNGO0EyQnI5RVE7RUFDSTtBM0J1OUVaO0EyQnA5RVE7RUFDSTtFQUNBO0EzQnM5RVo7QTJCbDlFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzQm85RVI7QUZ6OEVJO0U2QmZBO0lBT1E7RTNCcTlFVjtBQUNGO0EyQmw5RUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0JvOUVSO0FGcDlFSTtFNkJKQTtJQU9RO0UzQnE5RVY7QUFDRjtBMkJuOUVRO0V4QmhCSixZd0JpQndCO0V4QmhCeEIsV3dCZ0J3QjtFQUVoQixhekJ6REE7QUY4Z0ZaOztBMkJoOUVBO0FBQ0E7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0EzQm05RUo7O0E0QjNoRkk7RUFDSTtFQUNBO0E1QjhoRlI7QUY3K0VJO0U4Qm5EQTtJQUtRO0lBQ0E7RTVCK2hGVjtBQUNGO0E0QjVoRkk7RUFDSTtBNUI4aEZSO0FGdC9FSTtFOEJ6Q0E7SUFJUTtFNUIraEZWO0FBQ0Y7QTRCN2hGUTtFQUVJO0E1QjhoRlo7QTRCMWhGSTtFQUNJO0VBQ0E7QTVCNGhGUjtBNEIxaEZROztFQUVJO0VBQ0E7QTVCNGhGWjtBNEIxaEZZOztFQUNJO0E1QjZoRmhCO0E0QnhoRkk7RUFDSSx5QjFCakNNO0UwQmtDTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QjBoRlI7QUZ0aEZJO0U4QmJBO0lBWVE7SUFDQTtFNUIyaEZWO0FBQ0Y7QTRCeGhGSTtFekJkQSxZeUJlb0I7RXpCZHBCLFd5QmNvQjtFQUVoQixhMUIvQ2E7RTBCZ0RiO0E1QjBoRlI7QUZsakZJO0U4Qm9CQTtJQU9RO0lBQ0E7SUFDQTtFNUIyaEZWO0FBQ0Y7QTRCeGhGSTtFekIzQkEsWXlCNEJvQjtFekIzQnBCLFd5QjJCb0I7RUFFaEIsYTFCNURhO0UwQjZEYjtFQUNBO0E1QjBoRlI7QTRCdmhGSTtFQUNJO0VBQ0EsYzFCckVNO0UwQnNFTjtFQUNBO0E1QnloRlI7QTRCcmhGUTtFQUNJO0VBQ0E7RUFDQTtBNUJ1aEZaO0FGM2pGSTtFOEJnQ0E7SUFRUTtJQUNBO0U1QnVoRlY7RTRCcmhGVTtJQUNJO0U1QnVoRmQ7QUFDRjs7QTZCdm5GSTtFQUNJO0VBQ0E7QTdCMG5GUjtBNkJ4bkZRO0VBQ0k7RUFDQTtFMUJtQ1IsWTBCakN3QjtFMUJrQ3hCLFcwQmxDd0I7QTdCMG5GNUI7QUYvbEZJO0UrQm5DQTtJQVlRO0lBQ0E7RTdCMG5GVjtBQUNGO0FGcm1GSTtFK0JoQlE7SUFDSTtFN0J3bkZkO0FBQ0Y7QUYxbEZJO0UrQmxDQTtJMUJ1SEE7RUh5Z0ZGO0VHdmdGRTtJQUNJO0VIeWdGTjtFR3RnRkU7SUFDSTtFSHdnRk47RTZCdG9GRTtJQVVRO0U3QituRlY7QUFDRjtBNkI1bkZJO0VBQ0ksZ0IzQmpDRTtFMkJrQ0Y7RUFDQTtFQUNBO0VBQ0E7QTdCOG5GUjtBR3JqRlE7RTBCdEVJO0VBQ0E7RUFDQSxXM0IxQ0Y7QUZ3cUZWO0E2QjNuRlE7RUFDSTtJQUNJO0lBQ0E7RTdCNm5GZDtFNkJ6bkZjO0lBQ0k7RTdCMm5GbEI7QUFDRjtBRjdvRkk7RStCSkE7SUEyQlE7SUFDQSxXM0I1REY7RUZzckZSO0FBQ0Y7QUZub0ZJO0UrQnBCQTtJQWdDUTtJQUNBO0U3QjJuRlY7QUFDRjtBNkJ4bkZJO0VBQ0k7RUFDQTtFQUNBO0UxQjZDSjtFQUNBO0FIOGtGSjtBRzVrRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBSDhrRlI7QUcza0ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSDZrRlI7QTZCcm9GUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxVM0JwRkY7QUYydEZWO0FGeHFGSTtFK0J3Qkk7SUFZUTtFN0J3b0ZkO0FBQ0Y7QTZCcm9GUTtFQUNJO0VBQ0E7RUFDQTtBN0J1b0ZaO0FGbHJGSTtFK0JpQkE7STFCZ0RBO0lBQ0E7RUhxbkZGO0VHbm5GRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VIcW5GTjtFR2xuRkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIb25GTjtBQUNGOztBQW50RkE7QThCdENBO0VBQ0k7RUFDQTtFQUNBLFc1QkhNO0U0QklOO0VBQ0E7QTlCNnZGSjtBRjlzRkk7RWdDcERKO0lBUVE7SUFDQTtFOUI4dkZOO0FBQ0Y7QThCNXZGSTtFQUNJO0VBQ0E7QTlCOHZGUjtBRnh0Rkk7RWdDeENBO0lBS1E7RTlCK3ZGVjtBQUNGO0E4QjV2Rkk7RUFDSSxXNUJ0QkU7RTRCdUJGO0E5Qjh2RlI7QThCM3ZGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5QjZ2RlI7QUZ2dUZJO0VnQzFCQTtJQU9RO0U5Qjh2RlY7QUFDRjtBRjV1Rkk7RWdDMUJBO0lBV1E7SUFDQTtJQUNBO0lBQ0E7RTlCK3ZGVjtBQUNGO0FGcHZGSTtFZ0MxQkE7SUFrQlE7RTlCZ3dGVjtBQUNGO0FGenZGSTtFZ0MxQkE7SUFzQlE7RTlCaXdGVjtBQUNGO0E4Qjl2Rkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUJnd0ZSO0FGcHdGSTtFZ0NBQTtJQU9RO0U5Qml3RlY7QUFDRjtBOEIvdkZRO0VBQ0k7QTlCaXdGWjtBRjV3Rkk7RWdDVUk7SUFJUTtFOUJrd0ZkO0FBQ0Y7O0ErQnAwRkk7RUFDSTtFQUNBO0VBQ0E7QS9CdTBGUjtBRnZ4Rkk7RWlDbkRBO0lBTVE7RS9CdzBGVjtBQUNGO0FGNXhGSTtFaUNuREE7SUFVUTtFL0J5MEZWO0FBQ0Y7QStCdDBGSTtFQUVJLHlCN0JWTTtFNkJXTjtBL0J1MEZSO0FGcnlGSTtFaUNyQ0E7SUFNUTtFL0J3MEZWO0FBQ0Y7QStCdDBGUTtFQUNJO0EvQncwRlo7QUY3eUZJO0VpQzVCSTtJQUlRO0lBQ0E7RS9CeTBGZDtBQUNGO0FGN3lGSTtFaUN6Qkk7SUFFUTtJQUNBO0UvQncwRmQ7QUFDRjtBK0JwMEZJO0VBQ0k7QS9CczBGUjtBRjV6Rkk7RWlDWEE7SUFJUTtFL0J1MEZWO0FBQ0Y7O0FnQ3AzRkk7RUFDSTtBaEN1M0ZSO0FGcjBGSTtFa0NuREE7SUFJUTtJQUNBO0VoQ3czRlY7QUFDRjtBZ0NyM0ZJO0VBQ0k7QWhDdTNGUjtBRjkwRkk7RWtDMUNBO0lBSVE7RWhDdzNGVjtBQUNGO0FnQ3IzRkk7RUFDSTtFQUNBO0VBQ0E7QWhDdTNGUjtBRngxRkk7RWtDbENBO0lBTVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEN3M0ZWO0FBQ0Y7QWdDdDNGUTtFQUNJO0FoQ3czRlo7QUZwMkZJO0VrQ3JCSTtJQUlRO0VoQ3kzRmQ7QUFDRjs7QWlDNzVGQTtFQUNJLHlCL0JNVTtFK0JMVjtBakNnNkZKO0FpQzk1Rkk7RUFDSTtBakNnNkZSO0FpQzc1Rkk7RUFDSTtFQUNBO0VBQ0E7QWpDKzVGUjtBRnQzRkk7RW1DNUNBO0lBTVE7SUFDQTtFakNnNkZWO0FBQ0Y7QWlDOTVGUTtFQUNJO0VBQ0E7RUFDQTtBakNnNkZaO0FpQzU1Rkk7RUFDSSxjL0JoQk07RStCaUJOO0VBQ0E7QWpDODVGUjtBaUMzNUZJO0VBQ0k7QWpDNjVGUjtBaUMxNUZJO0VBQ0k7RUFDQTtBakM0NUZSO0FpQzE1RlE7RUFDSTtBakM0NUZaO0FpQ3o1RlE7RUFDSTtBakMyNUZaO0FpQ3g1RlE7RUFDSTtFQUNBO0FqQzA1Rlo7QWlDdDVGSTs7Ozs7Ozs7RUFRSSxnQi9CN0RFO0FGcTlGVjtBaUMzNEZZOzs7Ozs7Ozs7RUFDSSxzQi9CM0VOO0FGZytGVjtBaUNoNUZJO0VBQ0ksZ0IvQmpGRTtBRm0rRlY7QWlDLzRGSTtFQUNJO0VBQ0E7QWpDaTVGUjtBRm43Rkk7RW1DZ0NBO0lBS1E7RWpDazVGVjtBQUNGO0FGeDdGSTtFbUN3Q0k7SUFFUTtFakNrNUZkO0FBQ0Y7QUY3N0ZJO0VtQzhDSTtJQUVRO0VqQ2k1RmQ7QUFDRjtBaUM1NEZRO0VBQ0k7QWpDODRGWjtBaUN6NEZROztFQUVJO0FqQzI0Rlo7QWlDdjRGSTtFQUNJO0VBQ0E7QWpDeTRGUjtBaUN2NEZRO0VBQ0k7QWpDeTRGWjtBaUNyNEZJO0VBQ0k7RUFDQTtBakN1NEZSO0FpQ3I0RlE7RUFDSTtBakN1NEZaO0FpQ240Rkk7RUFDSSxjL0JuSUk7QUZ3Z0daO0FpQ240RlE7RUFFSSxjL0JuSUU7QUZ1Z0dkO0FpQ2o0RlE7RUFDSTtBakNtNEZaO0FpQy8zRkk7RUFDSSxjL0IxSWE7RStCMkliO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDaTRGUjtBRngrRkk7RW1DaUdBO0lBU1E7SUFDQTtJQUNBO0lBQ0E7RWpDazRGVjtBQUNGO0FpQ2g0RlE7RUFDSTtBakNrNEZaO0FpQy8zRlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2k0Rlo7QWlDLzNGWTtFQUNJO0FqQ2k0RmhCO0FpQzkzRlk7RUFDSTtBakNnNEZoQjtBaUMzM0ZJO0VBQ0k7RUFDQTtBakM2M0ZSOztBQTVnR0E7QWtDNUNBO0VBQ0k7QWxDNGpHSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3MvdG9vbHMvX21lZGlhLXF1ZXJpZXMuc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy90b29scy9fZXh0ZW5kcy5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL3N0eWxlcy5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL2F0b21zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3Mvc2V0dGluZ3MvX2NvbG9ycy5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL3Rvb2xzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9hdG9tcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3MvbW9sZWN1bGVzL19icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL21vbGVjdWxlcy9fYnV0dG9uLWZpeGVkLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3MvbW9sZWN1bGVzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3MvbW9sZWN1bGVzL19leHRlcm5hbC5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL21vbGVjdWxlcy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL21vbGVjdWxlcy9fZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL21vbGVjdWxlcy9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9tb2xlY3VsZXMvX3R3by1jb2x1bW5zLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9tb2xlY3VsZXMvX2NhdGVnb3JpZXMuc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9tb2xlY3VsZXMvX3ZpZGVvcy5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL29yZ2FuaXNtcy9fZmlsdGVycy5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL29yZ2FuaXNtcy9fZmluZC15b3VyLXN0b3JlLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3Mvb3JnYW5pc21zL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9vcmdhbmlzbXMvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9zZXR0aW5ncy9fZm9ybS5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL3NldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3Mvb3JnYW5pc21zL19wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3Mvb3JnYW5pc21zL19wcm9kdWN0cy1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3Mvb3JnYW5pc21zL19zaWRlYmFyLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9vcmdhbmlzbXMvX3Nob3AtY2FyZC5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL29yZ2FuaXNtcy9fc2lkZWJhci1pdGVtLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3Mvb3JnYW5pc21zL19rZXliZW5lZml0cy5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL29yZ2FuaXNtcy9fY29va2llcy1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3Mvb3JnYW5pc21zL19kb3dubG9hZC1maWxlLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3Mvb3JnYW5pc21zL192aWRlby1nYWxsZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3MvcGFnZXMvX25vdC1mb3VuZC5zY3NzIiwid2VicGFjazovL2ZsdWlkcmEtZ3JlLXdlYi8uL2Fzc2V0cy9zY3NzL3BhZ2VzL19ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vZmx1aWRyYS1ncmUtd2ViLy4vYXNzZXRzL3Njc3MvcGFnZXMvX2Nvb2tpZXMuc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9wYWdlcy9fYWZ0ZXItc2FsZXMuc2NzcyIsIndlYnBhY2s6Ly9mbHVpZHJhLWdyZS13ZWIvLi9hc3NldHMvc2Nzcy9saWJzL196ZW5kZXNrLWNoYXQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9pdGFsb2RyL2I0ZGVkNTg5NGFmYTJjZWFlMTllZDFiNzY3Nzg1ZTAyICovXG4kbXEtaVBhZFJldGluYTogXCJhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2VuZXJhdG9yKCR0eXBlLCAkc2l6ZTEsICRzaXplMjogXCJcIiwgJG9yaWVudGF0aW9uOiBcIlwiKSB7XG4gICAgQGlmICRvcmllbnRhdGlvbiAhPSBcIlwiIHtcbiAgICAgICAgJG9yaWVudGF0aW9uOiBcIiBhbmQgKG9yaWVudGF0aW9uOiAjeyRvcmllbnRhdGlvbn0pXCI7XG4gICAgfVxuXG4gICAgJG1xOiBcIlwiO1xuXG4gICAgQGlmICR0eXBlID09IFwibWluXCIge1xuICAgICAgICAkbXE6IFwiYW5kIChtaW4td2lkdGg6ICN7bnRoKCRzaXplMSwgMSl9KVwiO1xuICAgIH0gQGVsc2UgaWYgJHR5cGUgPT0gXCJtYXhcIiB7XG4gICAgICAgICRtcTogXCJhbmQgKG1heC13aWR0aDogI3sobnRoKCRzaXplMSwgMSkgLSAxcHgpfSlcIjtcbiAgICB9IEBlbHNlIGlmICR0eXBlID09IFwiYmV0d2VlblwiIHtcbiAgICAgICAgJG1xOiBcImFuZCAobWluLXdpZHRoOiAje250aCgkc2l6ZTEsIDEpfSkgYW5kIChtYXgtd2lkdGg6ICN7KG50aCgkc2l6ZTIsIDEpIC0gMXB4KX0pXCI7XG4gICAgfSBAZWxzZSBpZiAkdHlwZSA9PSBcImRldmljZXNcIiB7XG4gICAgICAgICRtcTogJHNpemUxO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJVbmV4aXN0ZW50IHR5cGUgb2YgYnJlYWtwb2ludC5cIjtcbiAgICB9XG5cbiAgICBAcmV0dXJuICN7c2NyZWVufSAjeyRtcX0jeyRvcmllbnRhdGlvbn07XG59XG5cbkBtaXhpbiBicmVha3BvaW50LWRldmljZXMoJG1xLCAkb3JpZW50YXRpb246IFwiXCIpIHtcbiAgICAkbWVkaWE6IGJyZWFrcG9pbnQtZ2VuZXJhdG9yKFwiZGV2aWNlc1wiLCAkbXEsIFwiXCIsICRvcmllbnRhdGlvbik7XG5cbiAgICBAbWVkaWEgI3skbWVkaWF9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1tYXgoJHJhbmdlLCAkb3JpZW50YXRpb246IFwiXCIpIHtcbiAgICAkbWVkaWE6IGJyZWFrcG9pbnQtZ2VuZXJhdG9yKFwibWF4XCIsICRyYW5nZSwgXCJcIiwgJG9yaWVudGF0aW9uKTtcblxuICAgIEBtZWRpYSAjeyRtZWRpYX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LWJldHdlZW4oJHJhbmdlX21pbiwgJHJhbmdlX21heCwgJG9yaWVudGF0aW9uOiBcIlwiKSB7XG4gICAgJG1lZGlhOiBicmVha3BvaW50LWdlbmVyYXRvcihcImJldHdlZW5cIiwgJHJhbmdlX21pbiwgJHJhbmdlX21heCwgJG9yaWVudGF0aW9uKTtcblxuICAgIEBtZWRpYSAjeyRtZWRpYX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50KCRyYW5nZSwgJG9yaWVudGF0aW9uOiBcIlwiKSB7XG4gICAgJG1lZGlhOiBicmVha3BvaW50LWdlbmVyYXRvcihcIm1pblwiLCAkcmFuZ2UsIFwiXCIsICRvcmllbnRhdGlvbik7XG5cbiAgICBAbWVkaWEgI3skbWVkaWF9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1tYXh3aWR0aCgkd2lkdGg6ICRnbG9iYWwtbWF4LXdpZHRoKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogKCR3aWR0aCArIGdldC1weHMoc3BhY2UoMikgKiAyKSkpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLyogSGVhZGluZ3MgKi9cbiVoMSB7XG4gICAgZm9udC1zaXplOiBtcyg0KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMxMDI0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoNSk7XG4gICAgfVxufVxuXG4laDIge1xuICAgIGZvbnQtc2l6ZTogbXMoMyk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzMTAyNCkge1xuICAgICAgICBmb250LXNpemU6IG1zKDQpO1xuICAgIH1cbn1cblxuJWgzIHtcbiAgICBmb250LXNpemU6IG1zKDIpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczEwMjQpIHtcbiAgICAgICAgZm9udC1zaXplOiBtcygzKTtcbiAgICB9XG59XG5cbiVoNCB7XG4gICAgZm9udC1zaXplOiBtcygxKTtcbn1cbiVoNSB7XG4gICAgZm9udC1zaXplOiBtcygtMSk7XG59XG4iLCJAaW1wb3J0IFwic2V0dGluZ3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidG9vbHMvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL21vZHVsYXJzY2FsZS1zYXNzL3N0eWxlc2hlZXRzL21vZHVsYXJzY2FsZVwiO1xuQGltcG9ydCBcInRvb2xzL21peGluc1wiO1xuQGltcG9ydCBcInRvb2xzL21lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJ0b29scy9leHRlbmRzXCI7XG5cbi8qIEF0b21zICovXG5AaW1wb3J0IFwiYXRvbXMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImF0b21zL3RhYmxlc1wiO1xuXG4vKiBNb2xlY3VsZXMgKi9cbkBpbXBvcnQgXCJtb2xlY3VsZXMvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvYnV0dG9uLWZpeGVkXCI7XG5AaW1wb3J0IFwibW9sZWN1bGVzL2NhcmRcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvZXh0ZXJuYWxcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1vbGVjdWxlcy9nYWxsZXJ5XCI7XG5AaW1wb3J0IFwibW9sZWN1bGVzL21vZGFsXCI7XG5AaW1wb3J0IFwibW9sZWN1bGVzL3R3by1jb2x1bW5zLWxpc3RcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvY2F0ZWdvcmllc1wiO1xuQGltcG9ydCBcIm1vbGVjdWxlcy92aWRlb3NcIjtcblxuLyogT3JnYW5pc21zICovXG5AaW1wb3J0IFwib3JnYW5pc21zL2ZpbHRlcnNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMvZmluZC15b3VyLXN0b3JlXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zL2Zvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy9mb3JtXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zL3Byb2R1Y3RcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMvcHJvZHVjdHMtbGlzdFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy9zaWRlYmFyLWxpc3RcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMvc2hvcC1jYXJkXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zL3NpZGViYXItaXRlbVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy9rZXliZW5lZml0c1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy9jb29raWVzLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMvZG93bmxvYWQtZmlsZVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy92aWRlby1nYWxsZXJ5XCI7XG5cbi8qIFBhZ2VzICovXG5AaW1wb3J0IFwicGFnZXMvbm90LWZvdW5kXCI7XG5AaW1wb3J0IFwicGFnZXMvaG9tZVwiO1xuQGltcG9ydCBcInBhZ2VzL2Nvb2tpZXNcIjtcbkBpbXBvcnQgXCJwYWdlcy9hZnRlci1zYWxlc1wiO1xuXG4vKiBMaWJyYXJpZXMgKi9cbkBpbXBvcnQgXCJsaWJzL3plbmRlc2stY2hhdFwiO1xuIiwiJGJ1dHRvbi1iZzogI2RlZTBlMjtcbiRidXR0b24tY29sb3ItZGlzYWJsZWQ6ICM1YTU5NTk7XG4kYnV0dG9uLXBhZGRpbmc6IDZweDtcblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmJ1dHRvbi5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYnV0dG9uLFxuW3JvbGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnO1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiBzcGFjZSgpO1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAqIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yLWRpc2FibGVkO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczQ4MCkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbi5idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjU2ZGVnLCAkYy1ncmFkaWVudG9yYW5nZTIwMCwgJGMtY29tcGxlbWVudGFyeTQwMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JhZGllbnRvcmFuZ2UyMDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDM2cHg7XG4gICAgY29sb3I6ICRjLXdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiBzcGFjZSgpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IHNwYWNlKDAuNSkgc3BhY2UoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczQ4MCkge1xuICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgwLjUpIHNwYWNlKDEuMjUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDM2cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI1NmRlZywgJGMtY29tcGxlbWVudGFyeTMwMCwgJGMtZ3JhZGllbnRvcmFuZ2UxMDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmFkaWVudG9yYW5nZTEwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgwLjI1KSBzcGFjZSgwLjc1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNDgwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgwLjI1KSBzcGFjZSgwLjc1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBjb2xvcjogJGMtY29tcGxlbWVudGFyeTQwMDtcblxuICAgICAgICAmLmJ1dHRvbi0tZGFyayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRjLWNvbXBsZW1lbnRhcnk0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI1NmRlZywgJGMtY29tcGxlbWVudGFyeTMwMCwgJGMtZ3JhZGllbnRvcmFuZ2UxMDApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtY29tcGxlbWVudGFyeTMwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnV0dG9uLS1ibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1tYWluNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGVydGlhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjLWNvbXBsZW1lbnRhcnk0MDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM0ODApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudS1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxNHB4KTtcblxuICAgICAgICAgICAgZmlsbDogJGMtY29tcGxlbWVudGFyeTMwMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGxlZnQgMC4ycyBlYXNlLWluLW91dCxcbiAgICAgICAgICAgICAgICByaWdodCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMC4yNSk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGMtY29tcGxlbWVudGFyeTMwMDtcblxuICAgICAgICAgICAgLnUtaWNvbiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGMtY29tcGxlbWVudGFyeTMwMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiBzcGFjZSgwLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYnV0dG9uLS1ibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1tYWluMzAwO1xuXG4gICAgICAgICAgICAudS1pY29uIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYy1jb21wbGVtZW50YXJ5MTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtY29tcGxlbWVudGFyeTEwMDtcblxuICAgICAgICAgICAgICAgIC51LWljb24ge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYy1jb21wbGVtZW50YXJ5MTAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzcGFjZSgwLjI1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJ1dHRvbi0tZGFyayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjU2ZGVnLCAkYy1ncmFkaWVudGJsdWUyMDAsICRjLW1haW4zMDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmFkaWVudGJsdWUyMDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1tYWluMzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNTZkZWcsICRjLWdyYWRpZW50Ymx1ZTEwMCwgJGMtY29tcGxlbWVudGFyeTEwMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmFkaWVudGJsdWUxMDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJ1dHRvbjpkaXNhYmxlZCxcbi5idXR0b246ZGlzYWJsZWQsXG4uYnV0dG9uLS1zdGF0ZS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiJGMtd2hpdGU6ICNmZmY7XG4kYy1ibGFjazogIzAwMDtcbiRjLW1haW4xMDA6ICNkZmU5ZjI7XG4kYy1tYWluMjAwOiAjNDE3OGIwO1xuJGMtbWFpbjMwMDogIzAyNGI5NjtcbiRjLW1haW40MDA6ICMxNTMxODU7XG4kYy1tYWluNTAwOiAjMjEyYzY5O1xuJGMtbmV1dHJvMTAwOiAjZjVmN2ZhO1xuJGMtbmV1dHJvMjAwOiAjZTllZmY1O1xuJGMtbmV1dHJvMzAwOiAjZDNkY2U2O1xuJGMtbmV1dHJvNDAwOiAjOThhNWIzO1xuJGMtbmV1dHJvNTAwOiAjMWYzNjRkO1xuJGMtY29tcGxlbWVudGFyeTEwMDogIzAwYTZkNjtcbiRjLWNvbXBsZW1lbnRhcnkyMDA6ICM3MjdlYjk7XG4kYy1jb21wbGVtZW50YXJ5MzAwOiAjZmY5NzMzO1xuJGMtY29tcGxlbWVudGFyeTQwMDogI2ZmNGIwMDtcbiRjLWdyYWRpZW50Ymx1ZTEwMDogIzAwZDJlZDtcbiRjLWdyYWRpZW50Ymx1ZTIwMDogIzA1ODJjNztcbiRjLWdyYWRpZW50b3JhbmdlMTAwOiAjZmY3YjAwO1xuJGMtZ3JhZGllbnRvcmFuZ2UyMDA6ICNmZjcwMzM7XG4kYy1lcnJvcjogI2ZmMTk0MDtcbiRjLWJvcmRlcjogJGMtbmV1dHJvNDAwO1xuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQG1peGluIHZpc3VhbGx5SGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG59XG5cbkBtaXhpbiB2aWRlb0Z1bGxXaWR0aCgpIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcblxuICAgIC8qIDE2OjkgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIHdpZHRoOiAkc2l6ZTtcbn1cblxuQG1peGluIHBsYWNlaG9sZGVyQ29sb3IoKSB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGZsdWlkLXR5cGUoJG1pbi1mb250LXNpemUsICRtYXgtZm9udC1zaXplLCAkbWluLXZ3OiA0ODBweCwgJG1heC12dzogMTI4MHB4KSB7XG4gICAgJHUxOiB1bml0KCRtaW4tdncpO1xuICAgICR1MjogdW5pdCgkbWF4LXZ3KTtcbiAgICAkdTM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xuICAgICR1NDogdW5pdCgkbWF4LWZvbnQtc2l6ZSk7XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWRlY2xhcmF0aW9uICovXG4gICAgQGlmICR1MSA9PSAkdTIgYW5kICR1MSA9PSAkdTMgYW5kICR1MSA9PSAkdTQge1xuICAgICAgICBmb250LXNpemU6ICRtaW4tZm9udC1zaXplO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tdncpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYyhcbiAgICAgICAgICAgICAgICAjeyRtaW4tZm9udC1zaXplfSArICN7c3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKlxuICAgICAgICAgICAgICAgICAgICAoKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtYXgtZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgbm8taW52YWxpZC1wb3NpdGlvbi1kZWNsYXJhdGlvbiAqL1xuXG4gICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJEZXRlY3RlZCBtaXhlZCB1bml0cy4gUGxlYXNlIHVzZSB0aGUgc2FtZSB1bml0cyBmb3IgYWxsIHBhcmFtZXRlcnMuXCI7XG4gICAgfVxufVxuXG5AbWl4aW4gZ2V0LXJhdGlvKCRvLXdpZHRoLCAkby1oZWlnaHQsICR3aWR0aDogMCwgJGhlaWdodDogMCkge1xuICAgICRoOiBzdHJpcC11bml0KGdldC1weHMoJGhlaWdodCkpO1xuICAgICR3OiBzdHJpcC11bml0KGdldC1weHMoJHdpZHRoKSk7XG5cbiAgICBAaWYgJHcgPiAwIHtcbiAgICAgICAgaGVpZ2h0OiBjZWlsKG1hdGguZGl2KCR3LCAkby13aWR0aCkgKiAkby1oZWlnaHQpICogMXB4O1xuICAgICAgICB3aWR0aDogJHcgKiAxcHg7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGggKiAxcHg7XG4gICAgICAgIHdpZHRoOiBjZWlsKCgkaCAvICRvLWhlaWdodCkgKiAkby13aWR0aCkgKiAxcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gcmVzZXQtZmllbGQge1xuICAgIGZvbnQtZmFtaWx5OiAkdC1kZWZhdWx0O1xuICAgIGZvbnQtc2l6ZTogZ2V0LXJlbXMoMTRweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGhvdmVyIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLm5vbi10b3VjaCAmIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCwgJGNvbnRlbnQpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogbWF0aC5kaXYoJGhlaWdodCwgJHdpZHRoKSAqIDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgID4gI3skY29udGVudH0ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBjb2x1bW5zKCRudW1iZXIsICRzcGFjZXM6IDEpIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7c3BhY2UoJHNwYWNlcyAqICgkbnVtYmVyIC0gMSkpfSkgLyAjeyRudW1iZXJ9KTtcblxuICAgICY6bnRoLWNoaWxkKG4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjZSgkc3BhY2VzKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgjeyRudW1iZXJ9bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5AbWl4aW4gcG9sa2EtYmcoJGNvbG9yOiAjNzlhZGRiLCAkc2l6ZTogMjRweCkge1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCgkY29sb3IgMzUlLCB0cmFuc3BhcmVudCAzNiUpLCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZSAkc2l6ZTtcbn1cbiIsInRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1tYWluMjAwO1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgwLjUpIHNwYWNlKCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogc3BhY2UoMC4yNSkgc29saWQgJGMtbWFpbjIwMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIHNwYWNlKCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLW5ldXRybzIwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1uZXV0cm8xMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IGdldC1yZW1zKDE0cHgpO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgwLjUpIHNwYWNlKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCBzcGFjZSgwLjUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtbmV1dHJvMjAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1uZXV0cm8xMDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5icmVhZGNydW1icyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC4xNSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgY29sb3I6ICRjLW5ldXRybzQwMDtcblxuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLW1haW40MDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCI8IFwiO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtbWFpbjQwMDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMC4yNSk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bnRoLWxhc3QtY2hpbGQoMikpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkYy1tYWluNDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkYy1jb21wbGVtZW50YXJ5MTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAkYy1tYWluNDAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgwLjI1KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZfX2xvZ28gc3ZnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIuYnV0dG9uLWZpeGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uZXV0cm8yMDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCA0cHggMCByZ2IoMzEgNTQgNzcgLyAxMCUpO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogc3BhY2UoMC41KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTI7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuIiwiLmNhcmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBtaW4taGVpZ2h0OiBnZXQtcmVtcygxMzRweCk7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAudS1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDE0cHgpO1xuXG4gICAgICAgIGJvdHRvbTogc3BhY2UoMC41KTtcbiAgICAgICAgZmlsbDogJGMtd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHNwYWNlKDAuNSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAudS12ZWlsOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuXG4gICAgJi0tYmlnIHtcbiAgICAgICAgLmNhcmRfX2ltYWdlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGdldC1yZW1zKDE1MHB4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGdldC1yZW1zKDIwMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC51LWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDI2cHgpO1xuXG4gICAgICAgICAgICBib3R0b206IHNwYWNlKDAuNzUpO1xuICAgICAgICAgICAgcmlnaHQ6IHNwYWNlKDAuNzUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAudS1pY29uIHtcbiAgICAgICAgICAgIHJpZ2h0OiBzcGFjZSgwLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXZlaWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmV4dGVybmFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgc3BhY2UoMC4yNSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGdldC1yZW1zKDEzNHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBnZXQtcmVtcygxOTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudS1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEycHgpO1xuXG4gICAgICAgIGZpbGw6ICRjLWNvbXBsZW1lbnRhcnkxMDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgc3BhY2UoMC4yNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBjb2xvcjogJGMtY29tcGxlbWVudGFyeTEwMDtcbiAgICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG4gICAgfVxuXG4gICAgJl9faXRlbSxcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjLW1haW41MDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIHBhZGRpbmc6IDAgc3BhY2UoMC41KTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZfX3ByZXZpb3VzIHtcbiAgICAgICAgLnUtaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiAkYy1tYWluNTAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgyN3B4KTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbWFpbjEwMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgbGVmdDogZ2V0LXJlbXMoM3B4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBnZXQtcmVtcyg0cHgpO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZXZpb3VzLFxuICAgICZfX25leHQge1xuICAgICAgICBjb2xvcjogJGMtbWFpbjQwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDNweDtcblxuICAgICAgICAudS1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxNnB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5nYWxsZXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW5ldXRybzMwMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLS1uby10aHVtYm5haWxzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgKyBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgwLjI1KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzTmV3IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvbmV3X2xvZ28ucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICB9XG5cbiAgICAmX19pbWFnZXMge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgcGFkZGluZzogc3BhY2UoMC4yNSkgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAmX190aHVtYm5haWxzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMC4yNSk7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW5ldXRybzMwMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbmV4dCxcbiAgICAgICAgJl9fcHJldiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIFtkYXRhLWNvbnRyb2xzXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgW2RhdGEtY29udHJvbHNdOmRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgfVxuXG4gICAgICAgIFtkYXRhLWNvbnRyb2xzPVwicHJldlwiXSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgW2RhdGEtY29udHJvbHM9XCJuZXh0XCJdIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbm8tYnV0dG9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMC41KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiBnZXQtcmVtcyg0OHB4KTtcblxuICAgICAgICAgICAgW2RhdGEtY29udHJvbHM9XCJwcmV2XCJdIHtcbiAgICAgICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBbZGF0YS1jb250cm9scz1cIm5leHRcIl0ge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIC5nYWxsZXJ5X19wcmV2LFxuICAgICAgICAgICAgJiAuZ2FsbGVyeV9fbmV4dCB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzOTYwKSB7XG4gICAgICAgICAgICB3aWR0aDogZ2V0LXJlbXMoNjZweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzMTI4MCkge1xuICAgICAgICAgICAgd2lkdGg6IGdldC1yZW1zKDg0cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5vLXRodW1ibmFpbHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogODUlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzOTYwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgW2RhdGEtY29udHJvbHNdIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBbZGF0YS1jb250cm9scz1cInByZXZcIl0ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgW2RhdGEtY29udHJvbHM9XCJuZXh0XCJdIHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25leHQsXG4gICAgJl9fcHJldiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmX19wcmV2IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogdXJsKFwiL2Fzc2V0cy9pbWcvcHJldi5wbmdcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uZXh0IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogdXJsKFwiL2Fzc2V0cy9pbWcvbmV4dC5wbmdcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubW9kYWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGMtbmV1dHJvMTAwLCAwLjk1KTtcbiAgICBpbnNldDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmctdG9wOiBzcGFjZSgyLjUpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgIHotaW5kZXg6IC05O1xuXG4gICAgJi0tb3BlbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKCkgMCBzcGFjZSgxLjUpO1xuXG4gICAgICAgIC51LXdyYXBwZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4OTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgyKTtcbiAgICB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1uZXV0cm8zMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgpO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgxLjUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzNjQwKSB7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNjQwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW5zKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29sdW1ucygzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhcmQtdGl0bGUge1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgICoge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHNwYWNlKDEuNSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHNwYWNlKDAuNSk7XG4gICAgICAgIHRvcDogc3BhY2UoMC41KTtcbiAgICAgICAgd2lkdGg6IHNwYWNlKDEuNSk7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogc3BhY2UoMS41KTtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFjZSgxLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgKiB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50d28tY29sdW1ucy1saXN0IHtcbiAgICBjb2x1bW4tZ2FwOiBzcGFjZSgyKTtcbiAgICBjb2x1bW5zOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNDgwKSB7XG4gICAgICAgIGNvbHVtbnM6IDI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgwLjUpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAudS1pY29uIHtcbiAgICAgICAgICAgIGZpbGw6ICRjLXdoaXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2F0ZWdvcmllcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5ldXRybzQwMDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBzcGFjZSgwLjI1KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgxLjUpIHNwYWNlKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczQ4MCkge1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMikgc3BhY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIGhlaWdodDogZ2V0LXJlbXMoMzg4cHgpO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMy45JTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvY2F0ZWdvcmllcy8xLW1vYmlsZS5qcGdcIik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9jYXRlZ29yaWVzLzEuanBnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tMiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9jYXRlZ29yaWVzLzItbW9iaWxlLmpwZ1wiKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1nL2NhdGVnb3JpZXMvMi5qcGdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS0zIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1nL2NhdGVnb3JpZXMvMy1tb2JpbGUuanBnXCIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvY2F0ZWdvcmllcy8zLmpwZ1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvY2F0ZWdvcmllcy80LW1vYmlsZS5qcGdcIik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9jYXRlZ29yaWVzLzQuanBnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tNSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9jYXRlZ29yaWVzLzUtbW9iaWxlLmpwZ1wiKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1nL2NhdGVnb3JpZXMvNS5qcGdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS02IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1nL2NhdGVnb3JpZXMvNi1tb2JpbGUuanBnXCIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvY2F0ZWdvcmllcy82LmpwZ1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvY2F0ZWdvcmllcy83LW1vYmlsZS5qcGdcIik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9jYXRlZ29yaWVzLzcuanBnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICB0byBsZWZ0LFxuICAgICAgICAgICAgICAgIHJnYmEoJGMtbWFpbjUwMCwgMCkgMCxcbiAgICAgICAgICAgICAgICByZ2JhKCRjLW1haW41MDAsIDAuOTUpIDEwMCVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0byBib3R0b20sXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoJGMtbWFpbjUwMCwgMCkgMjAlLFxuICAgICAgICAgICAgICAgICAgICByZ2JhKCRjLW1haW41MDAsIDAuOTUpIDEwMCVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogZ2V0LXJlbXMoODVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgYm90dG9tOiBzcGFjZSgwLjUpO1xuICAgICAgICAgICAgaGVpZ2h0OiBzcGFjZSgpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICAgICAgd2lkdGg6IGdldC1yZW1zKDMzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi52aWRlb3Mge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKDMpO1xuICAgIHBhZGRpbmctYm90dG9tOiBzcGFjZSgyKTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uZXV0cm8yMDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDU2JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxLjUpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI2JTtcbiAgICAgICAgICAgIHdpZHRoOiA0NyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2FkaW5nIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNjAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogMTEwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSg1MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGMtbmV1dHJvMzAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTJweCAwIDEycHggMThweDtcbiAgICAgICAgICAgIGJvdHRvbTogMTU1JTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBsZWZ0OiA1MyU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2FkaW5nLXRleHQge1xuICAgICAgICBjb2xvcjogJGMtbmV1dHJvNDAwO1xuICAgICAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cblxuICAgIC5wcm9kdWN0X19yZWxhdGVkICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuICAgIH1cbn1cbiIsIi5maWx0ZXJzIHtcbiAgICAmX19jYXRlZ29yeSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5maWx0ZXJzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbWFpbjUwMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiBzcGFjZSgwLjUpO1xuICAgICAgICB0b3A6IHNwYWNlKCk7XG5cbiAgICAgICAgLnUtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMjRweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlsdGVycy1idXR0b24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGMtbmV1dHJvMzAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDAuNSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTJweCk7XG5cbiAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogc3BhY2UoMC41KTtcbiAgICAgICAgICAgIHRvcDogNDclO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA0cHggMCByZ2JhKCRjLW5ldXRybzUwMCwgMC4zKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIHNwYWNlKCk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlKDAuNSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzNzY4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1vcGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZmluZC15b3VyLXN0b3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uZXV0cm8xMDA7XG4gICAgcGFkZGluZzogc3BhY2UoMi41KSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgzKSAwIHNwYWNlKCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMS41KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDAuNSk7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG4gICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMDI0Yjk2IDAlLCAjMjEyYzY5IDEwMCUpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnUtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4d2lkdGgoOTYwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2UoMi41KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNlKDIuNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTlmMGY3O1xuICAgIGNvbG9yOiAkYy1tYWluNTAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IHNwYWNlKDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYy1uZXV0cm8xMDAsIDAuOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgbGVmdDogLTExNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNDgwKSB7XG4gICAgICAgICAgICBib3R0b206IC0xMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTAwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGMtZ3JhZGllbnRibHVlMjAwLCAkYy1tYWluMzAwKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAudS1pY29uIHtcbiAgICAgICAgZmlsbDogJGMtbWFpbjUwMDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjZSgpO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xhaW0ge1xuICAgICAgICBjb2xvcjogJGMtbWFpbjUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnZXMge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbmV1dHJvMzAwO1xuICAgICAgICBmb250LXNpemU6IG1zKC0yKTtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMC41KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDAuMjUpO1xuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2UoMS41KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjZSgwLjUpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbmtzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWdlcy1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNlKDAuNSk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Y29sb3I7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxLjUpO1xuICAgIH1cblxuICAgICZfX25hdi10aXRsZSxcbiAgICAmX19uYXYtaXRlbSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2LXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICM3OWFkZGI7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX25hdi1pdGVtIHtcbiAgICAgICAgY29sb3I6ICRjLW1haW41MDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC41KTtcbiAgICB9XG5cbiAgICAmX19jb3B5cmlnaHQge1xuICAgICAgICBjb2xvcjogJGMtY29tcGxlbWVudGFyeTIwMDtcbiAgICB9XG5cbiAgICAmX19zb2NpYWwtbmV0d29yayB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMC41KTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkYy1tYWluNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjLWNvbXBsZW1lbnRhcnkxMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNDgwKSB7XG4gICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbiRmb3JtLXBhZGRpbmc6IHNwYWNlKDAuNikgc3BhY2UoMC41KSAhZGVmYXVsdDtcbiRmb3JtLW1hcmdpbjogc3BhY2UoKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQ6IGdldC1yZW1zKDUycHgpO1xuXG4laW5wdXQtZm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIGdldC1yZW1zKDFweCkgJGZvcm0tLWZvY3VzO1xuICAgIGNvbG9yOiAkZm9ybS0tZm9jdXM7XG4gICAgcGFkZGluZzogJGZvcm0tcGFkZGluZztcbn1cblxuLmlucHV0LS1zdXJuYW1lMSB7XG4gICAgbGVmdDogLTk5OTk5OXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbmJ1dHRvbixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbnRleHRhcmVhIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbn1cblxuc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IHNwYWNlKDAuNzUpO1xuXG4gICAgJi5pcy1maWx0ZXIge1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkYy1uZXV0cm8zMDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgwLjI1KTtcbiAgICB9XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkZm9ybS1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLXNoYWRvdztcbiAgICBjb2xvcjogJGMtbWFpbjUwMDtcbiAgICBmb250LWZhbWlseTogJHQtZGVmYXVsdDtcbiAgICBmb250LXNpemU6IG1zKDApO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIHBhZGRpbmc6ICRmb3JtLXBhZGRpbmc7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQtLWRpc2FibGVkO1xuICAgIH1cblxuICAgICY6Zm9jdXM6bm90KC5mb3JtX19zdGF0ZS0taW52YWxpZCkge1xuICAgICAgICBAZXh0ZW5kICVpbnB1dC1mb2N1cztcbiAgICB9XG5cbiAgICAmLmZvcm1fX3N0YXRlLS1pbnZhbGlkLFxuICAgICYuZm9ybV9fc3RhdGUtLWludmFsaWQ6Zm9jdXMge1xuICAgICAgICBAZXh0ZW5kICVpbnB1dC1mb2N1cztcblxuICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLS1lcnJvcjtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgZ2V0LXJlbXMoMXB4KSAkZm9ybS0tZXJyb3I7XG4gICAgfVxufVxuXG5sYWJlbCB7XG4gICAgY29sb3I6ICRjLW1haW4yMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIG1hcmdpbjogMDtcblxuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGMtbmV1dHJvNDAwO1xuICAgIH1cbn1cblxubGVnZW5kIHtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmZvcm0ge1xuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtbmV1dHJvMTAwO1xuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGZvcm0tbWFyZ2luO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi0taW5saW5lIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRmb3JtLW1hcmdpbjtcblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgJGZvcm0tbWFyZ2luIDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ub3RlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhbGYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tb25lLXRoaXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMyJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczk2MCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMyJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXR3by10aGlyZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2NCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM5NjApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEyMDBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2NCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZm9ybV9fZmllbGQtLWlubGluZSkge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgbnRoKCRmb3JtLXBhZGRpbmcsIDIpO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IG1hdGguZGl2KCRpbnB1dC1oZWlnaHQsIDMuNSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dDpmb2N1cyxcbiAgICAgICAgICAgIGlucHV0W2FyaWEtaW52YWxpZD1cImZhbHNlXCJdLFxuICAgICAgICAgICAgaW5wdXQuYWN0aXZlLW1hdGVyaWFsLFxuICAgICAgICAgICAgdGV4dGFyZWE6Zm9jdXMsXG4gICAgICAgICAgICB0ZXh0YXJlYVthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSxcbiAgICAgICAgICAgIHRleHRhcmVhLmFjdGl2ZS1tYXRlcmlhbCxcbiAgICAgICAgICAgIHNlbGVjdDpmb2N1cyxcbiAgICAgICAgICAgIC5hY3RpdmUtbWF0ZXJpYWwsXG4gICAgICAgICAgICBpbnB1dFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLFxuICAgICAgICAgICAgc2VsZWN0W2FyaWEtaW52YWxpZD1cInRydWVcIl0sXG4gICAgICAgICAgICB0ZXh0YXJlYVthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLFxuICAgICAgICAgICAgc2VsZWN0W2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICAgICAgICAgICAmIH4gbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvcm0tLWZvY3VzO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IG50aCgkZm9ybS1wYWRkaW5nLCAyKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBnZXQtcmVtcyg0cHgpIDAgZ2V0LXJlbXMoNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLFxuICAgICAgICAgICAgc2VsZWN0W2FyaWEtaW52YWxpZD1cInRydWVcIl0sXG4gICAgICAgICAgICB0ZXh0YXJlYVthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWVycm9yO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIGdldC1yZW1zKDFweCkgJGMtZXJyb3I7XG5cbiAgICAgICAgICAgICAgICAmIH4gbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZXJyb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSxcbiAgICAgICAgICAgIHNlbGVjdFthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSxcbiAgICAgICAgICAgIHRleHRhcmVhW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtbWFpbjUwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXTpmb2N1cyxcbiAgICAgICAgICAgIHNlbGVjdFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdOmZvY3VzLFxuICAgICAgICAgICAgdGV4dGFyZWFbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgJiB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWVycm9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgLmZvcm1fX2ZpZWxkOm5vdCguZm9ybV9fZmllbGQtLWlubGluZSkge1xuICAgICAgICBpbnB1dDpmb2N1cyxcbiAgICAgICAgaW5wdXRbYXJpYS1pbnZhbGlkPVwiZmFsc2VcIl0sXG4gICAgICAgIHRleHRhcmVhOmZvY3VzLFxuICAgICAgICB0ZXh0YXJlYVthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSxcbiAgICAgICAgc2VsZWN0OmZvY3VzLFxuICAgICAgICBpbnB1dFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLFxuICAgICAgICBzZWxlY3RbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSxcbiAgICAgICAgdGV4dGFyZWFbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSxcbiAgICAgICAgc2VsZWN0W2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICAgICAgICYgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3hlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLW1hcmdpbjtcblxuICAgICAgICAuZm9ybV9fZmllbGQtLWlubGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgwLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlIHtcbiAgICAgICAgJi0taW52YWxpZCB7XG4gICAgICAgICAgICBjb2xvcjogJGMtZXJyb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2UoMC4yNSk7XG5cbiAgICAgICAgICAgIC5mb3JtX19maWVsZC0tbm90ZSAmIHtcbiAgICAgICAgICAgICAgICBib3R0b206IHNwYWNlKC0xKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5zZWxlY3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICB0byByaWdodCxcbiAgICAgICAgICAgICAgICByZ2JhKCRjLW5ldXRybzEwMCwgMCkgMCUsXG4gICAgICAgICAgICAgICAgcmdiYSgkYy1uZXV0cm8xMDAsIDEpIDMwJVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRzd2l0Y2gtc2l6ZTogMThweDtcblxuICAgICZfX3N3aXRjaCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCBjYWxjKCN7JGZvcm0tbWFyZ2lufSArICN7c3BhY2UoMC41KX0pO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgwLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRmb3JtLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC41KTtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1tYWluNTAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczQ4MCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG5cbiAgICAgICAgICAgICAgICA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgY29sb3I6ICRjLW1haW41MDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpLFxuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAoJHN3aXRjaC1zaXplICsgOHB4KTtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGMtYm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1tYWluMzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRzd2l0Y2gtc2l6ZSAtIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkc3dpdGNoLXNpemUgLSAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpICsgbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJGMtbWFpbjMwMCwgMC43NSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJGMtYmxhY2ssIDAuNzUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogYWNjZXNzaWJpbGl0eSAqL1xuICAgICAgICAgICAgJjpjaGVja2VkOmZvY3VzICsgbGFiZWw6OmJlZm9yZSxcbiAgICAgICAgICAgICY6bm90KDpjaGVja2VkKTpmb2N1cyArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW5ldXRybzQwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Y29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHN3aXRjaC1zaXplIC0gNnB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXM7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkc3dpdGNoLXNpemUgLSA2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2ZpbGVXcmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLS1ncm91cCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1tYWluNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm1fX2ZpZWxkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybV9fbWVzc2FnZS0taW52YWxpZCB7XG4gICAgICAgICAgICBib3R0b206IHNwYWNlKC0wLjc1KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgICAgY29sb3I6ICRjLW5ldXRybzQwMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuXG4gICAgICAgIC5mb3JtX19maWVsZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoI3skZm9ybS1tYXJnaW59IC8gNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybV9fZmllbGQtLW5vdGUgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCN7JGZvcm0tbWFyZ2lufSAqIDEuNSk7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbWFyZ2luO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlsZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tYWluMzAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBzcGFjZSgwLjI1KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiBnZXQtcmVtcyg0NnB4KTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgwLjI1KTtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMC4yNSk7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1tYWluNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBnZXQtcmVtcygxNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgwLjUpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1haW4zMDA7XG4gICAgICAgICAgICBwYWRkaW5nOiBnZXQtcmVtcygxM3B4KSBzcGFjZSgwLjUpIGdldC1yZW1zKDZweCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBnZXQtcmVtcygyNHB4KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogZ2V0LXJlbXMoMjRweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcblt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBjb2xvcjogJGMtbWFpbjUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiBnZXQtcmVtcygyNHB4KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGMtbWFpbjUwMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1tYWluMzAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGMtbWFpbjMwMDtcbiAgICBoZWlnaHQ6IGdldC1yZW1zKDE2cHgpO1xuICAgIGxlZnQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzcHg7XG4gICAgd2lkdGg6IGdldC1yZW1zKDE2cHgpO1xufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcblt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoL2Fzc2V0cy9pbWcvY2hlY2suc3ZnKTtcbiAgICBjb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbWFpbjMwMDtcbn1cblxuW3R5cGU9XCJjaGVja2JveFwiXVtkaXNhYmxlZF0gKyBsYWJlbCB7XG4gICAgb3BhY2l0eTogMC40O1xufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdW2Rpc2FibGVkXSArIGxhYmVsOmJlZm9yZSxcblt0eXBlPVwiY2hlY2tib3hcIl1bZGlzYWJsZWRdICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLnNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgICByZ2JhKCRmb3JtLWJhY2tncm91bmQsIDApIDAlLFxuICAgICAgICAgICAgcmdiYSgkZm9ybS1iYWNrZ3JvdW5kLCAxKSAzMCVcbiAgICAgICAgKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICB3aWR0aDogc3BhY2UoMik7XG4gICAgfVxuXG4gICAgLnUtaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxMnB4KTtcblxuICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHNwYWNlKDAuNSk7XG4gICAgICAgIHRvcDogNDclO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwJSk7XG4gICAgfVxufVxuIiwiJGZvcm0tYmFja2dyb3VuZDogJGMtd2hpdGUgIWRlZmF1bHQ7XG4kZm9ybS1iYWNrZ3JvdW5kLS1kaXNhYmxlZDogJGMtbmV1dHJvMzAwICFkZWZhdWx0O1xuJGZvcm0tc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGZvcm0tcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXI6IDFweCBzb2xpZCAkYy1tYWluMzAwICFkZWZhdWx0O1xuJGZvcm0tYm9yZGVyLS1mb2N1czogMnB4IHNvbGlkICRjLW1haW4zMDAgIWRlZmF1bHQ7XG4kZm9ybS0tZm9jdXM6ICRjLW1haW4zMDAgIWRlZmF1bHQ7XG4kZm9ybS0tZXJyb3I6ICRjLWVycm9yICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuIiwiJG1pbi1mb250LXNpemU6IDE2cHg7XG4kbWF4LWZvbnQtc2l6ZTogMThweDtcbiR0LWRlZmF1bHQ6IFwiTW9udHNlcnJhdFwiLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuIiwiLnByb2R1Y3Qge1xuICAgIGgyIHtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogNjg1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBzcGFjZSgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIC50LWgyLFxuICAgICAgICAudC1oNSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC41KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIC50LWgyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC4yNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDEuMjUpO1xuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2UoMS41KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDIuNSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2UoMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbi13cmFwcGVyIC50LWg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC41KTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgyOTBweCk7XG5cbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgyKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdhbGxlcnkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvbGthLWJnO1xuXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNzBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogc3BhY2UoLTIpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzQlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMS41KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzOTYwKSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3RhcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMxMjgwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3RhLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDAuNSkgc3BhY2UoKTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM5NjApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzMTI4MCkge1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGVjaC13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjZSgxKTtcbiAgICB9XG5cbiAgICAmX19lcXVpcG1lbnQsXG4gICAgJl9fdGVjaC1mZWF0dXJlcyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjZSgxKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNlKDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjZSgyKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjZSgyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Jhbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoLTIpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoNzAwcHggKyAje3NwYWNlKDIpfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWFsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlKDAuNSk7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVsYXRlZCB7XG4gICAgICAgIG1hcmdpbjogc3BhY2UoMykgMCBzcGFjZSgyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW46IHNwYWNlKDQpIDAgc3BhY2UoMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ibG9nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgzKSAwIHNwYWNlKDIpO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgwLjUpO1xuICAgIH1cblxuICAgID4gZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG59XG4iLCIucHJvZHVjdHMtbGlzdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICBtYXJnaW46IDAgMCAwIHNwYWNlKDIpO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgbWluLWhlaWdodCAwLjJzIGVhc2Utb3V0LFxuICAgICAgICAgICAgaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBtaW4taGVpZ2h0LCBoZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMCBzcGFjZSgtMC4yNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIHNwYWNlKC0xKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZhbWlseSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKCk7XG4gICAgICAgIHBhZGRpbmc6IDAgc3BhY2UoMC41KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlKTtcblxuICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDEuNSk7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc3BhY2UoMC41KSAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc3BhY2UoMC41KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzOTYwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc3BhY2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCBzcGFjZSgwLjUpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNwYWNlKDAuNSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczk2MCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNwYWNlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczk2MCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCBzcGFjZSgpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuXG4gICAgICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICAucHJvZHVjdHMtbGlzdF9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1jb21wbGVtZW50YXJ5MTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAucHJvZHVjdHMtbGlzdF9faW1hZ2Utd3JhcHBlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vICAgICBvcGFjaXR5OiAuNDtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgICAgICAgICAgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHZpc2liaWxpdHk7XG5cbiAgICAgICAgJi0tbm8taW1hZ2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvdW50IHtcbiAgICAgICAgY29sb3I6ICRjLW5ldXRybzQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC41KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYy1tYWluNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgwLjI1KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDAuMjUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgICZfX2F0dHJpYnV0ZSB7XG4gICAgICAgIGNvbG9yOiAkYy1uZXV0cm80MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDAuMjUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2Utb3V0O1xuICAgIH1cbn1cbiIsIi5zaWRlYmFyLWxpc3Qge1xuICAgICZfX2dyb3VwLFxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiBnZXQtcmVtcygxNHB4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgc3BhY2UoMC41KTtcbiAgICB9XG5cbiAgICAmX19ncm91cCB7XG4gICAgICAgIGNvbG9yOiAkYy1uZXV0cm80MDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGNvbG9yOiAkYy1tYWluNTAwO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1jb21wbGVtZW50YXJ5MTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDAgMCAwIHNwYWNlKDAuNSk7XG4gICAgfVxufVxuIiwiLnNob3AtY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIHBhZGRpbmc6IHNwYWNlKCkgc3BhY2UoMC43NSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKCkgc3BhY2UoMS41KTtcblxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMS41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKCk7XG4gICAgICAgIHdpZHRoOiA0MCU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGdldC1yZW1zKDYwcHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBnZXQtcmVtcygxMjBweCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGdldC1yZW1zKDYwcHgpO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2UoMS4yNSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5ldXRybzMwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKCk7XG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgwLjI1KSBzcGFjZSgwLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51LWljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTZweCk7XG5cbiAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM5NjApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgyMXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zaWRlYmFyLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW5ldXRybzMwMDtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgpO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbmV1dHJvMzAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgcGFkZGluZzogc3BhY2UoKSBzcGFjZSgwLjc1KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgwLjUpIHNwYWNlKDAuNzUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JvdXAge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbmV1dHJvMzAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogc3BhY2UoMC43NSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRjLWNvbXBsZW1lbnRhcnkxMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkYy1tYWluNTAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCBzcGFjZSgwLjUpO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbWFpbjUwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlKDAuMjUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxOHB4KTtcblxuICAgICAgICAuaXMtY2hlY2tlZCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1haW41MDA7XG4gICAgICAgIH1cblxuICAgICAgICAudS1pY29uLS1jaGVjayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTVweCk7XG5cbiAgICAgICAgICAgIGZpbGw6ICRjLXdoaXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgLmlzLWNoZWNrZWQgJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5rZXliZW5lZml0cyB7XG4gICAgcGFkZGluZzogc3BhY2UoMi41KSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgzKSAwIHNwYWNlKCk7XG4gICAgfVxuXG4gICAgJl9faWNvbiBzdmcge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoNDhweCk7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC41KTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczk2MCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMi41KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgd2lkdGg6IDIyJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jb29raWVzLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjLW5ldXRybzIwMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbmV1dHJvMzAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogJGMtbWFpbjUwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogc3BhY2UoMC43NSkgMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogLTI7XG5cbiAgICAmLS1zdGF0ZS12aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgei1pbmRleDogMTQ7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDAuNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczk2MCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNlKDAuNSk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoMCk7XG4gICAgICAgIG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczQ4MCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogc3BhY2UoMC4yNSk7XG4gICAgICAgIHRvcDogc3BhY2UoMC4yNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczk2MCkge1xuICAgICAgICAgICAgcmlnaHQ6IHNwYWNlKDAuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAudS1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxM3B4KTtcblxuICAgICAgICAgICAgZmlsbDogJGMtbWFpbjMwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItaWQtcGF0dGVybiAqL1xuYSNDeWJvdENvb2tpZWJvdERpYWxvZ0JvZHlMZXZlbEJ1dHRvbkxldmVsT3B0aW5EZWNsaW5lQWxsLFxuYSNDeWJvdENvb2tpZWJvdERpYWxvZ0JvZHlMZXZlbEJ1dHRvbkxldmVsT3B0aW5BbGxvd2FsbFNlbGVjdGlvbixcbmEjQ3lib3RDb29raWVib3REaWFsb2dCb2R5TGV2ZWxCdXR0b25MZXZlbE9wdGluQWxsb3dBbGwge1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItaWQtcGF0dGVybiAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggcmdiYSgkYy1tYWluNTAwLCAwLjQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjLW1haW41MDAgIWltcG9ydGFudDtcbn1cbiIsIi5kb3dubG9hZC1maWxlIHtcbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVsYXRlZCB7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDMpIDAgc3BhY2UoMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMykgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0X19yZWxhdGVkICsgJixcbiAgICAgICAgLnZpZGVvcyArICYge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIHVsLFxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDAuNSk7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDAuNSkgc3BhY2UoMC41KSBzcGFjZSgwLjUpIHNwYWNlKDIuMjUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKDAuNzUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1maWxlIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDI0cHgpO1xuXG4gICAgICAgIGZpbGw6ICRjLWNvbXBsZW1lbnRhcnkxMDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMC41KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczc2OCkge1xuICAgICAgICAgICAgbGVmdDogc3BhY2UoMC41KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogc3BhY2UoMC42NSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWFycm93IHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDE2cHgpO1xuXG4gICAgICAgIGZpbGw6ICRjLWNvbXBsZW1lbnRhcnkxMDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgwLjI1KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2l0ZW0tbGFiZWwge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogJGMtbmV1dHJvNDAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICB9XG5cbiAgICAmX19pdGVtLWhlYWRlciB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi52aWRlby1nYWxsZXJ5IHtcbiAgICAmX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG5cbiAgICAgICAgLnUtaWNvbiB7XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIHNwYWNlKDAuMjUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTJweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczc2OCkge1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMC41KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlscyAudmlkZW8tZ2FsbGVyeV9fdGh1bWJuYWlscy1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHM3NjgpIHtcbiAgICAgICAgICAgICYgKyAudmlkZW8tZ2FsbGVyeV9fdGh1bWJuYWlscy1pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29sdW1ucygzLCAwLjUpO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW5ldXRybzMwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCAkYy1ncmFkaWVudGJsdWUyMDAgMCUsICRjLW1haW4zMDAgMTAwJSk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tYWluMjAwO1xuICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAudmlkZW8tZ2FsbGVyeV9faW1hZ2UtbWFpbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICAgICAgLnZpZGVvLWdhbGxlcnlfX2ltYWdlLW1haW4ge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHM3NjgpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsICRjLWdyYWRpZW50Ymx1ZTIwMCAwJSwgJGMtbWFpbjMwMCAxMDAlKTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMC42MjUpO1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMC41KSBzcGFjZSgwLjUpIHNwYWNlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygyNCwgOSwgaW1nKTtcblxuICAgICAgICAudS1pY29uIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgICAgICBmaWxsOiAkYy1ibGFjaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTYsIDksIGltZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubm90LWZvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tYWluMzAwIHVybChcIi9hc3NldHMvaW1nL2JpbGxib2FyZC1iZy1sLmpwZ1wiKSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IHNwYWNlKDEuNzUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgbWluLWhlaWdodDogODJ2aDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczQ4MCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM5NjApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMxMjgwKSB7XG4gICAgICAgICAgICByaWdodDogMTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGNvbHVtbi1nYXA6IHNwYWNlKDIpO1xuICAgICAgICBjb2x1bW5zOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2UoKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNDgwKSB7XG4gICAgICAgICAgICBjb2x1bW5zOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC43NSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM0ODApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmhvbWUge1xuICAgICZfX2Jhbm5lci1wb29sIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM0ODApIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlua3MsXG4gICAgJl9fdmlkZW9zIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmV1dHJvMTAwO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgyLjUpIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMykgMCBzcGFjZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDIpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4d2lkdGgoOTYwcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDIuNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoMi41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Jsb2dwb3N0cyB7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDIuNSkgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgzKSAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvb2tpZXMge1xuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC41KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgzLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW5ldXRybzQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgyKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm1fX2ZpZWxkLS1pbmxpbmUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYWZ0ZXItc2FsZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5ldXRybzEwMDtcbiAgICBwYWRkaW5nLXRvcDogc3BhY2UoMik7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKCk7XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkYy1uZXV0cm8yMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDEuMjUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMC41KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxLjUpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDAuNzUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkYy1uZXV0cm80MDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgwLjI1KTtcbiAgICB9XG5cbiAgICAmX19ibG9jazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudS13eXNpd3lnLS1jaGVjay1idWxsZXRzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjLW5ldXRybzIwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoKTtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMC43NSk7XG4gICAgICAgIH1cblxuICAgICAgICAuZGlzY2xhaW1lciB7XG4gICAgICAgICAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgJiAuZm9ybV9fZmllbGQ6bm90KC5mb3JtX19maWVsZC0taW5saW5lKSB7XG4gICAgICAgIGlucHV0OmZvY3VzLFxuICAgICAgICBpbnB1dFthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSxcbiAgICAgICAgdGV4dGFyZWE6Zm9jdXMsXG4gICAgICAgIHRleHRhcmVhW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdLFxuICAgICAgICBzZWxlY3Q6Zm9jdXMsXG4gICAgICAgIGlucHV0W2FyaWEtaW52YWxpZD1cInRydWVcIl0sXG4gICAgICAgIHNlbGVjdFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLFxuICAgICAgICB0ZXh0YXJlYVthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLFxuICAgICAgICBzZWxlY3RbYXJpYS1pbnZhbGlkPVwiZmFsc2VcIl0ge1xuICAgICAgICAgICAgJiB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Q6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybV9fZmllbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wb2xpY3kge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tzIHtcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbXMoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdGhlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgxLjI1KTtcblxuICAgICAgICAmLmlzLW9wZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kaWZmZXJlbnQtYWRkcmVzcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoI3skZm9ybS1tYXJnaW59ICsgI3tzcGFjZSgwLjUpfSk7XG5cbiAgICAgICAgJi5pcy1vcGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogJGMtbWFpbjUwMDtcblxuICAgICAgICBzcGFuLFxuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICBjb2xvcjogJGMtbmV1dHJvNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2FkaW5nIHtcbiAgICAgICAgY29sb3I6ICRjLWNvbXBsZW1lbnRhcnkxMDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgwLjI1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM2NDApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS40cztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBibGluaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZ2V0LXJlbXMoMjBweCk7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG59XG4iLCIuekVXaWRnZXQtbGF1bmNoZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/