/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
:root {
  --phone-width: 576px;
  --tablet-width: 768px;
  --desktop-width: 1112px;
  --desktop-width-sm: 1024px;
  --desktop-width-m: 1280px;
  --desktop-width-l: 1440px;
  --desktop-width-xl: 1640px;
  --desktop-width-1920: 1920px;
  --content-width: var(--desktop-width-m);
  --blog-width: 760px;
  --page-gutter: 20px;
  --grid-gutter: 24px;
  --base-transition: .3s;
  --vertical-gap: 6vmin;
}
@media (max-width: 1112px) {
  :root {
    --vertical-gap: 20px;
    --page-gutter: 15px;
    --content-width: var(--tablet-width);
  }
}
@media (min-width: 1113px) and (max-width: 1440px) {
  :root {
    --content-width: var(--desktop-width-sm);
  }
}

/* Typography */
@font-face {
  font-family: "FixelDisplay";
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url("../../../fonts/FixelDisplay/FixelDisplay-Light.woff2") format("woff2");
}
@font-face {
  font-family: "FixelDisplay";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../../../fonts/FixelDisplay/FixelDisplay-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "FixelDisplay";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("../../../fonts/FixelDisplay/FixelDisplay-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "FixelDisplay";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("../../../fonts/FixelDisplay/FixelDisplay-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "FixelDisplay";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("../../../fonts/FixelDisplay/FixelDisplay-Bold.woff2") format("woff2");
}
/* 1rem = 10px */
html {
  font-size: 50%;
}
@media (min-width: 1281px) {
  html {
    font-size: 58%;
  }
}
@media (min-width: 1441px) {
  html {
    font-size: 62.5%;
  }
}

.is-wysiwyg,
.wp-editor {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.is-wysiwyg br,
.wp-editor br {
  content: "";
  display: block;
  line-height: 4.6rem;
  margin-bottom: 0.8rem;
}
.is-wysiwyg.-fashion h1,
.is-wysiwyg.-fashion h2,
.is-wysiwyg.-fashion h3,
.is-wysiwyg.-fashion h4,
.is-wysiwyg.-fashion h5,
.wp-editor.-fashion h1,
.wp-editor.-fashion h2,
.wp-editor.-fashion h3,
.wp-editor.-fashion h4,
.wp-editor.-fashion h5 {
  text-transform: uppercase;
}
.is-wysiwyg a:not(.woo-button, .cta-button),
.wp-editor a:not(.woo-button, .cta-button) {
  color: inherit;
  font-size: 1.6rem;
  font-weight: 600;
}
.is-wysiwyg a:not(.woo-button, .cta-button):focus,
.wp-editor a:not(.woo-button, .cta-button):focus {
  color: inherit;
}
.is-wysiwyg a:not(.woo-button, .cta-button).-accent-link,
.wp-editor a:not(.woo-button, .cta-button).-accent-link {
  color: var(--color-haki);
}
.is-wysiwyg a:not(.woo-button, .cta-button).-accent-link:focus, .is-wysiwyg a:not(.woo-button, .cta-button).-accent-link:hover,
.wp-editor a:not(.woo-button, .cta-button).-accent-link:focus,
.wp-editor a:not(.woo-button, .cta-button).-accent-link:hover {
  filter: saturate(70%);
}
.is-wysiwyg h1,
.is-wysiwyg .h1,
.wp-editor h1,
.wp-editor .h1 {
  font-size: clamp(4rem, 4.2vw, 7.2rem);
  font-weight: 600;
  line-height: normal;
}
.is-wysiwyg h2,
.is-wysiwyg .h2,
.wp-editor h2,
.wp-editor .h2 {
  font-size: clamp(3.6rem, 5vw, 4rem);
  font-weight: 600;
}
.is-wysiwyg h2.h2-small,
.is-wysiwyg .h2.h2-small,
.wp-editor h2.h2-small,
.wp-editor .h2.h2-small {
  font-size: clamp(2.4rem, 5vw, 4rem);
}
.is-wysiwyg h3,
.is-wysiwyg .h3,
.wp-editor h3,
.wp-editor .h3 {
  font-size: clamp(2.4rem, 5vw, 3.2rem);
  line-height: 1.2;
  font-weight: 600;
}
.is-wysiwyg h4,
.is-wysiwyg .h4,
.wp-editor h4,
.wp-editor .h4 {
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.2;
}
.is-wysiwyg h5,
.is-wysiwyg .h5,
.wp-editor h5,
.wp-editor .h5 {
  font-size: 1.8rem;
  font-weight: 600;
  text-transform: uppercase;
}
.is-wysiwyg h6,
.is-wysiwyg .h6,
.wp-editor h6,
.wp-editor .h6 {
  font-size: clamp(1.6rem, 5vw, 1.8rem);
  line-height: 1.2;
}
.is-wysiwyg .m-8,
.wp-editor .m-8 {
  margin-bottom: 8px;
}
.is-wysiwyg .m-16,
.wp-editor .m-16 {
  margin-bottom: 1.6rem;
}
.is-wysiwyg .m-32,
.wp-editor .m-32 {
  margin-bottom: 3.2rem;
}
.is-wysiwyg strong,
.wp-editor strong {
  font-weight: 600;
}
.is-wysiwyg ul,
.wp-editor ul {
  padding-left: 2rem;
  list-style: disc;
  font-size: 1.6rem;
}
.is-wysiwyg ol,
.wp-editor ol {
  padding-left: 2rem;
  font-size: 1.6rem;
}
.is-wysiwyg p,
.wp-editor p {
  font-size: clamp(1.6rem, 2.5vw, 1.6rem);
}
.is-wysiwyg p b,
.wp-editor p b {
  font-weight: 600;
}
.is-wysiwyg p.h1-subtitler,
.wp-editor p.h1-subtitler {
  font-size: clamp(1.6rem, 2.5vw, 2.4rem);
  color: var(--text-grey);
  font-weight: 300;
}
.is-wysiwyg p span.subtitle,
.wp-editor p span.subtitle {
  font-size: clamp(1.6rem, 2vw, 2.4rem);
}
.is-wysiwyg .separator,
.wp-editor .separator {
  height: 0.1rem;
  width: 100%;
  background-color: var(--color-grey);
  margin: 3.2rem 0;
}
.is-wysiwyg img,
.wp-editor img {
  display: inline-block;
  vertical-align: middle;
  margin: 0 1.6rem 0 0;
}
.is-wysiwyg .woo-button,
.wp-editor .woo-button {
  margin-top: 1.6rem;
}
.is-wysiwyg .accent-block,
.wp-editor .accent-block {
  border: 0.1rem solid var(--color-grey);
  background-color: #fbfbfb;
  padding: clamp(1.6rem, 2vw, 2.4rem);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.is-wysiwyg .buttons-row,
.wp-editor .buttons-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3.2rem;
}
.is-wysiwyg .icon-text-row,
.wp-editor .icon-text-row {
  display: flex;
  gap: 1.6rem;
  align-items: center;
}
.is-wysiwyg .icon-text-row img,
.wp-editor .icon-text-row img {
  margin: 0;
}
@media (max-width: 574px) {
  .is-wysiwyg .buttons-row,
  .wp-editor .buttons-row {
    gap: 1.6rem;
  }
  .is-wysiwyg .buttons-row a,
  .is-wysiwyg .buttons-row button,
  .wp-editor .buttons-row a,
  .wp-editor .buttons-row button {
    width: 100%;
  }
}

.error404 {
  padding-top: var(--header-height);
}

.page-404 {
  margin-bottom: var(--section-padding);
  padding: 0;
}
.page-404 .wrapper {
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
}
.page-404 .wrapper .is-wysiwyg {
  padding: 0 1.6rem;
  align-items: center;
  text-align: center;
}
.page-404 .wrapper .is-wysiwyg h1.mega-text {
  font-size: clamp(8.6rem, 7vw, 12.8rem);
  color: var(--color-haki);
}
.page-404 .wrapper .is-wysiwyg p {
  max-width: 59rem;
}
.page-404 .wrapper .is-wysiwyg .cta-button {
  margin-top: 5.6rem;
}

:root {
  --admin-bar: 32px;
  --main-header-color: #fff;
}
@media (max-width: 767px) {
  :root {
    --admin-bar: 46px;
  }
}

header {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
header .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .logo {
  display: flex;
  width: 100%;
  max-width: 19rem;
  height: auto;
}
header .logo svg {
  width: 100%;
  height: auto;
}
header .logo svg path {
  fill: var(--color-black);
}
header .mobile-logo {
  max-width: 12.3rem;
}
header .mobile-logo path {
  fill: var(--color-black);
}
header .mobile-cart a {
  display: flex;
}
header .mobile-cart a img,
header .mobile-cart a svg {
  width: 2.4rem;
}
header.burger-active .header-top {
  background-color: var(--color-black);
}
header.burger-active svg path {
  fill: var(--color-white);
}
header.burger-active .mobile-cart.mobile svg path {
  fill: transparent;
}
header .header-top {
  background-color: var(--color-grey);
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 1.2rem;
  transition: background 0.1s ease-in;
}
header .header-top__links {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
header .header-top__links .nav-link {
  min-width: max-content;
  font-size: 1.4rem;
}
header .header-top__actions {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
header .header-top__actions .actions-socials {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
header .header-top__actions .actions-socials a {
  display: flex;
  width: 2.4rem;
  height: auto;
  aspect-ratio: 1/1;
  fill: transparent;
}
header .header-top__actions .actions-socials a svg path {
  transition: stroke 0.3s ease;
}
header .header-top__actions .actions-socials a:hover svg path {
  stroke: #000;
  transition: stroke 0.3s ease;
}
header .header-top__actions .actions-socials img {
  width: 100%;
}
header .header-top .language-switcher a {
  color: var(--color-black);
}
header .header-top .language-switcher .separator-v {
  background-color: var(--color-black);
}
header .header-main {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.4rem 1.6rem;
  transition: background 0.2s ease;
}
header .header-main.scrolled {
  background-color: var(--color-black);
  color: #fff;
}
header .header-main.scrolled .logo path {
  fill: #fff;
}
header .header-main.scrolled .categories-item a {
  color: #fff;
}
header .header-main__categories {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6.4rem;
}
header .header-main__categories .categories-item {
  padding: 2.4rem 0;
  font-size: clamp(1.2rem, 1.5vw, 1.8rem);
  text-transform: uppercase;
  color: var(--color-black);
}
header .header-main__actions {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
header .header-main__actions a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header-main__actions a svg {
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
}
header .header-main__actions a:hover svg {
  transform: scale(1.1);
  transition: transform 0.3s ease;
}
header .header-main__actions a .header-counter--wishlist {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  font-size: 0.8rem;
}
header .header-main__actions a .header-counter--cart {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-30%);
  font-size: 0.8rem;
}
header li {
  list-style: none;
}
header li::marker {
  content: "";
}
header li::-webkit-marker {
  content: "";
}
header .burger-button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.5rem;
  width: 4rem;
  height: 4rem;
  padding: 0.8rem;
  background-color: var(--color-haki);
  border: none;
  cursor: pointer;
  position: relative;
  z-index: 1000;
}
header .burger-button .line {
  display: block;
  height: 0.2rem;
  width: 100%;
  background-color: #fff;
  border-radius: 2px;
  transition: all 0.3s ease;
  transform-origin: center;
}
header .burger-button.burger-button-active .line1 {
  transform: translateY(7px) rotate(45deg);
}
header .burger-button.burger-button-active .line2 {
  opacity: 0;
}
header .burger-button.burger-button-active .line3 {
  transform: translateY(-7px) rotate(-45deg);
}
header .desktop {
  display: flex;
}
header .mobile {
  display: none;
}
@media (max-width: 1299px) {
  header {
    background-color: var(--color-grey);
  }
  header .header-main {
    padding: 1.6rem 1.6rem;
    border-top: 1px solid rgba(128, 128, 128, 0.3450980392);
    border-bottom: 1px solid rgba(128, 128, 128, 0.3450980392);
  }
  header .header-main .wrapper {
    justify-content: center;
  }
  header .header-main__categories {
    gap: 1.6rem;
  }
  header .header-main.scrolled {
    background-color: var(--color-grey);
  }
  header .header-main .categories-item {
    border-right: 1px solid rgba(128, 128, 128, 0.3450980392);
    padding: 0 1.6rem 0 0;
    text-align: center;
  }
  header .header-main .categories-item a {
    color: #000 !important;
  }
  header .header-main .categories-item:last-child {
    border-right: none;
    padding: 0;
  }
  header .header-top {
    background-color: transparent;
  }
  header .header-top .language-switcher a {
    color: var(--color-black);
  }
  header .header-top .language-switcher .separator-v {
    background-color: var(--color-black);
  }
  header .desktop {
    display: none;
  }
  header .mobile {
    display: flex;
  }
}

.burger-menu {
  position: fixed;
  z-index: 200;
  top: var(--first-nav-height);
  right: -100%;
  width: 100%;
  height: calc(100% - var(--first-nav-height));
  background-color: var(--color-black);
  transition: right 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.burger-menu.active {
  right: 0;
}
.burger-menu__wrapper {
  display: flex;
  justify-content: flex-end;
}
.burger-menu__content {
  width: 100%;
  max-width: 100%;
}
.burger-menu__content .search {
  padding: 2.4rem 1.6rem 1.6rem 1.6rem;
}
.burger-menu__content .categories {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 0.1rem solid var(--color-trans-black);
}
.burger-menu__content .categories .categories-item {
  border-bottom: 0.1rem solid var(--color-trans-black);
}
.burger-menu__content .categories .categories-item .item-name {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.4rem 1.6rem;
  cursor: pointer;
}
.burger-menu__content .categories .categories-item .item-name h3 {
  font-size: 1.4rem;
  margin: 0;
}
@media (max-width: 1299px) {
  .burger-menu__content .categories .categories-item .item-name h3 {
    font-size: 2rem;
    text-transform: uppercase;
  }
}
@media (max-width: 1299px) {
  .burger-menu__content .categories .categories-item .item-name a {
    font-size: 2rem;
    text-transform: uppercase;
  }
}
.burger-menu__content .categories .categories-item .item-name .cross {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
}
.burger-menu__content .categories .categories-item .item-name .cross span {
  position: absolute;
  background: var(--color-haki);
  width: 100%;
  height: 0.2rem;
  top: 50%;
  left: 0;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.burger-menu__content .categories .categories-item .item-name .cross .y {
  transform: rotate(90deg);
}
.burger-menu__content .categories .categories-item .item-name.active .cross .y {
  transform: rotate(0deg);
}
.burger-menu__content .categories .categories-item .item-content {
  display: none;
  background-color: var(--color-white);
}
.burger-menu__content .categories .categories-item .item-content .subcategory-item {
  font-size: 1.6rem;
  font-weight: 600;
  padding: 1.6rem;
  border-bottom: 0.1rem solid rgba(128, 128, 128, 0.137254902);
}
.burger-menu__content .categories .categories-item .item-content .subcategory-item:hover {
  background-color: var(--color-beige);
}
@media (max-width: 1299px) {
  .burger-menu__content .categories .categories-item .item-content .subcategory-item a {
    font-size: 1.6rem;
  }
}
.burger-menu__content .footer {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 2.4rem 1.6rem 5.2rem 1.6rem;
}
.burger-menu__content .footer .links {
  display: flex;
  flex-wrap: wrap;
  row-gap: 3.2rem;
  column-gap: 5rem;
}
@media screen and (max-width: 1300px) {
  .burger-menu__content .footer .links {
    display: block;
    columns: 2;
  }
}
.burger-menu__content .footer .links a {
  color: #fff;
  font-size: 1.4rem;
  flex: 1 1 14rem;
  width: max-content;
}
@media screen and (max-width: 1300px) {
  .burger-menu__content .footer .links a {
    margin-bottom: 1rem;
    display: block;
  }
}
.burger-menu__content .footer .contacts {
  display: flex;
  align-items: center;
  gap: 5rem;
  justify-content: space-between;
}
.burger-menu__content .footer .contacts a {
  flex: 1;
  color: #fff;
}
.burger-menu__content .footer .contacts ul {
  flex: 1;
  fill: transparent;
}

body.has-light-header header {
  background-color: var(--color-grey) !important;
}
body.has-light-header header.burger-active .mobile-cart svg {
  color: #fff;
}
body.has-light-header header.burger-active .header-top {
  background-color: var(--color-black);
}
body.has-light-header header.burger-active .header-top .language-switcher .separator-v {
  background-color: var(--color-white);
}
body.has-light-header header.burger-active .header-top .language-switcher a {
  color: var(--color-white);
}
body.has-light-header header:not(.burger-active) .header-top {
  background-color: var(--color-grey) !important;
}
body.has-light-header header:not(.burger-active) .header-top .logo path {
  fill: var(--color-black);
}
body.has-light-header header:not(.burger-active) .header-top .language-switcher .separator-v {
  background-color: var(--color-black);
}
body.has-light-header header:not(.burger-active) .header-top .language-switcher a {
  color: var(--color-black);
}
body.has-light-header header .header-main {
  background-color: var(--color-grey) !important;
}
body.has-light-header header .header-main .logo path {
  fill: var(--color-black);
}
body.has-light-header header .header-main__actions svg path {
  stroke: #fff;
}
body.has-light-header header .header-main .categories-item {
  color: var(--color-black);
}
body.has-light-header header .header-main .categories-item .sub-menu a {
  color: var(--color-black);
}
@media (min-width: 1301px) {
  body.has-light-header header {
    background-color: transparent !important;
  }
  body.has-light-header header .header-main {
    background-color: transparent !important;
  }
  body.has-light-header header .header-main .logo path {
    fill: #fff;
  }
  body.has-light-header header .header-main .header-counter {
    color: #fff;
  }
  body.has-light-header header .header-main .categories-item a {
    color: #fff;
  }
  body.has-light-header header .header-main .categories-item a:hover {
    color: var(--color-haki);
  }
  body.has-light-header header .header-main.scrolled {
    background-color: var(--color-grey) !important;
    color: var(--color-black);
  }
  body.has-light-header header .header-main.scrolled .logo path {
    fill: #000;
  }
  body.has-light-header header .header-main.scrolled .header-counter {
    color: var(--color-black);
  }
  body.has-light-header header .header-main.scrolled .categories-item a {
    color: #000;
  }
  body.has-light-header header .header-main.scrolled .categories-item a:hover {
    color: var(--color-haki);
  }
  body.has-light-header header .header-main.scrolled .categories-item .sub-menu a:hover {
    color: #000;
  }
  body.has-light-header header .header-main.scrolled .language-switcher a {
    color: #000;
  }
  body.has-light-header header .header-main.scrolled .language-switcher a:hover {
    color: var(--color-haki);
  }
  body.has-light-header header .header-main.scrolled .language-switcher .separator-v {
    background-color: #000;
  }
  body.has-light-header header .header-main.scrolled .header-main__actions svg path {
    stroke: var(--color-black);
  }
  body.has-light-header header .header-main.scrolled .header-top .language-switcher a {
    color: #000;
  }
  body.has-light-header header .header-main.scrolled .header-top .language-switcher a:hover {
    color: var(--color-haki);
  }
  body.has-light-header header .header-main.scrolled .header-top .language-switcher .separator-v {
    background-color: #000;
  }
  body.has-light-header header .header-main.scrolled .header-top__links .nav-link {
    color: #000;
  }
  body.has-light-header header .header-main.scrolled .header-top__links .nav-link:hover {
    color: var(--color-haki);
  }
}
body .categories-item .sub-menu {
  position: absolute;
  bottom: 0;
  background: #fff;
  transform: translateY(90%);
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease;
}
@media (max-width: 1300px) {
  body .categories-item .sub-menu {
    display: none;
  }
}
body .categories-item .sub-menu li {
  padding: 0;
}
body .categories-item .sub-menu a {
  color: #000;
  text-transform: none;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 1.6rem;
  display: block;
  border-bottom: 0.1rem solid rgba(128, 128, 128, 0.137254902);
  transition: background-color 0.3s ease;
}
body .categories-item .sub-menu a:hover {
  background-color: var(--color-beige);
  transition: background-color 0.3s ease;
}
body .categories-item.menu-item-has-children {
  position: relative;
}
body .categories-item.menu-item-has-children:hover > a {
  color: var(--color-haki);
}
body .categories-item.menu-item-has-children:hover .sub-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(100%);
  transition: all 0.3s ease;
}
body .search-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  margin: auto;
  width: 100vw;
  max-width: calc(var(--container-max-width) - 40rem);
  background: #ededed;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
body .search-dropdown svg path {
  stroke: #7a7953 !important;
}
body .search-dropdown.active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
body .search-dropdown .content-product__item .info .actions {
  display: none;
}
body .search-dropdown__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0 1.6rem;
  border-bottom: 1px solid #e5e5e5;
  background: #fff;
}
body .search-dropdown__input-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
}
body .search-dropdown__icon {
  width: 2rem;
  height: 2rem;
  color: #7a7953;
  flex-shrink: 0;
}
body .search-dropdown__input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 1.6rem;
  color: #000;
  background: transparent;
  padding: 1.6rem;
}
body .search-dropdown__input::placeholder {
  color: #999;
}
body .search-dropdown__close {
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7a7953;
  transition: opacity 0.3s ease;
}
body .search-dropdown__close:hover {
  opacity: 0.7;
}
body .search-dropdown__close svg {
  width: 2rem;
  height: 2rem;
}
body .search-dropdown__results {
  max-height: 60rem;
  overflow-y: auto;
}
body .search-dropdown__empty, body .search-dropdown__loading, body .search-dropdown__error {
  padding: 3rem 1.6rem;
  text-align: center;
  color: #999;
  font-size: 1.4rem;
}
body .search-dropdown__products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.2rem;
  padding: 4rem 4rem 3.2rem 4rem;
}
body .search-dropdown__products .content-product__item {
  margin: 0;
  width: 100%;
}
body .search-dropdown__footer {
  padding: 0 1.6rem 4rem 1.6rem;
  text-align: center;
  display: flex;
  justify-content: center;
}
body .search-dropdown__show-all {
  display: inline-block;
  padding: 1.2rem 2.4rem;
  background: #7a7953;
  color: #fff;
  text-decoration: none;
  font-size: 1.8rem;
  font-weight: 600;
  text-transform: uppercase;
  transition: background 0.3s ease;
}
body .search-dropdown__show-all:hover {
  background: #5a5943;
}

.site-footer {
  background-color: var(--color-black);
  padding: clamp(4rem, 6vw, 8rem) 1.6rem 4rem 1.6rem;
}
.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer .socials-list {
  fill: transparent;
}
.site-footer .socials-list svg path {
  stroke: #fff;
  transition: all 0.3s ease;
}
.site-footer .socials-list a:hover svg path {
  stroke: var(--color-haki);
  transition: all 0.3s ease;
}
.site-footer .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4.8rem;
  flex-wrap: wrap;
}
.site-footer a {
  color: #fff;
  font-size: 1.4rem;
}
.site-footer a:hover {
  text-decoration: underline;
}
.site-footer__links {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  flex-wrap: wrap;
}
.site-footer__links .logo {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  max-width: 24rem;
  font-size: 1.4rem;
  font-weight: 300;
}
.site-footer__links .logo img {
  max-width: 19.8rem;
}
.site-footer__links .footer-column {
  columns: 2;
  display: block;
}
.site-footer__links .footer-column > li {
  margin: 1rem 2rem;
}
.site-footer__links .footer-column .link-item a {
  font-size: 1.4rem;
  color: #fff;
}
@media (max-width: 574px) {
  .site-footer__links {
    gap: 0;
  }
  .site-footer__links .footer-column {
    flex: 0 0 auto;
    gap: 0;
    width: 100%;
  }
  .site-footer__links .footer-column .link-item {
    width: 100%;
    padding: 1.6rem 0;
    border-bottom: 1px solid rgba(128, 128, 128, 0.3647058824);
  }
}
.site-footer__actions {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  font-size: 1.4rem;
}
.site-footer__actions .contacts {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.site-footer__actions .contacts a {
  min-width: max-content;
}
@media (max-width: 574px) {
  .site-footer .logo {
    margin-bottom: 2.4rem;
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

.woocommerce .thumbnails img,
.woocommerce-page .thumbnails img {
  width: 100%;
}

body.modal-open {
  overflow: hidden;
}

.modal-overlay {
  position: fixed;
  top: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  padding: 2.4rem;
}
.modal-overlay .loader-wrapper {
  display: flex;
}
.modal-overlay .modal {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% - 3.2rem);
  max-width: 70.2rem;
  overflow: hidden;
  transform: translateX(-50%) translateY(-50%);
}
.modal-overlay .modal__content {
  background: #fff;
  margin: auto;
  width: 100%;
  padding: 4.8rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.modal-overlay .modal__content .header {
  display: flex;
  width: 100%;
  justify-content: space-between;
  height: fit-content;
}
.modal-overlay .modal__content .header h3 {
  text-transform: uppercase;
  color: var(--color-black);
  min-width: 28rem;
}
.modal-overlay .modal__content .header .modal__close {
  display: flex;
  background-color: transparent;
  width: 4rem;
  height: 4rem;
  min-width: 4rem;
  border: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.modal-overlay .modal__content .header .modal__close svg {
  width: 100%;
  height: auto;
}
.modal-overlay .modal__content .facts-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.modal-overlay .modal__content .facts-list h4 {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-darkgrey);
}
.modal-overlay .modal__content .facts-list .list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  list-style: none;
}
.modal-overlay .modal__content .facts-list .list li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem;
  font-size: 1.4rem;
  border-radius: 0.4rem;
  border: 1px solid var(--color-beige);
}
.modal-overlay .modal__content .facts-list .list li .icon {
  width: 3.6rem;
  height: 3.6rem;
  background-color: #EFF0FF;
  border-radius: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-overlay .modal__content .facts-list .list li .icon img {
  width: 2rem;
}
.modal-overlay .modal__content .accordion-tabs {
  gap: 3.2rem;
  border: none;
}
.modal-overlay .modal__content .accordion-tabs__item {
  border: 1px solid rgba(128, 128, 128, 0.125);
}
@media (max-width: 574px) {
  .modal-overlay {
    border: 0.1rem solid var(--color-beige);
    background-color: #FDFDFD;
    padding: 1.2rem;
  }
  .modal-overlay .modal {
    position: static;
    transform: none;
    width: 100%;
  }
  .modal-overlay .modal__content {
    overflow-y: scroll;
    padding: 1.6rem;
    border: 1px solid var(--color-beige);
  }
  .modal-overlay .modal__content .header {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 0;
  }
  .modal-overlay .modal__content .header img {
    width: 100%;
    max-width: 20rem;
  }
  .modal-overlay .modal__content .header .modal__close {
    position: static;
  }
}

body.mini-cart-open {
  overflow: hidden;
}

.mini-cart-overlay {
  position: fixed;
  top: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  padding: 2.4rem;
}
.mini-cart-overlay .loader-wrapper {
  display: flex;
}
.mini-cart-overlay .widget_shopping_cart_content {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% - 3.2rem);
  max-width: 70.2rem;
  overflow: hidden;
  transform: translateX(-50%) translateY(-50%);
}
.mini-cart-overlay .mini-cart__content {
  background: #fff;
  margin: auto;
  width: 100%;
  padding: 4.8rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.mini-cart-overlay .mini-cart__content .header {
  display: flex;
  width: 100%;
  justify-content: space-between;
  height: fit-content;
}
.mini-cart-overlay .mini-cart__content .header h3 {
  text-transform: uppercase;
  color: var(--color-black);
  min-width: 32rem;
}
.mini-cart-overlay .mini-cart__content .header .mini-cart__close {
  display: flex;
  background-color: transparent;
  width: 4rem;
  height: 4rem;
  border: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.mini-cart-overlay .mini-cart__content .header .mini-cart__close svg {
  width: 100%;
  height: auto;
}
.mini-cart-overlay .mini-cart__content .cart-full__product-item {
  height: fit-content;
}
.mini-cart-overlay .mini-cart__footer {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  flex-wrap: wrap;
}
.mini-cart-overlay .mini-cart__footer * {
  flex: 1;
}
@media (max-width: 574px) {
  .mini-cart-overlay {
    border: 0.1rem solid var(--color-beige);
    padding: 1.2rem;
  }
  .mini-cart-overlay .mini-cart {
    position: static;
    transform: none;
    width: 100%;
  }
  .mini-cart-overlay .mini-cart__content {
    overflow-y: scroll;
    padding: 1.6rem;
    border: 1px solid var(--color-beige);
  }
  .mini-cart-overlay .mini-cart__content .header {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 0;
  }
  .mini-cart-overlay .mini-cart__content .header img {
    width: 100%;
    max-width: 20rem;
  }
  .mini-cart-overlay .mini-cart__content .header .mini-cart__close {
    position: static;
  }
}

body.side-cart-open, body.slide-cart-open {
  overflow: hidden;
}

.slide-cart-overlay {
  position: fixed;
  top: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  padding: 2.4rem;
}
.slide-cart-overlay .loader-wrapper {
  display: flex;
}
.slide-cart-overlay .widget_side_cart_content {
  height: 100%;
}
.slide-cart-overlay .side-cart {
  height: 100%;
}
.slide-cart-overlay .side-cart__content {
  background: #fff;
  margin: auto;
  height: 100%;
  width: 100%;
  overflow: hidden;
  padding: 4.8rem clamp(1.6rem, 3vw, 4.8rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3.2rem;
}
.slide-cart-overlay .side-cart__content .header {
  display: flex;
  width: 100%;
  justify-content: space-between;
  height: fit-content;
}
.slide-cart-overlay .side-cart__content .header h3 {
  text-transform: uppercase;
  color: var(--color-black);
  min-width: 32rem;
}
.slide-cart-overlay .side-cart__content .header .side-cart__close {
  display: flex;
  background-color: transparent;
  width: 4rem;
  height: 4rem;
  border: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.slide-cart-overlay .side-cart__content .header .side-cart__close svg {
  width: 100%;
  height: auto;
}
.slide-cart-overlay .side-cart__content .cart-full__product-item {
  height: fit-content;
}
.slide-cart-overlay .side-cart__block {
  display: flex;
  flex-direction: column;
  gap: clamp(1.6rem, 3vw, 3.2rem);
}
.slide-cart-overlay .side-cart__product-list {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 2vw, 1.6rem);
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.slide-cart-overlay .side-cart__product-list .empty-products {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.slide-cart-overlay .side-cart__footer {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  flex-wrap: wrap;
}
.slide-cart-overlay .side-cart__footer * {
  flex: 1;
}
@media (max-width: 574px) {
  .slide-cart-overlay {
    border: 0.1rem solid var(--color-beige);
    padding: 1.2rem;
  }
  .slide-cart-overlay .side-cart {
    position: static;
    transform: none;
    width: 100%;
  }
  .slide-cart-overlay .side-cart__content {
    overflow-y: scroll;
    padding: 1.6rem;
    border: 1px solid var(--color-beige);
  }
  .slide-cart-overlay .side-cart__content .header {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 0;
  }
  .slide-cart-overlay .side-cart__content .header img {
    width: 100%;
    max-width: 20rem;
  }
  .slide-cart-overlay .side-cart__content .header .side-cart__close {
    position: static;
  }
}

.slide-cart-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  pointer-events: none;
}
.slide-cart-overlay.is-visible {
  pointer-events: auto;
}
.slide-cart-overlay.is-visible .slide-cart__backdrop {
  opacity: 0.6;
}
.slide-cart-overlay.is-visible .slide-cart__panel {
  transform: translateX(0);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.1);
}
.slide-cart-overlay .slide-cart__backdrop {
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.slide-cart-overlay .slide-cart__panel {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 70rem;
  width: 100%;
  height: 100%;
  background: #fff;
  transform: translateX(100%);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.slide-cart-overlay .slide-cart__loader {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.4rem;
}
.slide-cart-overlay .slide-cart__body {
  flex: 1;
  overflow-y: auto;
  width: 100%;
  max-width: 70rem;
}
@media (max-width: 766px) {
  .slide-cart-overlay .slide-cart__panel {
    width: min(90vw, 38rem);
  }
}
@media (max-width: 574px) {
  .slide-cart-overlay .slide-cart__panel {
    width: 100%;
  }
}

.cta-button {
  display: flex;
  border: none;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 1.8rem 2.4rem;
  width: fit-content;
  font-weight: 500;
  font-size: 1.8rem;
  transition: filter 0.1s ease-in;
  text-transform: uppercase;
}
.cta-button.-haki {
  background-color: var(--color-haki);
  color: white;
}
.cta-button.-black {
  background-color: var(--color-black);
  color: #fff;
}
.cta-button.-full {
  width: 100%;
}
.cta-button.-upper {
  text-transform: uppercase;
}
.cta-button:hover {
  filter: saturate(40%);
}

:root {
  --form-text-size: clamp(1.4rem, 2vw, 1.6rem);
}

.search-field {
  position: relative;
  display: block;
  width: 100%;
  height: 4.8rem;
  border: 1px solid var(--color-trans-black);
  background: var(--field);
}
.search-field .icon {
  position: absolute;
  left: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  color: var(--color-white);
  pointer-events: none;
}
.search-field input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  padding-left: 4.5rem;
  background: transparent;
  color: var(--color-white);
  font-size: 1.6rem;
  outline: none;
  -webkit-appearance: none;
}
.search-field input::placeholder {
  color: var(--color-white);
}
.search-field:focus-within {
  border-color: var(--focus);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.default-form {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.default-form.with-success .success-message {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-grey);
  width: 100%;
  height: 100%;
  z-index: 20;
}
.default-form.with-success .success-message__inner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  padding: 4.8rem;
  transform: translateX(-50%) translateY(-50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  text-align: center;
}
.default-form.with-success .success-message__icon {
  width: 6.4rem;
  height: auto;
}
.default-form.with-success .success-message__title {
  color: var(--color-haki);
  font-size: 2.4rem;
  text-transform: none;
}
.default-form.with-success .success-message__description {
  color: var(--color-black);
  font-size: var(--form-text-size);
}
.default-form .iti {
  width: 100%;
}
.default-form .iti__flag-container .iti__selected-flag {
  background-color: var(--color-darkwhite) !important;
  transition: background-color 0.2s ease;
  border-radius: 0.6rem;
}
.default-form .iti__flag-container .iti__selected-dial-code {
  font-size: 1.6rem;
}
.default-form .iti__flag-container:hover .iti__selected-flag {
  background-color: var(--color-beige);
}
.default-form .cta-button {
  width: 100%;
}
.default-form .file-upload {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}
.default-form .file-upload .actions {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  width: 100%;
}
.default-form .file-upload .upload-btn {
  display: flex;
  width: fit-content;
  background: var(--color-grey);
  padding: 0.8rem 3rem 0.8rem 1.6rem;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.2s;
}
.default-form .file-upload .upload-btn span {
  display: flex;
  align-items: center;
  font-size: var(--form-text-size);
  gap: 0.8rem;
  white-space: nowrap;
}
.default-form .file-upload .upload-btn:hover {
  background: #e3e3dc;
}
.default-form .file-upload .file-previews {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.default-form .file-upload .file-previews .file-item {
  flex: 1 0 6rem;
  aspect-ratio: 1/1;
  height: auto;
  position: relative;
}
.default-form .file-upload .file-previews .file-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid #ccc;
}
.default-form .file-upload .file-previews .remove {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  border-radius: 50%;
  padding: 2px 6px;
  font-size: 12px;
}
.default-form .file-upload .add-more-files {
  background: none;
  border: none;
  width: fit-content;
  color: #8b8b6f;
  cursor: pointer;
  font-weight: 500;
}

.default-input {
  display: flex;
  padding: 1.8rem 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  background-color: #fbfbfb;
  border: 1px solid var(--color-grey);
  width: 100%;
  transition: all 0.1s ease-in;
}
.default-input::placeholder {
  color: var(--color-black);
}
.default-input:focus {
  outline: 1px solid var(--color-haki);
}

.thin-input {
  display: flex;
  padding: 1.4rem 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  background-color: #fbfbfb;
  border: 1px solid var(--color-grey);
  width: 100%;
  transition: all 0.1s ease-in;
}
.thin-input::placeholder {
  color: var(--color-black);
}
.thin-input:focus {
  outline: 1px solid var(--color-haki);
}

.iti__selected-dial-code {
  font-size: 1.6rem;
}

.radio-label {
  display: flex;
  padding: 1.8rem 1.6rem;
  font-size: 1.6rem;
  background-color: #fbfbfb;
  border: 1px solid var(--color-grey);
  width: 100%;
  transition: all 0.1s ease-in;
}
.radio-label::placeholder {
  color: var(--color-black);
}
.radio-label:focus {
  outline: 1px solid var(--color-haki);
}
.radio-label label {
  padding-left: 3.4rem;
  position: relative;
}
.radio-label label:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  background: #fff;
  border: 1px solid var(--color-grey);
  transition: all 0.1s ease-out;
  z-index: 1;
}
.radio-label label:after {
  content: "";
  display: block;
  overflow: hidden;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--color-green);
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
  z-index: 2;
}
.radio-label .radio-label-input {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 3;
}
.radio-label .radio-label-input:checked + label:after {
  transform: scale(1);
}

.default-textarea {
  display: flex;
  padding: 1.8rem 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  min-width: 100%;
  height: 14rem;
  max-height: 16rem;
  background-color: #fbfbfb;
  border: 1px solid var(--color-grey);
  width: 100%;
  transition: all 0.1s ease-in;
}
.default-textarea::placeholder {
  color: var(--color-black);
}
.default-textarea:focus {
  outline: 1px solid var(--color-haki);
}

.default-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  width: 100%;
  cursor: pointer;
  min-width: max-content;
  background: var(--color-haki);
  border: none;
  color: #fff;
  transition: filter 0.1s ease;
  width: fit-content;
  padding: 1.4rem 2rem;
  height: fit-content;
  text-transform: uppercase;
  transition: filter 0.2s ease-in;
}
.default-submit:hover {
  filter: saturate(40%);
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(136, 84, 208, 0.5);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(136, 84, 208, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(136, 84, 208, 0);
  }
}
.rating {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 4px;
}

.rating input {
  display: none;
}

.rating label {
  cursor: pointer;
  width: 28px;
  height: 28px;
}

.rating label svg {
  width: 100%;
  height: 100%;
  stroke: #808080;
  stroke-width: 1.5;
  fill: none;
  transition: all 0.25s ease;
}

.rating label:hover svg,
.rating label:hover ~ label svg {
  stroke: #9e9e6f;
  fill: #9e9e6f;
}

.rating input:checked ~ label svg {
  stroke: #9e9e6f;
  fill: #9e9e6f;
}

.wpcf7-form {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.wpcf7-form .iti__flag-container .iti__selected-flag {
  background-color: var(--color-darkwhite) !important;
  transition: background-color 0.2s ease;
  border-radius: 0.6rem;
}
.wpcf7-form .iti__flag-container .iti__selected-dial-code {
  font-size: 1.6rem;
}
.wpcf7-form .iti__flag-container:hover .iti__selected-flag {
  background-color: var(--color-beige);
}
.wpcf7-form .cta-button {
  width: 100%;
  text-transform: uppercase;
}
.wpcf7-form label {
  font-size: 1.6rem;
  color: rgb(85, 85, 85);
}
.wpcf7-form .uacf7-form-wrapper-container {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.wpcf7-form .uacf7-form-wrapper-container .wpcf7-spinner {
  position: absolute;
  margin: 0 !important;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 4;
}
.wpcf7-form .wpcf7-response-output {
  display: none !important;
}

.wpcf7-form-control-wrap {
  display: flex;
  height: fit-content;
  flex-direction: column;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  background-color: var(--color-red);
  color: white;
  font-size: 1.2rem;
  text-align: center;
  transform: translateY(-0.4rem);
}

.select2-selection--single {
  font-size: 1.6rem !important;
  font-weight: 500;
  background-color: #fbfbfb !important;
  border: 1px solid var(--color-grey) !important;
  width: 100%;
  transition: all 0.1s ease-in;
  border-radius: 0 !important;
}

.select2-selection__rendered {
  padding: 1.4rem 1.6rem !important;
}

*,
*::after,
*::before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --color-black: #0a0a0a;
  --color-white: #fff;
  --color-grey: #ededed;
  --color-lightgrey: #fbfbfb;
  --color-beige: #ccccc2;
  --color-haki: #7a7953;
  --color-transparent: #7a795330;
  --color-darkgrey: #808080;
  --color-green: #589200;
  --color-red: #c10003;
  --color-trans-black: #80808050;
  --text-black: var(var(--color-black));
  --text-grey: var(--color-grey);
  --font-size: Max(10px, 0.521vw);
  --section-padding: clamp(10rem, 8vw, 14rem);
  --container-max-width: 160rem;
  --info-cards-padding: clamp(24px, 2.5vw, 4.8rem);
  --header-height: calc(15rem + 2.4rem);
  --default-transition: 0.2s;
}
@media (max-width: 1099px) {
  :root {
    --header-height: 11rem;
  }
}

html {
  font-size: var(--font-size);
}

body {
  font-family: "FixelDisplay", sans-serif;
}
body:not(.has-light-header) {
  background-color: var(--color-grey);
}
body.no-scroll {
  overflow: hidden;
}

.main-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

main {
  width: 100%;
}

section {
  position: relative;
  display: flex;
  align-items: center;
  height: auto;
  justify-content: center;
  padding: var(--section-padding) 1.6rem;
}
section .section-background,
section .block-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
section .section-background img,
section .section-background svg,
section .section-background video,
section .block-background img,
section .block-background svg,
section .block-background video {
  width: 100%;
  height: 100%;
  object-position: 50% 50%;
  object-fit: cover;
}
section .block-background {
  z-index: -1;
}
@media (max-width: 574px) {
  section .section-background img {
    height: 100%;
  }
}

header,
footer {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

section .wrapper,
header .wrapper,
footer .wrapper {
  z-index: 1;
  display: flex;
  width: 100%;
  max-width: var(--container-max-width);
}
section .wrapper .block-title,
header .wrapper .block-title,
footer .wrapper .block-title {
  text-align: center;
  max-width: 80rem;
  text-transform: uppercase;
}
@media (max-width: 574px) {
  section .wrapper .block-title,
  header .wrapper .block-title,
  footer .wrapper .block-title {
    padding: 0 15px;
  }
}

a {
  color: inherit;
}
a:focus {
  color: inherit;
}

h1,
.h1 {
  font-size: clamp(3.6rem, 4.2vw, 7.2rem);
  font-weight: 600;
}

h2,
.h2 {
  font-size: clamp(3.6rem, 5vw, 4rem);
  font-weight: 600;
}
h2.h2-small,
.h2.h2-small {
  font-size: clamp(2.4rem, 5vw, 4rem);
}

h3,
.h3 {
  font-size: clamp(2.4rem, 5vw, 3.2rem);
  line-height: 1.2;
  font-weight: 600;
}

h4,
.h4 {
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.2;
}

h5,
.h5 {
  font-size: 1.8rem;
  font-weight: 600;
}

h6,
.h6 {
  font-size: clamp(1.6rem, 5vw, 1.8rem);
  line-height: 1.2;
}

.m-8 {
  margin-bottom: 8px;
}

.m-16 {
  margin-bottom: 1.6rem;
}

.m-32 {
  margin-bottom: 3.2rem;
}

p {
  font-size: clamp(1.6rem, 2.5vw, 1.6rem);
  line-height: auto;
}
p.h1-subtitler {
  font-size: clamp(1.6rem, 2.5vw, 2.4rem);
  color: var(--text-grey);
  font-weight: 300;
}
p.h1-subtitler b {
  font-weight: 700;
  color: #fff;
}
p.h2-3-subtitler {
  font-size: clamp(1.6rem, 2.5vw, 1.8rem);
  text-align: center;
  font-weight: 400;
  max-width: 80rem;
}
p.-title {
  font-weight: 600;
}
p i {
  font-weight: 600;
}

a {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  line-height: 1.5;
  text-decoration: none;
  transition: color var(--default-transition) ease-in;
}
a.nav-link {
  font-size: 1.4rem;
}
a.nav-link:hover {
  color: var(--color-haki);
}
a.-w {
  color: #fff;
}
a.-b {
  color: var(--text-black);
}

.video-controls {
  position: relative;
}
.video-controls .video-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 6.4rem;
  height: 6.4rem;
  border: 0;
  cursor: pointer;
  background: none;
  display: grid;
  place-items: center;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.video-controls .video-play svg {
  width: 100%;
  height: 100%;
}
.video-controls .video-play svg circle {
  stroke: #fff;
  stroke-width: 2;
  opacity: 0.9;
}
.video-controls .video-play:hover {
  transform: scale(1.05);
}
.video-controls .video-play:active {
  transform: scale(0.98);
}
.video-controls.playing .video-play {
  opacity: 0;
  pointer-events: none;
}

.-w {
  color: #fff;
}

.-g {
  color: var(--text-grey);
}

.-b {
  color: var(--color-black);
}

.-back-w {
  background-color: var(--color-white);
}

.-back-b {
  background-color: var(--color-black);
}

.separator-v {
  width: 0.1rem;
  height: 1.6rem;
}

.language-switcher {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.language-switcher .active {
  color: var(--color-haki) !important;
}
.language-switcher a {
  font-size: 1.4rem;
}

.separator-h {
  width: 100%;
  height: 0.1rem;
  background-color: var(--color-grey);
}

.socials-list {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.socials-list .item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

@media (max-width: 766px) {
  .-mob-padding-0 {
    padding: 0;
  }
}
.-upper {
  text-transform: uppercase;
}

.search-results-page {
  padding: var(--section-padding) 1.6rem;
}
.search-results-page .search-results__title {
  margin-bottom: 2.4rem;
  font-size: clamp(2.4rem, 4vw, 4rem);
  font-weight: 600;
}
.search-results-page .search-results__title span {
  color: var(--color-haki);
}
.search-results-page .search-results__count {
  margin-bottom: 3.2rem;
  font-size: 1.6rem;
  color: var(--color-darkgrey);
}
.search-results-page .search-dropdown__products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.2rem;
  margin-bottom: 4rem;
}
.search-results-page .search-dropdown__products .content-product__item {
  margin: 0;
  width: 100%;
}
@media (max-width: 1299px) {
  .search-results-page .search-dropdown__products {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 766px) {
  .search-results-page .search-dropdown__products {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media (max-width: 574px) {
  .search-results-page .search-dropdown__products {
    grid-template-columns: 1fr;
  }
}
.search-results-page .search-results__empty {
  padding: 4rem 0;
  text-align: center;
  font-size: 1.8rem;
  color: var(--color-darkgrey);
}
.search-results-page .search-results__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  margin-top: 4rem;
  padding: 2rem 0;
}
.search-results-page .search-results__pagination .page-numbers {
  display: flex;
  gap: 0.8rem;
  list-style: none;
}
.search-results-page .search-results__pagination .page-numbers li a,
.search-results-page .search-results__pagination .page-numbers li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 4rem;
  height: 4rem;
  padding: 0 1.2rem;
  font-size: 1.6rem;
  text-decoration: none;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 0.1rem solid var(--color-grey);
  transition: all 0.3s ease;
}
.search-results-page .search-results__pagination .page-numbers li a:hover,
.search-results-page .search-results__pagination .page-numbers li span:hover {
  background-color: var(--color-haki);
  color: var(--color-white);
  border-color: var(--color-haki);
}
.search-results-page .search-results__pagination .page-numbers li .current {
  background-color: var(--color-haki);
  color: var(--color-white);
  border-color: var(--color-haki);
}

.breadcrumbs-section {
  padding-top: calc(var(--header-height) + clamp(1.6rem, 3vw, 2.4rem));
  padding-bottom: clamp(0.8rem, 2vw, 2.4rem);
  background-color: initial;
  background-color: var(--color-grey);
}

.breadcrumbs {
  width: 100%;
}
.breadcrumbs ol {
  display: flex;
  align-items: center;
  list-style: none;
  width: 100%;
  white-space: nowrap;
  overflow: auto;
  margin: 0;
}
.breadcrumbs ol li {
  display: flex;
  align-items: center;
  color: var(--color-haki);
  font-size: 1.4rem;
}
.breadcrumbs ol li a {
  font-size: 1.4rem;
}
.breadcrumbs ol li a span {
  font-size: 1.4rem;
}

.breadcrumbs li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 10px;
  background: currentColor;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'><path d='M1 1L5 5L1 9' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'><path d='M1 1L5 5L1 9' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  margin: 0 8px;
  color: var(--color-haki);
}

:root {
  --select-height: 4.8rem;
  --select-min-height: 4.8rem;
  --select-padding-horizontal: 1.6rem;
  --select-padding-vertical: 1.2rem;
  --select-border-radius: 0.8rem;
  --select-border-width: 0.1rem;
  --select-font-size: 1.4rem;
  --select-line-height: 1.5;
  --select-background-color: #ffffff;
  --select-border-color: #e2e8f0;
  --select-border-color-hover: #cbd5e1;
  --select-border-color-focus: #3b82f6;
  --select-text-color: #1e293b;
  --select-placeholder-color: #64748b;
  --select-background-hover: #f8fafc;
  --select-background-focus: #ffffff;
  --select-shadow-focus: 0 0 0 0.3rem rgba(59, 130, 246, 0.1);
  --select-background-disabled: #f8fafc;
  --select-border-color-disabled: #e2e8f0;
  --select-text-color-disabled: #94a3b8;
  --select-opacity-disabled: 0.6;
  --select-option-selected-background: #f1f5f9;
  --select-option-selected-color: #334155;
  --select-option-selected-border: #cbd5e1;
  --select-option-selected-padding: 0.6rem 1rem;
  --select-option-selected-border-radius: 0.6rem;
  --select-option-selected-font-size: 1.3rem;
  --select-remove-button-size: 1.6rem;
  --select-remove-button-color: #64748b;
  --select-remove-button-hover-color: #ef4444;
  --select-remove-button-hover-background: #fee2e2;
  --select-arrow-size: 2.4rem;
  --select-arrow-color: #64748b;
  --select-arrow-hover-color: #334155;
  --select-dropdown-background: #ffffff;
  --select-dropdown-border-color: #e2e8f0;
  --select-dropdown-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05);
  --select-dropdown-border-radius: 0.8rem;
  --select-dropdown-max-height: 20rem;
  --select-dropdown-z-index: 50;
  --select-option-padding: 1.2rem 1.6rem;
  --select-option-font-size: 1.4rem;
  --select-option-color: #374151;
  --select-option-hover-background: #f8fafc;
  --select-option-hover-color: #1e293b;
  --select-option-active-background: #3b82f6;
  --select-option-active-color: #ffffff;
  --select-option-disabled-color: #94a3b8;
  --select-option-disabled-background: #f8fafc;
  --select-transition-duration: 0.2s;
  --select-transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
}

.custom-select {
  position: relative;
  width: 100%;
  font-family: inherit;
}
.custom-select input[type=hidden] {
  display: none;
}
.custom-select .select-field {
  display: flex;
  align-items: center;
  min-height: var(--select-min-height);
  padding: var(--select-padding-vertical) var(--select-padding-horizontal);
  background-color: var(--select-background-color);
  border: var(--select-border-width) solid var(--select-border-color);
  border-radius: var(--select-border-radius);
  cursor: pointer;
  transition: all var(--select-transition-duration) var(--select-transition-timing);
}
.custom-select .select-field:hover:not(.disabled) {
  background-color: var(--select-background-hover);
  border-color: var(--select-border-color-hover);
}
.custom-select .select-field:hover:not(.disabled) .arrow-down {
  color: var(--select-arrow-hover-color);
}
.custom-select .select-field:focus-within:not(.disabled) {
  background-color: var(--select-background-focus);
  border-color: var(--select-border-color-focus);
  box-shadow: var(--select-shadow-focus);
  outline: none;
}
.custom-select .select-field.active:not(.disabled) {
  border-color: var(--select-border-color-focus);
  box-shadow: var(--select-shadow-focus);
}
.custom-select .select-field.active:not(.disabled) .arrow-down {
  transform: rotate(180deg);
}
.custom-select .select-field.disabled {
  background-color: var(--select-background-disabled);
  border-color: var(--select-border-color-disabled);
  cursor: not-allowed;
  opacity: var(--select-opacity-disabled);
}
.custom-select .select-field.disabled .arrow-down {
  cursor: not-allowed;
}
.custom-select .selected-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  flex: 1;
  min-width: 0;
}
.custom-select .selected-options .placeholder {
  color: var(--select-placeholder-color);
  font-size: var(--select-font-size);
  line-height: var(--select-line-height);
  user-select: none;
  pointer-events: none;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.custom-select .selected-option {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: var(--select-option-selected-padding);
  background-color: var(--select-option-selected-background);
  color: var(--select-option-selected-color);
  border: var(--select-border-width) solid var(--select-option-selected-border);
  border-radius: var(--select-option-selected-border-radius);
  font-size: var(--select-option-selected-font-size);
  line-height: 1.2;
  max-width: 20rem;
}
.custom-select .selected-option .option-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 16rem;
}
.custom-select .selected-option i.sprite {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
}
.custom-select .selected-option .remove-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--select-remove-button-size);
  height: var(--select-remove-button-size);
  color: var(--select-remove-button-color);
  background: none;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: all var(--select-transition-duration) var(--select-transition-timing);
  flex-shrink: 0;
}
.custom-select .selected-option .remove-btn svg {
  width: 1.2rem;
  height: 1.2rem;
}
.custom-select .selected-option .remove-btn:hover {
  color: var(--select-remove-button-hover-color);
  background-color: var(--select-remove-button-hover-background);
}
.custom-select .arrow-down {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--select-arrow-size);
  height: var(--select-arrow-size);
  color: var(--select-arrow-color);
  margin-left: 0.8rem;
  transition: all var(--select-transition-duration) var(--select-transition-timing);
  flex-shrink: 0;
}
.custom-select .arrow-down svg {
  width: 100%;
  height: 100%;
}
.custom-select .options-container {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: var(--select-dropdown-z-index);
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: var(--select-dropdown-background);
  border: var(--select-border-width) solid var(--select-dropdown-border-color);
  border-radius: var(--select-dropdown-border-radius);
  box-shadow: var(--select-dropdown-shadow);
  max-height: var(--select-dropdown-max-height);
  max-width: var(--select-dropdown-max-width);
  min-width: var(--select-dropdown-min-width);
  overflow-y: auto;
  overflow-x: hidden;
  margin-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.8rem);
  transition: all var(--select-transition-duration) var(--select-transition-timing);
}
.custom-select .options-container.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.custom-select .options-container::-webkit-scrollbar {
  width: 0.6rem;
}
.custom-select .options-container::-webkit-scrollbar-track {
  background: transparent;
}
.custom-select .options-container::-webkit-scrollbar-thumb {
  background: var(--select-border-color);
  border-radius: 0.3rem;
}
.custom-select .options-container::-webkit-scrollbar-thumb:hover {
  background: var(--select-border-color-hover);
}
.custom-select .option {
  display: flex;
  align-items: center;
  padding: var(--select-option-padding);
  color: var(--select-option-color);
  font-size: var(--select-option-font-size);
  line-height: var(--select-line-height);
  cursor: pointer;
  transition: all var(--select-transition-duration) var(--select-transition-timing);
  max-width: 100%;
}
.custom-select .option .option-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: var(--select-option-max-width);
}
.custom-select .option i.sprite {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.8rem;
}
.custom-select .option:hover:not(.disabled):not(.active) {
  background-color: var(--select-option-hover-background);
  color: var(--select-option-hover-color);
}
.custom-select .option.active {
  background-color: var(--select-option-active-background);
  color: var(--select-option-active-color);
}
.custom-select .option.disabled {
  color: var(--select-option-disabled-color);
  background-color: var(--select-option-disabled-background);
  cursor: not-allowed;
  opacity: var(--select-opacity-disabled);
}
.custom-select .option:first-child {
  border-top-left-radius: calc(var(--select-dropdown-border-radius) - var(--select-border-width));
  border-top-right-radius: calc(var(--select-dropdown-border-radius) - var(--select-border-width));
}
.custom-select .option:last-child {
  border-bottom-left-radius: calc(var(--select-dropdown-border-radius) - var(--select-border-width));
  border-bottom-right-radius: calc(var(--select-dropdown-border-radius) - var(--select-border-width));
}
.custom-select[aria-expanded=true]:not(.disabled) .arrow-down {
  transform: rotate(180deg);
}
.custom-select[aria-expanded=true]:not(.disabled) .options-container {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.custom-select.selected .placeholder {
  display: none;
}
@media (max-width: 768px) {
  .custom-select .select-field {
    padding: 1rem 1.2rem;
  }
  .custom-select .selected-option {
    font-size: 1.2rem;
    padding: 0.4rem 0.8rem;
  }
  .custom-select .option {
    padding: 1rem 1.2rem;
    font-size: 1.3rem;
  }
}
.custom-select:focus-visible {
  outline: 0.2rem solid var(--select-border-color-focus);
  outline-offset: 0.2rem;
}
.custom-select[aria-disabled=true] .select-field, .custom-select.disabled .select-field {
  background-color: var(--select-background-disabled);
  border-color: var(--select-border-color-disabled);
  cursor: not-allowed;
  opacity: var(--select-opacity-disabled);
}
.custom-select[aria-disabled=true] .select-field:hover, .custom-select.disabled .select-field:hover {
  background-color: var(--select-background-disabled);
  border-color: var(--select-border-color-disabled);
}
.custom-select[aria-disabled=true] .selected-option .remove-btn,
.custom-select[aria-disabled=true] .arrow-down, .custom-select.disabled .selected-option .remove-btn,
.custom-select.disabled .arrow-down {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}
.custom-select[aria-disabled=true] .placeholder, .custom-select.disabled .placeholder {
  color: var(--select-text-color-disabled);
}

.custom-select.size-small {
  --select-height: 3.6rem;
  --select-min-height: 3.6rem;
  --select-padding-horizontal: 1.2rem;
  --select-padding-vertical: 0.8rem;
  --select-font-size: 1.3rem;
  --select-option-selected-font-size: 1.2rem;
  --select-option-font-size: 1.3rem;
  --select-dropdown-max-width: 25rem;
  --select-dropdown-min-width: 15rem;
  --select-option-max-width: 20rem;
}
.custom-select.size-small .selected-options {
  max-width: 15rem;
}
.custom-select.size-small .selected-options .option-label {
  max-width: 12rem;
}
.custom-select.size-large {
  --select-height: 5.6rem;
  --select-min-height: 5.6rem;
  --select-padding-horizontal: 2rem;
  --select-padding-vertical: 1.6rem;
  --select-font-size: 1.6rem;
  --select-option-selected-font-size: 1.4rem;
  --select-option-font-size: 1.6rem;
  --select-dropdown-max-width: 35rem;
  --select-dropdown-min-width: 25rem;
  --select-option-max-width: 30rem;
}
.custom-select.size-large .selected-options {
  max-width: 25rem;
}
.custom-select.size-large .selected-options .option-label {
  max-width: 20rem;
}
.custom-select.variant-error {
  --select-border-color: #ef4444;
  --select-border-color-hover: #dc2626;
  --select-border-color-focus: #ef4444;
  --select-shadow-focus: 0 0 0 0.3rem rgba(239, 68, 68, 0.1);
}
.custom-select.variant-success {
  --select-border-color: #10b981;
  --select-border-color-hover: #059669;
  --select-border-color-focus: #10b981;
  --select-shadow-focus: 0 0 0 0.3rem rgba(16, 185, 129, 0.1);
}
.custom-select.variant-warning {
  --select-border-color: #f59e0b;
  --select-border-color-hover: #d97706;
  --select-border-color-focus: #f59e0b;
  --select-shadow-focus: 0 0 0 0.3rem rgba(245, 158, 11, 0.1);
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.notification,
.pushNative {
  max-width: 45rem !important;
  width: 100%;
  border-radius: none !important;
  font-size: 1.6rem;
  box-shadow: none !important;
}
.notification.success,
.pushNative.success {
  background: var(--color-green) !important;
  color: white !important;
  border-radius: none !important;
  overflow: hidden;
}
.notification.attention,
.pushNative.attention {
  background: rgb(228, 101, 0) !important;
  background: linear-gradient(90deg, rgb(243, 88, 4) 0%, rgb(240, 155, 12) 100%) !important;
  color: white !important;
  border-radius: none !important;
  overflow: hidden;
}
.notification.error,
.pushNative.error {
  background: var(--color-red) !important;
  color: white !important;
  border-radius: none !important;
  overflow: hidden;
}
.notification .notification a,
.pushNative .notification a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}
.notification .toast-close,
.pushNative .toast-close {
  opacity: 1 !important;
  position: absolute;
  right: 0.7rem;
  cursor: pointer;
}
.notification .toastify,
.pushNative .toastify {
  cursor: default !important;
  user-select: none;
}
.notification .pushNotificationBody,
.pushNative .pushNotificationBody {
  position: relative;
  position: fixed;
  right: 2rem;
  top: 2rem;
  width: 20rem;
  padding: 1rem 0.5rem;
  display: flex;
  background-color: green;
  border: 1rem;
  color: #000;
}
.notification .pushNotificationTimer,
.pushNative .pushNotificationTimer {
  height: 0.5rem;
  background-color: rgba(46, 46, 46, 0.3882352941);
  width: 100%;
  border-radius: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 767px) {
  .notification,
  .pushNative {
    max-width: calc(100% - 3rem) !important;
    width: fit-content;
    right: 1.5rem !important;
    transform: none !important;
  }
}

.pushNative {
  padding-right: 3.5rem !important;
}

.account-modal .modal-account-control {
  max-width: 51.6rem;
}

.js-account-form {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.js-account-form .lost_password a {
  font-size: 1.6rem;
  text-decoration: underline;
  color: var(--color-haki);
}
.js-account-form .has-error input {
  outline: var(--color-red);
  border: 1px solid var(--color-red);
  background-color: rgba(193, 0, 3, 0.1450980392);
}
.js-account-form .has-error .error-tip {
  display: block;
}
.js-account-form .error-tip {
  display: none;
  width: 100%;
  background-color: #ffe6e6;
  color: var(--color-red);
  font-size: 1.2rem;
  text-align: left;
  padding: 0.4rem 0.6rem;
  border-radius: 0.4rem;
}
.js-account-form .cta-button {
  margin-top: 1.6rem;
}
.js-account-form .account-control__hint {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  text-align: center;
  font-size: 1.6rem;
}
.js-account-form .account-control__hint a {
  font-size: inherit;
  text-decoration: underline;
  color: var(--color-haki);
}
.js-account-form .iti {
  width: 100%;
}
.js-account-form .woocommerce-error {
  margin-bottom: 0;
  padding: 0.8rem 1.6rem 0.8rem 4.8rem;
  font-size: 1.6rem;
  background-color: rgba(193, 0, 3, 0.1450980392);
  border: none;
  color: var(--color-red);
}
.js-account-form .woocommerce-error:before {
  top: 50%;
  left: 1.6rem;
  width: 2.4rem;
  font-size: 2.4rem;
  transform: translateY(-50%);
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.hero {
  width: 100%;
  aspect-ratio: 16/9;
  min-height: 70rem;
  padding-top: calc(var(--section-padding) + 2 * var(--first-nav-height));
  position: relative;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}
.hero .wrapper {
  align-items: center;
  justify-content: center;
}
.hero .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 110rem;
  width: 100%;
  text-align: center;
}
.hero .content h1 {
  color: #fff;
  text-transform: uppercase;
}
.hero .content p {
  max-width: 85rem;
}
@media (max-width: 574px) {
  .hero {
    aspect-ratio: unset;
    padding-bottom: calc(var(--section-padding) + 2 * var(--first-nav-height));
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.hero-2 {
  width: 100%;
  height: 55.2rem;
  padding: 14rem 1.6rem;
  position: relative;
}
.hero-2::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}
.hero-2 .wrapper {
  align-items: center;
  justify-content: center;
}
.hero-2 .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 110rem;
  width: 100%;
  text-align: center;
}
.hero-2 .content h1 {
  color: #fff;
  text-transform: uppercase;
}
.hero-2 .content p {
  max-width: 85rem;
}
@media (max-width: 574px) {
  .hero-2 {
    aspect-ratio: unset;
    padding-bottom: calc(var(--section-padding) + 2 * var(--first-nav-height));
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.propositions {
  background-color: var(--color-grey);
}
.propositions .wrapper {
  flex-direction: column;
  align-items: center;
}
.propositions__row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.propositions__row a {
  flex: 1 1 38rem;
}
@media (max-width: 574px) {
  .propositions__row {
    gap: 1.6px;
  }
}
.propositions__item {
  flex: 1 1 38rem;
  height: 80rem;
  max-height: 80rem;
  position: relative;
  padding: clamp(2.4rem, 2.8vw, 4.8rem);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}
.propositions__item img {
  transition: filter 0.2s ease;
}
.propositions__item h3 {
  word-break: break-word;
  white-space: normal;
}
.propositions__item p {
  text-align: left;
}
.propositions__item .text {
  position: absolute;
  bottom: calc(-10.8rem + clamp(2.4rem, 2.8vw, 4.8rem));
  width: calc(100% - 2 * clamp(2.4rem, 2.8vw, 4.8rem));
  transition: all 0.1s ease-in-out;
  display: flex;
  flex-direction: column;
}
.propositions__item .text .woo-button {
  width: fit-content;
  margin-top: 4.8rem;
  opacity: 0;
  transition: all 0.1s ease;
}
@media (min-width: 1201px) {
  .propositions__item:hover img {
    filter: brightness(50%);
  }
  .propositions__item:hover .text {
    bottom: clamp(2.4rem, 2.8vw, 4.8rem);
  }
  .propositions__item:hover .text .woo-button {
    opacity: 1;
  }
}
@media (max-width: 574px) {
  .propositions__row {
    gap: 1.6rem;
  }
  .propositions__item {
    height: auto;
    aspect-ratio: 1/1.1;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.propositions-2 .wrapper {
  flex-direction: column;
  align-items: center;
}
.propositions-2__row {
  width: 100%;
  display: flex;
  gap: clamp(1.6rem, 2vw, 3.2rem);
  flex-wrap: wrap;
}
.propositions-2__row a {
  flex: 1 1 38rem;
}
@media (max-width: 574px) {
  .propositions-2__row {
    gap: 1.6px;
  }
}
.propositions-2__item {
  flex: 1 1 38rem;
  height: 80rem;
  max-height: 60rem;
  position: relative;
  padding: clamp(2.4rem, 2.8vw, 4.8rem);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}
.propositions-2__item img {
  transition: all 0.2s ease;
}
.propositions-2__item h3 {
  word-break: break-word;
  white-space: normal;
}
.propositions-2__item p {
  text-align: left;
}
.propositions-2__item .text {
  position: absolute;
  bottom: var(--text-bottom, 0);
  width: calc(100% - 2 * clamp(2.4rem, 2.8vw, 4.8rem));
  transition: all 0.2s ease-in-out;
  display: flex;
  flex-direction: column;
}
.propositions-2__item .text .is-wysiwyg {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.propositions-2__item .text .woo-button {
  width: fit-content;
  margin-top: 4.8rem;
  opacity: 0;
  transition: all 0.2s ease-in-out;
}
@media (min-width: 1201px) {
  .propositions-2__item:hover img {
    filter: brightness(50%);
    transform: scale(1.1);
  }
  .propositions-2__item:hover .text {
    bottom: clamp(2.4rem, 2.8vw, 4.8rem);
  }
  .propositions-2__item:hover .text .is-wysiwyg {
    opacity: 1;
  }
  .propositions-2__item:hover .text .woo-button {
    opacity: 1;
  }
}
@media (max-width: 574px) {
  .propositions-2__item .text {
    bottom: clamp(2.4rem, 2.8vw, 4.8rem);
  }
  .propositions-2__item .text .is-wysiwyg {
    opacity: 1;
  }
  .propositions-2__item .text .woo-button {
    width: 100%;
    font-size: 1.8rem;
    opacity: 1;
  }
}
@media (max-width: 574px) {
  .propositions-2__row {
    gap: 1.6rem;
  }
  .propositions-2__item {
    height: 56rem;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.about-us {
  padding-top: clamp(0rem, 4vw, 14rem);
}
.about-us .background {
  object-position: bottom right;
}
.about-us .image-shape {
  position: absolute;
  bottom: 0;
  right: 0;
  width: auto;
  height: var(--about-back-height);
}
.about-us .content {
  max-width: 78rem;
  padding: 100px clamp(1.6rem, 4vw, 100rem);
  background-color: var(--color-beige);
}
@media (max-width: 574px) {
  .about-us {
    padding: 0 0 28.8rem 0;
  }
  .about-us #aboutShape {
    z-index: 2;
    overflow: hidden;
  }
  .about-us #aboutShape img {
    width: auto;
    right: -35%;
    height: 38rem;
    pointer-events: none;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.benefits {
  aspect-ratio: 16/9;
  width: 100%;
  background-color: var(--color-grey);
}
.benefits .wrapper {
  flex-direction: column;
  align-items: center;
}
.benefits .wrapper .h2-3-subtitler {
  margin-bottom: 48px;
}
.benefits__row {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.6rem, 5vw, 3.2rem);
}
.benefits__item {
  background-color: #fff;
  padding: clamp(2.4rem, 2.5vw, 4.8rem);
  flex: 1 1 30rem;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
.benefits__item img {
  width: 6.4rem;
}
.benefits__item h5 {
  margin-bottom: 0.8rem;
}
@media (max-width: 574px) {
  .benefits__item {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.6rem;
  }
  .benefits__item img {
    width: 40px;
  }
}

.video-section .section-background {
  background-color: var(--color-black);
}
.video-section .wrapper {
  display: flex;
  align-items: center;
  gap: 12rem;
  flex-wrap: wrap;
}
.video-section .wrapper .content {
  flex: 1;
  max-width: 65rem;
  display: flex;
  flex-direction: column;
  gap: 50px;
  flex: 1 1 50rem;
  justify-content: space-between;
}
.video-section .wrapper .video-wrapper {
  flex: 1 1 50rem;
  position: relative;
  aspect-ratio: 51/29;
  margin: 0 auto;
  overflow: hidden;
}
.video-section .wrapper .video-wrapper .video {
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.services {
  background-color: var(--color-grey);
}
.services .wrapper {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3.2rem;
  min-height: 56rem;
}
.services__content-left {
  display: flex;
  flex: 2 1 75rem;
  background: #fff;
}
.services__content-left .content-left__text {
  flex: 2 1 32rem;
  background-color: #fff;
  padding: clamp(2.4rem, 5vw, 6.4rem);
  gap: 4.8rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: stretch;
}
.services__content-left .content-left__img {
  flex: 1 1 20rem;
  overflow: hidden;
}
.services__content-left .content-left__img img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.services__content-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 4.8rem;
  flex: 1 1 40rem;
  background-color: var(--color-beige);
  padding: clamp(2.4rem, 5vw, 6.4rem);
}
@media (max-width: 83.2rem) {
  .services__content-left, .services__content-right {
    flex: 1 1 100%;
  }
}
@media (max-width: 766px) {
  .services .wrapper {
    gap: 0;
  }
  .services__content-left {
    flex-direction: column;
    background-color: transparent;
  }
  .services__content-left .content-left__text {
    background-color: transparent;
  }
  .services__content-left .content-left__img {
    flex: 0 0 auto;
    aspect-ratio: 1/1;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.cta-block-1 .wrapper {
  align-items: center;
  justify-content: center;
}
.cta-block-1 .wrapper .content {
  background-color: var(--color-beige);
  max-width: 106rem;
  width: 100%;
  display: flex;
  align-items: center;
  padding: clamp(2rem, 4vw, 10rem) 5rem;
  flex-direction: column;
}
.cta-block-1 .wrapper .content h2,
.cta-block-1 .wrapper .content p {
  text-align: center;
  max-width: 50rem;
}
.cta-block-1 .wrapper .content p {
  margin-bottom: 4.8rem;
}
.cta-block-1__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
}
@media (max-width: 574px) {
  .cta-block-1__actions {
    gap: 1.6rem;
  }
  .cta-block-1__actions a,
  .cta-block-1__actions button {
    width: 100%;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.cta-block-2 {
  background-color: var(--color-black);
  padding-top: clamp(5.2rem, 4vw, 7rem);
}
.cta-block-2 .wrapper {
  align-items: center;
  justify-content: center;
}
.cta-block-2 .wrapper .content {
  background-color: rgba(88, 146, 0, 0.1882352941);
  max-width: 106rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(10.4rem, 4vw, 14rem) 1.6rem;
  border: 0.2rem dashed rgba(88, 146, 0, 0.5019607843);
  max-width: 132.8rem;
  flex-direction: column;
}
.cta-block-2__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
}
@media (max-width: 574px) {
  .cta-block-2__actions {
    gap: 1.6rem;
  }
  .cta-block-2__actions a,
  .cta-block-2__actions button {
    width: 100%;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.provided-faq {
  background-color: var(--color-grey);
}
.provided-faq .wrapper {
  flex-direction: column;
  align-items: center;
}
.provided-faq .provided-faq__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(0.8rem, 3vw, 3.2rem);
  max-width: 132.8rem;
  width: 100%;
}
.provided-faq .provided-faq__item {
  min-width: 28rem;
  background-color: #fff;
  padding: clamp(2.4rem, 5vw, 3.3rem);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  overflow: hidden;
  flex: 1 1 50rem;
}
.provided-faq .provided-faq__item .item__title {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  border-radius: var(--border-radius-default);
  transition: all 0.2s ease;
}
.provided-faq .provided-faq__item .item__title-text {
  font-weight: 500;
}
.provided-faq .provided-faq__item .item__title .item__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 700;
  transition: all 0.3s ease;
}
.provided-faq .provided-faq__item .item__title .item__arrow .item__arrow-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2.2rem;
}
.provided-faq .provided-faq__item .item__title .item__arrow .item__arrow-item.item__arrow-active {
  color: #000;
}
.provided-faq .provided-faq__item .item__content {
  display: none;
}
.provided-faq .provided-faq__list {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
@media (max-width: 574px) {
  .provided-faq .provided-faq__row {
    gap: 0.8rem;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.cooperation {
  background-color: var(--color-haki);
}
.cooperation__row {
  display: flex;
  align-items: stretch;
  gap: 3.2rem;
  flex-wrap: wrap;
}
.cooperation__row .left {
  flex: 1 1 60rem;
  background-color: var(--color-beige);
  padding: 10.4rem clamp(1.6rem, 5vw, 10.4rem);
}
.cooperation__row .left .block-title {
  text-align: left;
}
.cooperation__row .left .text {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.cooperation__row .right {
  flex: 1 1 60rem;
  background-color: var(--color-beige);
  display: flex;
  flex-direction: column;
}
.cooperation__row .right .image {
  overflow: hidden;
}
.cooperation__row .right .image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.cooperation__row .right .text {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 10.4rem clamp(1.6rem, 5vw, 10.4rem);
}
.cooperation__row .right .text .actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem;
  font-size: clamp(1.6rem, 3vw, 1.8rem);
}
.cooperation__row .right .text .actions .-b:hover {
  text-decoration: underline;
}
.cooperation__row .right .text .actions .separator {
  width: 0.1rem;
  height: 1.6rem;
  background-color: var(--color-black);
}
.cooperation__row .right .text .actions .actions__social {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  fill: transparent;
}
.cooperation__row .right .text .actions .actions__social a {
  display: flex;
  width: 24px;
  height: auto;
  aspect-ratio: 1/1;
  transition: transform 0.3s ease;
}
.cooperation__row .right .text .actions .actions__social a:hover {
  transform: scale(1.1);
  transition: transform 0.3s ease;
}
@media (max-width: 574px) {
  .cooperation__row {
    gap: 0;
  }
  .cooperation__row .right .image {
    order: 2;
  }
  .cooperation__row .right .text {
    order: 1;
    padding-top: 2rem;
  }
  .cooperation__row .left {
    padding-bottom: 2rem;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.seo-tabs {
  background-color: var(--color-grey);
  padding: 2.4rem 1.6rem;
}
.seo-tabs .wrapper {
  align-items: flex-start;
  flex-wrap: wrap;
  gap: clamp(0rem, 1vw, 3.2rem);
}
.seo-tabs__sidebar {
  flex: 1 1 27rem;
}
.seo-tabs__sidebar ul {
  list-style: none;
}
.seo-tabs__sidebar ul li {
  color: var(--color-black);
  background-color: #fff;
  stroke: var(--color-black);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.seo-tabs__sidebar ul li a {
  font-weight: 600;
  font-size: 1.6rem;
  padding: 1.8rem 1.6rem;
  display: flex;
  justify-content: space-between;
}
.seo-tabs__sidebar ul li svg {
  transition: stroke 0.2s ease-in-out;
}
.seo-tabs__sidebar ul li.active {
  color: #fff;
  background-color: var(--color-haki);
  cursor: default;
}
.seo-tabs__sidebar ul li.active svg {
  stroke: #fff;
}
.seo-tabs__content {
  flex: 3 1 60rem;
  background-color: #fff;
}
.seo-tabs__content .tab-content-inner {
  display: none;
  flex-direction: column;
  align-items: center;
}
.seo-tabs__content .tab-content-inner .text-content {
  width: 100%;
  padding: 4.8rem clamp(1.6rem, 3vw, 4.8rem);
}
.seo-tabs__content .tab-content-inner .text-content__list {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.seo-tabs__content .tab-content-inner.active {
  display: flex;
}
.seo-tabs__content .tab-content-inner-faq__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  max-width: 132.8rem;
  width: 100%;
}
.seo-tabs__content .tab-content-inner-faq__item {
  min-width: 28rem;
  background-color: var(--color-lightgrey);
  border-top: 0.1rem solid var(--color-grey);
  padding: clamp(1.6rem, 5vw, 2.1rem) 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  overflow: hidden;
  width: 100%;
  transition: all 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.seo-tabs__content .tab-content-inner-faq__item .item__title {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  user-select: none;
  border-radius: var(--border-radius-default);
  transition: all 0.2s ease;
}
.seo-tabs__content .tab-content-inner-faq__item .item__title-text {
  font-weight: 500;
}
.seo-tabs__content .tab-content-inner-faq__item .item__title .item__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 700;
  transition: all 0.3s ease;
}
.seo-tabs__content .tab-content-inner-faq__item .item__title .item__arrow .item__arrow-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2.2rem;
  color: #7a7953;
  font-weight: 400;
}
.seo-tabs__content .tab-content-inner-faq__item .item__title .item__arrow .item__arrow-item.item__arrow-active {
  color: #7a7953;
}
.seo-tabs__content .tab-content-inner-faq__item .item__content {
  display: none;
}
.seo-tabs__content .tab-content-inner-faq__item.active {
  background-color: rgba(174, 173, 110, 0.168627451);
}
.seo-tabs__content .image-banner {
  height: 24rem;
  width: 100%;
}
.seo-tabs__content .image-banner img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 574px) {
  .seo-tabs {
    padding-left: 0;
    padding-right: 0;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.banner {
  background-color: var(--color-grey);
}
.banner .wrapper .content {
  width: 100%;
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 3rem;
}
.banner .wrapper .content .block-background {
  z-index: -1;
  background-color: var(--color-beige);
}
.banner .wrapper .content__text {
  padding: 10.4rem 1.6rem clamp(1.6rem, 5vw, 10.4rem) clamp(1.6rem, 5vw, 10.4rem);
  flex: 1 1 40rem;
  z-index: 1;
}
.banner .wrapper .content__text .is-wysiwyg {
  max-width: 53rem;
}
.banner .wrapper .content__illustration {
  z-index: 1;
  flex: 1 1 40rem;
  position: relative;
  display: flex;
  align-items: flex-end;
}
.banner .wrapper .content__illustration img {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  right: 0;
}
@media (max-width: 799px) {
  .banner .wrapper .content {
    flex-direction: column;
    gap: 0;
  }
  .banner .wrapper .content__text {
    flex: none;
  }
  .banner .wrapper .content__illustration {
    flex: none;
  }
  .banner .wrapper .content__illustration img {
    position: static;
  }
}
@media (max-width: 574px) {
  .banner {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.big-banner {
  padding-bottom: 0;
  background-color: var(--color-beige);
}
.big-banner .wrapper {
  flex-direction: column;
  align-items: center;
  gap: 4.8rem;
}
.big-banner .wrapper img {
  max-width: 120rem;
  width: 100%;
  height: auto;
}
@media (max-width: 574px) {
  .big-banner {
    padding-left: 0;
    padding-right: 0;
  }
  .big-banner .is-wysiwyg {
    padding: 0 1.6rem;
  }
  .big-banner .wrapper {
    overflow: hidden;
  }
  .big-banner .wrapper img {
    width: 130%;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.video-banner {
  background-color: var(--color-grey);
}
.video-banner .wrapper {
  align-items: stretch;
  flex-wrap: wrap;
}
.video-banner__text {
  position: relative;
  flex: 7;
  padding: 10.4rem clamp(1.6rem, 5vw, 10.4rem);
}
.video-banner__text .block-background {
  background-color: var(--color-beige);
}
.video-banner__video {
  flex: 5;
  min-width: 60rem;
}
.video-banner__video video {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
@media (max-width: 766px) {
  .video-banner .wrapper {
    flex-direction: column;
  }
  .video-banner__text .block-background {
    background-color: var(--color-grey);
  }
  .video-banner__video {
    min-width: unset;
    width: 100%;
    aspect-ratio: 68/54;
  }
}
@media (max-width: 574px) {
  .video-banner {
    padding: 0;
  }
}

.gallery {
  flex-direction: column;
  align-items: center;
  gap: clamp(6.4rem, 6vw, 8rem);
  background-color: var(--color-beige);
  padding-left: 0;
  padding-right: 0;
}
.gallery .wrapper {
  justify-content: center;
}
.gallery__swiper {
  width: 100%;
}
.gallery__swiper .swiper-slide {
  aspect-ratio: 47/64;
}
.gallery__swiper .swiper-slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.special-proposal {
  background-color: var(--color-black);
  width: 100%;
  padding-top: clamp(5.2rem, 4vw, 7rem);
  padding-bottom: clamp(5.2rem, 4vw, 7rem);
}
.special-proposal .wrapper {
  flex-direction: column;
  align-items: center;
}
.special-proposal__disclaimer {
  padding: 6.4rem 1.6rem;
  position: relative;
  margin-bottom: clamp(10.4rem, 7vw, 14rem);
  border: 0.2rem dashed rgba(88, 146, 0, 0.5019607843);
  background-color: rgba(88, 146, 0, 0.1019607843);
  width: 100%;
  max-width: 132.8rem;
}
.special-proposal__tabs {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.special-proposal__tabs-header {
  width: 100%;
  max-width: 144rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 3.2rem;
}
.special-proposal__tabs-header .proposal-items-swiper {
  width: 100%;
}
.special-proposal__tabs-header .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.special-proposal__tabs-header .tab-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  padding: clamp(1.6rem, 2vw, 3rem) clamp(1.6rem, 2vw, 4rem);
  color: var(--color-white);
  background-color: rgba(88, 146, 0, 0.1019607843);
  border: 0.2rem dashed rgba(88, 146, 0, 0.5019607843);
  text-transform: uppercase;
}
.special-proposal__tabs-header .tab-item h3 {
  font-size: clamp(1.6rem, 3vw, 3.2rem);
}
.special-proposal__tabs-header .tab-item.active {
  color: #589200;
}
.special-proposal__tabs-content {
  width: 100%;
  display: flex;
}
.special-proposal__tabs-content .tab-content {
  display: none;
  color: var(--color-white);
  align-items: stretch;
  width: 100%;
}
.special-proposal__tabs-content .tab-content .special-gallery {
  flex: 1 1 40rem;
  width: 60%;
  display: flex;
  align-items: stretch;
  max-height: 70rem;
  gap: clamp(0.8rem, 2vw, 3.2rem);
}
.special-proposal__tabs-content .tab-content .special-gallery .main-swiper {
  width: 100%;
  height: auto;
  aspect-ratio: 8/5;
}
.special-proposal__tabs-content .tab-content .special-gallery .main-swiper .swiper-slide {
  aspect-ratio: 8/6;
  width: 100%;
}
.special-proposal__tabs-content .tab-content .special-gallery .main-swiper .swiper-slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.special-proposal__tabs-content .tab-content .special-gallery .main-swiper .gallery-bullets {
  align-items: center;
  justify-content: center;
  bottom: 2.4rem;
  gap: 0.4rem;
}
.special-proposal__tabs-content .tab-content .special-gallery .main-swiper .gallery-bullets .bullet {
  display: flex;
  width: 0.8rem;
  height: 0.8rem;
  background: var(--color-grey);
  border-radius: 2rem;
  opacity: 1;
  transition: width 0.2s ease-in-out;
}
.special-proposal__tabs-content .tab-content .special-gallery .main-swiper .gallery-bullets .bullet-active {
  width: 2.4rem;
  background: var(--color-haki);
}
@media (max-width: 574px) {
  .special-proposal__tabs-content .tab-content .special-gallery .main-swiper .gallery-bullets {
    display: flex;
  }
}
@media (max-width: 574px) {
  .special-proposal__tabs-content .tab-content .special-gallery .main-swiper {
    aspect-ratio: 1/1;
  }
  .special-proposal__tabs-content .tab-content .special-gallery .main-swiper .swiper-slide {
    aspect-ratio: 1/1;
  }
}
.special-proposal__tabs-content .tab-content .special-gallery .thumbnails-swiper {
  height: 100%;
}
.special-proposal__tabs-content .tab-content .special-gallery .thumbnails-swiper .swiper-slide {
  width: 100%;
  aspect-ratio: 1/1;
}
.special-proposal__tabs-content .tab-content .special-gallery .thumbnails-swiper .swiper-slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 574px) {
  .special-proposal__tabs-content .tab-content .special-gallery .thumbnails-swiper .swiper-slide {
    width: 6.4rem;
    height: 6.4rem;
  }
}
@media (max-width: 574px) {
  .special-proposal__tabs-content .tab-content .special-gallery .thumbnails {
    width: 100%;
  }
}
.special-proposal__tabs-content .tab-content .text {
  flex: 1 1 30rem;
  padding: 3.2rem 1.6rem 3.2rem clamp(1.6rem, 5vw, 13.6rem);
  display: flex;
  width: 100%;
}
.special-proposal__tabs-content .tab-content .text .is-wysiwyg {
  width: 100%;
  max-width: 55rem;
}
.special-proposal__tabs-content .tab-content.active {
  display: flex;
}
@media (max-width: 959px) {
  .special-proposal__tabs-content .tab-content {
    flex-direction: column;
  }
  .special-proposal__tabs-content .tab-content .special-gallery {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .special-proposal__tabs-content .tab-content .special-gallery {
    flex-direction: column;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.promo {
  background-color: var(--color-grey);
}
.promo .wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.promo .wrapper .block-title {
  text-align: left;
}
.promo .wrapper .block-title--inner {
  display: none;
}
@media (max-width: 574px) {
  .promo .wrapper .block-title {
    display: none;
  }
  .promo .wrapper .block-title--inner {
    display: inline-block;
    text-transform: uppercase;
    margin-bottom: 1.6rem;
  }
}
.promo .content {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}
.promo__list {
  padding: 10.4rem clamp(1.6rem, 6vw, 10.4rem);
  flex: 1 1 30rem;
  background-color: #fff;
}
.promo__image {
  flex: 1.2 1 30rem;
}
.promo__image img,
.promo__image picture {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.promo__text {
  padding: 10.4rem clamp(1.6rem, 6vw, 10.4rem);
  flex: 1 1 30rem;
  background-color: var(--color-beige);
}
@media (max-width: 574px) {
  .promo {
    padding-left: 0;
    padding-right: 0;
  }
}

/* WooCommerce template parts */
/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
:root {
  --product-block-padding: clamp(1.6rem, 3vw, 4.8rem);
}

body.single-product {
  background-color: var(--color-grey);
}

.woo-section {
  padding: 0 1.6rem;
}
.woo-section .woocommerce-ordering {
  margin-bottom: 0;
}
.woo-section .woocommerce-ordering .orderby {
  border: none;
  font-size: 1.6rem;
  font-weight: 600;
  height: 100%;
}

.cat-title {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  font-weight: 600;
  text-transform: uppercase;
  color: rgb(255, 255, 255);
}
.info .product-name {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 500;
}
.info .price {
  font-size: clamp(1.4rem, 2vw, 2.4rem);
  color: var(--color-haki);
}

.loader-wrapper {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  backdrop-filter: brightness(60%);
  -webkit-backdrop-filter: brightness(60%);
}

.woo-loader {
  animation: rotate 2s infinite;
  height: 50px;
  width: 50px;
}

.woo-loader:before,
.woo-loader:after {
  border-radius: 50%;
  content: "";
  display: block;
  height: 20px;
  width: 20px;
}

.woo-loader:before {
  animation: ball1 2s infinite;
  background-color: rgba(255, 255, 255, 0.16);
  box-shadow: 30px 0 0 var(--color-haki);
  margin-bottom: 10px;
}

.woo-loader:after {
  animation: ball2 2s infinite;
  background-color: var(--color-haki);
  box-shadow: 30px 0 0 rgba(255, 255, 255, 0.16);
}

.accordion-tabs {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1;
  border: 1px solid rgba(128, 128, 128, 0.1254901961);
}
.accordion-tabs__item {
  width: 100%;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid rgba(128, 128, 128, 0.1254901961);
  cursor: pointer;
}
.accordion-tabs__item:last-child {
  border: none;
}
.accordion-tabs__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.2rem 1.6rem;
  cursor: pointer;
}
.accordion-tabs__title-text {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  color: var(--color-black);
  font-size: clamp(1.4rem, 2vw, 1.6rem);
}
.accordion-tabs__title:hover {
  background: #fbfbfb;
}
.accordion-tabs__title.accordion-tabs__title--active {
  background: #fbfbfb;
}
.accordion-tabs__title.accordion-tabs__title--active .accordion-tabs__title-text {
  color: var(--color-haki);
  stroke: var(--color-haki);
  font-weight: 600;
}
.accordion-tabs__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.accordion-tabs__arrow svg {
  transition: all 0.3s ease;
}
.accordion-tabs__arrow--active svg {
  transform: rotate(90deg);
}
.accordion-tabs__content {
  background-color: #fbfbfb;
  display: none;
  padding: 1.2rem 1.6rem 1.6rem 1.6rem;
  font-size: 14px;
  color: var(--text-color2);
}
@media (max-width: 574px) {
  .accordion-tabs {
    width: 100%;
  }
  .accordion-tabs__item {
    width: 100%;
  }
}

.switch-tabs {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(128, 128, 128, 0.1254901961);
}
.switch-tabs__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(128, 128, 128, 0.1254901961);
}
.switch-tabs__item {
  cursor: pointer;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  gap: 1rem;
  padding: 1.6rem 1.6rem;
  border-right: 1px solid rgba(128, 128, 128, 0.1254901961);
  font-size: clamp(1.4rem, 2vw, 1.6rem);
}
.switch-tabs__item svg {
  stroke: var(--color-black);
}
.switch-tabs__item.active {
  color: var(--color-haki);
  font-weight: 600;
  background-color: #fbfbfb;
}
.switch-tabs__item.active svg {
  stroke: var(--color-haki);
}
.switch-tabs__item:last-child {
  border: none;
}
.switch-tabs__body {
  background-color: #fbfbfb;
  padding: 1.6rem;
}
.switch-tabs__content {
  display: none;
}
.switch-tabs__content.active {
  display: block;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(0.8);
  }
  50% {
    transform: rotate(360deg) scale(1.2);
  }
  100% {
    transform: rotate(720deg) scale(0.8);
  }
}
@keyframes ball1 {
  0% {
    box-shadow: 30px 0 0 var(--color-haki);
  }
  50% {
    box-shadow: 0 0 0 var(--color-haki);
    margin-bottom: 0;
    transform: translate(15px, 15px);
  }
  100% {
    box-shadow: 30px 0 0 var(--color-haki);
    margin-bottom: 10px;
  }
}
@keyframes ball2 {
  0% {
    box-shadow: 30px 0 0 rgba(255, 255, 255, 0.32);
  }
  50% {
    box-shadow: 0 0 0 rgba(255, 255, 255, 0.32);
    margin-top: -20px;
    transform: translate(15px, 15px);
  }
  100% {
    box-shadow: 30px 0 0 rgba(255, 255, 255, 0.32);
    margin-top: 0;
  }
}
.size-grid {
  display: grid;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
  font-family: inherit;
  background: #fff;
}
.size-grid__row {
  display: grid;
  grid-template-columns: 160px repeat(8, 1fr);
  border-bottom: 1px solid #e5e5e5;
}
.size-grid__row:last-child {
  border-bottom: none;
}
.size-grid__row.-footer {
  background: #fafafa;
}
.size-grid__row.-footer .-title {
  font-weight: 600;
  color: var(--color-black);
}
.size-grid__row.-footer .size-grid__cell {
  grid-column: 1/-1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}
.size-grid__row.-footer .-note {
  grid-column: 2/-1;
}
.size-grid__cell {
  padding: 1.6rem 1.6rem;
  text-align: center;
  border-right: 1px solid #e5e5e5;
  font-size: 1.6rem;
}
.size-grid__cell:last-child {
  border-right: none;
}
.size-grid__cell.-title {
  text-align: left;
  font-weight: 600;
  background: #f8f8f8;
}
.size-grid__cell p {
  font-size: 1.6rem;
}
.size-grid__cell b {
  font-weight: 600;
}
.size-grid__header {
  background: #f5f5f5;
  font-weight: 600;
}
@media (max-width: 768px) {
  .size-grid__row {
    grid-template-columns: 100px repeat(4, 1fr);
    font-size: 14px;
  }
  .size-grid__cell {
    padding: 8px;
  }
}

.woo-button {
  cursor: pointer;
  min-width: max-content;
  user-select: none;
  display: flex;
  justify-content: center;
}
.woo-button.-add-to-cart {
  padding: 0.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-haki);
  border: none;
  transition: filter 0.1s ease;
  aspect-ratio: 1/1;
  height: fit-content;
}
.woo-button.-add-to-cart img,
.woo-button.-add-to-cart svg {
  width: clamp(1.6rem, 2vw, 2.4rem);
  height: auto;
}
.woo-button.-open-filters {
  padding: 0.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-grey);
  border: none;
  transition: filter 0.1s ease;
}
.woo-button.-open-filters img,
.woo-button.-open-filters svg {
  width: 2.4rem;
  height: auto;
}
.woo-button.-open-filters:hover {
  filter: saturate(20%);
}
.woo-button.-semi-transparent {
  border: 1px solid var(--color-grey);
  background-color: rgba(122, 121, 83, 0.1294117647);
  color: var(--color-haki);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  padding: 1.4rem 2rem;
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  font-weight: 600;
}
.woo-button.-semi-transparent svg {
  width: 2.4rem;
  height: auto;
}
.woo-button.-semi-transparent svg {
  stroke: var(--color-haki);
}
.woo-button.-white {
  width: 100%;
  background-color: #fbfbfb;
  border: 1px solid var(--color-grey);
  color: var(--color-haki);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  padding: 1.4rem 2rem;
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  font-weight: 600;
}
.woo-button.-white svg {
  stroke: var(--color-haki);
}
.woo-button.-add-to-cart-full, .woo-button.-big-accent {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  background: var(--color-haki);
  border: none;
  color: #fff;
  transition: filter 0.1s ease;
  width: fit-content;
  padding: 1.4rem 2rem;
  font-size: 1.6rem;
  height: fit-content;
  text-transform: uppercase;
}
.woo-button.-add-to-cart-full svg, .woo-button.-big-accent svg {
  width: 2.4rem;
  height: auto;
}
.woo-button.-accent-transparent {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  background: var(--color-transparent);
  border: 1px solid var(--color-grey);
  color: var(--color-black);
  transition: filter 0.1s ease;
  width: fit-content;
  padding: 1.4rem 2.4rem;
  font-size: 1.6rem;
  font-weight: 500;
  height: fit-content;
}
.woo-button.-transparent {
  border: 1px solid #fff;
  color: #fff;
  padding: 1.8rem 2.4rem;
  text-transform: uppercase;
}
.woo-button.-full {
  width: 100%;
}
.woo-button.-green {
  padding: 1.8rem 2.4rem;
  background-color: var(--color-green);
  color: #fff;
  text-transform: uppercase;
}
.woo-button:hover {
  filter: saturate(40%);
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.hero-banner {
  aspect-ratio: 48/19;
  padding-bottom: 3.2rem;
  background-color: var(--color-beige);
}
.hero-banner .section-background .mobile {
  display: none;
}
.hero-banner .section-background .desktop {
  display: block;
}
@media (max-width: 766px) {
  .hero-banner .section-background .mobile {
    display: block;
  }
  .hero-banner .section-background .desktop {
    display: none;
  }
}
.hero-banner .wrapper {
  padding-top: calc(10.4rem + var(--header-height));
  padding-bottom: 10.4rem;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 1.6rem;
}
@media (max-width: 766px) {
  .hero-banner .wrapper {
    height: 100%;
    width: 100%;
    padding-top: 10.4rem;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
  }
}
.hero-banner .wrapper .woo-button {
  margin-top: clamp(4.8rem, 3vw, 6.4rem);
}
.hero-banner__title {
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  word-wrap: break-word;
  color: #fff;
  max-width: 58rem;
  text-transform: uppercase;
  font-size: clamp(4rem, 5vw, 7.2rem);
}
.hero-banner__desc {
  max-width: 50rem;
}
@media (max-width: 766px) {
  .hero-banner {
    margin-top: var(--header-height);
    aspect-ratio: unset;
    width: 100%;
    height: 65rem;
  }
}

.category-catalog {
  background-color: var(--color-grey);
  padding-bottom: clamp(1.6rem, 2vw, 3.2rem);
  padding-top: 3.2rem;
}
.category-catalog__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 0.8rem;
  width: 100%;
}
.category-catalog__card {
  position: relative;
  aspect-ratio: 5/6;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 2.4rem;
  text-decoration: none;
  cursor: pointer;
}
.category-catalog__card .block-background {
  transition: filter 0.2s ease;
}
.category-catalog__card .mask {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(360deg, rgba(0, 0, 0, 0.3) 0%, rgba(230, 9, 163, 0) 100%);
}
.category-catalog__card:hover .block-background {
  filter: brightness(60%);
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.category-products {
  background-color: var(--color-grey);
  padding-bottom: 3.2rem;
}
.category-products .section-background img,
.category-products .section-background svg {
  height: auto;
}
.category-products .wrapper {
  gap: 3.2rem;
}
.category-products .search-results__title {
  margin-bottom: 2.4rem;
  font-size: clamp(2.4rem, 4vw, 4rem);
  font-weight: 600;
  text-align: center;
}
.category-products .search-results__title span {
  color: var(--color-haki);
}
.category-products .search-results__form {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
  max-width: 120rem;
  width: 100%;
  margin: auto;
}
@media (max-width: 766px) {
  .category-products .search-results__form {
    flex-direction: column;
    gap: 1.2rem;
  }
}
.category-products .search-results__input-wrapper {
  position: relative;
  flex: 1;
  width: 100%;
  display: flex;
  align-items: center;
}
.category-products .search-results__icon {
  position: absolute;
  left: 1.6rem;
  width: 2rem;
  height: 2rem;
  color: var(--color-darkgrey);
  pointer-events: none;
  z-index: 1;
}
.category-products .search-results__input {
  width: 100%;
  padding: 2rem 1.6rem 2rem 4.8rem;
  border: 1px solid var(--color-beige);
  background-color: #fff;
  font-size: 1.6rem;
  color: var(--color-black);
  border-radius: 0;
  transition: border-color 0.3s ease;
}
.category-products .search-results__input:focus {
  outline: none;
  border-color: var(--color-haki);
}
.category-products .search-results__input::placeholder {
  color: var(--color-darkgrey);
}
.category-products .search-results__submit {
  padding: 2rem 3.2rem;
  background-color: var(--color-haki);
  color: var(--color-white);
  border: none;
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s ease;
  white-space: nowrap;
}
.category-products .search-results__submit:hover {
  background-color: var(--color-haki-dark, #6a6b4a);
}
@media (max-width: 766px) {
  .category-products .search-results__submit {
    width: 100%;
  }
}
.category-products__left {
  width: 100%;
  max-width: 39.7rem;
  display: flex;
  flex-direction: column;
  list-style: none;
  position: sticky;
  top: 15rem;
  height: fit-content;
}
.category-products__left li {
  background-color: #fff;
  padding: 1.8rem 1.6rem;
  border-bottom: 1px solid var(--color-grey);
  transition: background 0.1s ease;
  cursor: pointer;
}
.category-products__left li a {
  color: var(--color-black);
  font-weight: 500;
}
.category-products__left li:hover {
  background-color: var(--color-grey);
}
@media (max-width: 1099px) {
  .category-products__left {
    display: none;
  }
}
.category-products .category-products__catalog {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.6rem, 2vw, 3.2rem);
  width: 100%;
}
.category-products__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.8rem 1.6rem;
  background-color: #fff;
  width: 100%;
}
.category-products__header .filter-toggle {
  display: none;
}
@media (max-width: 1099px) {
  .category-products__header .filter-toggle {
    display: flex;
  }
}
.category-products__header .category-products__sort .woocommerce-ordering {
  margin: 0;
}
.category-products__header .category-products__sort .woocommerce-ordering .orderby {
  padding: 0.8rem 3.2rem 0.8rem 1.6rem;
  border: 1px solid var(--color-beige);
  background-color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--color-black);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  background-size: 1.2rem;
  transition: border-color 0.3s ease;
}
.category-products__header .category-products__sort .woocommerce-ordering .orderby:focus {
  outline: none;
  border-color: var(--color-haki);
}
.category-products__header .count {
  font-size: 1.6rem;
  font-weight: 300;
}
@media (max-width: 1099px) {
  .category-products__header .count {
    display: none;
  }
}
.category-products__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(16rem, 35vw, 30rem), 1fr));
  gap: clamp(0.8rem, 2vw, 3.2rem);
  width: 100%;
  align-items: stretch;
}
.category-products__grid.loading .loader-wrapper {
  display: flex;
}
.category-products .pagination {
  user-select: none;
}
.category-products .pagination .pagination__list {
  display: flex;
  gap: 1.6rem;
}
.category-products .pagination .pagination__list .pagination__item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  font-size: 1.6rem;
  background-color: #fff;
  color: var(--color-black);
  transition: filter 0.2s ease;
}
.category-products .pagination .pagination__list .pagination__item .arrow {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.category-products .pagination .pagination__list .pagination__item a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-black);
  font-size: 1.6rem;
}
.category-products .pagination .pagination__list .pagination__item.is-active {
  color: #fff;
  background-color: var(--color-haki);
}
.category-products .pagination .pagination__list .pagination__item:hover {
  filter: brightness(70%);
}

.search-results {
  padding-top: 20rem;
}
.search-results .category-products .wrapper {
  flex-direction: column;
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.product-description {
  padding-top: 1.6rem;
  background-color: var(--color-grey);
}
.product-description .wrapper {
  flex-direction: column;
}
.product-description .wrapper .content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.product-description .wrapper .block-title {
  text-align: left;
}
.product-description__item {
  display: flex;
  align-items: stretch;
  background-color: #fff;
}
.product-description__item .text {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  text-align: left;
  box-sizing: border-box;
}
.product-description__item .text .is-wysiwyg {
  padding: 4.8rem 1.6rem;
}
.product-description__item .text h2 {
  max-width: 59rem;
  width: 100%;
  text-transform: uppercase;
}
.product-description__item .text p {
  max-width: 59rem;
  width: 100%;
}
.product-description__item .image {
  flex: 1;
}
.product-description__item .image img,
.product-description__item .image svg {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.product-description__item:nth-child(2n+1) .text {
  order: 1;
}
.product-description__item:nth-child(2n+1) .image {
  order: 2;
}
.product-description__item:nth-child(2n) .text {
  order: 2;
}
.product-description__item:nth-child(2n) .image {
  order: 1;
}
@media (max-width: 766px) {
  .product-description__item {
    flex-direction: column;
  }
  .product-description__item:nth-child(2n+1) .text {
    order: 2;
  }
  .product-description__item:nth-child(2n+1) .image {
    order: 1;
  }
}
@media (max-width: 999px) {
  .product-description {
    padding-left: 0;
    padding-right: 0;
  }
  .product-description .block-title {
    text-align: center;
  }
}
@media (max-width: 574px) {
  .product-description {
    padding-bottom: 5.3rem;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.product-info {
  background-color: var(--color-grey);
  --li-size: clamp(1.4rem, 2vw, 1.6rem);
  padding-top: 2.4rem;
  padding-bottom: 1.6rem;
}
.product-info li {
  font-size: var(--li-size);
  font-weight: 400;
}
.product-info li strong {
  font-weight: 600;
}
.product-info .wrapper {
  align-items: center;
  gap: 3.2rem;
  width: 100%;
  position: relative;
  flex-wrap: wrap;
}
.product-info .content {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 3.2rem;
}
@media (max-width: 819px) {
  .product-info .content {
    flex-direction: column;
  }
}
.product-info__gallery {
  flex: 1 1 30rem;
  display: flex;
  max-width: calc(50% - 1.6rem);
  flex-direction: column;
  position: relative;
  gap: 3.2rem;
}
.product-info__gallery .badge-list {
  position: absolute;
  z-index: 4;
  left: 0;
  top: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.product-info__gallery .badge-list .badge {
  padding: 0.8rem;
  font-size: 1.4rem;
  color: #fff;
  display: flex;
  justify-content: center;
}
.product-info__gallery .badge-list .badge.-new {
  background-color: var(--color-green);
}
.product-info__gallery .badge-list .badge.-sale {
  background-color: var(--color-red);
}
.product-info__gallery .badge-list .badge.-top {
  background-color: var(--color-black);
}
.product-info__gallery .main-photo {
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
}
.product-info__gallery .main-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.product-info__gallery .main-swiper {
  width: 100%;
  aspect-ratio: 1/1;
}
.product-info__gallery .main-swiper a {
  display: flex;
  width: 100%;
  height: 100%;
}
.product-info__gallery .main-swiper a img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.product-info__gallery .main-swiper .gallery-bullets {
  display: none;
  align-items: center;
  justify-content: center;
  bottom: 2.4rem;
  gap: 0.4rem;
}
.product-info__gallery .main-swiper .gallery-bullets .bullet {
  display: flex;
  width: 0.8rem;
  height: 0.8rem;
  background: var(--color-grey);
  border-radius: 2rem;
  opacity: 1;
  transition: width 0.2s ease-in-out;
}
.product-info__gallery .main-swiper .gallery-bullets .bullet-active {
  width: 2.4rem;
  background: var(--color-haki);
}
@media (max-width: 574px) {
  .product-info__gallery .main-swiper .gallery-bullets {
    display: flex;
  }
}
.product-info__gallery .thumbnails {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  display: flex;
  gap: 0.8rem;
  overflow: hidden;
}
.product-info__gallery .thumbnails .thumbnails-button-prev,
.product-info__gallery .thumbnails .thumbnails-button-next {
  transform: none;
  position: static;
  height: auto;
  width: 5.2rem;
  background-color: #fff;
  margin-top: unset;
}
.product-info__gallery .thumbnails .thumbnails-button-prev::after,
.product-info__gallery .thumbnails .thumbnails-button-next::after {
  font-size: 2.4rem;
  color: black;
}
.product-info__gallery .thumbnails .thumbnails-button-prev.swiper-button-disabled,
.product-info__gallery .thumbnails .thumbnails-button-next.swiper-button-disabled {
  background-color: #e7e7e7;
  filter: saturate(90%);
  opacity: 1;
}
@media (max-width: 574px) {
  .product-info__gallery .thumbnails {
    display: none;
  }
}
.product-info__gallery .thumbnails-swiper {
  width: calc(100% - 12rem);
}
.product-info__gallery .thumbnails-swiper .swiper-slide {
  aspect-ratio: 1/1;
  width: 100%;
  max-width: 10.4rem;
}
.product-info__gallery .thumbnails-swiper .swiper-slide a {
  display: flex;
  max-width: 10.4rem;
}
.product-info__gallery .thumbnails-swiper .swiper-slide a img {
  object-fit: cover;
}
@media (max-width: 819px) {
  .product-info__gallery {
    width: 100%;
    max-width: none;
  }
}
.product-info__data {
  padding: 4.8rem clamp(1.6rem, 3vw, 4.8rem);
  background-color: #fff;
  flex: 1 1 30rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.product-info__data ul {
  list-style: none;
}
.product-info__data .-ls-only svg {
  width: 2.4rem;
  height: auto;
}
@media (max-width: 574px) {
  .product-info__data .-ls-only span {
    display: none;
  }
}
.product-info__data .info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.product-info__data .titler {
  font-size: var(--li-size);
  color: var(--color-black);
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.product-info__data .titler svg {
  width: 2.4rem;
  height: auto;
}
.product-info__data .titler a {
  white-space: nowrap;
}
.product-info__data .titler strong {
  font-weight: 600;
}
.product-info__data .data-header {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.product-info__data .data-header .product-name {
  font-size: clamp(2.4rem, 3vw, 4rem);
}
.product-info__data .data-header .data-rating {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.product-info__data .data-header .data-rating li {
  flex: 1 1 20rem;
  padding: 0.4rem 2.2rem;
  font-size: var(--li-size);
  display: flex;
  align-items: center;
  gap: 0.8rem;
  border-right: 1px solid rgba(128, 128, 128, 0.1254901961);
  white-space: nowrap;
}
.product-info__data .data-header .data-rating li a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: var(--li-size);
  color: var(--color-black);
}
.product-info__data .data-header .data-rating li:first-child {
  padding-left: 0;
  justify-content: flex-start;
}
.product-info__data .data-header .data-rating li:nth-child(2) {
  justify-content: center;
}
.product-info__data .data-header .data-rating li:last-child {
  padding-right: 0;
  justify-content: flex-end;
  border-right: none;
}
.product-info__data .data-header .data-rating .rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
}
.product-info__data .data-header .data-rating .stars {
  position: relative;
  width: 8.5rem;
  height: 1.6rem;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16" fill="none"><path d="M6.22548 5.49062L7.95748 2.00262C8.00789 1.90167 8.08543 1.81677 8.1814 1.75743C8.27737 1.69809 8.38798 1.66666 8.50081 1.66666C8.61364 1.66666 8.72425 1.69809 8.82022 1.75743C8.91619 1.81677 8.99373 1.90167 9.04414 2.00262L10.7761 5.49062L14.6481 6.05328C14.7598 6.06877 14.8649 6.11535 14.9514 6.18769C15.0379 6.26004 15.1023 6.35524 15.1372 6.46244C15.1722 6.56963 15.1763 6.68449 15.1491 6.79392C15.122 6.90335 15.0645 7.00292 14.9835 7.08129L12.1821 9.79462L12.8435 13.628C12.9281 14.12 12.4081 14.4946 11.9635 14.2626L8.50081 12.452L5.03748 14.2626C4.59348 14.4953 4.07348 14.12 4.15814 13.6273L4.81948 9.79395L2.01814 7.08062C1.93747 7.0022 1.88041 6.90272 1.85345 6.79349C1.8265 6.68426 1.83072 6.56966 1.86566 6.46271C1.90059 6.35577 1.96482 6.26077 2.05106 6.18851C2.13729 6.11625 2.24207 6.06963 2.35348 6.05395L6.22548 5.49062Z" stroke="%23808080" stroke-linecap="round" stroke-linejoin="round"/></svg>') repeat-x;
  background-size: 1.7rem 1.6rem;
}
.product-info__data .data-header .data-rating .stars__fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16" fill="%236B6D45"><path d="M6.22548 5.49062L7.95748 2.00262C8.00789 1.90167 8.08543 1.81677 8.1814 1.75743C8.27737 1.69809 8.38798 1.66666 8.50081 1.66666C8.61364 1.66666 8.72425 1.69809 8.82022 1.75743C8.91619 1.81677 8.99373 1.90167 9.04414 2.00262L10.7761 5.49062L14.6481 6.05328C14.7598 6.06877 14.8649 6.11535 14.9514 6.18769C15.0379 6.26004 15.1023 6.35524 15.1372 6.46244C15.1722 6.56963 15.1763 6.68449 15.1491 6.79392C15.122 6.90335 15.0645 7.00292 14.9835 7.08129L12.1821 9.79462L12.8435 13.628C12.9281 14.12 12.4081 14.4946 11.9635 14.2626L8.50081 12.452L5.03748 14.2626C4.59348 14.4953 4.07348 14.12 4.15814 13.6273L4.81948 9.79395L2.01814 7.08062C1.93747 7.0022 1.88041 6.90272 1.85345 6.79349C1.8265 6.68426 1.83072 6.56966 1.86566 6.46271C1.90059 6.35577 1.96482 6.26077 2.05106 6.18851C2.13729 6.11625 2.24207 6.06963 2.35348 6.05395L6.22548 5.49062Z"/></svg>') repeat-x;
  background-size: 1.7rem 1.6rem;
}
@media (max-width: 574px) {
  .product-info__data .data-header .data-rating {
    flex-wrap: nowrap;
  }
  .product-info__data .data-header .data-rating li:nth-child(2) {
    order: unset;
  }
}
.product-info__data .data-colors {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.product-info__data .data-colors.has-error li {
  border-color: var(--color-red) !important;
}
.product-info__data .data-colors ul {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.product-info__data .data-colors ul li {
  width: 100%;
  max-width: clamp(4.8rem, 3vw, 8rem);
  height: auto;
  aspect-ratio: 1/1;
  display: flex;
  border: 1px solid var(--color-grey);
  cursor: pointer;
}
.product-info__data .data-colors ul li.active {
  border: 1px solid var(--color-haki);
}
.product-info__data .data-colors ul li:hover img {
  filter: saturate(20%);
}
.product-info__data .data-colors ul li img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: filter 0.2s ease;
}
.product-info__data .data-sizes {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.product-info__data .data-sizes.has-error li {
  border-color: var(--color-red) !important;
}
.product-info__data .data-sizes ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(6rem, 1fr));
  gap: 0.8rem;
}
.product-info__data .data-sizes ul li {
  padding: 1.4rem;
  flex: 1 1 4.1rem;
  border: 1px solid var(--color-grey);
  background-color: #fff;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
  cursor: pointer;
}
.product-info__data .data-sizes ul li:hover {
  background-color: var(--color-grey);
}
.product-info__data .data-sizes ul li.active {
  border-color: var(--color-haki);
  background-color: var(--color-haki);
  font-weight: 600;
  color: #fff;
}
.product-info__data .data-sizes .titler.-haki {
  color: var(--color-haki);
}
.product-info__data .data-sizes .actions {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: wrap;
}
.product-info__data .data-sizes .woo-button {
  flex: 1 1 25rem;
}
.product-info__data .data-sizes .height-selector {
  flex: 1 1 25rem;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: var(--li-size);
}
.product-info__data .data-sizes .height-control {
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.2rem 0.8rem;
  border: 1px solid var(--color-grey);
}
.product-info__data .data-sizes .height-control .value {
  display: flex;
  align-items: flex-end;
  gap: 0.4rem;
  font-weight: 600;
}
.product-info__data .data-sizes .height-control button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.product-info__data .data-sizes .height-control button svg {
  width: 2.4rem;
  height: auto;
}
.product-info__data .data-sizes .height-control button:hover {
  background-color: var(--color-grey);
}
.product-info__data .data-individual {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.product-info__data .data-additional {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.product-info__data .data-additional label {
  font-size: var(--li-size);
  white-space: nowrap;
}
.product-info__data .data-additional select {
  cursor: pointer;
  width: 100%;
  padding: 1.4rem 1.6rem;
  background-color: #ebebeb;
  border: 1px solid var(--color-grey);
  color: var(--color-black);
  font-size: var(--li-size);
  font-weight: 600;
}
.product-info__data .data-actions {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.product-info__data .data-actions .cart-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.product-info__data .data-actions .cart-actions .price {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  color: var(--color-black);
}
.product-info__data .data-actions .cart-actions .price .new-price {
  font-size: clamp(2.4rem, 2vw, 3.2rem);
}
.product-info__data .data-actions .cart-actions .price .new-price.sale {
  color: var(--color-red);
}
.product-info__data .data-actions .cart-actions .price .old-price {
  font-size: var(--li-size);
  text-decoration: line-through;
}
.product-info__data .data-actions .cart-actions .quantity-selector {
  width: 100%;
  display: flex;
  flex: 1 1 10.6rem;
  order: 1;
  align-items: center;
  gap: 1.6rem;
  font-size: var(--li-size);
}
.product-info__data .data-actions .cart-actions .quantity-control {
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 1.6rem;
  justify-content: space-between;
  padding: 1.2rem 0.8rem;
  border: 1px solid var(--color-grey);
}
.product-info__data .data-actions .cart-actions .quantity-control .value {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
}
.product-info__data .data-actions .cart-actions .quantity-control button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.product-info__data .data-actions .cart-actions .quantity-control button:hover {
  background-color: var(--color-grey);
}
.product-info__data .data-actions .cart-actions .-add-to-cart-full {
  flex: 1 1 20rem;
  order: 2;
}
@media (min-width: 576px) {
  .product-info__data .data-tabs .switch-tabs {
    display: flex;
  }
  .product-info__data .data-tabs .accordion-tabs {
    display: none;
  }
}
@media (max-width: 574px) {
  .product-info__data .data-tabs .switch-tabs {
    display: none;
  }
  .product-info__data .data-tabs .accordion-tabs {
    display: flex;
  }
}
@media (max-width: 574px) {
  .product-info {
    padding-left: 0;
    padding-right: 0;
  }
  .product-info .wrapper .content {
    gap: 0;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.product-properties {
  background-color: var(--color-grey);
  --li-size: clamp(1.4rem, 2vw, 1.6rem);
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}
.product-properties .wrapper {
  align-items: stretch;
  gap: 3.2rem;
}
@media (max-width: 819px) {
  .product-properties .wrapper {
    flex-direction: column;
  }
}
.product-properties__slider {
  flex: 1 1 30rem;
  max-width: calc(50% - 1.6rem);
}
@media (max-width: 574px) {
  .product-properties__slider {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}
.product-properties__slider .upsells-header {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  justify-content: space-between;
  margin-bottom: clamp(1.6rem, 3vw, 3.2rem);
}
.product-properties__slider .upsells-header .upsells-nav {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.product-properties__slider .upsells-header .upsells-nav button {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: #fff;
}
@media (max-width: 849px) {
  .product-properties__slider .upsells-header .upsells-nav {
    display: none;
  }
}
@media (max-width: 819px) {
  .product-properties__slider {
    width: 100%;
    max-width: none;
  }
}
.product-properties__specs {
  flex: 1 1 30rem;
  background-color: #fff;
  padding: 4.8rem var(--product-block-padding);
}
.product-properties__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: scroll;
  max-height: 40rem;
  width: 100%;
  border: 1px solid #ededed;
}
.product-properties__row {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 2.4rem;
  padding: 1.6rem;
  background-color: #fff;
  border-bottom: 1px solid #ededed;
}
.product-properties__row:last-child {
  border: none;
}
.product-properties__row:nth-child(2n+1) {
  background-color: #fbfbfb;
}
.product-properties__row dt {
  flex: 1;
  font-size: var(--li-size);
}
.product-properties__row dd {
  flex: 3;
  font-size: var(--li-size);
  font-weight: 600;
}
@media (max-width: 574px) {
  .product-properties {
    padding-left: 0;
    padding-right: 0;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.product-footer .wrapper {
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3.2rem;
}
.product-footer__reviews {
  flex: 1 1 45rem;
  width: calc(50% - 1.6rem);
  background: #fff;
  padding: 4.8rem var(--product-block-padding);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.2rem;
}
.product-footer__reviews .action-review {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 2.4rem;
  padding: 1.6rem;
  border: 1px solid var(--color-grey);
  background-color: #fbfbfb;
}
.product-footer__reviews .action-review p {
  font-size: 1.6rem;
  color: var(--color-black);
  font-weight: 600;
}
@media (max-width: 574px) {
  .product-footer__reviews .action-review {
    flex-direction: column;
  }
  .product-footer__reviews .action-review a,
  .product-footer__reviews .action-review button {
    width: 100%;
  }
}
.product-footer__reviews .reviews-swiper {
  width: 100%;
}
.product-footer__reviews .reviews-swiper .review-nav {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  position: absolute;
  bottom: 2.4rem;
  right: 2.4rem;
  z-index: 4;
}
.product-footer__reviews .reviews-swiper .review-nav button {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: #fff;
}
.product-footer__reviews .reviews-swiper .review-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
  padding: 2.4rem;
  height: 100%;
  border: 1px solid var(--color-grey);
  background-color: #fbfbfb;
  font-size: 1.6rem;
}
.product-footer__reviews .reviews-swiper .review-item__header {
  display: flex;
  justify-content: flex-start;
  gap: 1.6rem;
}
.product-footer__reviews .reviews-swiper .review-item__header .stars {
  position: relative;
  width: 85px;
  height: 16px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16" fill="none"><path d="M6.22548 5.49062L7.95748 2.00262C8.00789 1.90167 8.08543 1.81677 8.1814 1.75743C8.27737 1.69809 8.38798 1.66666 8.50081 1.66666C8.61364 1.66666 8.72425 1.69809 8.82022 1.75743C8.91619 1.81677 8.99373 1.90167 9.04414 2.00262L10.7761 5.49062L14.6481 6.05328C14.7598 6.06877 14.8649 6.11535 14.9514 6.18769C15.0379 6.26004 15.1023 6.35524 15.1372 6.46244C15.1722 6.56963 15.1763 6.68449 15.1491 6.79392C15.122 6.90335 15.0645 7.00292 14.9835 7.08129L12.1821 9.79462L12.8435 13.628C12.9281 14.12 12.4081 14.4946 11.9635 14.2626L8.50081 12.452L5.03748 14.2626C4.59348 14.4953 4.07348 14.12 4.15814 13.6273L4.81948 9.79395L2.01814 7.08062C1.93747 7.0022 1.88041 6.90272 1.85345 6.79349C1.8265 6.68426 1.83072 6.56966 1.86566 6.46271C1.90059 6.35577 1.96482 6.26077 2.05106 6.18851C2.13729 6.11625 2.24207 6.06963 2.35348 6.05395L6.22548 5.49062Z" stroke="%23808080" stroke-linecap="round" stroke-linejoin="round"/></svg>') repeat-x;
  background-size: 17px 16px;
}
.product-footer__reviews .reviews-swiper .review-item__header .stars__fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16" fill="%236B6D45"><path d="M6.22548 5.49062L7.95748 2.00262C8.00789 1.90167 8.08543 1.81677 8.1814 1.75743C8.27737 1.69809 8.38798 1.66666 8.50081 1.66666C8.61364 1.66666 8.72425 1.69809 8.82022 1.75743C8.91619 1.81677 8.99373 1.90167 9.04414 2.00262L10.7761 5.49062L14.6481 6.05328C14.7598 6.06877 14.8649 6.11535 14.9514 6.18769C15.0379 6.26004 15.1023 6.35524 15.1372 6.46244C15.1722 6.56963 15.1763 6.68449 15.1491 6.79392C15.122 6.90335 15.0645 7.00292 14.9835 7.08129L12.1821 9.79462L12.8435 13.628C12.9281 14.12 12.4081 14.4946 11.9635 14.2626L8.50081 12.452L5.03748 14.2626C4.59348 14.4953 4.07348 14.12 4.15814 13.6273L4.81948 9.79395L2.01814 7.08062C1.93747 7.0022 1.88041 6.90272 1.85345 6.79349C1.8265 6.68426 1.83072 6.56966 1.86566 6.46271C1.90059 6.35577 1.96482 6.26077 2.05106 6.18851C2.13729 6.11625 2.24207 6.06963 2.35348 6.05395L6.22548 5.49062Z"/></svg>') repeat-x;
  background-size: 17px 16px;
}
.product-footer__reviews .reviews-swiper .review-item__author {
  font-weight: 600;
}
.product-footer__reviews .reviews-swiper .review-item__text p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-footer__reviews .reviews-swiper .review-item__gallery {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  overflow: scroll;
}
.product-footer__reviews .reviews-swiper .review-item__image {
  display: flex;
  width: 8rem;
  height: 8rem;
}
.product-footer__reviews .reviews-swiper .review-item__image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.product-footer__social {
  flex: 1 1 45rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 4.8rem var(--product-block-padding);
  background-color: #fff;
}
.product-footer__social .social-title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
}
@media (max-width: 574px) {
  .product-footer__social .social-title {
    flex-direction: column;
  }
  .product-footer__social .social-title a,
  .product-footer__social .social-title button {
    width: 100%;
  }
}
.product-footer__social .social-gallery {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(auto-fill, minmax(clamp(11rem, 11vw, 17rem), 1fr));
}
.product-footer__social .social-gallery .image {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  height: auto;
  overflow: hidden;
}
.product-footer__social .social-gallery .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 574px) {
  .product-footer {
    padding-left: 0;
    padding-right: 0;
    padding-top: 5.2rem;
  }
}

.content-product__item {
  display: flex;
  flex-direction: column;
  transition: transform 0.4s ease;
  height: 100%;
  width: 100%;
  position: relative;
}
.content-product__item .image {
  display: flex;
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
  transition: filter 0.2s ease;
}
.content-product__item .image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.content-product__item .badge-list {
  position: absolute;
  z-index: 4;
  left: 0;
  top: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.content-product__item .badge-list .badge {
  padding: 0.8rem;
  font-size: 1.4rem;
  color: #fff;
  display: flex;
  justify-content: center;
}
.content-product__item .badge-list .badge.-new {
  background-color: var(--color-green);
}
.content-product__item .badge-list .badge.-sale {
  background-color: var(--color-red);
}
.content-product__item .badge-list .badge.-top {
  background-color: var(--color-black);
}
.content-product__item .wishlist-button {
  position: absolute;
  z-index: 10;
  right: clamp(1.6rem, 2vw, 2.4rem);
  top: clamp(1.6rem, 2vw, 2.4rem);
  height: 4rem;
  width: 4rem;
  background: transparent;
  border: none;
  cursor: pointer;
}
.content-product__item .wishlist-button.in-wishlist svg {
  fill: var(--color-black);
}
.content-product__item .wishlist-button.in-wishlist:hover svg {
  fill: rgba(10, 10, 10, 0.7137254902);
}
.content-product__item .wishlist-button svg {
  stroke: var(--color-black);
  transition: fill 0.2s ease-in;
}
.content-product__item .wishlist-button:hover svg {
  fill: rgba(10, 10, 10, 0.1254901961);
}
.content-product__item .wishlist-button.-added svg {
  fill: var(--color-black);
}
.content-product__item .product-out-of-stock {
  position: absolute;
  z-index: 6;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}
.content-product__item .product-out-of-stock .unstock-notice {
  background-color: var(--color-transparent);
  text-transform: uppercase;
  padding: 1.8rem 2.4rem;
}
.content-product__item .info {
  padding: clamp(1.6rem, 2vw, 2.4rem);
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  height: 100%;
  color: var(--color-black);
  font-weight: 500;
  background-color: #fff;
  transition: background 0.4s ease;
}
.content-product__item .info .product-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.content-product__item .info .actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.content-product__item .info .actions .price {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  row-gap: 0.4rem;
  color: var(--color-haki);
}
.content-product__item .info .actions .price .new-price {
  font-size: clamp(1.4rem, 2vw, 2.4rem);
}
.content-product__item .info .actions .price .new-price.sale {
  color: var(--color-red);
}
.content-product__item .info .actions .price .old-price {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  text-decoration: line-through;
  color: var(--color-haki);
}
.content-product__item:hover {
  transform: translateY(-0.4rem);
}
.content-product__item:hover .info {
  background-color: var(--color-grey);
}
.content-product__item:hover .image {
  filter: brightness(80%);
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.my-account {
  padding-top: 0.8rem;
  background-color: var(--color-grey);
}
.my-account .wrapper {
  align-items: flex-start;
  gap: 3.2rem;
}
@media (max-width: 1029px) {
  .my-account .wrapper {
    flex-direction: column;
  }
}
.my-account .sidebar {
  flex: 3;
  background-color: #fff;
}
.my-account .sidebar .account-menu__list {
  list-style: none;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1029px) {
  .my-account .sidebar .account-menu__list {
    flex-direction: row;
  }
}
.my-account .sidebar .account-menu__item {
  padding: clamp(0.8rem, 2vw, 1.6rem);
  gap: 0.8rem;
}
.my-account .sidebar .account-menu__item svg path {
  stroke: var(--color-haki);
}
.my-account .sidebar .account-menu__item.active {
  background-color: var(--color-haki);
  color: #fff;
}
.my-account .sidebar .account-menu__item.active svg path {
  stroke: #fff;
}
.my-account .sidebar .account-menu__item .arrow {
  justify-self: flex-end;
}
@media (max-width: 1029px) {
  .my-account .sidebar .account-menu__item {
    flex: 1;
    text-align: center;
  }
  .my-account .sidebar .account-menu__item .arrow {
    display: none;
  }
}
.my-account .sidebar .account-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: clamp(1rem, 2vw, 1.6rem);
}
.my-account .sidebar .account-menu__link .item-name {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 1029px) {
  .my-account .sidebar .account-menu__link {
    justify-content: center;
    align-items: center;
  }
  .my-account .sidebar .account-menu__link .item-name {
    flex-direction: column;
    height: 100%;
    font-size: clamp(1rem, 2vw, 1.4rem);
    justify-content: space-between;
  }
}
@media (max-width: 1029px) {
  .my-account .sidebar {
    width: 100%;
    flex: unset;
  }
}
.my-account .account-content {
  flex: 9;
  background-color: #fff;
  padding: clamp(2.4rem, 2vw, 4.8rem) clamp(1.6rem, 2vw, 4.8rem);
}
.my-account .account-content .account-greeting {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.my-account .account-content .wishlist-products__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(19rem, 25vw, 30rem), 1fr));
  gap: clamp(0.8rem, 2vw, 3.2rem);
  width: 100%;
  align-items: stretch;
}
@media (max-width: 1029px) {
  .my-account .account-content {
    flex: unset;
    width: 100%;
  }
}
@media (max-width: 574px) {
  .my-account {
    padding-left: 0;
    padding-right: 0;
  }
}

.account-control {
  background-color: var(--color-grey);
  padding: clamp(2.4rem, 4vw, 4.8rem) clamp(1.6rem, 3vw, 3.2rem);
}
.account-control__columns {
  margin: 0 auto;
  display: grid;
  gap: clamp(1.6rem, 3vw, 3.2rem);
  display: flex;
  flex-wrap: wrap;
  align-items: start;
}
.account-control__editing {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.account-control__card {
  flex: 1 1 32rem;
  background: #fff;
  padding: clamp(2rem, 2.5vw, 3.2rem);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  border: none;
}
.account-control__card-editing {
  width: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  border: none;
}
.account-control__title {
  font-size: 1.8rem;
  text-transform: uppercase;
  line-height: 1.2;
}
.account-control__subtitle {
  margin: -0.8rem 0 0.8rem;
  color: var(--color-grey-dark);
}
.account-control .woocommerce-form {
  display: grid;
  gap: 1.2rem;
  border: none !important;
}
.account-control .input-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.account-control .input-wrapper .thin-input {
  width: 100%;
}
.account-control .input-wrapper .error-tip {
  color: var(--color-alert);
  font-size: 1.2rem;
  min-height: 1.4rem;
}
.account-control .account-control__hint {
  font-size: 1.4rem;
  color: var(--color-grey-dark);
}
.account-control .account-control__hint a {
  color: var(--color-haki);
  font-weight: 600;
}
.account-control .form-row {
  margin-top: 0.4rem;
}
.account-control .checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
}

.account-content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}

.edit-account {
  width: 100%;
}
.edit-account .account-control__columns {
  gap: clamp(1.6rem, 2vw, 2.4rem);
}
.edit-account .account-control__card-editing {
  background: none;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.edit-account .form-grid {
  display: grid;
  gap: 1.2rem;
}
.edit-account .form-grid.-two {
  grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
}
.edit-account .form-grid.-one {
  grid-template-columns: 1fr;
}
.edit-account .cta-button {
  width: fit-content;
}

.order-details-custom {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.order-details-custom .card {
  background: #fff;
  border: 1px solid var(--color-beige);
}
.order-details-custom__head {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  font-weight: 600;
  font-size: 1.6rem;
  padding: 1.8rem 1.6rem;
  background-color: rgba(174, 173, 110, 0.1647058824);
}
.order-details-custom__body {
  display: flex;
  flex-direction: column;
}
.order-details-custom__row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem;
  border-bottom: 1px solid var(--color-beige);
}
.order-details-custom__row:last-child {
  border: none;
}
.order-details-custom .item-product {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.order-details-custom .item-product .thumb img {
  width: 7.2rem;
  height: 7.2rem;
  object-fit: cover;
}
.order-details-custom .item-product .info {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.order-details-custom .item-product .info .title {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.3;
}
.order-details-custom .item-product .info .review {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--color-haki);
  font-weight: 600;
}
.order-details-custom .item-product .info .review a {
  color: inherit;
  text-decoration: none;
}
.order-details-custom .item-size,
.order-details-custom .item-qty,
.order-details-custom .item-price {
  font-size: 1.4rem;
  font-weight: 500;
}
.order-details-custom .price-old {
  text-decoration: line-through;
  color: #666;
}
.order-details-custom .price-new {
  color: #c10000;
  font-weight: 700;
}
.order-details-custom__meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr));
  gap: 1.2rem;
}
.order-details-custom .meta-card {
  background: #fff;
  border: var(--color-beige) 1px solid;
}
.order-details-custom .meta-card__header {
  background-color: rgba(174, 173, 110, 0.1647058824);
  padding: 1.8rem 1.6rem;
}
.order-details-custom .meta-card__content {
  padding: 1.8rem 1.6rem;
}
.order-details-custom .meta-card h4 {
  font-size: 1.8rem;
  font-weight: 600;
}
.order-details-custom .meta-card p {
  margin: 0 0 0.6rem;
  font-size: 1.4rem;
}
.order-details-custom .meta-card p strong {
  display: inline-block;
  min-width: 12rem;
}
.order-details-custom .meta-card .total-line {
  margin-top: 1.2rem;
}
.order-details-custom .meta-card .total-line .total-amount {
  color: var(--color-haki);
  font-weight: 700;
}
@media (max-width: 766px) {
  .order-details-custom__head, .order-details-custom__row {
    grid-template-columns: 1fr;
  }
  .order-details-custom .item-product {
    grid-template-columns: 1fr;
  }
}

.my-orders {
  display: grid;
}
.my-orders__header {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  background: var(--color-grey);
  padding: 1.2rem 1.6rem;
  font-weight: 600;
  font-size: 1.4rem;
}
@media (max-width: 768px) {
  .my-orders__header {
    display: none;
  }
}
.my-orders__body {
  display: grid;
}
.my-orders__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  padding: 1.6rem;
  border: 1px solid var(--color-grey);
}
.my-orders__row--completed .my-orders__cell--order-status {
  font-weight: 500;
  color: var(--color-grey-dark);
}
.my-orders__row--processing .my-orders__cell--order-status {
  font-weight: 500;
  color: var(--color-green);
}
.my-orders__row--cancelled .my-orders__cell--order-status {
  font-weight: 500;
  color: var(--color-red);
}
.my-orders__cell {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 1.4rem;
  font-weight: 400;
}
.my-orders__cell a {
  font-size: 1.4rem;
  font-weight: 400;
}
@media (max-width: 768px) {
  .my-orders__cell::before {
    content: attr(data-title);
    font-weight: 600;
    color: #777;
    font-size: 1.2rem;
  }
}
.my-orders__actions {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
}
.my-orders__action {
  padding: 0.6rem 1.2rem;
  font-size: 1.2rem;
  border-radius: 0.4rem;
}

.order-details {
  display: grid;
  gap: 2rem;
  /* Actions */
  /* Totals */
  /* Mobile */
}
.order-details__header {
  display: grid;
  grid-template-columns: 2fr 1fr;
  padding: 1.6rem;
  background: #f6f6f0;
  font-weight: 600;
  border-radius: 0.6rem;
}
.order-details__body {
  display: grid;
  gap: 1.2rem;
}
.order-details__row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  padding: 1.6rem 1.2rem;
  border-bottom: 1px solid #e5e5e5;
}
.order-details__row:last-child {
  border-bottom: none;
}
.order-details__product {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}
.order-details__thumb img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 4px;
}
.order-details__title {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
}
.order-details__qty {
  margin-top: 0.4rem;
  color: #666;
}
.order-details__price-old {
  text-decoration: line-through;
  color: #aaa;
  font-size: 1.4rem;
  display: block;
}
.order-details__price-new {
  color: #c40000;
  font-weight: 700;
  font-size: 1.6rem;
  display: block;
}
.order-details__price {
  font-weight: 600;
  font-size: 1.6rem;
}
.order-details__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1rem;
}
.order-details__totals {
  border-top: 1px solid #e3e3e3;
  padding-top: 1.4rem;
  display: grid;
  gap: 0.8rem;
}
.order-details__total-row {
  display: flex;
  justify-content: space-between;
}
.order-details__total-label {
  font-weight: 600;
}
@media (max-width: 768px) {
  .order-details__row, .order-details__header {
    grid-template-columns: 1fr 1fr;
  }
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
.cart-full {
  background-color: var(--color-grey);
  padding-top: calc(var(--header-height) + clamp(1.6rem, 3vw, 2.4rem));
}
.cart-full .wrapper .woocommerce {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: clamp(1.6rem, 3vw, 3.2rem);
}
.cart-full .wrapper .woocommerce .woocommerce-cart-form {
  padding: 4.8rem clamp(1.6rem, 3vw, 4.8rem);
  background-color: #fff;
  flex: 7;
}
@media (max-width: 1023px) {
  .cart-full .wrapper .woocommerce {
    flex-direction: column;
  }
  .cart-full .wrapper .woocommerce .woocommerce-cart-form {
    flex: unset;
  }
}
.cart-full__product-list {
  display: flex;
  flex-direction: column;
  gap: clamp(1.6rem, 3vw, 3.2rem);
}
.cart-full .cart-totals {
  position: sticky;
  top: 4rem;
  padding: 4.8rem clamp(1.6rem, 3vw, 4.8rem);
  background-color: #fff;
  flex: 5;
}
.cart-full .cart-totals .separator-h {
  margin: clamp(1.6rem, 3vw, 2.4rem) 0;
}
.cart-full .cart-totals .coupon .coupon-row {
  display: flex;
  align-items: stretch;
}
.cart-full .cart-totals__content {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.cart-full .cart-totals__list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.cart-full .cart-totals .cart-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.4rem;
}
.cart-full .cart-totals .cart-row .cart-label {
  font-size: 1.6rem;
  color: var(--color-black);
}
.cart-full .cart-totals .cart-row .cart-value {
  font-size: 1.6rem;
  font-size: 600;
  color: var(--color-black);
}
.cart-full .cart-totals__checkout {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media (max-width: 1023px) {
  .cart-full .cart-totals {
    flex: unset;
    width: 100%;
  }
}
.cart-full .empty-cart {
  width: 100%;
}
.cart-full .empty-cart__content {
  margin-top: 3.2rem;
  background-color: #fff;
  padding: clamp(10.4rem, 3vw, 14rem) clamp(1.6rem, 3vw, 14rem);
}
.cart-full .empty-cart__content .is-wysiwyg {
  align-items: center;
}
@media (max-width: 574px) {
  .cart-full {
    padding-left: 0;
    padding-right: 0;
  }
}

.cart-full__product-item {
  display: flex;
  padding: clamp(0.8rem, 3vw, 1.6rem);
  align-items: flex-start;
  gap: clamp(0.8rem, 3vw, 1.6rem);
  background-color: var(--color-lightgrey);
  position: relative;
}
.cart-full__product-item .product-image {
  aspect-ratio: 1/1;
  max-width: 36%;
  height: auto;
  overflow: hidden;
}
.cart-full__product-item .product-image a {
  display: flex;
  width: 100%;
  height: 100%;
}
.cart-full__product-item .product-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.cart-full__product-item .info {
  display: flex;
  flex-direction: column;
  gap: clamp(1.6rem, 2vw, 2.4rem);
}
.cart-full__product-item .product-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.cart-full__product-item .product-header .name {
  max-width: 60%;
}
.cart-full__product-item .product-header .remove {
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
}
.cart-full__product-item .product-header .remove svg {
  color: var(--color-haki);
}
.cart-full__product-item .product-header .remove svg path {
  transition: fill 0.2s ease-in-out;
  stroke: var(--color-haki);
}
.cart-full__product-item .product-header .remove:hover {
  background: none !important;
}
.cart-full__product-item .product-header .remove:hover svg path {
  fill: var(--color-transparent);
}
.cart-full__product-item .product-header .remove:focus {
  fill: var(--color-haki);
}
.cart-full__product-item .product-attributtes {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.cart-full__product-item .product-attributtes dl {
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
}
.cart-full__product-item .product-attributtes dl .variation-row {
  display: flex;
  align-items: center;
}
.cart-full__product-item .product-attributtes dl .variation-row dt {
  flex: 0 1 clamp(8rem, 3vw, 14rem);
  width: fit-content;
}
.cart-full__product-item .product-attributtes dl .variation-row dd {
  flex: 1;
  font-weight: 600;
}
.cart-full__product-item .product-controls {
  display: flex;
  justify-content: space-between;
  gap: 1.6rem;
}
.cart-full__product-item .product-controls .cart-price {
  display: flex;
  flex-direction: column;
}
.cart-full__product-item .product-controls .cart-price .price-old {
  font-size: 1.4rem;
  text-decoration: line-through;
}
.cart-full__product-item .product-controls .cart-price .price-sale {
  color: var(--color-red);
  font-size: 1.8rem;
  font-weight: 600;
}
.cart-full__product-item .product-controls .cart-price .price-sale .price-current {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--color-black);
}
.cart-full__product-item .product-controls .quantity-selector {
  width: fit-content;
  display: flex;
  order: 1;
  align-items: center;
  gap: 1.6rem;
  font-size: var(--li-size);
}
.cart-full__product-item .product-controls .quantity-control {
  display: flex;
  align-items: stretch;
  width: fit-content;
  gap: 1.6rem;
  justify-content: space-between;
  padding: 0.8rem;
  border: 1px solid var(--color-grey);
}
.cart-full__product-item .product-controls .quantity-control .value {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
}
.cart-full__product-item .product-controls .quantity-control button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.cart-full__product-item .product-controls .quantity-control button:hover {
  background-color: var(--color-grey);
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
section.checkout {
  padding-top: calc(var(--header-height) + clamp(1.6rem, 3vw, 2.4rem));
}

.checkout {
  background-color: var(--color-grey);
}
.checkout .woocommerce-NoticeGroup {
  display: none;
}
.checkout .wrapper .woocommerce {
  width: 100%;
}
.checkout .wrapper .woocommerce-checkout {
  display: flex;
  align-items: flex-start;
  gap: 3.2rem;
}
.checkout .wrapper .woocommerce-checkout .checkout-fields {
  flex: 7;
  background-color: #fff;
  padding: 4.8rem clamp(1.6rem, 3vw, 4.8rem);
}
.checkout .wrapper .woocommerce-checkout .checkout-fields .woocommerce-billing-fields__field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.checkout .wrapper .woocommerce-checkout .checkout-fields .woocommerce-shipping-methods {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.checkout .wrapper .woocommerce-checkout .checkout-fields .iti {
  width: 100%;
}
.checkout .wrapper .woocommerce-checkout .checkout-fields .checkout-section {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.checkout .wrapper .woocommerce-checkout .checkout-fields .checkout-section .fields-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  gap: 2.4rem;
}
.checkout .wrapper .woocommerce-checkout .checkout-fields .checkout-section .fields-row .form-row {
  float: none;
  width: 100%;
}
.checkout .wrapper .woocommerce-checkout .woocommerce-checkout-review-order {
  position: sticky;
  top: 6rem;
  flex: 5;
  min-width: 70rem;
  background-color: #fff;
  padding: 4.8rem clamp(1.6rem, 3vw, 4.8rem);
}
.checkout .wrapper .woocommerce-checkout .woocommerce-checkout-review-order .coupon .coupon-row {
  display: flex;
  align-items: stretch;
}
@media (max-width: 1179px) {
  .checkout .wrapper .woocommerce-checkout {
    flex-direction: column;
  }
  .checkout .wrapper .woocommerce-checkout .checkout-fields {
    flex: unset;
    width: 100%;
  }
  .checkout .wrapper .woocommerce-checkout .woocommerce-checkout-review-order {
    flex: unset;
    width: 100%;
    min-width: unset;
  }
}
.checkout .order-completed {
  background-color: #fff;
  padding: 10.4rem clamp(1.6rem, 3vw, 10.4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.checkout .order-completed .is-wysiwyg {
  max-width: 80rem;
  align-items: center;
}
.checkout .order-completed .is-wysiwyg .accent-block {
  align-items: center;
  margin-top: clamp(3.2rem, 4vw, 6.4rem);
}
@media (max-width: 574px) {
  .checkout {
    padding-left: 0;
    padding-right: 0;
  }
}

.checkout-review {
  display: grid;
  gap: 2rem;
  /* Totals */
  /* Mobile */
}
.checkout-review__header {
  display: grid;
  grid-template-columns: 2fr 1fr;
  background: rgba(174, 173, 110, 0.1647058824);
  padding: 1.2rem 1.6rem;
  font-weight: 600;
  font-size: 1.4rem;
}
.checkout-review__items {
  display: grid;
  gap: 1.2rem;
}
.checkout-review__row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  padding: 1.6rem 1rem;
}
.checkout-review__row:last-child {
  border-bottom: none;
}
.checkout-review__product {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.checkout-review__title {
  font-size: 1.6rem;
  font-weight: 600;
}
.checkout-review__qty {
  font-size: 1.4rem;
  color: #666;
}
.checkout-review__meta {
  font-size: 1.3rem;
  color: #444;
}
.checkout-review__subtotal, .checkout-review__col--subtotal {
  text-align: right;
}
.checkout-review__totals {
  display: grid;
  gap: 0.8rem;
  padding-top: 0.4rem;
}
.checkout-review__total-row {
  display: flex;
  justify-content: space-between;
  font-size: 1.4rem;
  padding: 1.6rem 1.6rem;
}
.checkout-review__total-label {
  font-weight: 600;
}
.checkout-review__total-row--grand {
  font-size: 1.8rem;
  font-weight: 700;
  margin-top: 0.8rem;
}
@media (max-width: 768px) {
  .checkout-review__header, .checkout-review__row {
    grid-template-columns: 1fr 1fr;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9fY29yZS9taXhpbnMvX2FzcGVjdC1yYXRpby5zY3NzIiwiX19jb3JlL21peGlucy9fcGFnZS1zaXplcy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1tYWluLnNjc3MiLCJfX2NvcmUvbWl4aW5zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJfX2NvcmUvc2V0dGluZ3MvX3NldHRpbmdzLWZvbnQuc2NzcyIsIl9fY29yZS9taXhpbnMvX2ZvbnQtZmFjZS5zY3NzIiwiX2xheW91dC9fd3lzaXd5Zy5zY3NzIiwiX2xheW91dC9fcGFnZTQwNC5zY3NzIiwiX2xheW91dC9fX2hlYWRlci5zY3NzIiwiX2xheW91dC9fX2Zvb3Rlci5zY3NzIiwiX2xheW91dC9fbW9kYWxzLnNjc3MiLCJfbGF5b3V0L19taW5pLWNhcnQuc2NzcyIsIl9sYXlvdXQvX3NpZGUtY2FydC5zY3NzIiwiX2xheW91dC9fX2J0bnMuc2NzcyIsIl9sYXlvdXQvX19maWVsZHMuc2NzcyIsIl9sYXlvdXQvX19iYXNlLnNjc3MiLCJfY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIl9jb21wb25lbnRzL3NlbGVjdC5zY3NzIiwiX2NvbXBvbmVudHMvYWxlcnRzLnNjc3MiLCJfY29tcG9uZW50cy9fYWNjb3VudC1jb250cm9sLnNjc3MiLCJfdGVtcGxhdGUtcGFydHMvaGVyby5zY3NzIiwiX3RlbXBsYXRlLXBhcnRzL2hlcm8tMi5zY3NzIiwiX3RlbXBsYXRlLXBhcnRzL3Byb3Bvc2l0aW9ucy5zY3NzIiwiX3RlbXBsYXRlLXBhcnRzL3Byb3Bvc2l0aW9uc18yLnNjc3MiLCJfdGVtcGxhdGUtcGFydHMvYWJvdXQtdXMuc2NzcyIsIl90ZW1wbGF0ZS1wYXJ0cy9iZW5lZml0cy5zY3NzIiwiX3RlbXBsYXRlLXBhcnRzL3ZpZGVvLXNlY3Rpb24uc2NzcyIsIl90ZW1wbGF0ZS1wYXJ0cy9zZXJ2aWNlcy5zY3NzIiwiX3RlbXBsYXRlLXBhcnRzL2N0YS1ibG9jay0xLnNjc3MiLCJfdGVtcGxhdGUtcGFydHMvY3RhLWJsb2NrLTIuc2NzcyIsIl90ZW1wbGF0ZS1wYXJ0cy9wcm92aWRlZC1mYXEuc2NzcyIsIl90ZW1wbGF0ZS1wYXJ0cy9jb29wZXJhdGlvbi5zY3NzIiwiX3RlbXBsYXRlLXBhcnRzL3Nlby10YWJzLnNjc3MiLCJfdGVtcGxhdGUtcGFydHMvYmFubmVyLnNjc3MiLCJfdGVtcGxhdGUtcGFydHMvYmlnLWJhbm5lci5zY3NzIiwiX3RlbXBsYXRlLXBhcnRzL3ZpZGVvLWJhbm5lci5zY3NzIiwiX3RlbXBsYXRlLXBhcnRzL2dhbGxlcnkuc2NzcyIsIl90ZW1wbGF0ZS1wYXJ0cy9zcGVjaWFsLXByb3Bvc2FsLnNjc3MiLCJfdGVtcGxhdGUtcGFydHMvcHJvbW8uc2NzcyIsIm1haW4uc2NzcyIsIl93b29jb21tZXJjZS9iYXNlLnNjc3MiLCJfd29vY29tbWVyY2UvY3JpdGljYWwuc2NzcyIsIl93b29jb21tZXJjZS9idG5zLnNjc3MiLCJfd29vY29tbWVyY2UvaGVyby1iYW5uZXIuc2NzcyIsIl93b29jb21tZXJjZS9jYXRlZ29yeS1jYXRhbG9nLnNjc3MiLCJfd29vY29tbWVyY2UvY2F0ZWdvcnktcHJvZHVjdHMuc2NzcyIsIl93b29jb21tZXJjZS9wcm9kdWN0LWRlc2NyaXB0aW9uLnNjc3MiLCJfd29vY29tbWVyY2UvcHJvZHVjdC1pbmZvLnNjc3MiLCJfd29vY29tbWVyY2UvcHJvZHVjdC1wcm9wZXJ0aWVzLnNjc3MiLCJfd29vY29tbWVyY2UvcHJvZHVjdC1mb290ZXIuc2NzcyIsIl93b29jb21tZXJjZS9jb250ZW50LXByb2R1Y3Quc2NzcyIsIl93b29jb21tZXJjZS9teS1hY2NvdW50LnNjc3MiLCJfd29vY29tbWVyY2UvY2FydC5zY3NzIiwiX3dvb2NvbW1lcmNlL2NoZWNrb3V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBO0FBQUE7QUFBQTtBQUFBO0FDcEJBO0FBYUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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QUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJQTtFQUNJO0VBQ0E7O0FBS1o7RUFDSTs7QUFNUjtFQUNJOztBQUdKO0VBQ0k7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdJO0VBQ0k7O0FBSVI7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFHQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNaEI7RUFDSTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFLWjtFQUNJOztBQUdKO0VBQ0k7O0FMNFRKO0VLN2tCSjtJQXFSUTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQUdKO0lBQ0k7SUFDQTs7RUFLWjtJQUNJOztFQUdJO0lBQ0k7O0VBR0o7SUFDSTs7RUFLWjtJQUNJOztFQUdKO0lBQ0k7Ozs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FMZ05wQjtFS2xOZ0I7SUFLUTtJQUNBOzs7QUw0TXhCO0VLeE1nQjtJQUVRO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTs7QUFJUjtFQUNJOztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FMNEp4QjtFS3hKd0I7SUFDSTs7O0FBUXhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5KO0lBT1E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5KO0lBT1E7SUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOzs7QUFTWjtFQUNJOztBQUlRO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSTtFQUNJOztBQUdKO0VBQ0k7O0FBT1o7RUFDSTs7QUFFQTtFQUNJOztBQUlBO0VBQ0k7O0FBR0o7RUFDSTs7QUFNaEI7RUFDSTs7QUFFQTtFQUNJOztBQUtJO0VBQ0k7O0FBS1o7RUFDSTs7QUFHSTtFQUNJOztBTDBCeEI7RUtsQlE7SUFDSTs7RUFFQTtJQUNJOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTs7RUFJQTtJQUNJOztFQUVBO0lBQ0k7O0VBS1o7SUFDSTtJQUNBOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTs7RUFJQTtJQUNJOztFQUVBO0lBQ0k7O0VBTUE7SUFDSTs7RUFPWjtJQUNJOztFQUVBO0lBQ0k7O0VBSVI7SUFDSTs7RUFLSjtJQUNJOztFQU1BO0lBQ0k7O0VBRUE7SUFDSTs7RUFJUjtJQUNJOztFQUtKO0lBQ0k7O0VBRUE7SUFDSTs7O0FBWWhDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FML0ZSO0VLd0ZJO0lBVVE7OztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFLWjtFQUNJOztBQUdJO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFPaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTs7QUFHSjtFQUdJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FDMzJCaEI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0k7RUFDSTtFQUNBOztBQU9JO0VBQ0k7RUFDQTs7QUFPcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFJQTtFQUNJO0VBQ0E7O0FOd2dCaEI7RU10aUJBO0lBb0NROztFQUNBO0lBQ0k7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBTnVlWjtFTWplSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7O0FBS1o7QUFBQTtFQUVJOzs7QUNuSUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBRUE7RUFDQTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFRcEI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FQMmRoQjtFT2psQko7SUFrSVE7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7RUFHSjtJQUNJOzs7O0FDbktwQjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBT0E7RUFDSTtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFFQTtFQUNBOztBQUlBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBS1o7RUFDSTs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FSMmZaO0VRamxCSjtJQW1HUTtJQUVBOztFQUVBO0lBQ0k7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7RUFHSjtJQUNJOzs7O0FDbklwQjtFQUVJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBRUk7O0FBR0o7RUFDSTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFLWjtFQUNJOztBQU1SO0VBR0k7RUFDQTtFQUNBOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBVG1lWjtFUy9rQko7SUF5SFE7SUFFQTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7O0VBR0o7SUFDSTs7OztBQVl4QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFFQTtFQUNBOztBVHNYSjtFU2xYSTtJQUNJOzs7QVRpWFI7RVM3V0k7SUFDSTs7OztBQzNPWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7O0FDN0JSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7OztBQUlSO0VBNkNJO0VBQ0E7RUFDQTs7QUE3Q0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBU1o7RUFDSTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUlBO0VBQ0k7O0FBS1o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7O0FBR1I7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBRUE7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBSUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FDbmVKO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFFQTs7QVpzakJBO0VZL2tCSjtJQTJCUTs7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBWjBmSjtFWXJmUTtJQUNJOzs7O0FBTWhCO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBWjBkUjtFWTdkSTtBQUFBO0FBQUE7SUFNUTs7OztBQU1oQjtFQUNJOztBQUVBO0VBQ0k7OztBQUlSO0FBQUE7RUFFSTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7QUFFQTtBQUFBO0VBQ0k7OztBQUlSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTs7QUFLSjtFQUNJO0VBQ0E7OztBQUtaO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBWjRQSjtFWXZQQTtJQUNJOzs7QUFJUjtFQUNJOzs7QUFJSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0Faa05SO0VZMU5BO0lBWVE7OztBWjhNUjtFWTFOQTtJQWdCUTtJQUNBOzs7QVp5TVI7RVkxTkE7SUFxQlE7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0k7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUNwY3BCO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7OztBQU9KO0VBQ0k7O0FBRUE7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUMvQ0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBT047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQU9OO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFNSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFPTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQU9GO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBT0Y7RUFDRTs7QUFNSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBTUo7RUFDRTtFQUNBOztBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUlKO0FBQUE7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOzs7QUFRSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FqQi9jSjtBQUFBO0FBQUE7QUFBQTtBQ3BCQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QWlCWEE7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7QUFBQTtFQUNJO0VBRUE7RUFDQTtFQUNBOztBQUtKO0FBQUE7RUFDSTtFQUNBO0VBR0E7RUFDQTtFQUNBOztBQUdKO0FBQUE7RUFDSTtFQUVBO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0FBQUE7RUFDSTtFQUNBOztBQUdKO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FmMmdCSjtFZXJsQko7QUFBQTtJQThFUTtJQUNBO0lBQ0E7SUFDQTs7OztBQUlSO0VBQ0k7OztBQ3ZGQTtFQUNJOzs7QUFNUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSTtFQUdJO0VBQ0E7RUFDQTs7QUFNSjtFQUNJO0VBQ0E7RUFDQTs7QUFJSjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFD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O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0E4QlhBO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QTVCdWdCNUI7RTRCOWZJO0lBQ0k7O0VBRUk7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7O0VBR1I7SUFDSTs7OztBL0JqRmhCO0FBQUE7QUFBQTtBQUFBO0FDcEJBO0FBYUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBK0JYQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQU9wQjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBSVI7RUFDSTtFQUNB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QUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFPWjtFQUNJO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FuQ3loQko7RW1DcmxCSjtJQWdFUTtJQUNBOzs7O0FDckJSO0F2QzFCQTtBQUFBO0FBQUE7QUFBQTtBQ3BCQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QXVDWEE7RUFDSTs7O0FBSUE7RUFFSTs7O0FBSVI7RUFDSTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBUUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0k7O0FBS0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FyQzZhSjtFcUMzZko7SUFrRlE7O0VBRUE7SUFDSTs7OztBQUtaO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOzs7QUFLWjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7RUFHSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBOzs7QUMzUlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNDOztBQUVEO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUdKO0VBQ0k7SUFDSTtJQUNBOztFQUdKO0lBQ0k7Ozs7QUMxRVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFFSTtFQUNBOztBQU1SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVJO0VBQ0E7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJOztBQU1SO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7O0ExQy9IUjtBQUFBO0FBQUE7QUFBQTtBQ3BCQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QTBDWEE7RUFDSTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTs7QUFHSjtFQUNJOztBeEMwa0JSO0V3Q3RrQlE7SUFDSTs7RUFHSjtJQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXhDc2pCSjtFd0M1akJBO0lBU1E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBOzs7QUFFSjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QXhDMmhCSjtFd0NybEJKO0lBOERRO0lBQ0E7SUFDQTtJQUNBOzs7O0FDbkVSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBTUo7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUE7RUFDSTs7O0E1Q3hCaEI7QUFBQTtBQUFBO0FBQUE7QUNwQkE7QUFhQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0E0Q1hBO0VBQ0k7RUFDQTs7QUFHSTtBQUFBO0VBRUk7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTFDb2pCSjtFMEMzakJBO0lBVVE7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0ExQzBmUjtFMEN0Z0JBO0lBZ0JROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBMUMyZFo7RTBDbGZBO0lBNEJROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QTFDaWNSO0UwQ2xjSTtJQUlROzs7QUFLSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQU1oQjtFQUNJO0VBQ0E7O0ExQzZaUjtFMEMvWkk7SUFLUTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTs7QUFLWjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7OztBQU9wQjtFQUNJOztBQUVBO0VBQ0k7OztBN0NwUFI7QUFBQTtBQUFBO0FBQUE7QUNwQkE7QUFhQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0E2Q1hBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUlSO0VBQ0k7O0FBRUE7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7QUFLSjtFQUNJOztBQUdKO0VBQ0k7O0FBS0o7RUFDSTs7QUFHSjtFQUNJOztBM0N5Z0JaO0UyQ25rQkE7SUErRFE7O0VBR0k7SUFDSTs7RUFHSjtJQUNJOzs7QTNDNGZoQjtFMkNybEJKO0lBZ0dRO0lBQ0E7O0VBRUE7SUFDSTs7O0EzQ2lmUjtFMkNybEJKO0lBeUdROzs7O0E5Q3ZGUjtBQUFBO0FBQUE7QUFBQTtBQ3BCQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QThDWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBNUN3akJKO0U0QzdqQkE7SUFRUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0E1Q3lkaEI7RTRDNWVRO0lBdUJROzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDSTtFQUNBOztBQUdKO0FBQUE7RUFDSTtFQUNBO0VBQ0E7O0E1Q3ViaEI7RTRDaGRJO0lBOEJROzs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBNUNpYXBCO0U0Q2pqQkE7SUF1SlE7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlBO0VBQ0k7RUFDQTs7QTVDcVlaO0U0Q2pZWTtJQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTVDc1JoQjtFNENyVlE7SUFtRVE7O0VBR0k7SUFDSTs7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBOztBQUdJO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFNQTs7QUFKQTtFQUNJOztBQU1BO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFNUjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBS1o7RUFDSTtFQUNBOztBNUNnQmhCO0U0Q1RZO0lBQ0k7O0VBR0o7SUFDSTs7O0E1Q0loQjtFNENDWTtJQUNJOztFQUdKO0lBQ0k7OztBNUNOaEI7RTRDcmxCSjtJQWttQlE7SUFDQTs7RUFHSTtJQUNJOzs7O0EvQ3JsQmhCO0FBQUE7QUFBQTtBQUFBO0FDcEJBO0FBYUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBK0NYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QTdDNmtCSjtFNkMva0JBO0lBS1E7OztBQUlSO0VBQ0k7RUFDQTs7QTdDb2tCSjtFNkN0a0JBO0lBS1E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E3QzBpQmhCO0U2Q3RqQlE7SUFnQlE7OztBN0NzaUJoQjtFNkN0a0JBO0lBc0NRO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBN0NrZlI7RTZDcmxCSjtJQXdHUTtJQUNBOzs7O0FoRHZGUjtBQUFBO0FBQUE7QUFBQTtBQ3BCQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QWdEVkk7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QTlDc2pCWjtFOENwa0JJO0lBa0JROztFQUVBO0FBQUE7SUFFSTs7O0FBS1o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFPcEI7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBOUM2YlI7RThDbGNJO0lBUVE7O0VBRUE7QUFBQTtJQUVJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QTlDZ2FoQjtFOENybEJKO0lBNExRO0lBQ0E7SUFDQTs7OztBQ2hNUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTs7QUFJQTtFQUNJOztBQUtaO0VBQ0k7RUFDQTs7QUFJQTtFQUNJOztBQUtKO0VBQ0k7O0FBS1o7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFNaEI7RUFDSTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7OztBbER2Slo7QUFBQTtBQUFBO0FBQUE7QUNwQkE7QUFhQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FrRFhBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBRUE7O0FoRDhrQko7RWdEamxCQTtJQU1ROzs7QUFJUjtFQUNJO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FoRCtqQlo7RWdEbGtCUTtJQU1ROzs7QUFJUjtFQUNJO0VBQ0E7O0FBR0k7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0k7RUFDSTs7QUFLWjtFQUNJOztBaERraUJoQjtFZ0R4akJRO0lBMEJRO0lBQ0E7O0VBRUE7SUFDSTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QWhENGdCaEI7RWdEcmhCUTtJQWFRO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7O0FoRGlnQnBCO0VnRHZrQkE7SUE2RVE7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FoRGllUjtFZ0RyZkE7SUF3QlE7SUFDQTs7O0FoRDRkUjtFZ0RybEJKO0lBOEhRO0lBQ0E7Ozs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQU1oQjtBQUFBO0FBQUE7RUFHSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBaER5TVo7RWdEbk1JO0lBRUk7O0VBR0o7SUFDSTs7OztBQUtaO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBRUE7RUFUSjtJQVVROzs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBOztBQUtKO0VBQ0k7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7QUFzRUE7QUFRQTtBQWlCQTs7QUE3RkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFJSjtFQUNJO0lBRUk7Ozs7QW5EcmtCWjtBQUFBO0FBQUE7QUFBQTtBQ3BCQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QW1EWEE7RUFDSTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FqRHVrQlo7RWlEaGxCSTtJQWFROztFQUVBO0lBQ0k7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FqRGlnQlI7RWlEcGpCQTtJQXVEUTtJQUNBOzs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FqRCtlWjtFaURybEJKO0lBNEdRO0lBQ0E7Ozs7QUFJUjtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJO0VBRUE7O0FBSVI7RUFDSTs7QUFHSTtFQUNJOztBQUtaO0VBQ0k7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FwRGhRcEI7QUFBQTtBQUFBO0FBQUE7QUNwQkE7QUFhQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FvRFhBO0VBQ0k7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFJQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBSUE7O0FBRUE7RUFDSTtFQUNBOztBQU1oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7O0FsRDJnQnBCO0VrRHJrQkk7SUFnRVE7O0VBRUE7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QWxEdWVaO0VrRGpsQko7SUFnSFE7SUFDQTs7OztBQUlSO0VBQ0k7RUFDQTtBQXFEQTtBQXdCQTs7QUEzRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFFSTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtJQUVJIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCY6YmVmb3Jle1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctdG9wOiBtYXRoLmRpdigkaGVpZ2h0LCAkd2lkdGgpICogMTAwJTtcblx0fVxuXG5cdD4gLmNvbnRlbnQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdH1cbn1cblxuLypcbi5zaXh0ZWVuLW5pbmUge1xuXHRAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTYsOSk7XG59Ki9cbiIsIi8qIE1lZGlhIFF1ZXJpZXMgQnJlYWtwb2ludHMgKi9cblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgICAgICdwaG9uZSc6IDMyMHB4LFxuICAgICAgICAncGhvbmUtbCc6IDU3NXB4LFxuICAgICAgICAndGFibGV0JzogNzY3cHgsXG4gICAgICAgICdkZXNrdG9wJzogMTExMnB4LFxuICAgICAgICAnZGVza3RvcC1tJzogMTI4MHB4LFxuICAgICAgICAnZGVza3RvcC1sJzogMTQ0MHB4LFxuICAgICAgICAnZGVza3RvcC14bCc6IDE2NjBweCxcbiAgICAgICAgJ2Rlc2t0b3AtMTkyMCc6IDE5MjBweCxcbik7XG5cbi8qKlxuKiAqKioqKioqKioqKioqKioqKioqXG4qICBVc2FnZSBleGFtcGxlc1xuKiAqKioqKioqKioqKioqKioqKioqXG4qXG4vL1xuLy8gIHVzZSA8PVxuKiAgIEFMV0FZUyB1c2UgPD0gKCAnPCcgd2l0aCAnPScgY2hhcmFjdGVyKSBmb3IgYWxsIGJyZWFrcG9pbnRzXG4qICAgd2hlbiBzZXR0aW5nIG1heC13aWR0aCwgZXg6IG1heC13aWR0aDogNzY3cHgsXG4qXG4qICAgc28gbWF4LXdpZHRoOiAxNDQwcHggID09IG1lZGlhKCc8PWRlc2t0b3AtbCcpXG4qXG4qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qXG4vLyAgdXNlID5cbiogICBBTFdBWVMgdXNlIG9ubHkgPiBhcyBzaW5nbGUgY2hhcmFjdGVyIGZvciBhbGwgYnJlYWtwb2ludHNcbiogICB3aGVuIHNldHRpbmcgbWluLXdpZHRoLCBleDogbWluLXdpZHRoOiA3NjhweCxcbipcbiogICBzbyBtaW4td2lkdGg6IDEwMjVweCAgPT0gbWVkaWEoJz5kZXNrdG9wJylcbipcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbipcbiojIyBFWEFNUExFOlxuKlxuKiAgIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KVxuKiAgID1cbiogICBtZWRpYSAoJz50YWJsZXQnKSwgKCc8PWRlc2t0b3AnKVxuKlxuLy9cblxuICovXG4iLCI6cm9vdCB7XG4gICAgLS1waG9uZS13aWR0aDogNTc2cHg7XG4gICAgLS10YWJsZXQtd2lkdGg6IDc2OHB4O1xuICAgIC0tZGVza3RvcC13aWR0aDogMTExMnB4O1xuICAgIC0tZGVza3RvcC13aWR0aC1zbTogMTAyNHB4O1xuICAgIC0tZGVza3RvcC13aWR0aC1tOiAxMjgwcHg7XG4gICAgLS1kZXNrdG9wLXdpZHRoLWw6IDE0NDBweDtcbiAgICAtLWRlc2t0b3Atd2lkdGgteGw6IDE2NDBweDtcbiAgICAtLWRlc2t0b3Atd2lkdGgtMTkyMDogMTkyMHB4O1xuICAgIC0tY29udGVudC13aWR0aDogdmFyKC0tZGVza3RvcC13aWR0aC1tKTsgLy8gRGVmYXVsdCBjb250ZW50IHdpZHRoICgxMjgwKVxuICAgIC0tYmxvZy13aWR0aDogNzYwcHg7XG4gICAgLS1wYWdlLWd1dHRlcjogMjBweDtcbiAgICAtLWdyaWQtZ3V0dGVyOiAyNHB4O1xuICAgIC0tYmFzZS10cmFuc2l0aW9uOiAuM3M7XHRcdCAgICAgICAgICAgIC8vIGRlZmF1bHQgdHJhbnNpdGlvbiBmb3IgaG92ZXJzXG5cbiAgICAtLXZlcnRpY2FsLWdhcDogNnZtaW47XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xuICAgICAgICAtLXZlcnRpY2FsLWdhcDogMjBweDtcbiAgICAgICAgLS1wYWdlLWd1dHRlcjogMTVweDtcbiAgICAgICAgLS1jb250ZW50LXdpZHRoOiB2YXIoLS10YWJsZXQtd2lkdGgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PWRlc2t0b3AtbCcpIHtcbiAgICAgICAgLS1jb250ZW50LXdpZHRoOiB2YXIoLS1kZXNrdG9wLXdpZHRoLXNtKTtcbiAgICB9XG5cbn1cblxuXG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAncGhvbmUtbCc6IDU3NXB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuICApICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJyxcbiAgKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuICApICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJyxcbiAgJ3BvcnRyYWl0JyxcbiAgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoXG4gICAgKTtcbn1cblxuQHJldHVybiAkbWVzc2FnZTtcbn1cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0nbWF4JyBhbmQgJHZhbHVlIDw9JG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yICgkcHJlZml4ID09J21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0cmluZy5sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pPjAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihsaXN0LmluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAuZ2V0KCR1bml0LWludGVydmFscywgbWF0aC51bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7bWF0aC51bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0nPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9XG5cbiAgQGVsc2UgaWYgJG9wZXJhdG9yID09JzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuXG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4kZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKFxuICApO1xuXG5AZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICRyZXN1bHQ6IGxpc3QuYXBwZW5kKCRyZXN1bHQsIGxpc3QubnRoKCRsaXN0LCAkaSksIGNvbW1hKTtcbn1cblxuQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSk9PSdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9J3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoXG4gICAgJGZpcnN0LWNoYXJhY3RlciA9PSctJ1xuICApO1xuJG51bWJlcnM6IChcbiAgJzAnOiAwLFxuICAnMSc6IDEsXG4gICcyJzogMixcbiAgJzMnOiAzLFxuICAnNCc6IDQsXG4gICc1JzogNSxcbiAgJzYnOiA2LFxuICAnNyc6IDcsXG4gICc4JzogOCxcbiAgJzknOiA5LFxuKTtcblxuLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG5AaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0nKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSctJykge1xuICAkdmFsdWU6IHN0cmluZy5zbGljZSgkdmFsdWUsIDIpO1xufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PScuJykge1xuICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSkpO1xuICB9XG5cbiAgQGlmICRjaGFyYWN0ZXIgPT0nLicge1xuICAgICRkaWdpdHM6IDE7XG4gIH1cblxuICBAZWxzZSBpZiAkZGlnaXRzID09MCB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gIH1cbn1cblxuQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG5AaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG59XG5cbkByZXR1cm4gJHZhbHVlICogbWFwLmdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKT09MCkgb3IgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3N0cmluZy51bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obGlzdC5udGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcblxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBUeXBvZ3JhcGh5ICovXG5cbkBpbXBvcnQgJy4uL21peGlucy9mb250LWZhY2UnO1xuXG4vLyBGb3IgZ29vZ2xlIGZvbnRzIHBsZWFzZSB1c2UgaHR0cHM6Ly9nb29nbGUtd2ViZm9udHMtaGVscGVyLmhlcm9rdWFwcC5jb20vZm9udHMgaWYgcG9zc2libGVcblxuXG5cbkBpbmNsdWRlIGFkZEZvbnRGYWNlKCdGaXhlbERpc3BsYXknLCAnLi4vLi4vLi4vZm9udHMvRml4ZWxEaXNwbGF5JywgKCd3b2ZmMicpLCAoXG5cdFx0Y3JlYXRlRm9udE1hcCgnRml4ZWxEaXNwbGF5LUxpZ2h0JywgMzAwKSxcblx0XHRjcmVhdGVGb250TWFwKCdGaXhlbERpc3BsYXktUmVndWxhcicsIDQwMCksXG5cdFx0Y3JlYXRlRm9udE1hcCgnRml4ZWxEaXNwbGF5LU1lZGl1bScsIDUwMCksXG5cdFx0Y3JlYXRlRm9udE1hcCgnRml4ZWxEaXNwbGF5LVNlbWlCb2xkJywgNjAwKSxcblx0XHRjcmVhdGVGb250TWFwKCdGaXhlbERpc3BsYXktQm9sZCcsIDcwMCksXG5cdCkpO1xuXG5cbi8qIDFyZW0gPSAxMHB4ICovXG5cbmh0bWwge1xuXG5cdGZvbnQtc2l6ZTogNTAlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbVwiKSB7XG5cdFx0Zm9udC1zaXplOiA1OCU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLWxcIikge1xuXHRcdGZvbnQtc2l6ZTogNjIuNSU7XG5cdH1cbn0iLCJAZnVuY3Rpb24gY3JlYXRlRm9udE1hcCgkZmlsZSwgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCkge1xuICBAcmV0dXJuIChcbiAgICBmaWxlOiAkZmlsZSxcbiAgICB3ZWlnaHQ6ICR3ZWlnaHQsXG4gICAgc3R5bGU6ICRzdHlsZVxuICApO1xufVxuXG5AbWl4aW4gYWRkRm9udEZhY2UoJGZvbnRGYW1pbHksICRiYXNlUGF0aCwgJGZvcm1hdHMsICRkZWZMaXN0KSB7XG4gICRmb3JtYXRFeHRNYXA6IChcbiAgICAndHJ1ZXR5cGUnOiAndHRmJyxcbiAgICAnb3BlbnR5cGUnOiAnb3RmJ1xuICApO1xuXG4gIEBlYWNoICRkZWYgaW4gJGRlZkxpc3Qge1xuICAgICRzcmM6ICgpO1xuXG4gICAgQGVhY2ggJGZvcm1hdCBpbiAkZm9ybWF0cyB7XG4gICAgICAkZXh0OiBtYXAtZ2V0KCRmb3JtYXRFeHRNYXAsICRmb3JtYXQpO1xuICAgICAgQGlmICRleHQgPT0gbnVsbCB7XG4gICAgICAgICRleHQ6ICRmb3JtYXQ7XG4gICAgICB9XG5cbiAgICAgICRmaWxlOiBtYXBfZ2V0KCRkZWYsICdmaWxlJyk7XG4gICAgICBAZGVidWcgXCLinIUgZmlsZTogI3skZmlsZX0g4oCUIGZvcm1hdDogI3skZXh0fVwiO1xuXG4gICAgICAkdXJsOiB1cmwoJyN7JGJhc2VQYXRofS8jeyRmaWxlfS4jeyRleHR9JykgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKTtcbiAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCAkdXJsLCBjb21tYSk7XG4gICAgfVxuXG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICBmb250LWZhbWlseTogcXVvdGUoJGZvbnRGYW1pbHkpO1xuICAgICAgZm9udC13ZWlnaHQ6IG1hcF9nZXQoJGRlZiwgJ3dlaWdodCcpO1xuICAgICAgZm9udC1zdHlsZTogbWFwX2dldCgkZGVmLCAnc3R5bGUnKTtcbiAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgIHNyYzogJHNyYztcbiAgICB9XG4gIH1cbn0iLCIuaXMtd3lzaXd5Zyxcbi53cC1lZGl0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IC44cmVtO1xuXG4gICAgYnIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjhyZW07XG4gICAgfVxuXG4gICAgJi4tZmFzaGlvbiB7XG5cbiAgICAgICAgaDEsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyxcbiAgICAgICAgaDQsXG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhOm5vdCgud29vLWJ1dHRvbiwgLmN0YS1idXR0b24pIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLi1hY2NlbnQtbGluayB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHNhdHVyYXRlKDcwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSxcbiAgICAuaDEge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDRyZW0sIDQuMnZ3LCA3LjJyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgLmgyIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgzLjZyZW0sIDV2dywgNHJlbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cblxuICAgICAgICAmLmgyLXNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA1dncsIDRyZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMsXG4gICAgLmgzIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjRyZW0sIDV2dywgMy4ycmVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIH1cblxuICAgIGg0LFxuICAgIC5oNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNXZ3LCA0cmVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICBoNSxcbiAgICAuaDUge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBoNixcbiAgICAuaDYge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNnJlbSwgNXZ3LCAxLjhyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIC5tLTgge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLm0tMTYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLm0tMzIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG5cbiAgICAgICAgbGkge31cbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG5cbiAgICAgICAgbGkge31cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDIuNXZ3LCAxLjZyZW0pO1xuXG5cbiAgICAgICAgYiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmLmgxLXN1YnRpdGxlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNnJlbSwgMi41dncsIDIuNHJlbSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1ncmV5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgICYuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAydncsIDIuNHJlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VwYXJhdG9yIHtcbiAgICAgICAgaGVpZ2h0OiAuMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICBtYXJnaW46IDMuMnJlbSAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAwIDEuNnJlbSAwIDA7XG4gICAgfVxuXG4gICAgLndvby1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLmFjY2VudC1ibG9jayB7XG5cbiAgICAgICAgYm9yZGVyOiAuMXJlbSBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMS42cmVtLCAydncsIDIuNHJlbSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMS42cmVtO1xuXG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAzLjJyZW07XG4gICAgfVxuXG4gICAgLmljb24tdGV4dC1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAuYnV0dG9ucy1yb3cge1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG5cbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vIFN0eWxlcyBmb3IgNDA0IGFuZCBvdGhlciBzeXN0ZW0gcGFnZXNcbi5lcnJvcjQwNCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbn1cblxuLnBhZ2UtNDA0IHtcblx0XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNlY3Rpb24tcGFkZGluZyk7XG5wYWRkaW5nOiAwO1xuXHQud3JhcHBlciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNlY3Rpb24tcGFkZGluZyk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNlY3Rpb24tcGFkZGluZyk7XG5cblx0XHQuaXMtd3lzaXd5ZyB7XG5cdFx0XHRwYWRkaW5nOiAwIDEuNnJlbTtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdGgxLm1lZ2EtdGV4dCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoOC42cmVtLCA3dncsIDEyLjhyZW0pO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDU5cmVtO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3RhLWJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDUuNnJlbVxuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59IiwiOnJvb3Qge1xuICAgIC0tYWRtaW4tYmFyOiAzMnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG4gICAgICAgIC0tYWRtaW4tYmFyOiA0NnB4O1xuICAgIH1cblxuICAgIC0tbWFpbi1oZWFkZXItY29sb3I6ICNmZmY7XG59XG5cbmhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE5cmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLWxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDEyLjNyZW07XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLWNhcnQge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIGltZyxcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnVyZ2VyLWFjdGl2ZSB7XG4gICAgICAgIC5oZWFkZXItdG9wIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9iaWxlLWNhcnQubW9iaWxlIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItdG9wIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZS1pbjtcblxuICAgICAgICAmX19saW5rcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMi40cmVtO1xuXG4gICAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAyLjRyZW07XG5cbiAgICAgICAgICAgIC5hY3Rpb25zLXNvY2lhbHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDEuNnJlbTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHN0cm9rZSAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5ndWFnZS1zd2l0Y2hlciB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VwYXJhdG9yLXYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItbWFpbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMi40cmVtIDEuNnJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG5cbiAgICAgICAgJi5zY3JvbGxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhdGVnb3JpZXMtaXRlbSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NhdGVnb3JpZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogNi40cmVtO1xuXG4gICAgICAgICAgICAuY2F0ZWdvcmllcy1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyLjRyZW0gMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgMS41dncsIDEuOHJlbSk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMi40cmVtO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5oZWFkZXItY291bnRlci0td2lzaGxpc3Qge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvdW50ZXItLWNhcnQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0zMCUpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgJjo6bWFya2VyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotd2Via2l0LW1hcmtlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1cmdlci1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICAgICAgLmxpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJ1cmdlci1idXR0b24tYWN0aXZlIHtcbiAgICAgICAgICAgIC5saW5lMSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmUyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGluZTMge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtN3B4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAubW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjwxMzAwcHhcIikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcblxuICAgICAgICAuaGVhZGVyLW1haW4ge1xuICAgICAgICAgICAgcGFkZGluZzogMS42cmVtIDEuNnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODA4MDgwNTg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODA4MDU4O1xuXG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2NhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNjcm9sbGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhdGVnb3JpZXMtaXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzgwODA4MDU4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS42cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci10b3Age1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIC5sYW5ndWFnZS1zd2l0Y2hlciB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNlcGFyYXRvci12IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idXJnZXItbWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB0b3A6IHZhcigtLWZpcnN0LW5hdi1oZWlnaHQpO1xuICAgIHJpZ2h0OiAtMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWZpcnN0LW5hdi1oZWlnaHQpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgdHJhbnNpdGlvbjogcmlnaHQgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5zZWFyY2gge1xuICAgICAgICAgICAgcGFkZGluZzogMi40cmVtIDEuNnJlbSAxLjZyZW0gMS42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgdmFyKC0tY29sb3ItdHJhbnMtYmxhY2spO1xuXG4gICAgICAgICAgICAuY2F0ZWdvcmllcy1pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgdmFyKC0tY29sb3ItdHJhbnMtYmxhY2spO1xuXG4gICAgICAgICAgICAgICAgLml0ZW0tbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi40cmVtIDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMzAwcHhcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMzAwcHhcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNyb3NzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAueSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUgLmNyb3NzIC55IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuICAgICAgICAgICAgICAgICAgICAuc3ViY2F0ZWdvcnktaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgIzgwODA4MDIzO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDEzMDBweFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDIuNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbSAxLjZyZW0gNS4ycmVtIDEuNnJlbTtcblxuICAgICAgICAgICAgLmxpbmtzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICByb3ctZ2FwOiAzLjJyZW07XG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogNXJlbTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uczogMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMTRyZW07XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRhY3RzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiA1cmVtO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keSB7XG4gICAgJi5oYXMtbGlnaHQtaGVhZGVyIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICYuYnVyZ2VyLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgLm1vYmlsZS1jYXJ0IHtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmhlYWRlci10b3Age1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zZXBhcmF0b3ItdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguYnVyZ2VyLWFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIC5oZWFkZXItdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSkgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAubG9nbyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1zd2l0Y2hlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VwYXJhdG9yLXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhlYWRlci1tYWluIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgLmxvZ28gcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jYXRlZ29yaWVzLWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG4gICAgICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+MTMwMHB4XCIpIHtcbiAgICAgICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5oZWFkZXItbWFpbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxvZ28gcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmhlYWRlci1jb3VudGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNhdGVnb3JpZXMtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5zY3JvbGxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28gcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmhlYWRlci1jb3VudGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2F0ZWdvcmllcy1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2Utc3dpdGNoZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXBhcmF0b3ItdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuaGVhZGVyLW1haW5fX2FjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuaGVhZGVyLXRvcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNlcGFyYXRvci12IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19saW5rcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3JpZXMtaXRlbSB7XG4gICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDkwJSk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PTEzMDBweFwiKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjODA4MDgwMjM7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlYXJjaCBEcm9wZG93blxuICAgIC5zZWFyY2gtZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGFpbmVyLW1heC13aWR0aCkgLSA0MHJlbSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHZpc2liaWxpdHkgMC4zcyBlYXNlO1xuXG4gICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgIHN0cm9rZTogIzdhNzk1MyAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwLjNzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC1wcm9kdWN0X19pdGVtIC5pbmZvIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNnJlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2lucHV0LXdyYXBwZXIge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjN2E3OTUzO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbnB1dCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2xvc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogIzdhNzk1MztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHJlbTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmX19lbXB0eSxcbiAgICAgICAgJl9fbG9hZGluZyxcbiAgICAgICAgJl9fZXJyb3Ige1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbSAxLjZyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJvZHVjdHMge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgICAgICBnYXA6IDMuMnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gNHJlbSAzLjJyZW0gNHJlbTtcblxuICAgICAgICAgICAgLmNvbnRlbnQtcHJvZHVjdF9faXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS42cmVtIDRyZW0gMS42cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zaG93LWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMi40cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzdhNzk1MztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNWE1OTQzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNpdGUtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgcGFkZGluZzogY2xhbXAoNHJlbSwgNnZ3LCA4cmVtKSAxLjZyZW0gNHJlbSAxLjZyZW07XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc29jaWFscy1saXN0IHtcbiAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogI2ZmZjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogNC44cmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDMuMnJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI0cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTkuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItY29sdW1uIHtcbiAgICAgICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmstaXRlbSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgIC5mb290ZXItY29sdW1uIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAubGluay1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNnJlbSAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODA4MDVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDIuNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgLmNvbnRhY3RzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAycmVtO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgLnRodW1ibmFpbHMgaW1nLFxuLndvb2NvbW1lcmNlLXBhZ2UgLnRodW1ibmFpbHMgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsImJvZHkge1xuICAgICYubW9kYWwtb3BlbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4ubW9kYWwtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAubG9hZGVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAubW9kYWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjJyZW0pO1xuICAgICAgICBtYXgtd2lkdGg6IDcwLjJyZW07XG5cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiA0LjhyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG5cblxuXG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI4cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tb2RhbF9fY2xvc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mYWN0cy1saXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiAxLjJyZW07XG5cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFya2dyZXkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1iZWlnZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMy42cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy42cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkYwRkY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGFicyB7XG4gICAgICAgICAgICAgICAgZ2FwOiAzLjJyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI4LCAxMjgsIDEyOCwgMC4xMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cblxuXG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgYm9yZGVyOiAuMXJlbSBzb2xpZCB2YXIoLS1jb2xvci1iZWlnZSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGREZERkQ7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcblxuICAgICAgICAubW9kYWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJlaWdlKTtcblxuICAgICAgICAgICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm1vZGFsX19jbG9zZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgfVxuXG59IiwiYm9keSB7XG4gICAgJi5taW5pLWNhcnQtb3BlbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4ubWluaS1jYXJ0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSk7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBwYWRkaW5nOiAyLjRyZW07XG5cbiAgICAubG9hZGVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC53aWRnZXRfc2hvcHBpbmdfY2FydF9jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4ycmVtKTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MC4ycmVtO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgIC5taW5pLWNhcnQge1xuXG5cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiA0LjhyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG5cblxuXG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMycmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5taW5pLWNhcnRfX2Nsb3NlIHtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcnQtZnVsbF9fcHJvZHVjdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG5cblxuXG5cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICBib3JkZXI6IC4xcmVtIHNvbGlkIHZhcigtLWNvbG9yLWJlaWdlKTtcbiAgICAgICAgXG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcblxuICAgICAgICAubWluaS1jYXJ0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1iZWlnZSk7XG5cbiAgICAgICAgICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5taW5pLWNhcnRfX2Nsb3NlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG5cbiAgICB9XG5cbn0iLCJib2R5IHtcblxuICAgICYuc2lkZS1jYXJ0LW9wZW4sXG4gICAgJi5zbGlkZS1jYXJ0LW9wZW4ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuLnNsaWRlLWNhcnQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHBhZGRpbmc6IDIuNHJlbTtcblxuICAgIC5sb2FkZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLndpZGdldF9zaWRlX2NhcnRfY29udGVudCB7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5zaWRlLWNhcnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nOiA0LjhyZW0gY2xhbXAoMS42cmVtLCAzdncsIDQuOHJlbSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG5cblxuXG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMycmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zaWRlLWNhcnRfX2Nsb3NlIHtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcnQtZnVsbF9fcHJvZHVjdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Jsb2NrIHtcblxuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogY2xhbVAoMS42cmVtLCAzdncsIDMuMnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcm9kdWN0LWxpc3Qge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogY2xhbXAoMC44cmVtLCAydncsIDEuNnJlbSk7XG5cbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAuZW1wdHktcHJvZHVjdHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19mb290ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cblxuXG5cblxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIGJvcmRlcjogLjFyZW0gc29saWQgdmFyKC0tY29sb3ItYmVpZ2UpO1xuXG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcblxuICAgICAgICAuc2lkZS1jYXJ0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1iZWlnZSk7XG5cbiAgICAgICAgICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5zaWRlLWNhcnRfX2Nsb3NlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG5cbiAgICB9XG5cbn1cblxuLnNsaWRlLWNhcnQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgICAuc2xpZGUtY2FydF9fYmFja2Ryb3Age1xuICAgICAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpZGUtY2FydF9fcGFuZWwge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogLThweCAwIDI0cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGUtY2FydF9fYmFja2Ryb3Age1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlO1xuICAgIH1cblxuICAgIC5zbGlkZS1jYXJ0X19wYW5lbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBtYXgtd2lkdGg6IDcwcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpZGUtY2FydF9fbG9hZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICB9XG5cbiAgICAuc2xpZGUtY2FydF9fYm9keSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNzByZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgLnNsaWRlLWNhcnRfX3BhbmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiBtaW4oOTB2dywgMzhyZW0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAuc2xpZGUtY2FydF9fcGFuZWwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmN0YS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAuOHJlbTtcbiAgICBwYWRkaW5nOiAxLjhyZW0gMi40cmVtO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAuMXMgZWFzZS1pbjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICYuLWhha2kge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgICYuLWJsYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmLi1mdWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICYuLXVwcGVyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGZpbHRlcjpzYXR1cmF0ZSg0MCUpO1xuICAgIH1cbn0iLCI6cm9vdCB7XG4gICAgLS1mb3JtLXRleHQtc2l6ZTogY2xhbXAoMS40cmVtLCAydncsIDEuNnJlbSk7XG59XG5cbi5zZWFyY2gtZmllbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci10cmFucy1ibGFjayk7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1maWVsZCk7XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMS4ycmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNC41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWZvY3VzKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KTtcbiAgICB9XG59XG5cbi5kZWZhdWx0LWZvcm0ge1xuICAgICYud2l0aC1zdWNjZXNzIHtcbiAgICAgICAgLnN1Y2Nlc3MtbWVzc2FnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNC44cmVtO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYuNHJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS10ZXh0LXNpemUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMi40cmVtO1xuXG4gICAgLml0aSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pdGlfX2ZsYWctY29udGFpbmVyIHtcbiAgICAgICAgLml0aV9fc2VsZWN0ZWQtZmxhZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrd2hpdGUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLml0aV9fc2VsZWN0ZWQtZmxhZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN0YS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZmlsZS11cGxvYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAyLjRyZW07XG5cbiAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZ2FwOiAyLjRyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51cGxvYWQtYnRuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAzcmVtIDAuOHJlbSAxLjZyZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvcm0tdGV4dC1zaXplKTtcbiAgICAgICAgICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTNlM2RjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbGUtcHJldmlld3Mge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogMTBweDtcblxuICAgICAgICAgICAgLmZpbGUtaXRlbSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDZyZW07XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbGUtcHJldmlld3MgLnJlbW92ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLW1vcmUtZmlsZXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIGNvbG9yOiAjOGI4YjZmO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRlZmF1bHQtaW5wdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMS44cmVtIDEuNnJlbTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbjtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWhha2kpO1xuICAgIH1cbn1cblxuLnRoaW4taW5wdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMS40cmVtIDEuNnJlbTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbjtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWhha2kpO1xuICAgIH1cbn1cbi5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW1cbn1cbi5yYWRpby1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxLjhyZW0gMS42cmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY29sb3ItaGFraSk7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNHJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS44cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDAuOHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgdG9wOiAwLjVyZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhZGlvLWxhYmVsLWlucHV0IHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgLnJhZGlvLWxhYmVsLWlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uZGVmYXVsdC10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxLjhyZW0gMS42cmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTRyZW07XG4gICAgbWF4LWhlaWdodDogMTZyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY29sb3ItaGFraSk7XG4gICAgfVxufVxuXG4uZGVmYXVsdC1zdWJtaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEuNnJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMXMgZWFzZTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogMS40cmVtIDJyZW07XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjJzIGVhc2UtaW47XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgZmlsdGVyOiBzYXR1cmF0ZSg0MCUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gICAgMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTM2LCA4NCwgMjA4LCAwLjUpO1xuICAgIH1cblxuICAgIDcwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDhweCByZ2JhKDEzNiwgODQsIDIwOCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxMzYsIDg0LCAyMDgsIDApO1xuICAgIH1cbn1cblxuLnJhdGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDRweDtcbn1cblxuLnJhdGluZyBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJhdGluZyBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbn1cblxuLnJhdGluZyBsYWJlbCBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBzdHJva2U6ICM4MDgwODA7XG4gICAgc3Ryb2tlLXdpZHRoOiAxLjU7XG4gICAgZmlsbDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbn1cblxuLnJhdGluZyBsYWJlbDpob3ZlciBzdmcsXG4ucmF0aW5nIGxhYmVsOmhvdmVyIH4gbGFiZWwgc3ZnIHtcbiAgICBzdHJva2U6ICM5ZTllNmY7XG4gICAgZmlsbDogIzllOWU2Zjtcbn1cblxuLnJhdGluZyBpbnB1dDpjaGVja2VkIH4gbGFiZWwgc3ZnIHtcbiAgICBzdHJva2U6ICM5ZTllNmY7XG4gICAgZmlsbDogIzllOWU2Zjtcbn1cblxuLndwY2Y3LWZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIuNHJlbTtcblxuICAgIC5pdGlfX2ZsYWctY29udGFpbmVyIHtcbiAgICAgICAgLml0aV9fc2VsZWN0ZWQtZmxhZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrd2hpdGUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLml0aV9fc2VsZWN0ZWQtZmxhZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN0YS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBjb2xvcjogcmdiYSg4NSwgODUsIDg1LCAxKTtcbiAgICB9XG5cbiAgICAudWFjZjctZm9ybS13cmFwcGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMS4ycmVtO1xuXG4gICAgICAgIC53cGNmNy1zcGlubmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNHJlbSk7XG4gICAgfVxufVxuXG4uc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgXG4gICAgZm9udC1zaXplOiAxLjZyZW0haW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYiFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JleSkhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW47XG4gICAgYm9yZGVyLXJhZGl1czogMCFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBwYWRkaW5nOiAxLjRyZW0gMS42cmVtIWltcG9ydGFudDtcbn0iLCIqLFxuKjo6YWZ0ZXIsXG4qOjpiZWZvcmUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbjpyb290IHtcbiAgICAvLyBDT0xPUlNcbiAgICAtLWNvbG9yLWJsYWNrOiAjMGEwYTBhO1xuICAgIC0tY29sb3Itd2hpdGU6ICNmZmY7XG4gICAgLS1jb2xvci1ncmV5OiAjZWRlZGVkO1xuICAgIC0tY29sb3ItbGlnaHRncmV5OiAjZmJmYmZiO1xuICAgIC0tY29sb3ItYmVpZ2U6ICNjY2NjYzI7XG4gICAgLS1jb2xvci1oYWtpOiAjN2E3OTUzO1xuICAgIC0tY29sb3ItdHJhbnNwYXJlbnQ6ICM3YTc5NTMzMDtcbiAgICAtLWNvbG9yLWRhcmtncmV5OiAjODA4MDgwO1xuICAgIC0tY29sb3ItZ3JlZW46ICM1ODkyMDA7XG4gICAgLS1jb2xvci1yZWQ6ICNjMTAwMDM7XG4gICAgLS1jb2xvci10cmFucy1ibGFjazogIzgwODA4MDUwO1xuXG4gICAgLS10ZXh0LWJsYWNrOiB2YXIodmFyKC0tY29sb3ItYmxhY2spKTtcbiAgICAtLXRleHQtZ3JleTogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgLy8gU0laRVNcbiAgICAtLWZvbnQtc2l6ZTogTWF4KDEwcHgsIDAuNTIxdncpO1xuICAgIC0tc2VjdGlvbi1wYWRkaW5nOiBjbGFtcCgxMHJlbSwgOHZ3LCAxNHJlbSk7XG4gICAgLS1jb250YWluZXItbWF4LXdpZHRoOiAxNjByZW07XG4gICAgLS1pbmZvLWNhcmRzLXBhZGRpbmc6IGNsYW1wKDI0cHgsIDIuNXZ3LCA0LjhyZW0pO1xuICAgIC8vIFRSQU5TSVRJT05TXG5cbiAgICAtLWhlYWRlci1oZWlnaHQ6IGNhbGMoMTVyZW0gKyAyLjRyZW0pO1xuXG4gICAgLS1kZWZhdWx0LXRyYW5zaXRpb246IDAuMnM7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8MTEwMHB4XCIpIHtcbiAgICAgICAgLS1oZWFkZXItaGVpZ2h0OiAxMXJlbTtcbiAgICB9XG59XG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbn1cblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRml4ZWxEaXNwbGF5XCIsIHNhbnMtc2VyaWY7XG5cbiAgICAmOm5vdCguaGFzLWxpZ2h0LWhlYWRlcikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICB9XG5cbiAgICAmLm5vLXNjcm9sbCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4ubWFpbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxubWFpbiB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbnNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNlY3Rpb24tcGFkZGluZykgMS42cmVtO1xuXG4gICAgLnNlY3Rpb24tYmFja2dyb3VuZCxcbiAgICAuYmxvY2stYmFja2dyb3VuZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaW1nLFxuICAgICAgICBzdmcsXG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stYmFja2dyb3VuZCB7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAuc2VjdGlvbi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5oZWFkZXIsXG5mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuc2VjdGlvbixcbmhlYWRlcixcbmZvb3RlciB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWF4LXdpZHRoKTtcblxuICAgICAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuXG5oMSxcbi5oMSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgzLjZyZW0sIDQuMnZ3LCA3LjJyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmgyLFxuLmgyIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDMuNnJlbSwgNXZ3LCA0cmVtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgJi5oMi1zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA1dncsIDRyZW0pO1xuICAgIH1cbn1cblxuaDMsXG4uaDMge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA1dncsIDMuMnJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG5oNCxcbi5oNCB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA1dncsIDRyZW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmg1LFxuLmg1IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG5oNixcbi5oNiB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDV2dywgMS44cmVtKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ubS04IHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5tLTE2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG59XG5cbi5tLTMyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XG59XG5cbnAge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAyLjV2dywgMS42cmVtKTtcbiAgICBsaW5lLWhlaWdodDogYXV0bztcblxuICAgICYuaDEtc3VidGl0bGVyIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDIuNXZ3LCAyLjRyZW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1ncmV5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICBiIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaDItMy1zdWJ0aXRsZXIge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNnJlbSwgMi41dncsIDEuOHJlbSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWF4LXdpZHRoOiA4MHJlbTtcbiAgICB9XG5cbiAgICAmLi10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG5hIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgMi41dncsIDJyZW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbikgZWFzZS1pbjtcblxuICAgICYubmF2LWxpbmsge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLXcge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmLi1iIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtYmxhY2spO1xuICAgIH1cbn1cblxuLnZpZGVvLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAudmlkZW8tcGxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IDYuNHJlbTtcbiAgICAgICAgaGVpZ2h0OiA2LjRyZW07XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgY2lyY2xlIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICNmZmY7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBsYXlpbmcge1xuICAgICAgICAudmlkZW8tcGxheSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4tdyB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi4tZyB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtZ3JleSk7XG59XG5cbi4tYiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLi1iYWNrLXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLi1iYWNrLWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLnNlcGFyYXRvci12IHtcbiAgICB3aWR0aDogMC4xcmVtO1xuICAgIGhlaWdodDogMS42cmVtO1xufVxuXG4ubGFuZ3VhZ2Utc3dpdGNoZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuOHJlbTtcblxuICAgIC5hY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxufVxuXG4uc2VwYXJhdG9yLWgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMC4xcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xufVxuXG4uc29jaWFscy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxLjZyZW07XG5cbiAgICAuaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAuLW1vYi1wYWRkaW5nLTAge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLi11cHBlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gU2VhcmNoIFJlc3VsdHMgUGFnZVxuLnNlYXJjaC1yZXN1bHRzLXBhZ2Uge1xuICAgIHBhZGRpbmc6IHZhcigtLXNlY3Rpb24tcGFkZGluZykgMS42cmVtO1xuXG4gICAgLnNlYXJjaC1yZXN1bHRzX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjRyZW0sIDR2dywgNHJlbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdHNfX2NvdW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4ycmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmtncmV5KTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWRyb3Bkb3duX19wcm9kdWN0cyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgIGdhcDogMy4ycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuXG4gICAgICAgIC5jb250ZW50LXByb2R1Y3RfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMzAwcHhcIikge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtcmVzdWx0c19fZW1wdHkge1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrZ3JleSk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHRzX19wYWdpbmF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG5cbiAgICAgICAgLnBhZ2UtbnVtYmVycyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYSxcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5icmVhZGNydW1icy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIGNsYW1wKDEuNnJlbSwgM3Z3LCAyLjRyZW0pKTtcblxuICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgwLjhyZW0sIDJ2dywgMi40cmVtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuXG5cbiAgIFxuXG59XG5cbi5icmVhZGNydW1icyB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDYgMTAnPjxwYXRoIGQ9J00xIDFMNSA1TDEgOScgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNiAxMCc+PHBhdGggZD0nTTEgMUw1IDVMMSA5JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIG1hcmdpbjogMCA4cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEN1c3RvbSBTZWxlY3QgQ29tcG9uZW50IFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG46cm9vdCB7XG4gIC0tc2VsZWN0LWhlaWdodDogNC44cmVtO1xuICAtLXNlbGVjdC1taW4taGVpZ2h0OiA0LjhyZW07XG4gIC0tc2VsZWN0LXBhZGRpbmctaG9yaXpvbnRhbDogMS42cmVtO1xuICAtLXNlbGVjdC1wYWRkaW5nLXZlcnRpY2FsOiAxLjJyZW07XG4gIC0tc2VsZWN0LWJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgLS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAwLjFyZW07XG4gIC0tc2VsZWN0LWZvbnQtc2l6ZTogMS40cmVtO1xuICAtLXNlbGVjdC1saW5lLWhlaWdodDogMS41O1xuXG4gIC0tc2VsZWN0LWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIC0tc2VsZWN0LWJvcmRlci1jb2xvcjogI2UyZThmMDtcbiAgLS1zZWxlY3QtYm9yZGVyLWNvbG9yLWhvdmVyOiAjY2JkNWUxO1xuICAtLXNlbGVjdC1ib3JkZXItY29sb3ItZm9jdXM6ICMzYjgyZjY7XG4gIC0tc2VsZWN0LXRleHQtY29sb3I6ICMxZTI5M2I7XG4gIC0tc2VsZWN0LXBsYWNlaG9sZGVyLWNvbG9yOiAjNjQ3NDhiO1xuXG4gIC0tc2VsZWN0LWJhY2tncm91bmQtaG92ZXI6ICNmOGZhZmM7XG4gIC0tc2VsZWN0LWJhY2tncm91bmQtZm9jdXM6ICNmZmZmZmY7XG4gIC0tc2VsZWN0LXNoYWRvdy1mb2N1czogMCAwIDAgMC4zcmVtIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpO1xuXG4gIC0tc2VsZWN0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICNmOGZhZmM7XG4gIC0tc2VsZWN0LWJvcmRlci1jb2xvci1kaXNhYmxlZDogI2UyZThmMDtcbiAgLS1zZWxlY3QtdGV4dC1jb2xvci1kaXNhYmxlZDogIzk0YTNiODtcbiAgLS1zZWxlY3Qtb3BhY2l0eS1kaXNhYmxlZDogMC42O1xuXG4gIC0tc2VsZWN0LW9wdGlvbi1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAtLXNlbGVjdC1vcHRpb24tc2VsZWN0ZWQtY29sb3I6ICMzMzQxNTU7XG4gIC0tc2VsZWN0LW9wdGlvbi1zZWxlY3RlZC1ib3JkZXI6ICNjYmQ1ZTE7XG4gIC0tc2VsZWN0LW9wdGlvbi1zZWxlY3RlZC1wYWRkaW5nOiAwLjZyZW0gMXJlbTtcbiAgLS1zZWxlY3Qtb3B0aW9uLXNlbGVjdGVkLWJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgLS1zZWxlY3Qtb3B0aW9uLXNlbGVjdGVkLWZvbnQtc2l6ZTogMS4zcmVtO1xuXG4gIC0tc2VsZWN0LXJlbW92ZS1idXR0b24tc2l6ZTogMS42cmVtO1xuICAtLXNlbGVjdC1yZW1vdmUtYnV0dG9uLWNvbG9yOiAjNjQ3NDhiO1xuICAtLXNlbGVjdC1yZW1vdmUtYnV0dG9uLWhvdmVyLWNvbG9yOiAjZWY0NDQ0O1xuICAtLXNlbGVjdC1yZW1vdmUtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICNmZWUyZTI7XG5cbiAgLS1zZWxlY3QtYXJyb3ctc2l6ZTogMi40cmVtO1xuICAtLXNlbGVjdC1hcnJvdy1jb2xvcjogIzY0NzQ4YjtcbiAgLS1zZWxlY3QtYXJyb3ctaG92ZXItY29sb3I6ICMzMzQxNTU7XG5cbiAgLS1zZWxlY3QtZHJvcGRvd24tYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgLS1zZWxlY3QtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjZTJlOGYwO1xuICAtLXNlbGVjdC1kcm9wZG93bi1zaGFkb3c6IDAgMXJlbSAzcmVtIHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAwLjRyZW0gMC42cmVtIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIC0tc2VsZWN0LWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgLS1zZWxlY3QtZHJvcGRvd24tbWF4LWhlaWdodDogMjByZW07XG4gIC0tc2VsZWN0LWRyb3Bkb3duLXotaW5kZXg6IDUwO1xuXG4gIC0tc2VsZWN0LW9wdGlvbi1wYWRkaW5nOiAxLjJyZW0gMS42cmVtO1xuICAtLXNlbGVjdC1vcHRpb24tZm9udC1zaXplOiAxLjRyZW07XG4gIC0tc2VsZWN0LW9wdGlvbi1jb2xvcjogIzM3NDE1MTtcbiAgLS1zZWxlY3Qtb3B0aW9uLWhvdmVyLWJhY2tncm91bmQ6ICNmOGZhZmM7XG4gIC0tc2VsZWN0LW9wdGlvbi1ob3Zlci1jb2xvcjogIzFlMjkzYjtcbiAgLS1zZWxlY3Qtb3B0aW9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAjM2I4MmY2O1xuICAtLXNlbGVjdC1vcHRpb24tYWN0aXZlLWNvbG9yOiAjZmZmZmZmO1xuICAtLXNlbGVjdC1vcHRpb24tZGlzYWJsZWQtY29sb3I6ICM5NGEzYjg7XG4gIC0tc2VsZWN0LW9wdGlvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAjZjhmYWZjO1xuXG4gIC0tc2VsZWN0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIC0tc2VsZWN0LXRyYW5zaXRpb24tdGltaW5nOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uY3VzdG9tLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXG4gIGlucHV0W3R5cGU9XCJoaWRkZW5cIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLnNlbGVjdC1maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLXNlbGVjdC1taW4taGVpZ2h0KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zZWxlY3QtcGFkZGluZy12ZXJ0aWNhbCkgdmFyKC0tc2VsZWN0LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VsZWN0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlcjogdmFyKC0tc2VsZWN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tc2VsZWN0LWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2VsZWN0LWJvcmRlci1yYWRpdXMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tc2VsZWN0LXRyYW5zaXRpb24tZHVyYXRpb24pIHZhcigtLXNlbGVjdC10cmFuc2l0aW9uLXRpbWluZyk7XG5cbiAgICAmOmhvdmVyOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlbGVjdC1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2VsZWN0LWJvcmRlci1jb2xvci1ob3Zlcik7XG5cbiAgICAgIC5hcnJvdy1kb3duIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlbGVjdC1hcnJvdy1ob3Zlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW46bm90KC5kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VsZWN0LWJhY2tncm91bmQtZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWxlY3QtYm9yZGVyLWNvbG9yLWZvY3VzKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNlbGVjdC1zaGFkb3ctZm9jdXMpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXNlbGVjdC1ib3JkZXItY29sb3ItZm9jdXMpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2VsZWN0LXNoYWRvdy1mb2N1cyk7XG5cbiAgICAgIC5hcnJvdy1kb3duIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlbGVjdC1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2VsZWN0LWJvcmRlci1jb2xvci1kaXNhYmxlZCk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgb3BhY2l0eTogdmFyKC0tc2VsZWN0LW9wYWNpdHktZGlzYWJsZWQpO1xuXG4gICAgICAuYXJyb3ctZG93biB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC5zZWxlY3RlZC1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuOHJlbTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgIC5wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tc2VsZWN0LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2VsZWN0LWxpbmUtaGVpZ2h0KTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZmxleDogMTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjZyZW07XG4gICAgcGFkZGluZzogdmFyKC0tc2VsZWN0LW9wdGlvbi1zZWxlY3RlZC1wYWRkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWxlY3Qtb3B0aW9uLXNlbGVjdGVkLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1zZWxlY3Qtb3B0aW9uLXNlbGVjdGVkLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNlbGVjdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNlbGVjdC1vcHRpb24tc2VsZWN0ZWQtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zZWxlY3Qtb3B0aW9uLXNlbGVjdGVkLWJvcmRlci1yYWRpdXMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2VsZWN0LW9wdGlvbi1zZWxlY3RlZC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWF4LXdpZHRoOiAyMHJlbTtcblxuICAgIC5vcHRpb24tbGFiZWwge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBtYXgtd2lkdGg6IDE2cmVtO1xuICAgIH1cblxuICAgIGkuc3ByaXRlIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XG4gICAgfVxuXG4gICAgLnJlbW92ZS1idG4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogdmFyKC0tc2VsZWN0LXJlbW92ZS1idXR0b24tc2l6ZSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNlbGVjdC1yZW1vdmUtYnV0dG9uLXNpemUpO1xuICAgICAgY29sb3I6IHZhcigtLXNlbGVjdC1yZW1vdmUtYnV0dG9uLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tc2VsZWN0LXRyYW5zaXRpb24tZHVyYXRpb24pIHZhcigtLXNlbGVjdC10cmFuc2l0aW9uLXRpbWluZyk7XG4gICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2VsZWN0LXJlbW92ZS1idXR0b24taG92ZXItY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWxlY3QtcmVtb3ZlLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLmFycm93LWRvd24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogdmFyKC0tc2VsZWN0LWFycm93LXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tc2VsZWN0LWFycm93LXNpemUpO1xuICAgIGNvbG9yOiB2YXIoLS1zZWxlY3QtYXJyb3ctY29sb3IpO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjhyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXNlbGVjdC10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS1zZWxlY3QtdHJhbnNpdGlvbi10aW1pbmcpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAub3B0aW9ucy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiB2YXIoLS1zZWxlY3QtZHJvcGRvd24tei1pbmRleCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWxlY3QtZHJvcGRvd24tYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1zZWxlY3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1zZWxlY3QtZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zZWxlY3QtZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2VsZWN0LWRyb3Bkb3duLXNoYWRvdyk7XG4gICAgbWF4LWhlaWdodDogdmFyKC0tc2VsZWN0LWRyb3Bkb3duLW1heC1oZWlnaHQpO1xuICAgIG1heC13aWR0aDogdmFyKC0tc2VsZWN0LWRyb3Bkb3duLW1heC13aWR0aCk7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1zZWxlY3QtZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOiAwLjRyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjhyZW0pO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1zZWxlY3QtdHJhbnNpdGlvbi1kdXJhdGlvbikgdmFyKC0tc2VsZWN0LXRyYW5zaXRpb24tdGltaW5nKTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAwLjZyZW07XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2VsZWN0LWJvcmRlci1jb2xvcik7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWxlY3QtYm9yZGVyLWNvbG9yLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLm9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNlbGVjdC1vcHRpb24tcGFkZGluZyk7XG4gICAgY29sb3I6IHZhcigtLXNlbGVjdC1vcHRpb24tY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2VsZWN0LW9wdGlvbi1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zZWxlY3QtbGluZS1oZWlnaHQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tc2VsZWN0LXRyYW5zaXRpb24tZHVyYXRpb24pIHZhcigtLXNlbGVjdC10cmFuc2l0aW9uLXRpbWluZyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgLm9wdGlvbi10ZXh0IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbWF4LXdpZHRoOiB2YXIoLS1zZWxlY3Qtb3B0aW9uLW1heC13aWR0aCk7XG4gICAgfVxuXG4gICAgaS5zcHJpdGUge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOm5vdCguZGlzYWJsZWQpOm5vdCguYWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWxlY3Qtb3B0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgY29sb3I6IHZhcigtLXNlbGVjdC1vcHRpb24taG92ZXItY29sb3IpO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlbGVjdC1vcHRpb24tYWN0aXZlLWJhY2tncm91bmQpO1xuICAgICAgY29sb3I6IHZhcigtLXNlbGVjdC1vcHRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWxlY3Qtb3B0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlbGVjdC1vcHRpb24tZGlzYWJsZWQtYmFja2dyb3VuZCk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgb3BhY2l0eTogdmFyKC0tc2VsZWN0LW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1zZWxlY3QtZHJvcGRvd24tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zZWxlY3QtYm9yZGVyLXdpZHRoKSk7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1zZWxlY3QtZHJvcGRvd24tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zZWxlY3QtYm9yZGVyLXdpZHRoKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tc2VsZWN0LWRyb3Bkb3duLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2VsZWN0LWJvcmRlci13aWR0aCkpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGModmFyKC0tc2VsZWN0LWRyb3Bkb3duLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2VsZWN0LWJvcmRlci13aWR0aCkpO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOm5vdCguZGlzYWJsZWQpIHtcbiAgICAuYXJyb3ctZG93biB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIC5vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi5zZWxlY3RlZCB7XG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zZWxlY3QtZmllbGQge1xuICAgICAgcGFkZGluZzogMXJlbSAxLjJyZW07XG4gICAgfVxuXG4gICAgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG4gICAgfVxuXG4gICAgLm9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDAuMnJlbSBzb2xpZCB2YXIoLS1zZWxlY3QtYm9yZGVyLWNvbG9yLWZvY3VzKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMC4ycmVtO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0sXG4gICYuZGlzYWJsZWQge1xuICAgIC5zZWxlY3QtZmllbGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VsZWN0LWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWxlY3QtYm9yZGVyLWNvbG9yLWRpc2FibGVkKTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1zZWxlY3Qtb3BhY2l0eS1kaXNhYmxlZCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWxlY3QtYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2VsZWN0LWJvcmRlci1jb2xvci1kaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdGVkLW9wdGlvbiAucmVtb3ZlLWJ0bixcbiAgICAuYXJyb3ctZG93biB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWxlY3QtdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5jdXN0b20tc2VsZWN0IHtcbiAgJi5zaXplLXNtYWxsIHtcbiAgICAtLXNlbGVjdC1oZWlnaHQ6IDMuNnJlbTtcbiAgICAtLXNlbGVjdC1taW4taGVpZ2h0OiAzLjZyZW07XG4gICAgLS1zZWxlY3QtcGFkZGluZy1ob3Jpem9udGFsOiAxLjJyZW07XG4gICAgLS1zZWxlY3QtcGFkZGluZy12ZXJ0aWNhbDogMC44cmVtO1xuICAgIC0tc2VsZWN0LWZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIC0tc2VsZWN0LW9wdGlvbi1zZWxlY3RlZC1mb250LXNpemU6IDEuMnJlbTtcbiAgICAtLXNlbGVjdC1vcHRpb24tZm9udC1zaXplOiAxLjNyZW07XG4gICAgLS1zZWxlY3QtZHJvcGRvd24tbWF4LXdpZHRoOiAyNXJlbTtcbiAgICAtLXNlbGVjdC1kcm9wZG93bi1taW4td2lkdGg6IDE1cmVtO1xuICAgIC0tc2VsZWN0LW9wdGlvbi1tYXgtd2lkdGg6IDIwcmVtO1xuXG4gICAgLnNlbGVjdGVkLW9wdGlvbnMge1xuICAgICAgbWF4LXdpZHRoOiAxNXJlbTtcblxuICAgICAgLm9wdGlvbi1sYWJlbCB7XG4gICAgICAgIG1heC13aWR0aDogMTJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zaXplLWxhcmdlIHtcbiAgICAtLXNlbGVjdC1oZWlnaHQ6IDUuNnJlbTtcbiAgICAtLXNlbGVjdC1taW4taGVpZ2h0OiA1LjZyZW07XG4gICAgLS1zZWxlY3QtcGFkZGluZy1ob3Jpem9udGFsOiAycmVtO1xuICAgIC0tc2VsZWN0LXBhZGRpbmctdmVydGljYWw6IDEuNnJlbTtcbiAgICAtLXNlbGVjdC1mb250LXNpemU6IDEuNnJlbTtcbiAgICAtLXNlbGVjdC1vcHRpb24tc2VsZWN0ZWQtZm9udC1zaXplOiAxLjRyZW07XG4gICAgLS1zZWxlY3Qtb3B0aW9uLWZvbnQtc2l6ZTogMS42cmVtO1xuICAgIC0tc2VsZWN0LWRyb3Bkb3duLW1heC13aWR0aDogMzVyZW07XG4gICAgLS1zZWxlY3QtZHJvcGRvd24tbWluLXdpZHRoOiAyNXJlbTtcbiAgICAtLXNlbGVjdC1vcHRpb24tbWF4LXdpZHRoOiAzMHJlbTtcblxuICAgIC5zZWxlY3RlZC1vcHRpb25zIHtcbiAgICAgIG1heC13aWR0aDogMjVyZW07XG5cbiAgICAgIC5vcHRpb24tbGFiZWwge1xuICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYudmFyaWFudC1lcnJvciB7XG4gICAgLS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAjZWY0NDQ0O1xuICAgIC0tc2VsZWN0LWJvcmRlci1jb2xvci1ob3ZlcjogI2RjMjYyNjtcbiAgICAtLXNlbGVjdC1ib3JkZXItY29sb3ItZm9jdXM6ICNlZjQ0NDQ7XG4gICAgLS1zZWxlY3Qtc2hhZG93LWZvY3VzOiAwIDAgMCAwLjNyZW0gcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgfVxuXG4gICYudmFyaWFudC1zdWNjZXNzIHtcbiAgICAtLXNlbGVjdC1ib3JkZXItY29sb3I6ICMxMGI5ODE7XG4gICAgLS1zZWxlY3QtYm9yZGVyLWNvbG9yLWhvdmVyOiAjMDU5NjY5O1xuICAgIC0tc2VsZWN0LWJvcmRlci1jb2xvci1mb2N1czogIzEwYjk4MTtcbiAgICAtLXNlbGVjdC1zaGFkb3ctZm9jdXM6IDAgMCAwIDAuM3JlbSByZ2JhKDE2LCAxODUsIDEyOSwgMC4xKTtcbiAgfVxuXG4gICYudmFyaWFudC13YXJuaW5nIHtcbiAgICAtLXNlbGVjdC1ib3JkZXItY29sb3I6ICNmNTllMGI7XG4gICAgLS1zZWxlY3QtYm9yZGVyLWNvbG9yLWhvdmVyOiAjZDk3NzA2O1xuICAgIC0tc2VsZWN0LWJvcmRlci1jb2xvci1mb2N1czogI2Y1OWUwYjtcbiAgICAtLXNlbGVjdC1zaGFkb3ctZm9jdXM6IDAgMCAwIDAuM3JlbSByZ2JhKDI0NSwgMTU4LCAxMSwgMC4xKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4ubm90aWZpY2F0aW9uLFxuLnB1c2hOYXRpdmUge1xuICAgIG1heC13aWR0aDogY2FsYyg1MHJlbSAtIDVyZW0pICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogbm9uZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50O1xuICAgICYuc3VjY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cblxuICAgIH1cblxuICAgICYuYXR0ZW50aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKDIyOCwgMTAxLCAwKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsXG4gICAgICAgICAgICAgICAgcmdiYSgyNDMsIDg4LCA0LCAxKSAwJSxcbiAgICAgICAgICAgICAgICByZ2JhKDI0MCwgMTU1LCAxMiwgMSkgMTAwJSkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmLmVycm9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLm5vdGlmaWNhdGlvbiBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLnRvYXN0LWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAuN3JlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC50b2FzdGlmeSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAucHVzaE5vdGlmaWNhdGlvbkJvZHkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIC41cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgICAgICAgYm9yZGVyOiAxcmVtO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAucHVzaE5vdGlmaWNhdGlvblRpbWVyIHtcbiAgICAgICAgaGVpZ2h0OiAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTYzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8NzY4cHhcIikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5wdXNoTmF0aXZlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjVyZW0gIWltcG9ydGFudDtcbn0iLCIuYWNjb3VudC1tb2RhbCB7XG4gICAgLm1vZGFsLWFjY291bnQtY29udHJvbCB7XG4gICAgICAgIG1heC13aWR0aDogNTEuNnJlbTtcblxuXG4gICAgfVxufVxuXG4uanMtYWNjb3VudC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxLjZyZW07XG5cbiAgICAubG9zdF9wYXNzd29yZCB7XG4gICAgICAgIGEge1xuXG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5oYXMtZXJyb3Ige1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBvdXRsaW5lOiB2YXIoLS1jb2xvci1yZWQpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMTAwMDMyNTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmVycm9yLXRpcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lcnJvci10aXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTZlNjtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMC42cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgfVxuXG4gICAgLmN0YS1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLmFjY291bnQtY29udHJvbF9faGludCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAuOHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0aSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1lcnJvciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IC44cmVtIDEuNnJlbSAuOHJlbSA0LjhyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzEwMDAzMjU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMS42cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4uaGVybyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICAgIG1pbi1oZWlnaHQ6IDcwcmVtO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNlY3Rpb24tcGFkZGluZykgKyAoMiAqIHZhcigtLWZpcnN0LW5hdi1oZWlnaHQpKSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sXG4gICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjgpLFxuICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDExMHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiB1bnNldDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc2VjdGlvbi1wYWRkaW5nKSArICgyICogdmFyKC0tZmlyc3QtbmF2LWhlaWdodCkpKTtcbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4uaGVyby0yIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU1LjJyZW07XG4gICAgcGFkZGluZzogMTRyZW0gMS42cmVtO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLFxuICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMC44KSxcbiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDApKTtcbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTByZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogdW5zZXQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNlY3Rpb24tcGFkZGluZykgKyAoMiAqIHZhcigtLWZpcnN0LW5hdi1oZWlnaHQpKSk7XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9fX2NvcmUvY29yZS1taXhpbnNcIjtcblxuLnByb3Bvc2l0aW9ucyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDQwcmVtLCAxZnIpKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZmxleDogMSAxIDM4cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICAgICBnYXA6IDEuNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGZsZXg6IDEgMSAzOHJlbTtcbiAgICAgICAgaGVpZ2h0OiA4MHJlbTtcbiAgICAgICAgbWF4LWhlaWdodDogODByZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMi40cmVtLCAyLjh2dywgNC44cmVtKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjJzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogY2FsYygtMTAuOHJlbSArIGNsYW1wKDIuNHJlbSwgMi44dncsIDQuOHJlbSkpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAoY2xhbXAoMi40cmVtLCAyLjh2dywgNC44cmVtKSkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgLndvby1idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjhyZW07XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+MTIwMHB4XCIpIHtcblxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogY2xhbXAoMi40cmVtLCAyLjh2dywgNC44cmVtKTtcblxuICAgICAgICAgICAgICAgICAgICAud29vLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICZfX3JvdyB7XG4gICAgICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMS4xO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9fX2NvcmUvY29yZS1taXhpbnNcIjtcblxuLnByb3Bvc2l0aW9ucy0yIHtcbiAgICAud3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDQwcmVtLCAxZnIpKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiBjbGFtcCgxLjZyZW0sIDJ2dywgMy4ycmVtKTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAzOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgZ2FwOiAxLjZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxIDEgMzhyZW07XG4gICAgICAgIGhlaWdodDogODByZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDIuNHJlbSwgMi44dncsIDQuOHJlbSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IHZhcigtLXRleHQtYm90dG9tLCAwKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogKGNsYW1wKDIuNHJlbSwgMi44dncsIDQuOHJlbSkpKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgLmlzLXd5c2l3eWcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53b28tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC44cmVtO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPjEyMDBweFwiKSB7XG5cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDUwJSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogY2xhbXAoMi40cmVtLCAyLjh2dywgNC44cmVtKTtcblxuICAgICAgICAgICAgICAgICAgICAuaXMtd3lzaXd5ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLndvby1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogY2xhbXAoMi40cmVtLCAyLjh2dywgNC44cmVtKTtcblxuICAgICAgICAgICAgICAgIC5pcy13eXNpd3lnIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud29vLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICZfX3JvdyB7XG4gICAgICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnJlbTtcbiAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4uYWJvdXQtdXMge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCgwcmVtLCA0dncsIDE0cmVtKTtcblxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7XG4gICAgfVxuXG4gICAgLmltYWdlLXNoYXBlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWFib3V0LWJhY2staGVpZ2h0KTtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNzhyZW07XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IGNsYW1wKDEuNnJlbSwgNHZ3LCAxMDByZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG5cbiAgICAgICAgXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyOC44cmVtIDA7XG5cbiAgICAgICAgI2Fib3V0U2hhcGUge1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0zNSU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzOHJlbTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9fX2NvcmUvY29yZS1taXhpbnNcIjtcblxuLmJlbmVmaXRzIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5oMi0zLXN1YnRpdGxlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IGNsYW1wKDEuNnJlbSwgNXZ3LCAzLjJyZW0pO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgyLjRyZW0sIDIuNXZ3LCA0LjhyZW0pO1xuICAgICAgICBmbGV4OiAxIDEgMzByZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNC44cmVtO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDYuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnZpZGVvLXNlY3Rpb24ge1xuICAgIC5zZWN0aW9uLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgfVxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiA1MHB4O1xuICAgICAgICAgICAgZmxleDogMSAxIDUwcmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZpZGVvLXdyYXBwZXIge1xuICAgICAgICAgICAgZmxleDogMSAxIDUwcmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA1MSAvIDI5OyBcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gICAgICAgICAgICAudmlkZW8ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuXG59IiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4uc2VydmljZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDMuMnJlbTtcbiAgICAgICAgbWluLWhlaWdodDogNTZyZW07XG4gICAgfVxuXG4gICAgJl9fY29udGVudC1sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMiAxIDc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgICAgIC5jb250ZW50LWxlZnRfX3RleHQge1xuICAgICAgICAgICAgZmxleDogMiAxIDMycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDIuNHJlbSwgNXZ3LCA2LjRyZW0pO1xuICAgICAgICAgICAgZ2FwOiA0LjhyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC1sZWZ0X19pbWcge1xuICAgICAgICAgICAgZmxleDogMSAxIDIwcmVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQtcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogNC44cmVtO1xuICAgICAgICBmbGV4OiAxIDEgNDByZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJlaWdlKTtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMi40cmVtLCA1dncsIDYuNHJlbSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IGNhbGMoNDByZW0gKiAyICsgMy4ycmVtKSkge1xuICAgICAgICAmX19jb250ZW50LWxlZnQsXG4gICAgICAgICZfX2NvbnRlbnQtcmlnaHQge1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY29udGVudC1sZWZ0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgLmNvbnRlbnQtbGVmdF9fdGV4dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250ZW50LWxlZnRfX2ltZyB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICZfX2NvbnRlbnQtbGVmdCAuY29udGVudC1sZWZ0X19pbWcge1xuICAgIC8vICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAvLyAgICAgbWluLXdpZHRoOiAxMDAlO1xuXG4gICAgLy8gICAgIGltZyB7XG4gICAgLy8gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAvLyAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICAvLyAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIC8vICAgICB9XG4gICAgLy8gfVxufVxuIiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4uY3RhLWJsb2NrLTEge1xuICAgIC53cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDZyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogY2xhbXAoMnJlbSwgNHZ3LCAxMHJlbSkgNXJlbTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMy4ycmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5cbi5jdGEtYmxvY2stMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCg1LjJyZW0sIDR2dywgN3JlbSk7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODkyMDAzMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTA2cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogY2xhbXAoMTAuNHJlbSwgNHZ3LCAxNHJlbSkgMS42cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAwLjJyZW0gZGFzaGVkICM1ODkyMDA4MDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTMyLjhyZW07XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAzLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICZfX2FjdGlvbnMge1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG5cbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4ucHJvdmlkZWQtZmFxIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucHJvdmlkZWQtZmFxIHtcbiAgICAgICAgJl9fcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogY2xhbXAoLjhyZW0sIDN2dywgMy4ycmVtKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTMyLjhyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyOHJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiBjbGFtcCgyLjRyZW0sIDV2dywgMy4zcmVtKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogMSAxIDUwcmVtO1xuXG4gICAgICAgICAgICAuaXRlbV9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHt9XG5cbiAgICAgICAgICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pdGVtX19hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgLml0ZW1fX2Fycm93LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXRlbV9fYXJyb3ctYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLml0ZW1fX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgLnByb3ZpZGVkLWZhcSB7XG4gICAgICAgICAgICAmX19yb3cge1xuICAgICAgICAgICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9fX2NvcmUvY29yZS1taXhpbnNcIjtcblxuLmNvb3BlcmF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcblxuICAgICZfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IDMuMnJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAubGVmdCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNjByZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMC40cmVtIGNsYW1wKDEuNnJlbSwgNXZ3LCAxMC40cmVtKTtcblxuICAgICAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGdhcDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNjByZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTAuNHJlbSBjbGFtcCgxLjZyZW0sIDV2dywgMTAuNHJlbSk7XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNnJlbSwgM3Z3LCAxLjhyZW0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC4tYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmFjdGlvbnNfX3NvY2lhbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAmX19yb3cge1xuICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxlZnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4uc2VvLXRhYnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgIHBhZGRpbmc6IDIuNHJlbSAxLjZyZW07XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogY2xhbXAoMHJlbSwgMXZ3LCAzLjJyZW0pO1xuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICBmbGV4OiAxIDEgMjdyZW07XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuOHJlbSAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBzdHJva2UgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZmxleDogMyAxIDYwcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgIC50YWItY29udGVudC1pbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQuOHJlbSBjbGFtcCgxLjZyZW0sIDN2dywgNC44cmVtKTtcblxuICAgICAgICAgICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRhYi1jb250ZW50LWlubmVyLWZhcV9fcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzIuOHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRhYi1jb250ZW50LWlubmVyLWZhcV9faXRlbSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI4cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHRncmV5KTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDEuNnJlbSwgNXZ3LCAyLjFyZW0pIDEuNnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcblxuICAgICAgICAgICAgLml0ZW1fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pdGVtX19hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgLml0ZW1fX2Fycm93LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzdhNzk1MztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXRlbV9fYXJyb3ctYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzdhNzk1MztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLml0ZW1fX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZDZlMmI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2UtYmFubmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMjRyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5cbi5iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuXG4gICAgLndyYXBwZXIge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAuYmxvY2stYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGdhcDogM3JlbTtcblxuICAgICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTAuNHJlbSAxLjZyZW0gY2xhbXAoMS42cmVtLCA1dncsIDEwLjRyZW0pXG4gICAgICAgICAgICAgICAgICAgIGNsYW1wKDEuNnJlbSwgNXZ3LCAxMC40cmVtKTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgNDByZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgIC5pcy13eXNpd3lnIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1M3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2lsbHVzdHJhdGlvbiB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgNDByZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDgwMHB4XCIpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9faWxsdXN0cmF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4uYmlnLWJhbm5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDQuOHJlbTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgLmlzLXd5c2l3eWcge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5cbi52aWRlby1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDc7XG5cbiAgICAgICAgLmJsb2NrLWJhY2tncm91bmQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFkZGluZzogMTAuNHJlbSBjbGFtcCgxLjZyZW0sIDV2dywgMTAuNHJlbSk7XG4gICAgfVxuXG4gICAgJl9fdmlkZW8ge1xuICAgICAgICBmbGV4OiA1O1xuICAgICAgICBtaW4td2lkdGg6IDYwcmVtO1xuXG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgLmJsb2NrLWJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdmlkZW8ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA2OC81NDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBcbiAgICB9XG59IiwiLmdhbGxlcnkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNsYW1wKDYuNHJlbSwgNnZ3LCA4cmVtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3N3aXBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA0NyAvIDY0O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0IFwiLi4vX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5cbi5zcGVjaWFsLXByb3Bvc2FsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoNS4ycmVtLCA0dncsIDdyZW0pO1xuICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCg1LjJyZW0sIDR2dywgN3JlbSk7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fZGlzY2xhaW1lciB7XG4gICAgICAgIHBhZGRpbmc6IDYuNHJlbSAxLjZyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMTAuNHJlbSwgN3Z3LCAxNHJlbSk7XG4gICAgICAgIGJvcmRlcjogMC4ycmVtIGRhc2hlZCAjNTg5MjAwODA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODkyMDAxYTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTMyLjhyZW07XG4gICAgfVxuXG4gICAgJl9fdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3RhYnMtaGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTQ0cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XG5cbiAgICAgICAgLnByb3Bvc2FsLWl0ZW1zLXN3aXBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC50YWItaXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiBjbGFtcCgxLjZyZW0sIDJ2dywgM3JlbSkgY2xhbXAoMS42cmVtLCAydncsIDRyZW0pO1xuICAgICAgICAgICAgLy8gYm9yZGVyOiBkYXNoZWQgMTBweCAjNTg5MjAwMUE7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzU4OTIwMDFBLCAjNTg5MjAwMUEpLCBsaW5lYXItZ3JhZGllbnQoIzU4OTIwMDgwLCAjNTg5MjAwMUEpO1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94LCBib3JkZXItYm94O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODkyMDAxYTtcbiAgICAgICAgICAgIGJvcmRlcjogMC4ycmVtIGRhc2hlZCAjNTg5MjAwODA7XG5cbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJcIik7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAzdncsIDMuMnJlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzU4OTIwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RhYnMtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC50YWItY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnNwZWNpYWwtZ2FsbGVyeSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDQwcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwcmVtO1xuICAgICAgICAgICAgICAgIGdhcDogY2xhbXAoMC44cmVtLCAydncsIDMuMnJlbSk7XG5cbiAgICAgICAgICAgICAgICAubWFpbi1zd2lwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA4LzU7XG5cbiAgICAgICAgICAgICAgICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDgvNjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmdhbGxlcnktYnVsbGV0cyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMi40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAwLjRyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5idWxsZXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ1bGxldC1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aHVtYm5haWxzLXN3aXBlciB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgICAgICAgICAudGh1bWJuYWlscyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAzMHJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzLjJyZW0gMS42cmVtIDMuMnJlbSBjbGFtcCgxLjZyZW0sIDV2dywgMTMuNnJlbSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5pcy13eXNpd3lnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8OTYwcHhcIikge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAuc3BlY2lhbC1nYWxsZXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDc2OHB4XCIpIHtcbiAgICAgICAgICAgICAgICAuc3BlY2lhbC1nYWxsZXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0IFwiLi4vX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5cbi5wcm9tbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay10aXRsZS0taW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvY2stdGl0bGUtLWlubmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDEwLjRyZW0gY2xhbXAoMS42cmVtLCA2dncsIDEwLjRyZW0pO1xuICAgICAgICBmbGV4OiAxIDEgMzByZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBmbGV4OiAxLjIgMSAzMHJlbTtcblxuICAgICAgICBpbWcsXG4gICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBwYWRkaW5nOiAxMC40cmVtIGNsYW1wKDEuNnJlbSwgNnZ3LCAxMC40cmVtKTtcbiAgICAgICAgZmxleDogMSAxIDMwcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbn0iLCIvLyBDb3JlIHNldHRpbmdzXG5AaW1wb3J0IFwiX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5AaW1wb3J0IFwiX19jb3JlL2NvcmUtc2V0dGluZ3NcIjtcblxuLy8gSGVscGVycyBhbmQgdXRpbGl0aWVzXG5cbi8vIFNpdGUgU3RydWN0dXJlXG5AaW1wb3J0IFwiX2xheW91dC93eXNpd3lnXCI7XG5AaW1wb3J0IFwiX2xheW91dC9wYWdlNDA0XCI7XG5AaW1wb3J0IFwiX2xheW91dC9faGVhZGVyXCI7XG5AaW1wb3J0IFwiX2xheW91dC9fZm9vdGVyXCI7XG5AaW1wb3J0IFwiX2xheW91dC9tb2RhbHNcIjtcbkBpbXBvcnQgXCJfbGF5b3V0L21pbmktY2FydFwiO1xuQGltcG9ydCBcIl9sYXlvdXQvc2lkZS1jYXJ0XCI7XG5AaW1wb3J0IFwiX2xheW91dC9fYnRuc1wiO1xuQGltcG9ydCBcIl9sYXlvdXQvX2ZpZWxkc1wiO1xuXG5AaW1wb3J0IFwiX2xheW91dC9fYmFzZVwiO1xuQGltcG9ydCBcIl9ibG9ja3MvZmlyc3Qtc2NyZWVuXCI7XG5AaW1wb3J0IFwiX2NvbXBvbmVudHMvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJfY29tcG9uZW50cy9zZWxlY3RcIjtcbkBpbXBvcnQgXCJfY29tcG9uZW50cy9hbGVydHNcIjtcbkBpbXBvcnQgXCJfY29tcG9uZW50cy9hY2NvdW50LWNvbnRyb2xcIjtcblxuLy8gdGVtcGxhdGUgcGFydHNcblxuQGltcG9ydCBcIl90ZW1wbGF0ZS1wYXJ0cy9oZXJvXCI7XG5AaW1wb3J0IFwiX3RlbXBsYXRlLXBhcnRzL2hlcm8tMlwiO1xuQGltcG9ydCBcIl90ZW1wbGF0ZS1wYXJ0cy9wcm9wb3NpdGlvbnNcIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvcHJvcG9zaXRpb25zXzJcIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvYWJvdXQtdXNcIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvYmVuZWZpdHNcIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvdmlkZW8tc2VjdGlvblwiO1xuQGltcG9ydCBcIl90ZW1wbGF0ZS1wYXJ0cy9zZXJ2aWNlc1wiO1xuQGltcG9ydCBcIl90ZW1wbGF0ZS1wYXJ0cy9jdGEtYmxvY2stMVwiO1xuQGltcG9ydCBcIl90ZW1wbGF0ZS1wYXJ0cy9jdGEtYmxvY2stMlwiO1xuQGltcG9ydCBcIl90ZW1wbGF0ZS1wYXJ0cy9wcm92aWRlZC1mYXFcIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvY29vcGVyYXRpb25cIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvc2VvLXRhYnNcIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvYmFubmVyXCI7XG5AaW1wb3J0IFwiX3RlbXBsYXRlLXBhcnRzL2JpZy1iYW5uZXJcIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvdmlkZW8tYmFubmVyXCI7XG5AaW1wb3J0IFwiX3RlbXBsYXRlLXBhcnRzL2dhbGxlcnlcIjtcbkBpbXBvcnQgXCJfdGVtcGxhdGUtcGFydHMvc3BlY2lhbC1wcm9wb3NhbFwiO1xuQGltcG9ydCBcIl90ZW1wbGF0ZS1wYXJ0cy9wcm9tb1wiO1xuXG4vKiBXb29Db21tZXJjZSB0ZW1wbGF0ZSBwYXJ0cyAqL1xuQGltcG9ydCBcIl93b29jb21tZXJjZS9iYXNlXCI7XG5AaW1wb3J0IFwiX3dvb2NvbW1lcmNlL2NyaXRpY2FsXCI7XG5AaW1wb3J0IFwiX3dvb2NvbW1lcmNlL2J0bnNcIjtcbkBpbXBvcnQgXCJfd29vY29tbWVyY2UvaGVyby1iYW5uZXJcIjtcbkBpbXBvcnQgXCJfd29vY29tbWVyY2UvY2F0ZWdvcnktY2F0YWxvZ1wiO1xuQGltcG9ydCBcIl93b29jb21tZXJjZS9jYXRlZ29yeS1wcm9kdWN0c1wiO1xuQGltcG9ydCBcIl93b29jb21tZXJjZS9wcm9kdWN0LWRlc2NyaXB0aW9uXCI7XG5AaW1wb3J0IFwiX3dvb2NvbW1lcmNlL3Byb2R1Y3QtaW5mb1wiO1xuQGltcG9ydCBcIl93b29jb21tZXJjZS9wcm9kdWN0LXByb3BlcnRpZXNcIjtcbkBpbXBvcnQgXCJfd29vY29tbWVyY2UvcHJvZHVjdC1mb290ZXJcIjtcbkBpbXBvcnQgXCJfd29vY29tbWVyY2UvY29udGVudC1wcm9kdWN0XCI7XG5AaW1wb3J0IFwiX3dvb2NvbW1lcmNlL215LWFjY291bnRcIjtcbkBpbXBvcnQgXCJfd29vY29tbWVyY2UvY2FydFwiO1xuQGltcG9ydCBcIl93b29jb21tZXJjZS9jaGVja291dFwiO1xuIiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG46cm9vdCB7XG4gICAgLS1wcm9kdWN0LWJsb2NrLXBhZGRpbmc6IGNsYW1wKDEuNnJlbSwgM3Z3LCA0LjhyZW0pO1xufVxuXG5ib2R5IHtcbiAgICAmLnNpbmdsZS1wcm9kdWN0IHtcbiAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgIH1cbn1cblxuLndvby1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDEuNnJlbTtcblxuICAgIC53b29jb21tZXJjZS1vcmRlcmluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgLm9yZGVyYnkge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2F0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgMnZ3LCAxLjZyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICBcbiAgICB9XG59XG5cbi5pbmZvIHtcbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDJ2dywgMS42cmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgMnZ3LCAyLjRyZW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgfVxufVxuXG4ubG9hZGVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbn1cblxuLndvby1sb2FkZXIge1xuICAgIGFuaW1hdGlvbjogcm90YXRlIDJzIGluZmluaXRlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogNTBweDtcbn1cblxuLndvby1sb2FkZXI6YmVmb3JlLFxuLndvby1sb2FkZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbn1cblxuLndvby1sb2FkZXI6YmVmb3JlIHtcbiAgICBhbmltYXRpb246IGJhbGwxIDJzIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIDE2JSk7XG4gICAgYm94LXNoYWRvdzogMzBweCAwIDAgdmFyKC0tY29sb3ItaGFraSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLndvby1sb2FkZXI6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogYmFsbDIgMnMgaW5maW5pdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgYm94LXNoYWRvdzogMzBweCAwIDAgcmdiKDI1NSAyNTUgMjU1IC8gMTYlKTtcbn1cblxuLmFjY29yZGlvbi10YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4MDgwODAyMDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4MDgwODAyMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDEuNnJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS40cmVtLCAydncsIDEuNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYmZiZmI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjY29yZGlvbi10YWJzX190aXRsZS0tYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYmZiZmI7XG5cbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGFic19fdGl0bGUtdGV4dCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Fycm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMzZweDtcbiAgICAgICAgbWluLWhlaWdodDogMzZweDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvdy0tYWN0aXZlIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS42cmVtIDEuNnJlbSAxLjZyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3aXRjaC10YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzgwODA4MDIwO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODA4MDIwO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbSAxLjZyZW07XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM4MDgwODAyMDtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDJ2dywgMS42cmVtKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiO1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDAuOCk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSBzY2FsZSgxLjIpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3MjBkZWcpIHNjYWxlKDAuOCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJhbGwxIHtcbiAgICAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDMwcHggMCAwIHZhcigtLWNvbG9yLWhha2kpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAxNXB4KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMzBweCAwIDAgdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJhbGwyIHtcbiAgICAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDMwcHggMCAwIHJnYigyNTUgMjU1IDI1NSAvIDMyJSk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgcmdiKDI1NSAyNTUgMjU1IC8gMzIlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDE1cHgsIDE1cHgpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBib3gtc2hhZG93OiAzMHB4IDAgMCByZ2IoMjU1IDI1NSAyNTUgLyAzMiUpO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbiIsIi5zaXplLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgJl9fcm93IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxNjBweCByZXBlYXQoOCwgMWZyKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLi1mb290ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcblxuICAgICAgICAgICAgLi10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2l6ZS1ncmlkX19jZWxsIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAzcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuLW5vdGUge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jZWxsIHtcbiAgICAgICAgcGFkZGluZzogMS42cmVtIDEuNnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICB9XG4gICAgICAgIGIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICZfX3JvdyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2VsbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLndvby1idXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmLi1hZGQtdG8tY2FydCB7XG4gICAgICAgIHBhZGRpbmc6IC44cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIC4xcyBlYXNlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcblxuICAgICAgICBpbWcsXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogY2xhbXAoMS42cmVtLCAydncsIDIuNHJlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgJi4tb3Blbi1maWx0ZXJzIHtcbiAgICAgICAgcGFkZGluZzogLjRyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjFzIGVhc2U7XG5cbiAgICAgICAgaW1nLFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgZmlsdGVyOiBzYXR1cmF0ZSgyMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tc2VtaS10cmFuc3BhcmVudCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2E3OTUzMjE7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjRyZW0gMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDJ2dywgMS42cmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLWhha2kpO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLi13aGl0ZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNHJlbSAycmVtO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgMnZ3LCAxLjZyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tY29sb3ItaGFraSk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi4tYWRkLXRvLWNhcnQtZnVsbCxcbiAgICAmLi1iaWctYWNjZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIC4xcyBlYXNlO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDEuNHJlbSAycmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLWFjY2VudC10cmFuc3BhcmVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIC4xcyBlYXNlO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDEuNHJlbSAyLjRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgfVxuXG4gICAgJi4tdHJhbnNwYXJlbnQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMS44cmVtIDIuNHJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgJi4tZnVsbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmLi1ncmVlbiB7XG4gICAgICAgIHBhZGRpbmc6IDEuOHJlbSAyLjRyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGZpbHRlcjogc2F0dXJhdGUoNDAlKTtcbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4uaGVyby1iYW5uZXIge1xuICAgIGFzcGVjdC1yYXRpbzogNDggLyAxOTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJlaWdlKTtcblxuICAgIC5zZWN0aW9uLWJhY2tncm91bmQge1xuICAgICAgICAubW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICAubW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2t0b3Age1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwLjRyZW0gKyB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMC40cmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMS42cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwLjRyZW0pO1xuXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC53b28tYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDQuOHJlbSwgM3Z3LCA2LjRyZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXgtd2lkdGg6IDU4cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDRyZW0sIDV2dywgNy4ycmVtKTtcbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiB1bnNldDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNjVyZW07XG4gICAgfVxufVxuIiwiLmNhdGVnb3J5LWNhdGFsb2cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxLjZyZW0sIDJ2dywgMy4ycmVtKTtcbiAgICBwYWRkaW5nLXRvcDogMy4ycmVtO1xuXG4gICAgJl9fZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE2cmVtLCAxZnIpKTtcbiAgICAgICAgZ2FwOiAuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cblxuXG4gICAgfVxuXG4gICAgJl9fY2FyZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBhc3BlY3QtcmF0aW86IDUvNjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cblxuICAgICAgICAuYmxvY2stYmFja2dyb3VuZCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjJzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAubWFzayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMykgMTAwJSksXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDM2MGRlZywgcmdiYSgwLCAwLCAwLCAwLjMpIDAlLCByZ2JhKDIzMCwgOSwgMTYzLCAwKSAxMDAlKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYmxvY2stYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG5cblxuICAgIH1cbn0iLCJAaW1wb3J0IFwiLi4vX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5cbi5jYXRlZ29yeS1wcm9kdWN0cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgcGFkZGluZy1ib3R0b206IDMuMnJlbTtcblxuICAgIC5zZWN0aW9uLWJhY2tncm91bmQge1xuICAgICAgICBpbWcsXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGdhcDogMy4ycmVtO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcmVzdWx0c19fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA0dncsIDRyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdHNfX2Zvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4ycmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMS4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHRzX19pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdHNfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEuNnJlbTtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmtncmV5KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHRzX19pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDEuNnJlbSAycmVtIDQuOHJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmtncmV5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtcmVzdWx0c19fc3VibWl0IHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAzLjJyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFraS1kYXJrLCAjNmE2YjRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xlZnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzOS43cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDE1cmVtO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjhyZW0gMS42cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMTAwcHhcIikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXRlZ29yeS1wcm9kdWN0c19fY2F0YWxvZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogY2xhbXAoMS42cmVtLCAydncsIDMuMnJlbSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMS44cmVtIDEuNnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmZpbHRlci10b2dnbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8MTEwMHB4XCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhdGVnb3J5LXByb2R1Y3RzX19zb3J0IHtcbiAgICAgICAgICAgIC53b29jb21tZXJjZS1vcmRlcmluZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgLm9yZGVyYnkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMy4ycmVtIDAuOHJlbSAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJlaWdlKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDEyIDgnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xIDEuNUw2IDYuNUwxMSAxLjUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjJyZW0gY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvdW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8MTEwMHB4XCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG4gICAgICAgICAgICBhdXRvLWZpbGwsXG4gICAgICAgICAgICBtaW5tYXgoY2xhbXAoMTZyZW0sIDM1dncsIDMwcmVtKSwgMWZyKVxuICAgICAgICApO1xuICAgICAgICBnYXA6IGNsYW1wKDAuOHJlbSwgMnZ3LCAzLjJyZW0pO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgJi5sb2FkaW5nIHtcbiAgICAgICAgICAgIC5sb2FkZXItd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgLnBhZ2luYXRpb25fX2xpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMS42cmVtO1xuXG4gICAgICAgICAgICAucGFnaW5hdGlvbl9faXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZTtcblxuICAgICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDcwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLXJlc3VsdHMge1xuICAgIHBhZGRpbmctdG9wOiAyMHJlbTtcblxuICAgIC5jYXRlZ29yeS1wcm9kdWN0cyAud3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL19fY29yZS9jb3JlLW1peGluc1wiO1xuXG4ucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDEuNnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgLmlzLXd5c2l3eWcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQuOHJlbSAxLjZyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDU5cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTlyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgZmxleDogMTtcblxuICAgICAgICAgICAgaW1nLFxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjwxMDAwcHhcIikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNS4zcmVtO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9fX2NvcmUvY29yZS1taXhpbnNcIjtcblxuLnByb2R1Y3QtaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgLS1saS1zaXplOiBjbGFtcCgxLjRyZW0sIDJ2dywgMS42cmVtKTtcbiAgICBwYWRkaW5nLXRvcDogMi40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjZyZW07XG5cbiAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGktc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgZ2FwOiAzLjJyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDgyMHB4XCIpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19nYWxsZXJ5IHtcbiAgICAgICAgZmxleDogMSAxIDMwcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMS42cmVtKTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBnYXA6IDMuMnJlbTtcblxuICAgICAgICAuYmFkZ2UtbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAyLjRyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogLjRyZW07XG5cbiAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBcblxuICAgICAgICAgICAgJi4tbmV3IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLXNhbGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLXRvcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgICAgIC5tYWluLXBob3RvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zd2lwZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nYWxsZXJ5LWJ1bGxldHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3R0b206IDIuNHJlbTtcbiAgICAgICAgICAgICAgICBnYXA6IDAuNHJlbTtcblxuICAgICAgICAgICAgICAgIC5idWxsZXQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJ1bGxldC1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGh1bWJuYWlscyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAudGh1bWJuYWlscy1idXR0b24tcHJldixcbiAgICAgICAgICAgIC50aHVtYm5haWxzLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUuMnJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogc2F0dXJhdGUoOTAlKTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGh1bWJuYWlscy1zd2lwZXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEycmVtKTtcblxuICAgICAgICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMC40cmVtO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAuNHJlbTtcblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw4MjBweFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RhdGEge1xuICAgICAgICBwYWRkaW5nOiA0LjhyZW0gY2xhbXAoMS42cmVtLCAzdncsIDQuOHJlbSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGZsZXg6IDEgMSAzMHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuLWxzLW9ubHkge1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1saS1zaXplKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDAuOHJlbTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGEtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCAzdncsIDRyZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGF0YS1yYXRpbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMjByZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNHJlbSAyLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGktc2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjODA4MDgwMjA7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1saS1zaXplKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucmF0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMC42cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdGFycyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDguNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk02LjIyNTQ4IDUuNDkwNjJMNy45NTc0OCAyLjAwMjYyQzguMDA3ODkgMS45MDE2NyA4LjA4NTQzIDEuODE2NzcgOC4xODE0IDEuNzU3NDNDOC4yNzczNyAxLjY5ODA5IDguMzg3OTggMS42NjY2NiA4LjUwMDgxIDEuNjY2NjZDOC42MTM2NCAxLjY2NjY2IDguNzI0MjUgMS42OTgwOSA4LjgyMDIyIDEuNzU3NDNDOC45MTYxOSAxLjgxNjc3IDguOTkzNzMgMS45MDE2NyA5LjA0NDE0IDIuMDAyNjJMMTAuNzc2MSA1LjQ5MDYyTDE0LjY0ODEgNi4wNTMyOEMxNC43NTk4IDYuMDY4NzcgMTQuODY0OSA2LjExNTM1IDE0Ljk1MTQgNi4xODc2OUMxNS4wMzc5IDYuMjYwMDQgMTUuMTAyMyA2LjM1NTI0IDE1LjEzNzIgNi40NjI0NEMxNS4xNzIyIDYuNTY5NjMgMTUuMTc2MyA2LjY4NDQ5IDE1LjE0OTEgNi43OTM5MkMxNS4xMjIgNi45MDMzNSAxNS4wNjQ1IDcuMDAyOTIgMTQuOTgzNSA3LjA4MTI5TDEyLjE4MjEgOS43OTQ2MkwxMi44NDM1IDEzLjYyOEMxMi45MjgxIDE0LjEyIDEyLjQwODEgMTQuNDk0NiAxMS45NjM1IDE0LjI2MjZMOC41MDA4MSAxMi40NTJMNS4wMzc0OCAxNC4yNjI2QzQuNTkzNDggMTQuNDk1MyA0LjA3MzQ4IDE0LjEyIDQuMTU4MTQgMTMuNjI3M0w0LjgxOTQ4IDkuNzkzOTVMMi4wMTgxNCA3LjA4MDYyQzEuOTM3NDcgNy4wMDIyIDEuODgwNDEgNi45MDI3MiAxLjg1MzQ1IDYuNzkzNDlDMS44MjY1IDYuNjg0MjYgMS44MzA3MiA2LjU2OTY2IDEuODY1NjYgNi40NjI3MUMxLjkwMDU5IDYuMzU1NzcgMS45NjQ4MiA2LjI2MDc3IDIuMDUxMDYgNi4xODg1MUMyLjEzNzI5IDYuMTE2MjUgMi4yNDIwNyA2LjA2OTYzIDIuMzUzNDggNi4wNTM5NUw2LjIyNTQ4IDUuNDkwNjJaXCIgc3Ryb2tlPVwiJTIzODA4MDgwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPicpIHJlcGVhdC14O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuN3JlbSAxLjZyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN0YXJzX19maWxsIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCIlMjM2QjZENDVcIj48cGF0aCBkPVwiTTYuMjI1NDggNS40OTA2Mkw3Ljk1NzQ4IDIuMDAyNjJDOC4wMDc4OSAxLjkwMTY3IDguMDg1NDMgMS44MTY3NyA4LjE4MTQgMS43NTc0M0M4LjI3NzM3IDEuNjk4MDkgOC4zODc5OCAxLjY2NjY2IDguNTAwODEgMS42NjY2NkM4LjYxMzY0IDEuNjY2NjYgOC43MjQyNSAxLjY5ODA5IDguODIwMjIgMS43NTc0M0M4LjkxNjE5IDEuODE2NzcgOC45OTM3MyAxLjkwMTY3IDkuMDQ0MTQgMi4wMDI2MkwxMC43NzYxIDUuNDkwNjJMMTQuNjQ4MSA2LjA1MzI4QzE0Ljc1OTggNi4wNjg3NyAxNC44NjQ5IDYuMTE1MzUgMTQuOTUxNCA2LjE4NzY5QzE1LjAzNzkgNi4yNjAwNCAxNS4xMDIzIDYuMzU1MjQgMTUuMTM3MiA2LjQ2MjQ0QzE1LjE3MjIgNi41Njk2MyAxNS4xNzYzIDYuNjg0NDkgMTUuMTQ5MSA2Ljc5MzkyQzE1LjEyMiA2LjkwMzM1IDE1LjA2NDUgNy4wMDI5MiAxNC45ODM1IDcuMDgxMjlMMTIuMTgyMSA5Ljc5NDYyTDEyLjg0MzUgMTMuNjI4QzEyLjkyODEgMTQuMTIgMTIuNDA4MSAxNC40OTQ2IDExLjk2MzUgMTQuMjYyNkw4LjUwMDgxIDEyLjQ1Mkw1LjAzNzQ4IDE0LjI2MjZDNC41OTM0OCAxNC40OTUzIDQuMDczNDggMTQuMTIgNC4xNTgxNCAxMy42MjczTDQuODE5NDggOS43OTM5NUwyLjAxODE0IDcuMDgwNjJDMS45Mzc0NyA3LjAwMjIgMS44ODA0MSA2LjkwMjcyIDEuODUzNDUgNi43OTM0OUMxLjgyNjUgNi42ODQyNiAxLjgzMDcyIDYuNTY5NjYgMS44NjU2NiA2LjQ2MjcxQzEuOTAwNTkgNi4zNTU3NyAxLjk2NDgyIDYuMjYwNzcgMi4wNTEwNiA2LjE4ODUxQzIuMTM3MjkgNi4xMTYyNSAyLjI0MjA3IDYuMDY5NjMgMi4zNTM0OCA2LjA1Mzk1TDYuMjI1NDggNS40OTA2MlpcIi8+PC9zdmc+JykgcmVwZWF0LXg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS43cmVtIDEuNnJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRhLWNvbG9ycyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMC44cmVtO1xuXG4gICAgICAgICAgICAmLmhhcy1lcnJvciB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNsYW1wKDQuOHJlbSwgM3Z3LCA4cmVtKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JleSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogc2F0dXJhdGUoMjAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRhLXNpemVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG5cbiAgICAgICAgICAgICYuaGFzLWVycm9yIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg2cmVtLCAxZnIpKTtcbiAgICAgICAgICAgICAgICBnYXA6IDAuOHJlbTtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgNC4xcmVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpdGxlciB7XG4gICAgICAgICAgICAgICAgJi4taGFraSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud29vLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVpZ2h0LXNlbGVjdG9yIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMjVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGktc2l6ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWlnaHQtY29udHJvbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAwLjhyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JleSk7XG5cbiAgICAgICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMC40cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGEtaW5kaXZpZHVhbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGEtYWRkaXRpb25hbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMS42cmVtO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1saS1zaXplKTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjRyZW0gMS42cmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWxpLXNpemUpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0YS1hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG5cbiAgICAgICAgICAgIC5jYXJ0LWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogMS42cmVtO1xuXG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cbiAgICAgICAgICAgICAgICAgICAgLm5ldy1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDIuNHJlbSwgMnZ3LCAzLjJyZW0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLnNhbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWxpLXNpemUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucXVhbnRpdHktc2VsZWN0b3Ige1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIDEwLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1saS1zaXplKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucXVhbnRpdHktY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICAgICAgICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMC44cmVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcblxuICAgICAgICAgICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBnYXA6IDAuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuLWFkZC10by1jYXJ0LWZ1bGwge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMjByZW07XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRhLXRhYnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+cGhvbmUtbFwiKSB7XG4gICAgICAgICAgICAgICAgLnN3aXRjaC10YWJzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRhYnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICAgICAgICAgLnN3aXRjaC10YWJzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRhYnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0IFwiLi4vX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5cbi5wcm9kdWN0LXByb3BlcnRpZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgIC0tbGktc2l6ZTogY2xhbXAoMS40cmVtLCAydncsIDEuNnJlbSk7XG4gICAgcGFkZGluZy10b3A6IDEuNnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS42cmVtO1xuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiAzLjJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ODIwcHhcIikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlciB7XG4gICAgICAgIGZsZXg6IDEgMSAzMHJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDEuNnJlbSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51cHNlbGxzLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMS42cmVtLCAzdncsIDMuMnJlbSk7XG5cbiAgICAgICAgICAgIC51cHNlbGxzLW5hdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMS42cmVtO1xuXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw4NTBweFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ODIwcHhcIikge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcGVjcyB7XG4gICAgICAgIGZsZXg6IDEgMSAzMHJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogNC44cmVtIHZhcigtLXByb2R1Y3QtYmxvY2stcGFkZGluZyk7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VkZWRlZDtcbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAyLjRyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZGVkZWQ7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcbiAgICAgICAgfVxuXG4gICAgICAgIGR0IHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWxpLXNpemUpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgZmxleDogMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGktc2l6ZSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vX19jb3JlL2NvcmUtbWl4aW5zXCI7XG5cbi5wcm9kdWN0LWZvb3RlciB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDMuMnJlbTtcbiAgICB9XG5cbiAgICAmX19yZXZpZXdzIHtcbiAgICAgICAgZmxleDogMSAxIDQ1cmVtO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjZyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiA0LjhyZW0gdmFyKC0tcHJvZHVjdC1ibG9jay1wYWRkaW5nKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgIC5hY3Rpb24tcmV2aWV3IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGdhcDogMi40cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICBhLFxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXdzLXN3aXBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnJldmlldy1uYXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIuNHJlbTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA0O1xuXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZXZpZXctaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGdhcDogMi40cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcblxuICAgICAgICAgICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLnN0YXJzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE3IDE2XCIgZmlsbD1cIm5vbmVcIj48cGF0aCBkPVwiTTYuMjI1NDggNS40OTA2Mkw3Ljk1NzQ4IDIuMDAyNjJDOC4wMDc4OSAxLjkwMTY3IDguMDg1NDMgMS44MTY3NyA4LjE4MTQgMS43NTc0M0M4LjI3NzM3IDEuNjk4MDkgOC4zODc5OCAxLjY2NjY2IDguNTAwODEgMS42NjY2NkM4LjYxMzY0IDEuNjY2NjYgOC43MjQyNSAxLjY5ODA5IDguODIwMjIgMS43NTc0M0M4LjkxNjE5IDEuODE2NzcgOC45OTM3MyAxLjkwMTY3IDkuMDQ0MTQgMi4wMDI2MkwxMC43NzYxIDUuNDkwNjJMMTQuNjQ4MSA2LjA1MzI4QzE0Ljc1OTggNi4wNjg3NyAxNC44NjQ5IDYuMTE1MzUgMTQuOTUxNCA2LjE4NzY5QzE1LjAzNzkgNi4yNjAwNCAxNS4xMDIzIDYuMzU1MjQgMTUuMTM3MiA2LjQ2MjQ0QzE1LjE3MjIgNi41Njk2MyAxNS4xNzYzIDYuNjg0NDkgMTUuMTQ5MSA2Ljc5MzkyQzE1LjEyMiA2LjkwMzM1IDE1LjA2NDUgNy4wMDI5MiAxNC45ODM1IDcuMDgxMjlMMTIuMTgyMSA5Ljc5NDYyTDEyLjg0MzUgMTMuNjI4QzEyLjkyODEgMTQuMTIgMTIuNDA4MSAxNC40OTQ2IDExLjk2MzUgMTQuMjYyNkw4LjUwMDgxIDEyLjQ1Mkw1LjAzNzQ4IDE0LjI2MjZDNC41OTM0OCAxNC40OTUzIDQuMDczNDggMTQuMTIgNC4xNTgxNCAxMy42MjczTDQuODE5NDggOS43OTM5NUwyLjAxODE0IDcuMDgwNjJDMS45Mzc0NyA3LjAwMjIgMS44ODA0MSA2LjkwMjcyIDEuODUzNDUgNi43OTM0OUMxLjgyNjUgNi42ODQyNiAxLjgzMDcyIDYuNTY5NjYgMS44NjU2NiA2LjQ2MjcxQzEuOTAwNTkgNi4zNTU3NyAxLjk2NDgyIDYuMjYwNzcgMi4wNTEwNiA2LjE4ODUxQzIuMTM3MjkgNi4xMTYyNSAyLjI0MjA3IDYuMDY5NjMgMi4zNTM0OCA2LjA1Mzk1TDYuMjI1NDggNS40OTA2MlpcIiBzdHJva2U9XCIlMjM4MDgwODBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+JykgcmVwZWF0LXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5zdGFyc19fZmlsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIiBmaWxsPVwiJTIzNkI2RDQ1XCI+PHBhdGggZD1cIk02LjIyNTQ4IDUuNDkwNjJMNy45NTc0OCAyLjAwMjYyQzguMDA3ODkgMS45MDE2NyA4LjA4NTQzIDEuODE2NzcgOC4xODE0IDEuNzU3NDNDOC4yNzczNyAxLjY5ODA5IDguMzg3OTggMS42NjY2NiA4LjUwMDgxIDEuNjY2NjZDOC42MTM2NCAxLjY2NjY2IDguNzI0MjUgMS42OTgwOSA4LjgyMDIyIDEuNzU3NDNDOC45MTYxOSAxLjgxNjc3IDguOTkzNzMgMS45MDE2NyA5LjA0NDE0IDIuMDAyNjJMMTAuNzc2MSA1LjQ5MDYyTDE0LjY0ODEgNi4wNTMyOEMxNC43NTk4IDYuMDY4NzcgMTQuODY0OSA2LjExNTM1IDE0Ljk1MTQgNi4xODc2OUMxNS4wMzc5IDYuMjYwMDQgMTUuMTAyMyA2LjM1NTI0IDE1LjEzNzIgNi40NjI0NEMxNS4xNzIyIDYuNTY5NjMgMTUuMTc2MyA2LjY4NDQ5IDE1LjE0OTEgNi43OTM5MkMxNS4xMjIgNi45MDMzNSAxNS4wNjQ1IDcuMDAyOTIgMTQuOTgzNSA3LjA4MTI5TDEyLjE4MjEgOS43OTQ2MkwxMi44NDM1IDEzLjYyOEMxMi45MjgxIDE0LjEyIDEyLjQwODEgMTQuNDk0NiAxMS45NjM1IDE0LjI2MjZMOC41MDA4MSAxMi40NTJMNS4wMzc0OCAxNC4yNjI2QzQuNTkzNDggMTQuNDk1MyA0LjA3MzQ4IDE0LjEyIDQuMTU4MTQgMTMuNjI3M0w0LjgxOTQ4IDkuNzkzOTVMMi4wMTgxNCA3LjA4MDYyQzEuOTM3NDcgNy4wMDIyIDEuODgwNDEgNi45MDI3MiAxLjg1MzQ1IDYuNzkzNDlDMS44MjY1IDYuNjg0MjYgMS44MzA3MiA2LjU2OTY2IDEuODY1NjYgNi40NjI3MUMxLjkwMDU5IDYuMzU1NzcgMS45NjQ4MiA2LjI2MDc3IDIuMDUxMDYgNi4xODg1MUMyLjEzNzI5IDYuMTE2MjUgMi4yNDIwNyA2LjA2OTYzIDIuMzUzNDggNi4wNTM5NUw2LjIyNTQ4IDUuNDkwNjJaXCIvPjwvc3ZnPicpIHJlcGVhdC14O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19hdXRob3Ige1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2dhbGxlcnkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc29jaWFsIHtcbiAgICAgICAgZmxleDogMSAxIDQ1cmVtO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICBwYWRkaW5nOiA0LjhyZW0gdmFyKC0tcHJvZHVjdC1ibG9jay1wYWRkaW5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgICAgICAuc29jaWFsLXRpdGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBnYXA6IDEuNnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIGEsXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNvY2lhbC1nYWxsZXJ5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCxcbiAgICAgICAgICAgICAgICAgICAgbWlubWF4KGNsYW1wKDExcmVtLCAxMXZ3LCAxN3JlbSksIDFmcikpO1xuXG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZS1sXCIpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogNS4ycmVtO1xuICAgIH1cbn0iLCIuY29udGVudC1wcm9kdWN0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxLyAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhZGdlLWxpc3Qge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMi40cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IC40cmVtO1xuXG4gICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICYuLW5ldyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLi1zYWxlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLi10b3Age1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aXNobGlzdC1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICByaWdodDogY2xhbXAoMS42cmVtLCAydncsIDIuNHJlbSk7XG4gICAgICAgIHRvcDogY2xhbXAoMS42cmVtLCAydncsIDIuNHJlbSk7XG4gICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmLmluLXdpc2hsaXN0IHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMGEwYTBhYjY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjJzIGVhc2UtaW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzBhMGEwYTIwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4tYWRkZWQge1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1vdXQtb2Ytc3RvY2sge1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC51bnN0b2NrLW5vdGljZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogMS44cmVtIDIuNHJlbTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmluZm8ge1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxLjZyZW0sIDJ2dywgMi40cmVtKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzIGVhc2U7XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICByb3ctZ2FwOiAuNHJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG5cbiAgICAgICAgICAgICAgICAubmV3LXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDJ2dywgMi40cmVtKTtcblxuICAgICAgICAgICAgICAgICAgICAmLnNhbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDJ2dywgMS42cmVtKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjRyZW0pO1xuXG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg4MCUpO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9fX2NvcmUvY29yZS1taXhpbnNcIjtcblxuLm15LWFjY291bnQge1xuICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDEwMzBweFwiKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpZGViYXIge1xuICAgICAgICBmbGV4OiAzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgIC5hY2NvdW50LW1lbnUge1xuICAgICAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMDMwcHhcIikge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogY2xhbXAoMC44cmVtLCAydncsIDEuNnJlbSk7XG4gICAgICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMDMwcHhcIikge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAydncsIDEuNnJlbSk7XG5cbiAgICAgICAgICAgICAgICAuaXRlbS1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8MTAzMHB4XCIpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgLml0ZW0tbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAydncsIDEuNHJlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMDMwcHhcIikge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbGV4OiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvdW50LWNvbnRlbnQge1xuICAgICAgICBmbGV4OiA5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgyLjRyZW0sIDJ2dywgNC44cmVtKSBjbGFtcCgxLjZyZW0sIDJ2dywgNC44cmVtKTtcblxuICAgICAgICAuYWNjb3VudC1ncmVldGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC53aXNobGlzdC1wcm9kdWN0c19fZ3JpZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG4gICAgICAgICAgICAgICAgYXV0by1maWxsLFxuICAgICAgICAgICAgICAgIG1pbm1heChjbGFtcCgxOXJlbSwgMjV2dywgMzByZW0pLCAxZnIpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZ2FwOiBjbGFtcCgwLjhyZW0sIDJ2dywgMy4ycmVtKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMDMwcHhcIikge1xuICAgICAgICAgICAgZmxleDogdW5zZXQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lLWxcIikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4uYWNjb3VudC1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICBwYWRkaW5nOiBjbGFtcCgyLjRyZW0sIDR2dywgNC44cmVtKSBjbGFtcCgxLjZyZW0sIDN2dywgMy4ycmVtKTtcblxuICAgICZfX2NvbHVtbnMge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiBjbGFtcCgxLjZyZW0sIDN2dywgMy4ycmVtKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgfVxuXG4gICAgJl9fZWRpdGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMy4ycmVtO1xuICAgIH1cblxuICAgICZfX2NhcmQge1xuICAgICAgICBmbGV4OiAxIDEgMzJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDJyZW0sIDIuNXZ3LCAzLjJyZW0pO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEuNnJlbTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgICZfX2NhcmQtZWRpdGluZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbjogLTAuOHJlbSAwIDAuOHJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXktZGFyayk7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDEuMnJlbTtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmlucHV0LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuNHJlbTtcblxuICAgICAgICAudGhpbi1pbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvci10aXAge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMS40cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY291bnQtY29udHJvbF9faGludCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleS1kYXJrKTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjRyZW07XG4gICAgfVxuXG4gICAgLmNoZWNrYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC42cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uYWNjb3VudC1jb250ZW50LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDMuMnJlbTtcbn1cblxuLmVkaXQtYWNjb3VudCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuYWNjb3VudC1jb250cm9sX19jb2x1bW5zIHtcbiAgICAgICAgZ2FwOiBjbGFtcCgxLjZyZW0sIDJ2dywgMi40cmVtKTtcbiAgICB9XG5cbiAgICAuYWNjb3VudC1jb250cm9sX19jYXJkLWVkaXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMS42cmVtO1xuICAgIH1cblxuICAgIC5mb3JtLWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDEuMnJlbTtcblxuICAgICAgICAmLi10d28ge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNHJlbSwgMWZyKSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLi1vbmUge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3RhLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB9XG59XG5cbi5vcmRlci1kZXRhaWxzLWN1c3RvbSB7XG4gICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIuNHJlbTtcblxuICAgIC5jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgIH1cblxuICAgICZfX2hlYWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuOHJlbSAxLjZyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFkNmUyYTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxLjJyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJlaWdlKTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tcHJvZHVjdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMS4ycmVtO1xuXG4gICAgICAgIC50aHVtYiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDcuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNy4ycmVtO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMC42cmVtO1xuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJldmlldyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDAuNnJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFraSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXNpemUsXG4gICAgLml0ZW0tcXR5LFxuICAgIC5pdGVtLXByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLnByaWNlLW9sZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICB9XG5cbiAgICAucHJpY2UtbmV3IHtcbiAgICAgICAgY29sb3I6ICNjMTAwMDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJl9fbWV0YSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjZyZW0sIDFmcikpO1xuICAgICAgICBnYXA6IDEuMnJlbTtcbiAgICB9XG5cbiAgICAubWV0YS1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1jb2xvci1iZWlnZSkgMXB4IHNvbGlkO1xuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZDZlMmE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjhyZW0gMS42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjhyZW0gMS42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjZyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50b3RhbC1saW5lIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcblxuICAgICAgICAgICAgLnRvdGFsLWFtb3VudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhha2kpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAmX19oZWFkLFxuICAgICAgICAmX19yb3cge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1wcm9kdWN0IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXktb3JkZXJzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMnJlbSwgMWZyKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS42cmVtO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgIH1cblxuICAgICZfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTJyZW0sIDFmcikpO1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZXkpO1xuXG4gICAgICAgICYtLWNvbXBsZXRlZCB7XG4gICAgICAgICAgICAubXktb3JkZXJzX19jZWxsLS1vcmRlci1zdGF0dXMge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXktZGFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcm9jZXNzaW5nIHtcbiAgICAgICAgICAgIC5teS1vcmRlcnNfX2NlbGwtLW9yZGVyLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY2FuY2VsbGVkIHtcbiAgICAgICAgICAgIC5teS1vcmRlcnNfX2NlbGwtLW9yZGVyLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NlbGwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuNHJlbTtcblxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmX19hY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMS4ycmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICAgIH1cbn1cblxuLm9yZGVyLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAycmVtO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyO1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNmY2ZjA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxLjJyZW07XG4gICAgfVxuXG4gICAgJl9fcm93IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyO1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW0gMS4ycmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgfVxuXG4gICAgJl9fdGh1bWIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjRyZW07XG4gICAgfVxuXG4gICAgJl9fcXR5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC40cmVtO1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICB9XG5cbiAgICAmX19wcmljZS1vbGQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19wcmljZS1uZXcge1xuICAgICAgICBjb2xvcjogI2M0MDAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLyogQWN0aW9ucyAqL1xuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgLyogVG90YWxzICovXG4gICAgJl9fdG90YWxzIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlM2UzZTM7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjRyZW07XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgIH1cblxuICAgICZfX3RvdGFsLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmX190b3RhbC1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLyogTW9iaWxlICovXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICZfX3JvdyxcbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9fX2NvcmUvY29yZS1taXhpbnNcIjtcblxuLmNhcnQtZnVsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyBjbGFtcCgxLjZyZW0sIDN2dywgMi40cmVtKSk7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIC53b29jb21tZXJjZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogY2xhbXAoMS42cmVtLCAzdncsIDMuMnJlbSk7XG5cbiAgICAgICAgICAgIC53b29jb21tZXJjZS1jYXJ0LWZvcm0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQuOHJlbSBjbGFtcCgxLjZyZW0sIDN2dywgNC44cmVtKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZsZXg6IDc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDEwMjRweFwiKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC53b29jb21tZXJjZS1jYXJ0LWZvcm0ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IGNsYW1wKDEuNnJlbSwgM3Z3LCAzLjJyZW0pO1xuICAgIH1cblxuICAgIC5jYXJ0LXRvdGFscyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogNHJlbTtcbiAgICAgICAgcGFkZGluZzogNC44cmVtIGNsYW1wKDEuNnJlbSwgM3Z3LCA0LjhyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBmbGV4OiA1O1xuXG4gICAgICAgIC5zZXBhcmF0b3ItaCB7XG4gICAgICAgICAgICBtYXJnaW46IGNsYW1wKDEuNnJlbSwgM3Z3LCAyLjRyZW0pIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY291cG9uIHtcbiAgICAgICAgICAgIC5jb3Vwb24tcm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMy4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMi40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGdhcDogMi40cmVtO1xuXG4gICAgICAgICAgICAuY2FydC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcnQtdmFsdWUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jaGVja291dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMy4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8MTAyNHB4XCIpIHtcbiAgICAgICAgICAgIGZsZXg6IHVuc2V0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZW1wdHktY2FydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMy4ycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDEwLjRyZW0sIDN2dywgMTRyZW0pIGNsYW1wKDEuNnJlbSwgM3Z3LCAxNHJlbSk7XG5cbiAgICAgICAgICAgIC5pcy13eXNpd3lnIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG5cbi5jYXJ0LWZ1bGxfX3Byb2R1Y3QtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIHBhZGRpbmc6IGNsYW1wKDAuOHJlbSwgM3Z3LCAxLjZyZW0pO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogY2xhbXAoMC44cmVtLCAzdncsIDEuNnJlbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHRncmV5KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICAgIG1heC13aWR0aDogMzYlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBjbGFtcCgxLjZyZW0sIDJ2dywgMi40cmVtKTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlbW92ZSB7XG4gICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYWtpKTtcblxuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1oYWtpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWF0dHJpYnV0dGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjRyZW07XG5cbiAgICAgICAgZGwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAgICAgLnZhcmlhdGlvbi1yb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIGR0IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAxIGNsYW1wKDhyZW0sIDN2dywgMTRyZW0pO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWNvbnRyb2xzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDEuNnJlbTtcblxuICAgICAgICAuY2FydC1wcmljZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgLnByaWNlLW9sZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1zYWxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAgICAgLnByaWNlLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHktc2VsZWN0b3Ige1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWxpLXNpemUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1YW50aXR5LWNvbnRyb2wge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcblxuICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAwLjRyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9fX2NvcmUvY29yZS1taXhpbnNcIjtcblxuc2VjdGlvbi5jaGVja291dCB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyBjbGFtcCgxLjZyZW0sIDN2dywgMi40cmVtKSk7XG59XG5cbi5jaGVja291dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG5cbiAgICAud29vY29tbWVyY2UtTm90aWNlR3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgLndvb2NvbW1lcmNlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogMy4ycmVtO1xuXG4gICAgICAgICAgICAuY2hlY2tvdXQtZmllbGRzIHtcbiAgICAgICAgICAgICAgICBmbGV4OiA3O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNC44cmVtIGNsYW1wKDEuNnJlbSwgM3Z3LCA0LjhyZW0pO1xuXG4gICAgICAgICAgICAgICAgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzX19maWVsZC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAzLjJyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaXRpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNoZWNrb3V0LXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDIuNHJlbTtcblxuICAgICAgICAgICAgICAgICAgICAuZmllbGRzLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0by1maXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlubWF4KDMwcmVtLCAxZnIpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAyLjRyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgdG9wOiA2cmVtO1xuICAgICAgICAgICAgICAgIGZsZXg6IDU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA3MHJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQuOHJlbSBjbGFtcCgxLjZyZW0sIDN2dywgNC44cmVtKTtcblxuICAgICAgICAgICAgICAgIC5jb3Vwb24ge1xuICAgICAgICAgICAgICAgICAgICAuY291cG9uLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDExODBweFwiKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC5jaGVja291dC1maWVsZHMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlciB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItY29tcGxldGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMTAuNHJlbSBjbGFtcCgxLjZyZW0sIDN2dywgMTAuNHJlbSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5pcy13eXNpd3lnIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODByZW07XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAuYWNjZW50LWJsb2NrIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDMuMnJlbSwgNHZ3LCA2LjRyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmUtbFwiKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG5cbi5jaGVja291dC1yZXZpZXcge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAycmVtO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYWVhZDZlMmE7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuXG4gICAgJl9faXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDEuMnJlbTtcbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbSAxcmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC40cmVtO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgJl9fcXR5IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgIH1cblxuICAgICZfX21ldGEge1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgfVxuXG4gICAgJl9fc3VidG90YWwsXG4gICAgJl9fY29sLS1zdWJ0b3RhbCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8qIFRvdGFscyAqL1xuICAgICZfX3RvdGFscyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xuICAgIH1cblxuICAgICZfX3RvdGFsLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbSAxLjZyZW07XG4gICAgfVxuXG4gICAgJl9fdG90YWwtbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgICZfX3RvdGFsLXJvdy0tZ3JhbmQge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgIH1cblxuICAgIC8qIE1vYmlsZSAqL1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAmX19oZWFkZXIsXG4gICAgICAgICZfX3JvdyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */
