@charset "UTF-8";
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Regular.eot");
  src: url("../fonts/Montserrat-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Montserrat-Regular.woff") format("woff"), url("../fonts/Montserrat-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Medium.eot");
  src: url("../fonts/Montserrat-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Montserrat-Medium.woff") format("woff"), url("../fonts/Montserrat-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-SemiBold.eot");
  src: url("../fonts/Montserrat-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Montserrat-SemiBold.woff") format("woff"), url("../fonts/Montserrat-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Black.eot");
  src: url("../fonts/Montserrat-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/Montserrat-Black.woff") format("woff"), url("../fonts/Montserrat-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
* {
  margin: 0;
  padding: 0;
  outline: none;
}

html, body, div, span, h1, h2, h3, h4, h5, h6, p, em, img, strong, sub, sup, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 100%;
}

header, nav, section, article, aside, footer {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

html {
  height: 100%;
}

body {
  position: relative;
  height: 100%;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1.2857142857;
  color: #fff;
  font-weight: normal;
  font-style: normal;
  background: #000;
}

body *,
body *:before,
body *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  border: none;
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  margin: 0;
  padding: 0;
}

b {
  font-weight: 600;
}

.clear {
  clear: both;
  height: 0;
  overflow: hidden;
  font-size: 0;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.container {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 1199.98px) {
  .container {
    max-width: 960px;
  }
}
@media screen and (max-width: 1023.98px) {
  .container {
    max-width: 710px;
  }
}
@media screen and (max-width: 767.98px) {
  .container {
    max-width: 100%;
    padding: 0 15px;
  }
}
.wrapper {
  min-height: 100%;
  width: 100%;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
}

.content__wrapper {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.content__wrapper > * {
  width: 100%;
}

.pd__header {
  padding-top: 100px;
}

@media (max-width: 1699.98px) {
  .hide-desktop-lg {
    display: none !important;
  }
}

@media (max-width: 1339.98px) {
  .hide-desktop-md {
    display: none !important;
  }
}

@media (max-width: 1199.98px) {
  .hide-desktop {
    display: none !important;
  }
}

@media (max-width: 1023.98px) {
  .hide-tablet {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  .hide-tablet-sm {
    display: none !important;
  }
}

@media (max-width: 609.98px) {
  .hide-mobile-lg {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .show-desktop {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .show-tablet {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .show-tablet-sm {
    display: none !important;
  }
}

@media (min-width: 610px) {
  .show-mobile-lg {
    display: none !important;
  }
}

.noscroll {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.content__text > * {
  margin-bottom: 10px;
}
.content__text > *:first-child {
  margin-top: 0;
}
.content__text a {
  text-decoration: underline;
}
.content__text a:hover {
  text-decoration: none;
}
.content__text h1, .content__text h2, .content__text h3, .content__text h4, .content__text h5 {
  color: #fff;
  line-height: 1.1;
  font-weight: 700;
}
.content__text h1 {
  font-size: 24px;
  margin: 20px 0;
}
.content__text h2 {
  font-size: 20px;
  margin: 15px 0;
}
.content__text h3 {
  font-size: 18px;
  margin: 15px 0;
}
.content__text h4 {
  font-size: 16px;
}
.content__text h5 {
  font-size: 14px;
}
.content__text ul,
.content__text ol {
  padding-left: 26px;
}
.content__text ol {
  list-style-type: none;
  counter-reset: num;
}
.content__text li {
  position: relative;
}
.content__text ul li:before {
  position: absolute;
  top: 0px;
  right: 100%;
  margin-right: 11px;
  color: #fff;
  font-size: 16px;
  content: "•";
}
.content__text ol li:before {
  content: counter(num) ".";
  counter-increment: num;
  display: inline-block;
  position: absolute;
  top: 0px;
  right: 100%;
  margin-right: 8px;
  text-align: right;
}
.content__text img {
  border-radius: 20px;
}
.section__head {
  margin-bottom: 35px;
}
.section__head.hcols {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.section__title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2083333333;
  display: flex;
  gap: 20px;
  transition: all 0.3s ease-in-out;
}
.section__title + .section__title {
  margin-top: 10px;
}
.section__title.noactive {
  color: rgba(255, 255, 255, 0.4);
}
.section__title img {
  height: 0.85em;
  transform: translateY(20%);
}
.section__title.noactive img {
  display: none;
}
.section__title.noactive.hover {
  cursor: pointer;
}
@media (hover: hover) {
  .section__title.noactive.hover:hover {
    color: #fff;
  }
}
.text--center .section__intro {
  margin-left: auto;
  margin-right: auto;
}
.section__buttons {
  margin-top: 68px;
  text-align: center;
}
.section__first {
  margin-top: 0 !important;
  padding: 60px 0 30px;
}
.section__mg {
  margin: 160px 0;
}
.section__pd {
  padding: 110px 0;
}
.section__pdt {
  padding-top: 70px;
}
.section__tab {
  display: none;
}
.section__tab.show {
  display: block;
}
@media (max-width: 1023.98px) {
  .section__head.hcols {
    flex-direction: column;
    gap: 20px;
  }
}
@media (max-width: 609.98px) {
  .section__title {
    font-size: 21px;
    justify-content: center;
  }
  .section__pd {
    padding: 50px 0;
  }
}
.title {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2222222222;
}
.title.fs--md {
  font-size: 16px;
}
@media (max-width: 609.98px) {
  .title.fs--md {
    font-size: 14px;
  }
}

.text {
  font-size: 12px;
  line-height: 1.75;
}
.text > * + * {
  margin-top: 10px;
}

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

.text--white {
  color: white;
}

.icon {
  stroke: currentColor;
  fill: none;
  color: inherit;
  font-size: inherit;
  transition: all 0.3s ease-in-out;
  flex: 0 0 auto;
}
.icon--fill {
  fill: currentColor;
  stroke: initial;
}
.icon path {
  stroke: currentColor;
  color: inherit;
  font-size: inherit;
  transition: all 0.3s ease-in-out;
}

.link {
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
  transition: all 0.3s ease-in-out;
  display: inline-flex;
  align-items: center;
}
.link .icon {
  width: 20px;
  height: 20px;
  margin-left: 8px;
}
.link__more .close_t {
  display: none;
}
.link__more.opened .open_t {
  display: none;
}
.link__more.opened .close_t {
  display: block;
}
@media (max-width: 1199.98px) {
  .link {
    font-size: 16px;
  }
}

.pagination {
  display: flex;
  margin-top: 45px;
}
.pagination__list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 -5px;
}
.pagination .page-item {
  position: relative;
  color: #969696;
  font-size: 12px;
  padding: 2px 5px;
  transition: all 0.3s ease-in-out;
}
.pagination .page-item:hover {
  color: #fff;
}
.pagination .page-item.active {
  color: #fff;
}
.pagination .page-item .icon {
  width: 14px;
  height: 21px;
}
.pagination .page-first, .pagination .page-last {
  display: none;
}
.pagination .page-item-next, .pagination .page-item-prev {
  display: none;
  order: 5;
  margin-top: 5px;
  width: 60px;
  height: 40px;
  background: none;
  border: 3px solid rgba(255, 255, 255, 0.5);
}
.pagination .page-item-next .page-link, .pagination .page-item-prev .page-link {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .page-item-next {
  margin-left: 5px;
}
@media (max-width: 1023.98px) {
  .pagination {
    margin-top: 80px;
    justify-content: center;
  }
  .pagination__list {
    justify-content: center;
  }
}

/**************************************************************
swiper
**************************************************************/
.swiper-slide {
  height: auto;
}

.swiper-pagination {
  display: flex;
}
.swiper-pagination-bullet {
  margin: 0 6px !important;
  width: 12px;
  height: 12px;
  border: 1px solid #737373;
  background: none;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-button {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: #fff;
  opacity: 0.4;
  transition: all 0.3s ease-in-out;
}
.swiper-button:after {
  display: none;
}
.swiper-button .icon {
  width: 100%;
  height: 100%;
}
@media (hover: hover) {
  .swiper-button:hover {
    opacity: 1;
  }
}
.swiper-button-nav {
  position: relative;
  display: flex;
  align-items: center;
}
.swiper-button-nav .swiper-pagination {
  position: static;
  width: auto;
  margin: 0 -6px;
}

.swiper-scrollbar {
  background: none;
}

.mCSB_inside > .mCSB_container {
  margin-right: 0;
}

.mCSB_container {
  padding-right: 0;
  padding-left: 75px;
}

.mCS_no_scrollbar .mCSB_container {
  padding: 0;
}

.mCSB_scrollTools {
  left: 0;
  right: auto;
  width: 2px;
  background: #444444;
  padding: 0;
  border: none;
}
.mCSB_scrollTools .mCSB_draggerContainer {
  top: 0;
  bottom: 0;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 2px;
  background: #fff;
}

/**************************************************************
forms
**************************************************************/
.input::-webkit-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input::-o-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input::-moz-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input:-moz-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input::-ms-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input::placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input:placeholder-shown {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input:focus::-webkit-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-o-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-moz-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus:-moz-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-ms-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus:input-placeholder {
  color: transparent;
  opacity: 0;
}

input[placeholder] {
  text-overflow: ellipsis;
}

input::-moz-placeholder {
  text-overflow: ellipsis;
}

input:-moz-placeholder {
  text-overflow: ellipsis;
}

input:-ms-input-placeholder {
  text-overflow: ellipsis;
}

input[type=text], input[type=tel], button {
  -webkit-appearance: none;
}

.input {
  width: 100%;
  height: 35px;
  line-height: 33px;
  font-family: "Montserrat", sans-serif;
}

textarea.input {
  line-height: normal;
  padding: 10px 15px;
  resize: none;
  height: 100px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  min-width: 200px;
  padding: 0 20px;
  background: rgba(242, 74, 42, 0.4);
  border: none;
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  font-weight: normal;
  outline: 0;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.btn--bd {
  color: #fff;
  background: none;
  border: 1px solid #F24A2A;
}
.btn:hover {
  color: #fff;
  background: #F24A2A;
}

/**************************************************************
popup
**************************************************************/
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  display: none;
}
.popup__content {
  width: 100%;
  min-height: 100%;
  overflow: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 15px;
  position: relative;
  z-index: 1;
}
.popup__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #232730;
  opacity: 0.7;
}
.popup__container {
  position: relative;
  width: 100%;
  max-width: 510px;
  padding: 60px 30px 70px;
  background: #2B2D38;
  overflow: hidden;
  text-align: center;
}
.popup__close {
  position: absolute;
  right: 13px;
  top: 13px;
  width: 28px;
  height: 28px;
  background: url(../images/popup-close.svg) no-repeat center;
  cursor: pointer;
  z-index: 99;
}
.popup__head {
  margin-bottom: 30px;
}
.popup__title {
  font-weight: bold;
  font-size: 48px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
}
.popup form {
  max-width: 360px;
  margin: 0 auto;
}
.popup form .btn {
  min-width: 280px;
}
.popup__iconthank {
  margin-bottom: 50px;
}
.popup-thank .popup__title {
  margin-bottom: 0;
}

/**************************************************************
header
**************************************************************/
.header {
  position: relative;
  z-index: 9;
}
.header__inner {
  height: 80px;
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.header__logo {
  max-width: 80px;
  display: inline-flex;
  align-items: flex-start;
  transform: translateY(15px);
  position: relative;
}
.header__logo::after {
  position: absolute;
  left: -15px;
  right: -15px;
  top: -15px;
  bottom: -15px;
  background: #000;
  border-radius: 100%;
  content: "";
  z-index: -1;
}
.header__menu {
  display: flex;
}
.header__menu ul {
  display: flex;
  gap: 20px;
}
.header__menu li {
  display: flex;
  align-items: center;
  position: relative;
}
.header__menu li::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  background: #FF0000;
  content: "";
  display: none;
}
.header__menu li a {
  color: #969696;
  font-size: 12px;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .header__menu li a:hover {
    color: #fff;
  }
}
.header__menu li.active::after {
  display: block;
}
.header__menu li.active a {
  color: #fff;
}
.header__menu li.active.active_double + li.active_double a {
  color: #fff;
}
.header__menu li.active.active_double + li.active_double::after {
  left: -20px;
  width: calc(100% + 20px);
  display: block;
}
.header__btn {
  min-width: 215px;
  height: auto;
  align-self: stretch;
}
.header__burger {
  display: none;
}
@media (max-width: 1199.98px) {
  .header__inner {
    height: 70px;
  }
  .header__btn {
    min-width: 180px;
  }
}
@media (max-width: 1023.98px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
  }
  .header__inner {
    height: 130px;
    align-items: center;
    padding: 10px 25px;
  }
  .header__logo {
    z-index: 5;
    transform: initial;
  }
  .header__logo img {
    max-height: 75px;
  }
  .header__logo::after {
    display: none;
  }
  .header__menu {
    display: none;
  }
  .header__btn {
    display: none;
  }
  .header__burger {
    width: 40px;
    height: 40px;
    display: flex;
    position: relative;
    border: none;
    background: none;
    outline: none;
    z-index: 5;
  }
  .header__burger img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease-in-out;
  }
  .header__burger .img-active {
    opacity: 0;
  }
  .header__burger.active img {
    opacity: 0;
  }
  .header__burger.active .img-active {
    opacity: 1;
  }
}
@media (max-width: 360px) {
  .header__inner {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.navfix {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(var(--vh) * 100);
  background: #000;
  z-index: 0;
  margin: 0;
  overflow: auto;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.navfix.opened {
  opacity: 1;
  visibility: visible;
}
.navfix__inner {
  height: calc(var(--vh) * 100);
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding: 130px 25px 0;
}
.navfix__menu {
  margin-top: 60px;
}
.navfix__menu li + li {
  margin-top: 15px;
}
.navfix__menu li a {
  font-size: 16px;
  color: #969696;
}
.navfix__menu li.active a {
  color: #fff;
}
.navfix__menu li.active.active_double + li.active_double a {
  color: #fff;
}
.navfix__contacts {
  margin-top: auto;
}
.navfix__addr {
  margin-bottom: 25px;
}
.navfix__phone, .navfix__email {
  font-weight: 600;
}
.navfix__buttons {
  margin: 0 -35px;
}
.navfix__btn {
  margin: 0 -40px;
  height: 80px;
}
@media (max-width: 360px) {
  .navfix__inner {
    padding-left: 10px;
    padding-right: 10px;
  }
  .navfix__btn {
    margin: 0 -25px;
  }
}

/**************************************************************
footer
**************************************************************/
.footer {
  padding: 45px 0 30px;
  text-align: center;
}
.footer__logo {
  display: inline-flex;
}
.footer__logo img {
  max-height: 80px;
}
.footer__menu {
  margin-top: 20px;
  margin-bottom: 40px;
}
.footer__menu ul {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.footer__menu li {
  display: flex;
  align-items: center;
  position: relative;
}
.footer__menu li a {
  color: #969696;
  font-size: 12px;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .footer__menu li a:hover {
    color: #fff;
  }
}
.footer__menu li.active a {
  color: #fff;
}
.footer__menu li.active.active_double + li.active_double a {
  color: #fff;
}
.footer__addr {
  margin-bottom: 25px;
}
.footer__phone, .footer__email {
  font-weight: 600;
}
.footer__copy {
  margin-top: 40px;
  font-size: 10px;
  line-height: 1.3;
  opacity: 0.4;
}
@media (max-width: 767.98px) {
  .footer__menu {
    margin-top: 50px;
  }
  .footer__menu ul {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
}

/**************************************************************

**************************************************************/
.hero {
  position: relative;
  background: url(../images/hero-bg.jpg) no-repeat center center;
  background-attachment: fixed;
  background-size: cover;
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
  padding: 120px 0 140px;
}
.hero__sname {
  display: flex;
  align-items: center;
  gap: 30px;
}
.hero__st {
  flex: 1 0 0;
  text-align: center;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5em;
}
.hero__logo {
  flex: 0 0 auto;
  max-width: 385px;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .hero__logo:hover {
    transform: scale(1.1);
  }
}
.hero__logo.hover {
  transform: scale(1.1);
}
.hero__scrollarr {
  position: absolute;
  left: 50%;
  bottom: 45px;
  transform: translateX(-50%);
  width: 16px;
}
@media (min-width: 1024px) and (max-height: 800px) {
  .hero {
    padding: 80px 0 100px;
  }
  .hero__scrollarr {
    bottom: 30px;
  }
}
@media (max-width: 1023.98px) {
  .hero {
    min-height: calc(var(--vh) * 100);
    padding: 130px 0 120px;
  }
  .hero__sname {
    flex-direction: column;
    gap: 90px;
  }
}
@media (max-width: 767.98px) {
  .hero__sname {
    gap: 80px;
  }
  .hero__logo {
    max-width: 280px;
  }
}

/**************************************************************

**************************************************************/
.mabout {
  position: relative;
  min-height: 768px;
  display: flex;
  align-items: center;
}
.mabout__info {
  max-width: 370px;
  position: relative;
  z-index: 10;
}
.mabout__ibg {
  position: absolute;
  left: 30%;
  top: 0;
  width: 70%;
  height: 100%;
}
.mabout__ibg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.mabout__scrollarr {
  position: absolute;
  left: 50%;
  bottom: 45px;
  transform: translateX(-50%);
  width: 16px;
}
@media (min-width: 1024px) and (max-height: 800px) {
  .mabout {
    min-height: 700px;
  }
}
@media (max-width: 609.98px) {
  .mabout {
    min-height: 600px;
    padding: 100px 0;
    align-items: flex-start;
  }
  .mabout.mabout--first {
    min-height: calc(var(--vh) * 100);
    padding: 130px 0 120px;
    align-items: center;
  }
  .mabout__info {
    text-align: center;
    padding: 0 25px;
    margin: 0 auto;
  }
  .mabout__ibg {
    left: 0;
    width: 100%;
  }
  .mabout__ibg img {
    object-position: 20%;
  }
}
@media (max-width: 360px) {
  .mabout__info {
    padding: 0 10px;
    margin: 0 auto;
  }
}

/**************************************************************

**************************************************************/
.privilege {
  position: relative;
  min-height: 768px;
  display: flex;
  align-items: center;
}
.privilege__info {
  width: 40%;
  max-width: 370px;
  position: relative;
  z-index: 10;
}
.privilege.reverse .privilege__info {
  margin-left: auto;
}
.privilege__img {
  position: absolute;
  left: 50%;
  top: 0;
  width: 50%;
  height: 100%;
}
.privilege__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.privilege.reverse .privilege__img {
  left: 0;
}
.privilege__slider {
  align-self: stretch;
  width: 100%;
}
.privilege__slider .swiper-button-prev {
  left: 65px;
}
.privilege__slider .swiper-button-next {
  right: 65px;
}
.privilege__slide {
  position: relative;
  display: flex;
  align-items: center;
}
.privilege__slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.privilege__slide-info {
  max-width: 370px;
  float: right;
}
.privilege__slide-buttons {
  margin-top: 35px;
}
@media (min-width: 1024px) and (max-height: 800px) {
  .privilege {
    min-height: 700px;
  }
}
@media (max-width: 1023.98px) {
  .privilege {
    flex-direction: column;
    padding: 0;
    min-height: 1px;
    padding-bottom: 55px;
  }
  .privilege + .privilege {
    margin-top: 90px;
  }
  .privilege__img {
    order: -1;
    position: relative;
    padding-top: 60%;
    left: 0 !important;
    width: 100%;
    opacity: 0.5;
  }
  .privilege__info {
    position: relative;
    padding: 50px 25px 0;
    margin: 0 !important;
    max-width: 500px;
    width: 100%;
  }
  .privilege__head {
    position: absolute;
    bottom: 100%;
    left: 0;
    padding: 0 25px;
  }
  .privilege__head .section__title {
    gap: 10px;
  }
  .privilege__slide-info {
    float: none;
    margin: 0 auto;
  }
}
@media (max-width: 609.98px) {
  .privilege + .privilege {
    margin-top: 50px;
  }
  .privilege__img {
    padding-top: 110%;
  }
  .privilege__slider .swiper-button {
    display: none;
  }
  .privilege__slide {
    padding: 60px 0;
    align-items: flex-start;
  }
  .privilege__slide-info {
    text-align: center;
    padding: 0 10px;
  }
  .privilege__slide-buttons {
    width: 100%;
  }
  .privilege__slide-buttons .btn {
    width: 100%;
  }
}
@media (max-width: 360px) {
  .privilege__head {
    padding: 0 10px;
  }
  .privilege__info {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/**************************************************************

**************************************************************/
.events {
  position: relative;
}
.events::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/bg-events.jpg) no-repeat center;
  background-size: cover;
  background-attachment: fixed;
  content: "";
  opacity: 0.2;
  z-index: -1;
}
.events__ibg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 768px;
  opacity: 0.2;
  z-index: -1;
}
.events__ibg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.events__scroll {
  max-height: 500px;
  max-width: 550px;
}
.events__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 16px;
}
.events__item {
  display: flex;
  gap: 20px;
  padding: 27px 40px 30px 30px;
  background: rgba(242, 74, 42, 0.5);
  transition: all 0.3s ease-in-out;
}
.events__item.item--old {
  background: rgba(150, 150, 150, 0.4);
}
@media (hover: hover) {
  .events__item:hover {
    background: #F24A2A;
  }
  .events__item.item--old:hover {
    background: rgb(150, 150, 150);
  }
}
.events__item + .events__item {
  margin-top: 20px;
}
.events__items .events__item {
  margin: 0;
}
.events__item-date {
  flex: 0 0 auto;
  width: 60px;
  font-size: 18px;
  font-weight: 900;
}
.events__item-descr {
  margin-top: 20px;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.75;
}
.events__item-props {
  margin-top: 25px;
}
.events__item-prop {
  display: flex;
  gap: 20px;
  font-weight: 600;
}
.events__item-prop + .events__item-prop {
  margin-top: 12px;
}
.events__item-prop::before {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  transform: translateY(-2px);
  background-position: center center;
  background-repeat: no-repeat;
  content: "";
}
.events__item-prop.prop--addr::before {
  background-image: url(../images/icons/location.svg);
}
.events__item-prop.prop--time::before {
  background-image: url(../images/icons/time.svg);
}
@media (max-width: 1023.98px) {
  .events.events--first {
    min-height: calc(var(--vh) * 100);
    padding: 180px 0 40px;
  }
  .events.events--first::after {
    height: calc(100% - 100px);
    background-image: url(../images/smi-bg.jpg);
    opacity: 1;
  }
  .events__items .events__item {
    flex-direction: column;
  }
}
@media (max-width: 609.98px) {
  .events.smi--first {
    padding-top: 130px;
  }
  .events__scroll {
    max-height: initial;
  }
  .events__scroll .mCSB_container {
    padding: 0;
  }
  .events__items {
    grid-template-columns: 1fr;
  }
  .events__item {
    padding: 25px 20px 30px 20px;
    flex-direction: column;
  }
  .events__scroll .events__item {
    display: none;
  }
  .events__scroll .events__item:nth-child(1), .events__scroll .events__item:nth-child(2), .events__scroll .events__item:nth-child(3) {
    display: flex;
  }
}

/**************************************************************

**************************************************************/
.devent {
  position: relative;
}
.devent__ibg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.devent__ibg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.devent__date {
  font-size: 39px;
  font-weight: 900;
  line-height: 1.2307692308;
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.devent__date img {
  height: 0.85em;
  transform: translateY(20%);
}
.devent__title {
  text-align: left;
  justify-content: flex-start;
}
.devent__props {
  margin-top: 35px;
}
.devent__prop {
  display: flex;
  gap: 20px;
  font-weight: 600;
}
.devent__prop + .devent__prop {
  margin-top: 12px;
}
.devent__prop::before {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  transform: translateY(-2px);
  background-position: center center;
  background-repeat: no-repeat;
  content: "";
}
.devent__prop.prop--addr::before {
  background-image: url(../images/icons/location.svg);
}
.devent__prop.prop--time::before {
  background-image: url(../images/icons/time.svg);
}
.devent__text {
  margin-top: 70px;
  max-width: 355px;
}
@media (max-width: 1023.98px) {
  .devent {
    padding-top: 150px;
  }
  .devent .container {
    padding: 0 35px;
  }
  .devent__ibg {
    overflow: hidden;
  }
  .devent__ibg::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 150%;
    height: 100%;
    background: radial-gradient(50% 50% at 50% 77.5%, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 100%);
    background: radial-gradient(50% 50% at 50% 77.5%, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
    z-index: 2;
    content: "";
  }
}
@media (max-width: 360px) {
  .devent .container {
    padding: 0 15px;
  }
}

/**************************************************************

**************************************************************/
.project__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.project__item {
  position: relative;
  padding: 90px 50px 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
}
.project__item::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 130%;
  background: radial-gradient(50% 50% at 50% 30.5%, rgba(93, 93, 93, 0.45) 0%, rgba(0, 0, 0, 0.9) 100%);
  content: "";
  z-index: -1;
}
.project__item-photo {
  width: 160px;
  height: 160px;
  position: relative;
  background: #767676;
  border-radius: 100%;
  overflow: hidden;
  margin-bottom: 50px;
}
.project__item-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
}
.project__item-title {
  opacity: 0.5;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .project__item:hover .project__item-photo img {
    transform: scale(1.1);
  }
  .project__item:hover .project__item-title {
    opacity: 1;
  }
}
@media (max-width: 1023.98px) {
  .project__item {
    padding: 50px 30px 40px;
  }
  .project__item-photo {
    width: 120px;
    height: 120px;
    margin-bottom: 30px;
  }
}
@media (max-width: 609.98px) {
  .project__items {
    grid-template-columns: 1fr;
  }
}

/**************************************************************

**************************************************************/
.smi {
  position: relative;
}
.smi::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/smi-bg.jpg) no-repeat center;
  background-size: cover;
  background-attachment: fixed;
  content: "";
  z-index: -1;
}
.smi__ibg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 768px;
  z-index: -1;
}
.smi__ibg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.smi__cols {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.smi__scroll {
  max-height: 510px;
  max-width: 550px;
}
.smi__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 16px;
}
.smi__item {
  display: block;
  padding: 27px 40px 30px 30px;
  background: rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .smi__item:hover {
    color: #000;
    background: rgba(255, 255, 255, 0.8);
  }
}
.smi__item + .smi__item {
  margin-top: 15px;
}
.smi__items .smi__item {
  margin: 0;
}
.smi__item-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.smi__item-date {
  flex: 0 0 auto;
  opacity: 0.5;
}
.smi__item-descr {
  margin-top: 20px;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.smi__brands {
  flex: 1 0 0;
  max-width: 400px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.smi__ibrand {
  height: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.smi__ibrand img {
  max-width: 170px;
  max-height: 70px;
}
@media (max-width: 1023.98px) {
  .smi.smi--first {
    min-height: calc(var(--vh) * 100);
    padding: 180px 0 40px;
  }
  .smi.smi--first::after {
    height: calc(100% - 100px);
  }
  .smi__cols {
    flex-direction: column;
  }
  .smi__brands {
    display: none;
  }
}
@media (max-width: 609.98px) {
  .smi.smi--first {
    padding-top: 130px;
  }
  .smi__scroll {
    max-height: initial;
  }
  .smi__scroll .mCSB_container {
    padding: 0;
  }
  .smi__items {
    grid-template-columns: 1fr;
  }
  .smi__item {
    padding: 30px 20px;
  }
  .smi__scroll .smi__item {
    display: none;
  }
  .smi__scroll .smi__item:nth-child(1), .smi__scroll .smi__item:nth-child(2), .smi__scroll .smi__item:nth-child(3), .smi__scroll .smi__item:nth-child(4) {
    display: block;
  }
}

/**************************************************************

**************************************************************/
.gallery {
  position: relative;
}
.gallery__slider .swiper-button-prev {
  left: 65px;
}
.gallery__slider .swiper-button-next {
  right: 65px;
}
.gallery__item {
  position: relative;
  height: 100vh;
  max-height: 768px;
  min-height: 600px;
}
.gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.6;
}
.gallery__thumb {
  position: absolute;
  left: 0;
  bottom: 55px;
  width: 100%;
  z-index: 9;
}
.gallery__thumb-item {
  height: 95px;
  position: relative;
  cursor: pointer;
  opacity: 0.68;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}
.gallery__thumb-item.swiper-slide-thumb-active {
  opacity: 1;
  pointer-events: none;
}
.gallery__thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .gallery__thumb-item:hover {
    opacity: 0.85;
  }
  .gallery__thumb-item:hover img {
    transform: scale(1.1);
  }
}
@media (max-width: 1023.98px) {
  .gallery__item {
    max-height: 550px;
    min-height: 500px;
  }
  .gallery__item img {
    opacity: 0.8;
  }
  .gallery__slider .swiper-button {
    display: none;
  }
}

/**************************************************************

**************************************************************/
.contacts {
  position: relative;
  flex: 1 0 0;
  display: flex;
  align-items: center;
  text-align: center;
  padding-top: 40px;
  min-height: 250px;
}
.contacts__logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin-top: 10%;
  height: 100%;
  max-height: 90%;
  max-width: 385px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contacts__logo img {
  max-height: 100%;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .contacts__logo:hover img {
    transform: scale(1.1);
  }
}
@media (min-width: 1024px) and (max-height: 800px) {
  .contacts {
    padding: 80px 0 100px;
  }
  .contacts__scrollarr {
    bottom: 30px;
  }
}
@media (max-width: 609.98px) {
  .contacts {
    padding-top: 130px;
  }
  .contacts__logo {
    padding-top: 130px;
    width: 100%;
    max-width: 245px;
  }
}

/**************************************************************
.error404
**************************************************************/
.error404 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.error404__numb {
  font-size: 160px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}
.error404__title {
  margin-top: 15px;
  font-size: 30px;
}
.error404__buttons {
  padding-top: 60px;
}
@media (max-width: 1023.98px) {
  .error404 {
    padding-top: 130px;
  }
  .error404__numb {
    font-size: 140px;
  }
  .error404__title {
    font-size: 24px;
  }
  .error404__buttons {
    padding-top: 30px;
  }
}
@media (max-width: 609.98px) {
  .error404__numb {
    font-size: 100px;
  }
  .error404__title {
    font-size: 20px;
  }
  .error404__buttons {
    padding-top: 30px;
  }
}

/**************************************************************

**************************************************************/
/**************************************************************

**************************************************************/
/**************************************************************

**************************************************************/
/**************************************************************

**************************************************************/
/**************************************************************

**************************************************************/
/**************************************************************

**************************************************************/
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9mb250cy5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJpbmMvX3ZhcnMuc2NzcyIsIl9jb21tb24uc2NzcyIsImNvbW1vbi9fY29udGVudC5zY3NzIiwiY29tbW9uL19zZWN0aW9uLnNjc3MiLCJjb21tb24vX2VsZW1lbnRzLnNjc3MiLCJpbmMvX21peGlucy5zY3NzIiwiX2xpYnMuc2NzcyIsIl9mb3Jtcy5zY3NzIiwiX3BvcHVwLnNjc3MiLCJfaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19uYXZmaXguc2NzcyIsIl9mb290ZXIuc2NzcyIsInN0eWxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtFQUNDO0VBQ0E7RUFDQSxLQUNDO0VBR0Q7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQSxLQUNDO0VBR0Q7RUFDQTs7QUFFRDtFQUNDO0VBQ0E7RUFDQSxLQUNDO0VBR0Q7RUFDQTs7QUFFRDtFQUNDO0VBQ0E7RUFDQSxLQUNDO0VBR0Q7RUFDQTs7QUN4Q0Q7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQSxhQzFCRztFRDJCSDtFQUNBO0VBQ0EsT0N4QlM7RUR5QlQ7RUFDQTtFQUNBLFlDOUJNOzs7QURnQ1Y7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDRTs7O0FBR0Y7RUFDSTtFQUNBO0VBQ0E7RUFBVzs7O0FBRWY7RUFDSTs7O0FFekRKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0EsV0RIYztFQ0lkO0VBQW1CO0VBQ25COztBQU9BO0VBWEo7SUFZUzs7O0FBRUw7RUFkSjtJQWVROzs7QUFFSjtFQWpCSjtJQWtCUTtJQUNBOzs7QUFTUjtFQUNJO0VBQWtCO0VBQ2xCO0VBQ0E7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OztBQUNBO0VBQ0k7RUFDQTs7QUFFSjtFUDF2QlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VPdXZCWTs7QUFFSjtFQUNJO0lBQ0k7O0VBQ0E7SUFDSTs7O0FBTXBCO0VBRUk7SUFDSTtJQUNBOztFQUNBO0lBQ0k7O0VBS0o7SUFDSTs7OztBQVNoQjs7QUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RVAveUJBO0VBQ0E7RUFBVztFQUNYO0VPK3lCSTtFQUVBO0VBQWM7RUFDZDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0lBQ0k7OztBQUtaO0VBOUJKO0lBK0JROztFQUNBO0lBQ0k7OztBQUdSO0VBcENKO0lBcUNRLGFacjBCSzs7RVlzMEJMO0lBQ0ksYVp2MEJDO0lZdzBCRDtJQUNBOzs7O0FBT1o7QUFBQTtBQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFFQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUdKO0VBcEJKO0lBcUJRLGFaeDJCSzs7RVl5MkJMO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOzs7O0FBT1o7O0FBQUE7QUFRQTs7QUFBQTtBQVFBOztBQUFBO0FBUUE7O0FBQUE7QUFRQTs7QUFBQTtBQVFBOztBQUFBIiwiZmlsZSI6InN0eWxlcy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL01vbnRzZXJyYXQtUmVndWxhci5lb3QnKTtcclxuXHRzcmM6IFxyXG5cdFx0dXJsKCcuLi9mb250cy9Nb250c2VycmF0LVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvTW9udHNlcnJhdC1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvTW9udHNlcnJhdC1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvTW9udHNlcnJhdC1NZWRpdW0uZW90Jyk7XHJcblx0c3JjOiBcclxuXHRcdHVybCgnLi4vZm9udHMvTW9udHNlcnJhdC1NZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvTW9udHNlcnJhdC1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9Nb250c2VycmF0LU1lZGl1bS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvTW9udHNlcnJhdC1TZW1pQm9sZC5lb3QnKTtcclxuXHRzcmM6IFxyXG5cdFx0dXJsKCcuLi9mb250cy9Nb250c2VycmF0LVNlbWlCb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL01vbnRzZXJyYXQtU2VtaUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9Nb250c2VycmF0LVNlbWlCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9Nb250c2VycmF0LUJsYWNrLmVvdCcpO1xyXG5cdHNyYzogXHJcblx0XHR1cmwoJy4uL2ZvbnRzL01vbnRzZXJyYXQtQmxhY2suZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvTW9udHNlcnJhdC1CbGFjay53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL01vbnRzZXJyYXQtQmxhY2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG5cdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG59IiwiKiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgZW0sIGltZywgc3Ryb25nLCBzdWIsIHN1cCwgYiwgdSwgaSwgIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgdGFibGUsIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbn1cbmhlYWRlciwgbmF2LCBzZWN0aW9uLCBhcnRpY2xlLCBhc2lkZSwgZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmh0bWwgeyAgXG4gICAgaGVpZ2h0OjEwMCU7IFxufVxuYm9keSB7ICBcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgXG4gICAgaGVpZ2h0OjEwMCU7IFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udDsgXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBsaCgxOCwgMTQpO1xuICAgIGNvbG9yOiAkY29sb3ItYm9keTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBiYWNrZ3JvdW5kOiAkYmctYm9keTtcbn1cbmJvZHkgKixcbmJvZHkgKjpiZWZvcmUsXG5ib2R5ICo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgXG59XG5cbmltZyB7IFxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5hIHsgXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBcbiAgICBtYXJnaW46IDA7IHBhZGRpbmc6IDA7XG59XG5iIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufSIsIiRmb250OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcblxyXG4kYmctYm9keTogIzAwMDtcclxuJGJnLWdyYXktbGlnaHQ6ICNGOEZBRkM7XHJcblxyXG4kY29sb3ItYm9keTogI2ZmZjtcclxuJGNvbG9yLWFjY2VudDogI0YyNEEyQTtcclxuJGNvbG9yLXRleHQ6ICM1NzdDODc7XHJcblxyXG5cclxuXHJcbiR3aWR0aC1jb250YWluZXI6IDExMDBweDtcclxuJHBkLWNvbnRhaW5lcjogMTVweDtcclxuJHBkLWNvbnRhaW5lci1zbXg6IDE1cHg7XHJcblxyXG4kbWQtZGVza3RvcC1sZzogMTY5OS45OHB4O1xyXG4kbWQtZGVza3RvcC1tZDogMTMzOS45OHB4O1xyXG4kbWQtZGVza3RvcDogMTE5OS45OHB4O1xyXG4kbWQtdGFibGV0OiAxMDIzLjk4cHg7XHJcbiRtZC10YWJsZXQtc206IDc2Ny45OHB4O1xyXG4kbWQtbW9iaWxlLWxnOiA2MDkuOThweDtcclxuJG1kLW1vYmlsZTogNDc4Ljk4cHg7XHJcbiRtZC1tb2JpbGUtc206IDM5OS45OHB4O1xyXG4kbWQtbW9iaWxlLXNteDogMzYwcHg7XHJcblxyXG4kaGVhZGVyLWg6IDEwMHB4O1xyXG4kaGVhZGVyLWgtdDogMTMwcHg7XHJcbiRoZWFkZXItaC1tOiAxMzBweDsiLCJcbi5jbGVhciB7IFxuICAgIGNsZWFyOiBib3RoOyBcbiAgICBoZWlnaHQ6IDA7IFxuICAgIG92ZXJmbG93OiBoaWRkZW47IFxuICAgIGZvbnQtc2l6ZTogMDtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogJHdpZHRoLWNvbnRhaW5lcjsgXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgfVx0XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgfVx0XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcbiAgICAgICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgfVx0XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuICAgICAgICBtYXgtd2lkdGg6IDcxMHB4O1xuICAgIH1cdFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwICRwZC1jb250YWluZXI7XG4gICAgfVx0XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xuICAgICAgICBcbiAgICB9XG59XG5cblxuXG4ud3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7ICBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgIHotaW5kZXg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uY29udGVudF9fd3JhcHBlciB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgID4gKiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLnBkX19oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyLWg7XG59XG5cblxuXG4uaGlkZS1kZXNrdG9wLWxnIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5oaWRlLWRlc2t0b3AtbWQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmhpZGUtZGVza3RvcCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uaGlkZS10YWJsZXQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uaGlkZS10YWJsZXQtc20ge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uaGlkZS1tb2JpbGUtbGcge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uc2hvdy1kZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLWRlc2t0b3ArIDAuMDJweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnNob3ctdGFibGV0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLXRhYmxldCsgMC4wMnB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uc2hvdy10YWJsZXQtc20ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtdGFibGV0LXNtKyAwLjAycHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5zaG93LW1vYmlsZS1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC1tb2JpbGUtbGcrIDAuMDJweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubm9zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuXG5AaW1wb3J0IFwiY29tbW9uL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJjb21tb24vc2VjdGlvblwiO1xuQGltcG9ydCBcImNvbW1vbi9lbGVtZW50c1wiOyIsIlxyXG4uY29udGVudF9fdGV4dCB7XHJcbiAgICA+ICoge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIH1cclxuICAgIGg0IHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbiAgICBoNSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG4gICAgdWwsXHJcbiAgICBvbCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcclxuICAgIH1cclxuICAgIG9sIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IFxyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IG51bTtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICB1bCBsaTpiZWZvcmUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMHB4O1xyXG4gICAgICByaWdodDogMTAwJTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMXB4OyBcclxuICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGNvbnRlbnQ6ICfigKInO1xyXG4gICAgfVxyXG4gICAgb2wgbGk6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogY291bnRlcihudW0pICcuJzsgXHJcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBudW07XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcdFxyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMHB4O1xyXG4gICAgICByaWdodDogMTAwJTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IFxyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgXHJcbiAgICB9XHJcbn1cclxuIiwiXHJcbi5zZWN0aW9uIHtcclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgJi5oY29scyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGgoMjksIDI0KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubm9hY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDAuODVlbTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubm9hY3RpdmUgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ub2FjdGl2ZS5ob3ZlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJi5ub2FjdGl2ZS5ob3Zlcjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2ludHJvIHtcclxuICAgICAgICBcclxuICAgICAgICAudGV4dC0tY2VudGVyICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDY4cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgJl9fZmlyc3Qge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDAgMzBweDtcclxuICAgIH1cclxuICAgICZfX21nIHtcclxuICAgICAgICBtYXJnaW46IDE2MHB4IDA7XHJcbiAgICAgICAgJi0tbWQge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXNtIHtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19tZ3Qge1xyXG4gICAgICAgICYtLXNtIHtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3BkIHtcclxuICAgICAgICBwYWRkaW5nOiAxMTBweCAwO1xyXG4gICAgfVxyXG4gICAgJl9fcGR0IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcclxuICAgIH1cclxuICAgICZfX3RhYiB7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICYuc2hvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgIFxyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi5oY29scyB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgIFxyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUpIHtcclxuICAgICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4udGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiBsaCgyMiwgMTgpO1xyXG4gICAgJi5mcy0tbWQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcblxyXG4gICAgICAgICYuZnMtLW1kIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4udGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogbGgoMjEsIDEyKTtcclxuICAgID4gKiArICoge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZXh0LS1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi50ZXh0LS13aGl0ZSB7XHJcbiAgICBjb2xvcjogI2ZmZmY7XHJcbn0iLCIuaWNvbiB7XG4gICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgZmlsbDogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgJi0tZmlsbCB7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgc3Ryb2tlOiBpbml0aWFsO1xuICAgIH1cbiAgICBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIH1cbn1cblxuLy8gLnNvY2lhbCB7XG4vLyAgICAgJl9faXRlbXMge1xuLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgICAgICBnYXA6IDE2cHg7XG4vLyAgICAgfVxuLy8gICAgIGEge1xuLy8gICAgICAgICB3aWR0aDogNTVweDsgaGVpZ2h0OiA1NXB4O1xuLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0YwRkZFOTtcbi8vICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4vLyAgICAgICAgIGNvbG9yOiAjRjBGRkU5O1xuLy8gICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbi8vICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vICAgICAuaWNvbiB7XG4vLyAgICAgICAgIHdpZHRoOiAxOXB4OyBoZWlnaHQ6IDE5cHg7XG4vLyAgICAgfVxuLy8gfSAgIFxuXG5cblxuXG5cblxuLy8gLnJhdGluZyB7XG4vLyBcdG1hcmdpbjogMCBhdXRvO1xuLy8gXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgICBmbGV4LXdyYXA6IHdyYXA7XG4vLyAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuLy8gICAgIG1hcmdpbjogMCAtMnB4O1xuLy8gICAgIHNwYW4ge1xuLy8gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgICAgIHRvcDogLTFweDtcbi8vICAgICAgICAgd2lkdGg6IDE5cHg7IGhlaWdodDogMThweDtcbi8vICAgICAgICAgbWFyZ2luOiAwIDJweDtcbi8vICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9zdGFyLnN2Zykgbm8tcmVwZWF0O1xuLy8gICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgICYuYWN0aXZlIHtcbi8vICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3Rhci1hY3RpdmUuc3ZnKSBuby1yZXBlYXQ7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cblxuXG5cbi5saW5rIHtcblxuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogbGgoMjcsIDIwKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLmljb24ge1xuICAgICAgICB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICBcbiAgICB9XG4gICAgJl9fbW9yZSB7XG4gICAgICAgIC5jbG9zZV90IHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZVxuICAgICAgICB9XG4gICAgICAgICYub3BlbmVkIC5vcGVuX3Qge1xuICAgICAgICAgICAgZGlzcGxheTpub25lXG4gICAgICAgIH1cbiAgICAgICAgJi5vcGVuZWQgLmNsb3NlX3Qge1xuICAgICAgICAgICAgZGlzcGxheTpibG9ja1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6IDE2cHhcbiAgICB9XG59XG5cbi8vIC5jb250ZW50X190b2dnbGUge1xuLy8gICAgID4gKiB7XG4vLyAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgICAgfVxuLy8gICAgICYgPiA6bnRoLWNoaWxkKDEpLFxuLy8gICAgICYgPiA6bnRoLWNoaWxkKDIpIHtcbi8vICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgfVxuLy8gICAgICYub3BlbmVkID4gKiB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4vLyAgICAgfVxuLy8gICAgICYtLW1vYmlsZSB7XG4vLyAgICAgICAgID4gKiB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuLy8gICAgICAgICA+ICoge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuLy8gICAgICAgICB9XG4vLyAgICAgICAgICYgPiA6bnRoLWNoaWxkKDEpIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cblxuXG4ucGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICZfX2xpc3Qge1xuICAgICAgICAvLyB3aWR0aDogMTQwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDdweDtcbiAgICAgICAgbWFyZ2luOiAwIC01cHg7XG4gICAgfVxuICAgIC5wYWdlLWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjOTY5Njk2OyBmb250LXNpemU6IDEycHg7ICAgIFxuICAgICAgICBwYWRkaW5nOiAycHggNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdlLWZpcnN0LCAucGFnZS1sYXN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnBhZ2UtaXRlbS1uZXh0LCAucGFnZS1pdGVtLXByZXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgYWJzLWFsbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2UtaXRlbS1uZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlKSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNtKSB7XG5cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXIoJGNsYXNzLCAkY29sb3IsICRvcGFjaXR5OjAuNikge1xyXG4gICAgI3skY2xhc3N9Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTo6LW8taW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306Oi1tb3otaW5wdXQtcGxhY2Vob2xkZXJ7IGNvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9Oi1tb3otaW5wdXQtcGxhY2Vob2xkZXJ7ICBjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyeyAgY29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc30gaW5wdXQtcGxhY2Vob2xkZXIgeyAgY29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306OnBsYWNlaG9sZGVyIHtjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTpwbGFjZWhvbGRlci1zaG93biB7Y29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYWJzLWFsbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwOyB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbkBtaXhpbiBhYnMtY2VudGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTsgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxyXG59XHJcblxyXG5AbWl4aW4gcGhvdG8tY292ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBsaCgkbGgsICRmcykge1xyXG4gICAgQHJldHVybiAje21hdGguZGl2KCRsaCwgJGZzKX07XHJcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbnN3aXBlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc3dpcGVyIHtcblxufVxuLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgJi1idWxsZXQge1xuICAgIG1hcmdpbjogMCA2cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MzczNzM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICAgICYtYWN0aXZlIHtcbiAgICAgXG4gICAgfVxuICB9XG4gICYtY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnN3aXBlci1idXR0b24ge1xuICAgIHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5pY29uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogMCAtNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLnN3aXBlci1zY3JvbGxiYXIge1xuICBiYWNrZ3JvdW5kOiBub25lIDtcbn1cblxuXG5cblxuLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLm1DU0JfY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiA3NXB4O1xufVxuLm1DU19ub19zY3JvbGxiYXIgLm1DU0JfY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbn1cbi5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgbGVmdDogMDsgcmlnaHQ6IGF1dG87XG4gIHdpZHRoOiAycHg7XG4gIGJhY2tncm91bmQ6ICM0NDQ0NDQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgLm1DU0JfZHJhZ2dlckNvbnRhaW5lciB7XG4gICAgdG9wOiAwOyBib3R0b206IDA7XG4gIH1cbiAgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gICAgd2lkdGg6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5mb3Jtc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlcignLmlucHV0JywgcmdiYSg4NSwgODUsIDg1LCAwLjYpLCAxKTtcblxuLmlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogdHJhbnNwYXJlbnQ7IG9wYWNpdHk6IDA7fVxuLmlucHV0OmZvY3VzOjotby1pbnB1dC1wbGFjZWhvbGRlciB7ICBjb2xvcjogdHJhbnNwYXJlbnQ7IG9wYWNpdHk6IDA7fVxuLmlucHV0OmZvY3VzOjotbW96LWlucHV0LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XG4uaW5wdXQ6Zm9jdXM6LW1vei1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XG4uaW5wdXQ6Zm9jdXM6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XG4uaW5wdXQ6Zm9jdXM6aW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XG5cbmlucHV0W3BsYWNlaG9sZGVyXSAgICAgICAgICB7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9XG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciAgICAge3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fSBcbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIgICAgICB7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9IFxuaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO31cblxuXG5cblxuaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT10ZWxdLCBidXR0b24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7fVxuXG5cblxuLmlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM1cHg7IGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcbn1cbnRleHRhcmVhLmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDBweDtcbn1cblxuXG4uYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogNDBweDsgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDc0LCA0MiwgMC40KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6ICRmb250O1xuICAgIGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG91dGxpbmU6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICYtLWJkIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1hY2NlbnQ7XG4gICAgfVxuICAgIC8vIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50O1xuICAgICAgICB9XG4gICAgLy8gfVxufSIsIlxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxucG9wdXBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5wb3B1cCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAxNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgJl9fYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzIzMjczMDtcclxuICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICB9XHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA1MTBweDtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDMwcHggNzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMkIyRDM4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgICZfX2Nsb3NlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDEzcHg7IHRvcDogMTNweDtcclxuICAgICAgICB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcG9wdXAtY2xvc2Uuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgIH1cclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcclxuICAgIH1cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIG1heC13aWR0aDogMzYwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faWNvbnRoYW5rIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgJi10aGFuayAmX190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuaGVhZGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDk7XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgIH1cclxuICAgICZfX2xvZ28ge1xyXG4gICAgICAgIG1heC13aWR0aDogODBweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMTVweDsgcmlnaHQ6IC0xNXB4O1xyXG4gICAgICAgICAgICB0b3A6IC0xNXB4OyBib3R0b206IC0xNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fbWVudSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7IGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM5Njk2OTY7IGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmVfZG91YmxlICsgbGkuYWN0aXZlX2RvdWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2J0biB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMTVweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgIH1cclxuICAgICZfX2J1cmdlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnRuIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItaC10O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2xvZ28ge1xyXG4gICAgICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IGluaXRpYWw7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbWVudSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2J0biB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICZfX2J1cmdlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzLWNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWctYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmltZy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbXgpIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGltcG9ydCBcImNvbXBvbmVudHMvbmF2Zml4XCI7IiwiLm5hdmZpeCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiBjYWxjKHZhcigtLXZoKSAqIDEwMCk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICYub3BlbmVkIHtcclxuICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS12aCkgKiAxMDApO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDYwcHg7XHJcbiAgICAgICAgcGFkZGluZzogJGhlYWRlci1oLXQgMjVweCAwO1xyXG4gICAgfVxyXG4gICAgJl9fbWVudSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICYgKyBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM5Njk2OTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZS5hY3RpdmVfZG91YmxlICsgbGkuYWN0aXZlX2RvdWJsZSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJl9fYWRkciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuICAgICZfX3Bob25lLCAmX19lbWFpbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbjogMCAtMzVweDtcclxuICAgIH1cclxuICAgICZfX2J0biB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC00MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIFxyXG4gICAgQG1lZGlhICAobWF4LWhlaWdodDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbXgpIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnRuIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0yNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuZm9vdGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZm9vdGVyIHtcclxuICAgIHBhZGRpbmc6IDQ1cHggMCAzMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdCZfX2xvZ28ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fbWVudSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM5Njk2OTY7IGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmVfZG91YmxlICsgbGkuYWN0aXZlX2RvdWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICAvLyBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fYWRkciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuICAgICZfX3Bob25lLCAmX19lbWFpbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgICZfX2NvcHkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fbWVudSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCJpbmMvY29yZVwiO1xyXG5cclxuQGltcG9ydCBcImZvbnRzXCI7XHJcbkBpbXBvcnQgXCJyZXNldFwiO1xyXG5AaW1wb3J0IFwiY29tbW9uXCI7XHJcbkBpbXBvcnQgXCJsaWJzXCI7XHJcbkBpbXBvcnQgXCJmb3Jtc1wiO1xyXG5AaW1wb3J0IFwicG9wdXBcIjtcclxuQGltcG9ydCBcImhlYWRlclwiO1xyXG5AaW1wb3J0IFwiZm9vdGVyXCI7XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5oZXJvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaGVyby1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gODBweCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEyMHB4IDAgMTQwcHg7XHJcbiAgICAmX19zbmFtZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgIH1cclxuICAgICZfX3N0IHtcclxuICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVlbTtcclxuICAgIH1cclxuICAgICZfX2xvZ28ge1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIG1heC13aWR0aDogMzg1cHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ob3ZlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19zY3JvbGxhcnIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiA1MCU7IGJvdHRvbTogNDVweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLXRhYmxldCswLjAycHgpIGFuZCAobWF4LWhlaWdodDogODAwcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiA4MHB4IDAgMTAwcHg7XHJcbiAgICAgICAgJl9fc2Nyb2xsYXJyIHtcclxuICAgICAgICAgICAgYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS12aCkgKiAxMDApO1xyXG4gICAgICAgIHBhZGRpbmc6ICRoZWFkZXItaC10IDAgMTIwcHg7XHJcbiAgICAgICAgJl9fc25hbWUge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IDkwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2xvZ28ge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fc25hbWUge1xyXG4gICAgICAgICAgICBnYXA6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2xvZ28ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1hYm91dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtaW4taGVpZ2h0OiA3NjhweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICB9XHJcbiAgICAmX19pYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAzMCU7IHRvcDogMDtcclxuICAgICAgICB3aWR0aDogNzAlOyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fc2Nyb2xsYXJyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlOyBib3R0b206IDQ1cHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC10YWJsZXQrMC4wMnB4KSBhbmQgKG1heC1oZWlnaHQ6IDgwMHB4KSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNzAwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgJi5tYWJvdXQtLWZpcnN0IHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS12aCkgKiAxMDApO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWgtdCAwIDEyMHB4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pYmcge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogMjAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucHJpdmlsZWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi1oZWlnaHQ6IDc2OHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAmX19pbmZvIHtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMzcwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgfVxyXG4gICAgJi5yZXZlcnNlICZfX2luZm8ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJl9faW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlOyB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDUwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmV2ZXJzZSAmX19pbWcge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAmX19zbGlkZXIge1xyXG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLnN3aXBlci1idXR0b24tcHJldiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDY1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gICAgICAgICAgICByaWdodDogNjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19zbGlkZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAmLWltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgICAgICAvLyBvcGFjaXR5OiAwLjI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzcwcHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLXRhYmxldCswLjAycHgpIGFuZCAobWF4LWhlaWdodDogODAwcHgpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA3MDBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2ltZyB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNjAlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2luZm8ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMjVweCAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTsgbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4O1xyXG4gICAgICAgICAgICAuc2VjdGlvbl9fdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3NsaWRlIHtcclxuICAgICAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgIFxyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW1nIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDExMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3NsaWRlciB7XHJcbiAgICAgICAgICAgIC5zd2lwZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fc2xpZGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5ldmVudHMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGFicy1hbGw7ICAgIFxyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmctZXZlbnRzLmpwZykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgfVxyXG4gICAgJl9faWJnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA3NjhweDtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fc2Nyb2xsIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMjdweCA0MHB4IDMwcHggMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgNzQsIDQyLCAwLjUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICYuaXRlbS0tb2xkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNTAsIDE1MCwgMTUwLCAwLjQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pdGVtLS1vbGQ6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNTAsIDE1MCwgMTUwLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ldmVudHNfX2l0ZW1zICYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGF0ZSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGVzY3Ige1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbGgoMjEsIDEyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1wcm9wcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtcHJvcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnByb3AtLWFkZHI6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2xvY2F0aW9uLnN2Zyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wcm9wLS10aW1lOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy90aW1lLnN2Zyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5ldmVudHMtLWZpcnN0IHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS12aCkgKiAxMDApO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxODBweCAwIDQwcHg7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zbWktYmcuanBnKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIC5ldmVudHNfX2l0ZW1zICYge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5zbWktLWZpcnN0IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItaC1tO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19zY3JvbGwge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xyXG4gICAgICAgICAgICAubUNTQl9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4IDMwcHggMjBweDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgLmV2ZW50c19fc2Nyb2xsICYge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZXZlbnRzX19zY3JvbGwgJjpudGgtY2hpbGQoMSksXHJcbiAgICAgICAgICAgIC5ldmVudHNfX3Njcm9sbCAmOm50aC1jaGlsZCgyKSxcclxuICAgICAgICAgICAgLmV2ZW50c19fc2Nyb2xsICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmRldmVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmX19pYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJl9fZGF0ZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzOXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDQ4LCAzOSk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDAuODVlbTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbiAgICAmX19wcm9wcyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcclxuICAgIH1cclxuICAgICZfX3Byb3Age1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcm9wLS1hZGRyOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2xvY2F0aW9uLnN2Zyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJvcC0tdGltZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy90aW1lLnN2Zyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDM1NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1MHB4O1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2liZyB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwOyB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDUwJSA1MCUgYXQgNTAlIDc3LjUlLCByZ2IoMCwgMCwgMCkgMCUsIHJnYigwLCAwLCAwKSAxMDAlKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSA3Ny41JSwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiKDAsIDAsIDApIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucHJvamVjdCB7XHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogOTBweCA1MHB4IDUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7IGJvdHRvbTogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTMwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDUwJSA1MCUgYXQgNTAlIDMwLjUlLCByZ2JhKDkzLDkzLDkzLDAuNDUpIDAlLCByZ2JhKDAsMCwwLDAuOSkgMTAwJSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtcGhvdG8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTYwcHg7IGhlaWdodDogMTYwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogIzc2NzY3NjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIgJi1waG90byBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIgJi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNTBweCAzMHB4IDQwcHg7XHJcbiAgICAgICAgICAgICYtcGhvdG8ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4OyBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zbWkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGFicy1hbGw7ICAgIFxyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc21pLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgLy8gb3BhY2l0eTogMC4yO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgfVxyXG4gICAgJl9faWJnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA3NjhweDtcclxuICAgICAgICAvLyBvcGFjaXR5OiAwLjI7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY29scyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fc2Nyb2xsIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MTBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMjdweCA0MHB4IDMwcHggMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRiZy1ib2R5O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNtaV9faXRlbXMgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10b3Age1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1kYXRlIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRlc2NyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19icmFuZHMge1xyXG4gICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgJl9faWJyYW5kIHtcclxuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIFxyXG4gICAgICAgICYuc21pLS1maXJzdCB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tdmgpICogMTAwKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTgwcHggMCA0MHB4O1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwMHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2JyYW5kcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICBcclxuICAgICAgICAmLnNtaS0tZmlyc3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oLW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Njcm9sbCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XHJcblxyXG4gICAgICAgICAgICAubUNTQl9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgICAgICAgICAuc21pX19zY3JvbGwgJiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zbWlfX3Njcm9sbCAmOm50aC1jaGlsZCgxKSxcclxuICAgICAgICAgICAgLnNtaV9fc2Nyb2xsICY6bnRoLWNoaWxkKDIpLFxyXG4gICAgICAgICAgICAuc21pX19zY3JvbGwgJjpudGgtY2hpbGQoMyksXHJcbiAgICAgICAgICAgIC5zbWlfX3Njcm9sbCAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmdhbGxlcnkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJl9fc2xpZGVyIHtcclxuICAgIFxyXG4gICAgICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgICAgICAgICBsZWZ0OiA2NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDY1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNzY4cHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogNjAwcHg7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX190aHVtYiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7IGJvdHRvbTogNTVweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiA5O1xyXG4gICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiA2MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogOTVweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAmLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODU7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NTBweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgICZfX3NsaWRlciB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIC5zd2lwZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jb250YWN0cyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbGV4OiAxIDAgMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcclxuICAgIC8vIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTtcclxuICAgICZfX2xvZ28ge1xyXG4gICAgICAgIEBpbmNsdWRlIGFicy1jZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTAlO1xyXG4gICAgICAgIC8vIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTsgbWF4LWhlaWdodDogOTAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMzg1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIGltZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtdGFibGV0KzAuMDJweCkgYW5kIChtYXgtaGVpZ2h0OiA4MDBweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDgwcHggMCAxMDBweDtcclxuICAgICAgICAmX19zY3JvbGxhcnIge1xyXG4gICAgICAgICAgICBib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oLXQ7XHJcbiAgICAgICAgJl9fbG9nbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyLWgtdDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4uZXJyb3I0MDRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5lcnJvcjQwNCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAmX19udW1iIHtcclxuICAgICAgICBmb250LXNpemU6IDE2MHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIH1cclxuICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItaC10O1xyXG4gICAgICAgICZfX251bWIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX251bWIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4iXX0= */
