:root {
  --grey-700: #7A8D99;
  --grey-600: #7A8D99;
  --grey-500: #7A8D99;
  --white: #fafafa;
  --grey: #7E8C97;
  --black: #151319;
  --pink: #f4b9d2;
  --gradient: linear-gradient(210deg,#f9ddbd 0%,#fbb5d4 60%);
  --gradient2: linear-gradient(210deg,#EAF4EF 0%,#EBF0F3 60%);
  --growth: #EAF4EF;
  --growthplus: #CDEEDD;
  --employee: #7DC18F;
  --harmony: #fef9fb;
  --harmonyplus: #D1E3F0;
  --employer: #AFC5E2;
  --graphite: #151319;
  --aspire: #FDEFE6;
  --aspireplus: #FFDCBB;
  --canvas: #FAFAFA;
  --unity: #FAEDF3;
  
  --pulse: #f371aa;
  --light-green: #E5F4F1;
}

[class^=icon-], [class*=" icon-"], .blog-pagination .hs-pagination__link--prev::before, .blog-pagination .hs-pagination__link--next::before, .blog-pagination .hs-pagination__link--first::after, .blog-pagination .hs-pagination__link--first::before, .blog-pagination .hs-pagination__link--last::after, .blog-pagination .hs-pagination__link--last::before, .search-holder:before, .content-section figcaption a:before, .product-info ul li:before, .feature-table-block .included:before, .feature-table-block__column .tooltip:before, .price-card__info-list ul li:before, .btn-more-alt:before, .btn-more:before, .link-more:before, .btn--with-icon:after, .footer-nav .opener:before, .languiges-switcher .opener:before, .main-nav > ul > li > a.has-drop-down-a:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-link:before {
  content: "\e90d";
}

.icon-check1:before {
  content: "\e909";
}

.icon-arrow-up:before {
  content: "\e908";
}

.icon-info:before {
  content: "\e904";
}

.icon-check:before {
  content: "\e903";
}

.icon-arrow-d:before {
  content: "\e900";
}

.icon-arrow-l:before {
  content: "\e901";
}

.icon-arrow-r:before {
  content: "\e902";
}

.icon-facebook:before {
  content: "\e905";
}

.icon-instagram:before {
  content: "\e906";
}

.icon-linkedin:before {
  content: "\e907";
}

.icon-search:before {
  content: "\e90a";
}

.icon-youtube:before {
  content: "\e90b";
}

.icon-play-button:before {
  content: "\e90c";
}

body.compensate-for-scrollbar {
  overflow: hidden;
}

.fancybox-active {
  height: auto;
}

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992;
}

.fancybox-container * {
  box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.fancybox-bg {
  background: rgb(30, 30, 30);
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
  opacity: 0.9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  visibility: hidden;
  z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  visibility: visible;
}

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.fancybox-toolbar {
  right: 0;
  top: 0;
}

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  /* Using without prefix would break IE11 */
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}

.fancybox-slide::before {
  content: "";
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block;
}

.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0;
}

.fancybox-slide--image::before {
  display: none;
}

.fancybox-slide--html {
  padding: 6px;
}

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.fancybox-container [data-selectable=true] {
  cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.fancybox-spaceball {
  z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.fancybox-slide--video .fancybox-content {
  background: #000;
}

.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
  background: #fff;
}

.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0;
}

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}

/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color 0.2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc;
}

.fancybox-button:hover {
  color: #fff;
}

.fancybox-button:focus {
  outline: none;
}

.fancybox-button.fancybox-focus {
  outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none;
}

/* Fix IE11 */
.fancybox-button div {
  height: 100%;
}

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
  display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
  display: none;
}

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -ms-transform-origin: 0;
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998;
}

/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: 0.8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401;
}

.fancybox-close-small:hover {
  color: #fff;
  opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none;
}

/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px;
}

.fancybox-navigation .fancybox-button div {
  padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right);
}

/* Caption */
.fancybox-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px 44px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996;
}

.fancybox-caption--separate {
  margin-top: -50px;
}

.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}

/* Loading indicator */
.fancybox-loading {
  animation: fancybox-rotate 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999;
}

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}
/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px;
  }
  .fancybox-slide--image {
    padding: 6px 0;
  }
  .fancybox-close-small {
    right: -6px;
  }
  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px;
  }
  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px;
  }
}
/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0;
}

.fancybox-share p {
  margin: 0;
  padding: 0;
}

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
}

.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff;
}

.fancybox-share__button:hover {
  text-decoration: none;
}

.fancybox-share__button--fb {
  background: #3b5998;
}

.fancybox-share__button--fb:hover {
  background: #344e86;
}

.fancybox-share__button--pt {
  background: #bd081d;
}

.fancybox-share__button--pt:hover {
  background: #aa0719;
}

.fancybox-share__button--tw {
  background: #1da1f2;
}

.fancybox-share__button--tw:hover {
  background: #0d95e8;
}

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px;
}

.fancybox-share__button svg path {
  fill: #fff;
}

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%;
}

/* Thumbs */
.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995;
}

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
  display: block;
}

.fancybox-show-thumbs .fancybox-inner {
  right: 212px;
}

.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px;
}

.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px;
}

.fancybox-thumbs__list a::before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991;
}

.fancybox-thumbs__list a:focus::before {
  opacity: 0.5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
  opacity: 1;
}

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px;
  }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }
  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px);
  }
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* 2 */
}

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
  margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
  font-weight: 600;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */
small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none;
}

/* Forms
     ========================================================================== */
/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */
summary {
  display: list-item;
}

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */
[hidden] {
  display: none;
}

/* Slick slider styles */
.social-proof-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.social-proof-slider .slick-track,
.social-proof-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/**
 * Set up a decent box model on the root element
 */
html {
  box-sizing: border-box;
}

/**
 * Make all elements from the DOM inherit from the parent box-sizing
 * Since `*` has a specificity of 0, it does not override the `html` value
 * making all elements inheriting from the root box-sizing value
 * See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
*,
*:before,
*:after {
  box-sizing: inherit;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

.accessibility {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.accessibility:focus {
  position: static;
  width: auto;
  height: auto;
}

.hidden {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.tags-holder ul, .blogs-section .categoties-list ul, .team-card__social-list ul, .download-section .download-list ul, .clients-info-section .info-list ul, .product-info ul, .faq-accordion ul, .price-card__info-list ul, .integration-section__logos-list ul, .social-proof__logos-list ul, .partners-section__logos-list ul, .footer-nav .slide ul, .footer-nav .hs_cos_wrapper > ul, .languiges-switcher .lang_list_class, .footer-bar__menu ul, .social-networks ul, .main-nav .slide ul, .main-nav > ul, .hs-form.hs-form .hs-error-msgs, .hs-form.hs-form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

.resetButton {
  appearance: none;
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
}

/*
  Set up a decent box model on the root element
*/
html {
  font-size: 10px;
}

/*
  Basic typography style for copy text
*/
body {
  color: #475467;
  font-family: "Eloquia", "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 18px;
  line-height: 1.55;
  font-weight: 400;
  background-color: #fff;
}
@media (max-width: 1023px) {
  body {
    font-size: 16px;
  }
}

/*
  Basic styles for links
*/
a {
  transition: color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  color: var(--pulse);
  text-decoration: none;
  font-family: Eloquia Display;
}
a:hover {
  color: var(--pulse);
  text-decoration: none;
}

.blog-post a:not(.btn):not(.badge), .btn-more-alt{
  background: var(--unity);
  color: var(--graphite);
  font-family: Eloquia Text, Eloquia, Helvetica, Arial, sans-serif;
  font-weight: 500 !important;
}

.blog-post li::marker{color:var(--pulse);}

ul,
ol,
dl,
p {
  margin: 0 0 20px;
}

q{
  font-family: Eloquia Display;
}

ol {
  padding: 0 0 0 27px;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,
.h {
  font-family: Eloquia Display;
  font-weight: 600;
  margin: 0 0 0.5em;
  line-height: 1.1;
  color: #101828;
}
.bg-black h1, .bg-black .h1, .bg-black h2, .bg-black .h2, .bg-black h3, .bg-black .h3, .bg-black h4, .bg-black .h4, .bg-black h5, .bg-black .h5, .bg-black h6, .bg-black .h6,
.bg-black .h {
  color: var(--gray-light);
}

h1,
.h1 {
  font-size: 32px;
  line-height: 1.2;
  margin: 0 0 20px;
}
@media (min-width: 1024px) {
  h1,
  .h1 {
    margin: 0 0 25px;
    font-size: 60px;
  }
}

h2,
.h2 {
  font-size: 28px;
  line-height: 1.25;
}
@media (min-width: 1024px) {
  h2,
  .h2 {
    font-size: 48px;
  }
}

h3,
.h3 {
  font-size: 24px;
  line-height: 1.22;
}
@media (min-width: 1024px) {
  h3,
  .h3 {
    font-size: 36px;
  }
}

h4,
.h4 {
  font-size: 20px;
  line-height: 1.27;
}
@media (min-width: 1024px) {
  h4,
  .h4 {
    font-size: 30px;
  }
}

input[type=text],
input[type=email],
input[type=tel],
input[type=search],
textarea {
  transition: border-color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  border: 1px solid #D0D5DD;
  background-color: transparent;
  width: 100%;
  min-width: 0;
  padding: 1.2rem 2.4rem;
  -webkit-appearance: none;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
  border-radius: 8px;
  font-size: 16px;
  color: #667085;
}
input[type=text]:focus, input[type=text]:hover,
input[type=email]:focus,
input[type=email]:hover,
input[type=tel]:focus,
input[type=tel]:hover,
input[type=search]:focus,
input[type=search]:hover,
textarea:focus,
textarea:hover {
  box-shadow: none;
  outline: none;
  border-color: var(--grey-600);
}

.hs-form.hs-form .form-columns-1 .input,
.hs-form.hs-form .form-columns-2 .input {
  margin: 0;
}
.hs-form.hs-form .form-columns-2 {
  margin: 0 -5px;
}
@media (min-width: 1440px) {
  .hs-form.hs-form .form-columns-2 {
    margin: 0 -16px;
  }
}
.hs-form.hs-form .form-columns-2 .field {
  padding: 0 5px 27px;
}
@media (min-width: 1440px) {
  .hs-form.hs-form .form-columns-2 .field {
    padding: 0 16px 27px;
  }
}
.hs-form.hs-form .form-columns-1 .field {
  padding: 0 0 27px;
}
.hs-form.hs-form .form-columns-1 textarea.hs-input {
  width: 100%;
  min-height: 128px;
}
.hs-form.hs-form .form-columns-1 .hs_email.hs_email .hs-input {
  width: 100%;
}
.hs-form.hs-form .hs-error-msgs {
  padding: 10px 0 0;
}
.hs-form.hs-form .hs-error-msgs label {
  font-size: 14px;
  color: #F985B9;
}
.hs-form.hs-form .hs_phone select {
  padding: 9px 0 9px 5px;
  margin: 0;
  height: 42px;
}
.hs-form.hs-form .hs_phone select:focus-visible {
  outline: none;
}
.hs-form.hs-form input[type=checkbox] {
  margin: 0 10px 0 0;
}
.hs-form.hs-form input[type=submit] {
  transition: background 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  text-align: center;
  display: block;
  background: var(--gradient);
  border: 0px solid var(--grey-600);
  color: var(--graphite);
  font-weight: 600;
  cursor: pointer;
  width: 100%;
  padding: 20px;
}
.password input[type=submit] {
  text-align: center;
  display: block;
  font-weight: 600;
  background: var(--gradient);
  border: 0px solid var(--grey-600);
  color: var(--graphite);
  cursor: pointer;
  width: 180px;
  margin: 0 auto;
  padding: 20px;
  border-radius: 9px;
  margin-bottom: 100px;
}
.password input[type=password] {
  text-align: center;
  display: block;
  background: var(--gradient);
  border: 0px solid var(--grey-600);
  color: var(--graphite);
  cursor: pointer;
  padding: 20px;
  width: 300px;
  margin: 0 auto;
  border-radius: 9px;
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .hs-form.hs-form input[type=submit] {
    font-size: 18px;
  }
}
.hs-form.hs-form input[type=submit]:hover {
  background: #fff;
  color: var(--grey-600);
}
.hs-form.hs-form .hs_godkannepost label {
  display: flex;
  align-items: center;
}
.hs-form.hs-form label {
  color: #344054;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  margin: 0 0 9px;
  display: block;
}

fieldset .hs-input{
  width:100%;
  padding:11px;
}

.hs-form.hs-form textarea,
.hs-form.hs-form input,
.hs-form.hs-form select {
  border-radius: 8px;
  background: #fff;
  border-color: #D0D5DD;
  font-size: 16px;
  color: #667085;
}
.hs-form.hs-form textarea:focus,
.hs-form.hs-form input:focus,
.hs-form.hs-form select:focus {
  border-color: var(--grey-600);
}
.hs-form.hs-form input {
  padding: 10px 11px;
  margin: 0;
}
.hs-form.hs-form input.invalid {
  border-color: #F985B9;
}

body.nav-active {
  overflow: hidden;
  height: 100%;
}

.resize-active * {
  transition: none !important;
}

.header {
  background: #fef9fb;
  padding: 17px 0;
  position: relative;
  z-index: 50;
}
.header .links-holder {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .header .links-holder {
    align-items: center;
  }
}
@media (max-width: 1023px) {
  .header .links-holder {
    width: 100%;
    flex-direction: column;
  }
}
.header .links-holder .log-in-link {
  display: inline-block;
  vertical-align: top;
  margin: 0 15px 15px 0;
  text-align: center;
  font-weight: 600;
  color: #475467;
  font-size: 16px;
}
@media (min-width: 1024px) {
  .header .links-holder .log-in-link {
    margin: 0 10px 0 0;
    text-align: left;
  }
}
@media (min-width: 1440px) {
  .header .links-holder .log-in-link {
    margin: 0 20px 0 0;
  }
}
.header .links-holder .log-in-link:hover {
  text-decoration: none;
  color: var(--grey-600);
}
.header .links-holder .btn {
  margin: 0 15px 15px 0;
  padding: 9px 18px;
}
@media (min-width: 1024px) {
  .header .links-holder .btn {
    margin: 0 0 0 11px;
  }
}

@media (min-width: 1024px) {
  .menu-drop {
    width: calc(100% - 140px);
  }
}
@media (max-width: 1023px) {
  .menu-drop {
    transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: calc(100vh - 100%);
    background-color: #fef9fb;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateX(100%);
    padding: 15px;
  }
}
@media (max-width: 1023px) {
  .nav-active .menu-drop {
    transform: translateX(0);
  }
}
.menu-drop .drop-holder {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .menu-drop .drop-holder {
    align-items: center;
    width: 100%;
  }
}

@media (min-width: 1024px) {
  .navbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {
  .main-nav {
    margin: 0 auto 0 20px;
  }
}
@media (min-width: 1440px) {
  .main-nav {
    margin: 0 auto 0 48px;
  }
}
@media (max-width: 1023px) {
  .main-nav {
    width: 100%;
  }
}
.main-nav > ul {
  font-weight: 600;
  font-size: 18px;
  letter-spacing: 0.1px;
}
@media (min-width: 1024px) {
  .main-nav > ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
@media (max-width: 1023px) {
  .main-nav > ul > li {
    margin: 0 0 15px;
  }
}
@media (min-width: 1024px) {
  .main-nav > ul > li {
    padding: 0 8px;
  }
}
@media (min-width: 1440px) {
  .main-nav > ul > li {
    padding: 0 14px;
  }
}
.main-nav > ul > li > a {
  text-transform: capitalize;
  color: #475467;
  display: block;
}
.main-nav > ul > li > a:hover {
  text-decoration: none;
  color: var(--grey-600);
}
.main-nav > ul > li > a.has-drop-down-a {
  padding: 0 25px 0 0;
  position: relative;
}
.main-nav > ul > li > a.has-drop-down-a:before {
  transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  content: "\e900";
  position: absolute;
  right: 0;
  top: 6px;
  font-size: 12px;
}
@media (min-width: 1024px) {
  .main-nav > ul .has-drop-down:hover .slide {
    opacity: 1;
    visibility: visible;
  }
}
@media (min-width: 1024px) {
  .main-nav > ul .has-drop-down:hover .has-drop-down-a:before {
    transform: rotate(180deg);
  }
}
@media (max-width: 1023px) {
  .main-nav > ul .has-drop-down.active .has-drop-down-a:before {
    transform: rotate(180deg);
  }
}
.main-nav .slide {
  background: #fef9fb;
  font-weight: normal;
  color: #171d1a;
  font-size: 14px;
  padding: 20px 0;
  margin-top: -1px;
}
@media (min-width: 1024px) {
  .main-nav .slide {
    transition: opacity 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), visibility 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
    position: absolute;
    left: 0;
    right: 0;
    top: 101%;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    /*box-shadow: 0 12px 16px -4px rgba(16, 24, 40, 0.08), 0 4px 6px -2px rgba(16, 24, 40, 0.03);*/
  }
}
@media (min-width: 1024px) {
  .main-nav .slide:before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    height: 30px;
  }
}
@media (min-width: 1024px) {
  .main-nav .slide__holder-block {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (max-width: 1023px) {
  .main-nav .slide .container {
    padding: 0;
  }
}
@media (min-width: 1024px) {
  .main-nav .slide ul {
    column-count: 3;
    width: 76%;
    padding: 40px 0 48px 12px;
  }
}
.main-nav .slide ul li {
  text-transform: none;
  position: relative;
  padding: 0 0 0 30px;
  page-break-inside: avoid;
}
@media (min-width: 1024px) {
  .main-nav .slide ul li {
    padding: 0 0 10px 40px;
    max-width: 250px;
  }
}
.main-nav .slide ul li .img-icon {
  position: absolute;
  left: 0;
  top: 3px;
  display: block;
  width: 22px;
  height: 22px;
}
.main-nav .slide ul li p {
  font-size: 16px;
}
.main-nav .slide ul li a {
  color: #101828;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.8;
}
.main-nav .slide ul li a:hover {
  color: var(--grey-600);
  text-decoration: none;
}
.main-nav .card-holder {
  background: #fef9fb;
  position: relative;
  padding: 25px 25px 1px;
  z-index: 2;
}
@media (min-width: 1024px) {
  .main-nav .card-holder {
    width: 24%;
    padding: 30px 20px 10px 32px;
  }
}
.main-nav .card-holder:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -9999px;
  left: -9999px;
  background: #fef9fb;
  z-index: -1;
}
@media (min-width: 1024px) {
  .main-nav .card-holder:before {
    left: 100%;
  }
}
.main-nav .video-card {
  max-width: 350px;
}

.video-card a:hover {
  text-decoration: none;
}
.video-card a:hover .video-card__text-block,
.video-card a:hover .video-card__title,
.video-card a:hover .icon-play-button {
  color: var(--grey-600);
}
.video-card__image-block {
  overflow: hidden;
  position: relative;
  border-radius: 6px;
  padding-top: 57%;
  margin: 0 0 22px;
}
.video-card__image-block img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-card__text-block {
  transition: color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  color: #667085;
}
.video-card__title {
  transition: color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  color: #101828;
  font-size: 16px;
  line-height: 1.8;
}
.video-card .icon-play-button {
  transition: color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  border-radius: 50%;
  background: #fff;
  color: rgba(0, 0, 0, 0.2);
  position: absolute;
  bottom: 12px;
  left: 12px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.video-card .icon-play-button:before {
  display: block;
  margin: 0 0 0 2px;
  font-size: 15px;
}

.nav-opener {
  display: block;
  width: 3.5rem;
  height: 2rem;
  position: absolute;
  right: 20px;
  top: 18px;
  text-indent: -9999px;
}
@media (min-width: 1024px) {
  .nav-opener {
    display: none;
  }
}
.nav-opener::before, .nav-opener::after {
  transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  content: "";
}
.nav-opener::before, .nav-opener::after,
.nav-opener span {
  width: 100%;
  height: 0.1rem;
  background-color: #101828;
  position: absolute;
  left: 0;
}
.nav-opener::before {
  top: 1px;
}
.nav-opener span {
  top: 10px;
}
.nav-opener::after {
  bottom: 0;
}
.nav-active .nav-opener span {
  opacity: 0;
}
.nav-active .nav-opener::before {
  transform: rotate(45deg);
  top: 10px;
}
.nav-active .nav-opener::after {
  transform: rotate(-45deg);
  top: 10px;
}

.container {
  max-width: 1245px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}

.wrapper {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
}

.wrapper-inner {
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 1fr auto;
  grid-template-rows: auto 1fr auto;
  -ms-grid-template-columns: minmax(0, 1fr);
  -ms-grid-columns: minmax(0, 1fr);
  grid-template-columns: minmax(0, 1fr);
}
.wrapper-inner .header {
  -ms-grid-row: 1;
  grid-row: 1;
}
.wrapper-inner .main {
  -ms-grid-row: 2;
  grid-row: 2;
}
.wrapper-inner .footer {
  -ms-grid-row: 3;
  grid-row: 3;
}

.slick-arrow {
  transition: border-color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), background 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  margin: 0;
  background: #fff;
  border: 1px solid #EAECF0;
  padding: 0;
  cursor: pointer;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  font-size: 16px;
}
@media (min-width: 1024px) {
  .slick-arrow {
    width: 56px;
    height: 56px;
  }
}
.slick-arrow [class^=icon-]::before, .slick-arrow [class*=" icon-"]::before {
  transition: color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  color: #667085;
}
.slick-arrow:hover {
  border-color: var(--grey-600);
  background: var(--grey-600);
  color: #fff;
}
.slick-arrow:hover [class^=icon-]::before, .slick-arrow:hover [class*=" icon-"]::before {
  color: #fff;
}

.footer {
  padding: 35px 0 0;
}
@media (min-width: 1024px) {
  .footer {
    padding: 65px 0 0;
  }
}
@media (min-width: 768px) {
  .footer__holder-block {
    margin: 0 0 35px;
  }
}
@media (min-width: 1024px) {
  .footer__holder-block {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 45px;
  }
}
.footer__logo-column {
  color: #667085;
  font-size: 16px;
}
@media (min-width: 1024px) {
  .footer__logo-column {
    width: 30%;
  }
}
@media (min-width: 1024px) {
  .footer__text-block {
    max-width: 250px;
  }
}
.footer .logo {
  display: block;
  margin: 0 0 10px;
}
@media (min-width: 1024px) {
  .footer .logo {
    margin: 0 0 17px;
  }
}

.social-networks {
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .social-networks {
    margin: 0 0 30px;
  }
}
@media (min-width: 1024px) {
  .social-networks {
    margin: 0 0 55px;
  }
}
.social-networks ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px;
}
.social-networks ul li {
  padding: 0 12px;
}
.social-networks ul a {
  display: block;
  width: 24px;
  height: 24px;
}
.social-networks ul a svg {
  width: 100%;
  height: auto;
}
.social-networks ul a svg path {
  transition: fill 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
}
.social-networks ul a:hover path {
  fill: var(--grey-600);
}

.footer-bar {
  background: #fef9fb;
  font-size: 16px;
  padding: 10px 0;
  text-align: center;
}
@media (min-width: 768px) {
  .footer-bar {
    text-align: left;
    padding: 15px 0;
  }
}
@media (min-width: 1024px) {
  .footer-bar {
    padding: 27px 0;
  }
}
@media (min-width: 768px) {
  .footer-bar__holder-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .footer-bar .copyrights {
    margin: 0 0 10px;
  }
}
.footer-bar .copyrights a {
  color: #667085;
}
.footer-bar .copyrights a:hover {
  text-decoration: none;
  color: var(--grey-600);
}
@media (max-width: 767px) {
  .footer-bar .partners-logo {
    margin: 0 0 10px;
  }
}
@media (min-width: 768px) {
  .footer-bar__wrap-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
.footer-bar__menu ul {
  display: flex;
  flex-wrap: wrap;
  font-weight: 600;
  font-size: 16px;
  margin: 0 -5px 0 6px;
}
@media (max-width: 1023px) {
  .footer-bar__menu ul {
    justify-content: center;
  }
}
.footer-bar__menu ul li {
  padding: 0 20px;
}
.footer-bar__menu ul a {
  color: #667085;
}
.footer-bar__menu ul a:hover {
  color: var(--grey-600);
  text-decoration: none;
}

.link-blog{
  font-weight:500;
  line-height:12px;
  font-size:14px;
  color:rgb(102,112,133);
}

.link-blog a{
  padding-bottom: 5px;
}

.languiges-switcher {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin: 0 0 20px;
  z-index: 5;
}
@media (min-width: 768px) {
  .languiges-switcher {
    margin: 0 0 30px;
  }
}
@media (min-width: 1024px) {
  .languiges-switcher {
    margin: 0;
  }
}
.languiges-switcher .opener-holder {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.languiges-switcher .globe_class {
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
}
.languiges-switcher .lang_switcher_class {
  width: 100%;
}
.languiges-switcher .lang_list_class {
  display: block;
  position: relative;
  top: auto;
  left: auto;
  transform: translateX(0);
  text-align: left;
}
.languiges-switcher .lang_list_class:before, .languiges-switcher .lang_list_class:after {
  display: none;
}
.languiges-switcher .lang_list_class li {
  border: 0;
  padding: 0 10px 0 30px;
}
.languiges-switcher .lang_list_class li:last-child, .languiges-switcher .lang_list_class li:first-child {
  border: 0;
  padding: 0 10px 0 30px;
}
.languiges-switcher .lang_list_class li.active {
  display: none;
}
.languiges-switcher.active .opener:before {
  transform: rotate(180deg);
}
.languiges-switcher .img-icon {
  display: block;
  width: 24px;
  height: 24px;
}
.languiges-switcher .slide {
  padding: 10px 0;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 12px 16px -4px rgba(16, 24, 40, 0.08), 0 4px 6px -2px rgba(16, 24, 40, 0.03);
}
.languiges-switcher .opener {
  color: #22234a !important;
  font-weight: 600;
  font-size: 16px;
  position: relative;
  padding: 0 20px 0 7px;
}
/*.languiges-switcher .opener:before {
  transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  content: "\e900";
  position: absolute;
  right: 0;
  top: 6px;
  font-size: 12px;
}*/
.languiges-switcher .opener:hover {
  text-decoration: none;
  color: var(--grey-600);
}
.languiges-switcher .lang_list_class {
  font-size: 16px;
}
.languiges-switcher .lang_list_class li {
  padding: 0 10px 0 30px;
}
.languiges-switcher .lang_list_class a {
  color: #475467;
  font-weight: 600;
}
.languiges-switcher .lang_list_class a:hover {
  color: var(--grey-600);
  text-decoration: none;
}

@media (min-width: 1024px) {
  .footer-nav {
    width: 70%;
  }
}
.footer-nav .opener {
  display: block;
  color: #98A2B3;
  font-size: 14px;
  font-weight: 600;
  position: relative;
  padding: 0 15px 0 0;
}
@media (min-width: 768px) {
  .footer-nav .opener {
    cursor: auto;
    pointer-events: none;
    margin: 0 0 14px;
    flex: 0 0 auto;
  }
}
.footer-nav .opener:hover {
  text-decoration: none;
  color: var(--grey-600);
}
@media (max-width: 767px) {
  .footer-nav .opener:before {
    transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
    content: "\e900";
    position: absolute;
    top: 3px;
    right: 0;
    font-size: 14px;
  }
}
.footer-nav .hs_cos_wrapper > ul {
  font-weight: 600;
  font-size: 16px;
}
@media (min-width: 768px) {
  .footer-nav .hs_cos_wrapper > ul {
    display: flex;
    flex-wrap: wrap;
  }
}
.footer-nav .hs_cos_wrapper > ul > li {
  margin: 0 0 10px;
}
@media (min-width: 768px) {
  .footer-nav .hs_cos_wrapper > ul > li {
    width: 20%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0;
  }
}
@media (max-width: 767px) {
  .footer-nav .hs_cos_wrapper > ul > li.active .opener:before {
    transform: rotate(180deg);
  }
}
.footer-nav .slide {
  padding: 15px 0;
}
@media (min-width: 768px) {
  .footer-nav .slide {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    flex: 1;
    padding: 0;
  }
}
@media (min-width: 768px) {
  .footer-nav .slide ul {
    width: 100%;
  }
}
.footer-nav .slide ul li {
  margin: 0 0 10px;
}
@media (min-width: 1024px) {
  .footer-nav .slide ul li {
    margin: 0 0 12px;
  }
}
.footer-nav .slide ul li > a:not([class]) {
  color: #667085;
}
.footer-nav .slide ul li > a:not([class]):hover {
  text-decoration: none;
  color: var(--grey-600);
}
@media (min-width: 768px) {
  .footer-nav .slide-holder {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
  }
}
.footer-nav .slide-holder ul {
  font-weight: normal;
}
.footer-nav .slide-holder ul li {
  margin: 0;
  line-height: normal;
  margin-bottom: 10px;
}
.footer-nav .slide-holder .link-more {
  margin: auto 0 12px;
}

.btn {
  transition: background-color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), border-color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  display: inline-block;
  vertical-align: top;
  text-align: center;
  border-radius: 8px;
  color: #ffffff;
  background: #f371aa;
  /* border: 1px solid var(--grey-600); */
  padding: 12px 14px;
  font-weight: 500;
  font-size: 16px;
}
.btn:hover {
  color: #fff;
  text-decoration: none;
}
.btn--outline {
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 8px;
  background: none !important;
  color: #151319;
  border: 4px solid #f371aa;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  vertical-align: top;
  display:inline-block;
  transition: background-color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), border-color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
}
.btn--outline:hover {
  background: none !important;
  border-color: #f371aa9e;
  color: #151319 !important;
  text-decoration: none;
}
.btn--with-icon:after {
  content: "\e902";
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  margin: 0 0 0 14px;
  text-decoration: none;
}

.link-more {
  color: #21234B;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.4;
  position: relative;
  padding: 0 23px 0 0;
}
.link-more:before {
  transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  content: "\e902";
  position: absolute;
  right: 0;
  top: 4px;
  font-size: 13px;
}
@media (min-width: 1024px) {
  .link-more:before {
    top: 5px;
  }
}
.link-more:hover {
  text-decoration: none;
  color: var(--grey-600);
}
.link-more:hover:before {
  transform: translateX(5px);
}

.btn-more {
  display: inline-block;
  vertical-align: top;
  position: relative;
  padding: 0 25px 0 0;
  font-weight: 600;
}
@media (min-width: 1024px) {
  .btn-more {
    padding: 0 32px 0 0;
  }
}
.btn-more:before {
  transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  content: "\e902";
  position: absolute;
  right: 0;
  top: 6px;
  font-size: 14px;
}
@media (min-width: 1024px) {
  .btn-more:before {
    font-size: 16px;
  }
}
.btn-more:hover {
  text-decoration: none;
}
.btn-more:hover:before {
  transform: translateX(5px);
}

.btn-more-alt {
  display: inline-block;
  vertical-align: top;
  position: relative;
  padding: 0 24px 0 0;
  font-weight: 600;
}
.btn-more-alt:before {
  transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  content: "\e908";
  position: absolute;
  right: 0;
  top: 7px;
  font-size: 11px;
}
.btn-more-alt:hover {
  text-decoration: none;
}
.btn-more-alt:hover:before {
  transform: translate(5px, -5px);
}

.hero-header-section {
  text-align: center;
  background: #F4F4F6;
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .hero-header-section {
    padding: 96px 0 156px;
  }
}
.hero-header-section__img-block {
  overflow: hidden;
  border-radius: 12px;
}
@media (min-width: 1024px) {
  .hero-header-section__img-block {
    border-radius: 20px;
    border-width: 8px;
  }
}
.hero-header-section__img-block img {
  width: 100%;
}
.hero-header-section__text-block {
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .hero-header-section__text-block {
    font-size: 20px;
    margin: 0 0 55px;
  }
}
@media (min-width: 1024px) {
  .hero-header-section__text-block p {
    margin: 0 0 32px;
  }
}
@media (min-width: 1024px) {
  .hero-header-section .btn {
    font-size: 18px;
    padding: 10px 12px;
  }
}

.partners-section {
  background: #151319;
  text-align: center;
  padding: 35px 0;
  color: #FDEFE6;
}
@media (min-width: 1024px) {
  .partners-section {
    padding: 97px 0 70px;
  }
}
@media (min-width: 1024px) {
  .partners-section__text-block {
    font-size: 20px;
    margin: 0 0 32px;
  }
}
.partners-section__logos-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1024px) {
  .partners-section__logos-list ul {
    margin: 0 -20px;
  }
}
.partners-section__logos-list ul li {
  padding: 0 10px 15px;
}
@media (min-width: 1024px) {
  .partners-section__logos-list ul li {
    padding: 0 20px 25px;
  }
}
.partners-section__logos-list ul li a {
  transition: opacity 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
}
.partners-section__logos-list ul li a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.feature-section {
  padding: 35px 0;
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .feature-section {
    padding: 62px 0 0;
  }
}
.feature-section__section-heading {
  text-align: center;
}
@media (min-width: 1024px) {
  .feature-section__section-heading h1,
  .feature-section__section-heading .h1 {
    margin: 0 0 38px;
  }
}
.feature-section .decor-1,
.feature-section .decor-2 {
  position: absolute;
  z-index: -1;
  display: block;
}
.feature-section .decor-1 img,
.feature-section .decor-2 img {
  width: 100%;
}
.feature-section .decor-1 {
  left: 0;
  top: 22%;
  width: 50%;
}
@media (min-width: 1024px) {
  .feature-section .decor-1 {
    width: 38%;
  }
}
.feature-section .decor-2 {
  right: 0;
  bottom: 24%;
  width: 51%;
}
@media (min-width: 768px) {
  .feature-section .decor-2 {
    bottom: 17%;
  }
}

.feature-card {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0;
}
@media (min-width: 768px) {
  .feature-card {
    align-items: center;
    flex-direction: row-reverse;
  }
}
@media (min-width: 1024px) {
  .feature-card {
    padding: 50px 0;
  }
}
@media (min-width: 1440px) {
  .feature-card {
    padding: 100px 0;
  }
}
@media (min-width: 768px) {
  .feature-card.reverse {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .feature-card.reverse .feature-card__text-holder {
    margin: 0 0 0 auto;
  }
}
@media (min-width: 1024px) {
  .feature-card__text-holder {
    max-width: 560px;
  }
}
.feature-card__img-block {
  padding: 0 0 25px;
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .feature-card__img-block {
    width: 46%;
    padding: 0 35px;
  }
}
@media (min-width: 768px) {
  .feature-card__text-block {
    width: 54%;
  }
}
.feature-card__text-block p {
  margin: 0 0 32px;
}

.feature-device {
  background: #F6F5F8;
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .feature-device {
    padding: 97px 0 104px;
  }
}
.feature-device__heading-block {
  text-align: center;
  margin: 0 auto 30px;
  max-width: 950px;
  position: relative;
  z-index: 5;
}
@media (min-width: 1024px) {
  .feature-device__heading-block {
    margin: 0 auto 63px;
    font-size: 20px;
  }
}
.feature-device__img-block {
  max-width: 790px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.feature-device__img-block img {
  width: 100%;
}
.feature-device .decor-1,
.feature-device .decor-2 {
  position: absolute;
  z-index: -1;
  display: block;
}
.feature-device .decor-1 {
  width: 49%;
  left: -27%;
  top: -20%;
}
.feature-device .decor-2 {
  bottom: 5%;
  right: -26%;
  width: 48%;
}
@media (min-width: 1440px) {
  .feature-device .decor-2 {
    right: -38%;
  }
}

.social-proof {
  padding: 40px 0;
}
@media (min-width: 1024px) {
  .social-proof {
    padding: 95px 0;
  }
}
.social-proof__heading-block {
  text-align: center;
  max-width: 950px;
  margin: 0 auto 25px;
}
@media (min-width: 1024px) {
  .social-proof__heading-block {
    margin: 0 auto 62px;
  }
}
.social-proof__logos-list {
  padding: 35px 0 10px;
}
@media (min-width: 1024px) {
  .social-proof__logos-list {
    padding: 103px 0 1px;
  }
}
.social-proof__logos-list ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
}
.social-proof__logos-list ul li {
  padding: 0 5px 30px;
}
@media (min-width: 768px) {
  .social-proof__logos-list ul li {
    padding: 0 10px 30px;
  }
}
@media (min-width: 1440px) {
  .social-proof__logos-list ul li {
    padding: 0 15px 30px;
  }
}
.social-proof__logos-list ul li a {
  transition: opacity 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
}
.social-proof__logos-list ul li a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.social-proof__logos-list ul img {
  width: 100%;
}

@media (min-width: 768px) {
  .social-proof-slider__slide-holder {
    display: flex;
    flex-wrap: wrap;
  }
}
.social-proof-slider__img-block {
  padding: 0 0 25px;
}
@media (min-width: 768px) {
  .social-proof-slider__img-block {
    width: 37.4%;
    padding: 0 25px 0 0;
  }
}
@media (min-width: 768px) {
  .social-proof-slider__text-block {
    width: 62.6%;
    max-width: 680px;
  }
}
.social-proof-slider__img-holder {
  overflow: hidden;
  border-radius: 12px;
}
@media (min-width: 1024px) {
  .social-proof-slider__img-holder {
    max-width: 328px;
  }
}
.social-proof-slider__img-holder img {
  width: 100%;
}
.social-proof-slider .logo-image {
  max-width: 190px;
  display: block;
  margin: 0 0 24px;
}
.social-proof-slider .logo-image img {
  width: 100%;
}

.social-proof-slider {
  padding: 0 0 70px;
}
@media (min-width: 768px) {
  .social-proof-slider {
    padding: 0;
  }
}
.social-proof-slider .slick-arrow {
  position: absolute;
  bottom: 0;
  z-index: 2;
}
@media (min-width: 768px) {
  .social-proof-slider .slick-arrow {
    right: 0;
  }
}
.social-proof-slider .slick-prev {
  left: 0;
}
@media (min-width: 768px) {
  .social-proof-slider .slick-prev {
    right: 70px;
    left: auto;
  }
}
@media (min-width: 1024px) {
  .social-proof-slider .slick-prev {
    right: 82px;
  }
}
.social-proof-slider .slick-next {
  left: 70px;
}
@media (min-width: 768px) {
  .social-proof-slider .slick-next {
    left: auto;
  }
}

blockquote {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  color: #101828;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.22;
}
@media (min-width: 1024px) {
  blockquote {
    font-size: 36px;
    margin: 0 0 31px;
  }
}

cite {
  margin: 0 0 25px;
  display: block;
}
@media (min-width: 1024px) {
  cite {
    margin: 0 0 44px;
  }
}
cite .author {
  display: block;
  font-weight: 600;
  color: #101828;
  font-style: normal;
  position: relative;
  padding: 0 0 5px 22px;
}
@media (min-width: 1024px) {
  cite .author {
    font-size: 18px;
  }
}
cite .author:before {
  content: "";
  position: absolute;
  left: 0;
  height: 2px;
  width: 19px;
  background: #101828;
  top: 14px;
}
cite .position {
  display: block;
  font-style: normal;
  font-size: 16px;
}

.integration-section {
  position: relative;
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .integration-section {
    padding: 96px 0 73px;
  }
}
.integration-section .decor {
  position: absolute;
  right: -8%;
  width: 50%;
  z-index: -1;
  bottom: 0;
}
@media (min-width: 768px) {
  .integration-section .decor {
    width: 26%;
    right: 0;
    top: 0;
    bottom: auto;
  }
}
.integration-section .decor img {
  width: 100%;
}
@media (min-width: 768px) {
  .integration-section__section-holder {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .integration-section__text-block {
    width: 46%;
  }
}
@media (min-width: 768px) {
  .integration-section__img-block {
    width: 54%;
    padding: 0 0 0 25px;
  }
}
.integration-section__logos-list {
  max-width: 485px;
  margin: 0 37px 16px auto;
}
.integration-section__logos-list ul {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  margin: -15px;
}
.integration-section__logos-list ul li {
  padding: 15px;
  width: 25%;
}
@media (min-width: 1024px) {
  .integration-section__logos-list ul li {
    padding: 24px 20px 24px;
  }
}

.btn-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 -12px;
  padding: 10px 0 35px;
}
@media (min-width: 1024px) {
  .btn-list {
    padding: 17px 0 0;
  }
}
.btn-list__col {
  padding: 0 12px 20px;
}
.btn-list .link-btn {
  color: #475467;
  font-weight: 600;
  font-size: 16px;
}


.cta-section {
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .cta-section {
    padding: 67px 0 94px;
  }
}
.cta-section.light-style .cta-block {
  background: #fef9fb;
  color: #475467;
}
.cta-section.light-style .cta-block h1, .cta-section.light-style .cta-block .h1, .cta-section.light-style .cta-block h2, .cta-section.light-style .cta-block .h2, .cta-section.light-style .cta-block h3, .cta-section.light-style .cta-block .h3, .cta-section.light-style .cta-block h4, .cta-section.light-style .cta-block .h4, .cta-section.light-style .cta-block h5, .cta-section.light-style .cta-block .h5, .cta-section.light-style .cta-block h6, .cta-section.light-style .cta-block .h6,
.cta-section.light-style .cta-block .h {
  color: #101828;
  margin: 0 0 16px;
}
.cta-section.light-style .cta-block .decor {
  mix-blend-mode: normal;
  opacity: 0.5;
}
@media (min-width: 1024px) {
  .cta-section.light-style .cta-block .decor {
    right: 21px;
    bottom: -41px;
    width: 38%;
  }
}
@media (min-width: 1024px) {
  .cta-section.light-style .cta-block .cta-block__text-block {
    font-size: 20px;
  }
}
@media (min-width: 768px) {
  .cta-section.light-style .cta-block .cta-block__text-block p {
    margin: 0;
  }
}
.cta-section .cta-block {
  background: #F9EEF3;
  color: #151319 !important;
  overflow: hidden;
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  padding: 20px;
  font-weight: 600;
}
@media (min-width: 768px) {
  .cta-section .cta-block {
    padding: 45px 35px;
  }
}
@media (min-width: 1024px) {
  .cta-section .cta-block {
    padding: 65px 63px 65px 64px;
  }
}
.cta-section .cta-block .btn {
  min-width: 177px;
}
.cta-section .cta-block .decor {
  position: absolute;
  right: 0;
  bottom: 0;
  mix-blend-mode: soft-light;
  width: 50%;
  z-index: -1;
}
@media (min-width: 768px) {
  .cta-section .cta-block .decor {
    width: 40%;
  }
}
@media (min-width: 1024px) {
  .cta-section .cta-block .decor {
    width: 35%;
  }
}
.cta-section .cta-block .decor img {
  width: 100%;
}
.cta-section .cta-block h1, .cta-section .cta-block .h1, .cta-section .cta-block h2, .cta-section .cta-block .h2, .cta-section .cta-block h3, .cta-section .cta-block .h3, .cta-section .cta-block h4, .cta-section .cta-block .h4, .cta-section .cta-block h5, .cta-section .cta-block .h5, .cta-section .cta-block h6, .cta-section .cta-block .h6,
.cta-section .cta-block .h {
  color: #151319;
}
@media (min-width: 768px) {
  .cta-section .cta-block h1, .cta-section .cta-block .h1, .cta-section .cta-block h2, .cta-section .cta-block .h2, .cta-section .cta-block h3, .cta-section .cta-block .h3, .cta-section .cta-block h4, .cta-section .cta-block .h4, .cta-section .cta-block h5, .cta-section .cta-block .h5, .cta-section .cta-block h6, .cta-section .cta-block .h6,
  .cta-section .cta-block .h {
    margin: 0;
  }
}
@media (min-width: 768px) {
  .cta-section .cta-block__text-block {
    width: 70%;
  }
}

.pricing-section {
  position: relative;
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .pricing-section {
    padding: 67px 0 48px;
  }
}
.pricing-section .decor {
  position: absolute;
  display: block;
  left: 0;
  z-index: -1;
  top: 9%;
  width: 72%;
}
@media (min-width: 768px) {
  .pricing-section .decor {
    width: 30%;
  }
}
@media (min-width: 1024px) {
  .pricing-section .decor {
    top: 14%;
    width: 24%;
  }
}
.pricing-section .decor img {
  width: 100%;
}
.pricing-section__heading-block {
  text-align: center;
  margin: 0 0 35px;
}
@media (min-width: 1024px) {
  .pricing-section__heading-block {
    font-size: 20px;
    line-height: 1.5;
    margin: 0 0 47px;
  }
}

@media (min-width: 768px) {
  .pricing-cards-holder {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
  }
}
@media (min-width: 1440px) {
  .pricing-cards-holder {
    margin: 0 -16px;
  }
}
.pricing-cards-holder__column {
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .pricing-cards-holder__column {
    width: 33.33%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 30px;
    padding: 0 10px;
  }
}
@media (min-width: 1440px) {
  .pricing-cards-holder__column {
    padding: 0 16px;
  }
}

.price-card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #EAECF0;
  box-shadow: 0 12px 16px -4px rgba(16, 24, 40, 0.08), 0 4px 6px -2px rgba(16, 24, 40, 0.03);
  font-size: 16px;
  color: #667085;
  width: 100%;
}
.price-card h4 {
  text-align: center;
}
.price-card .h1 {
  display: block;
  margin: 0 0 15px;
}
@media (min-width: 1024px) {
  .price-card .h1 {
    margin: 0 0 31px;
  }
}
.price-card__units {
  color: #667085;
  font-weight: 500;
  font-size: 16px;
  display: inline-block;
  vertical-align: baseline;
  margin: 0 0 0 5px;
}
.price-card .btn {
  width: 100%;
}
.price-card__content {
  padding: 15px;
}
@media (min-width: 768px) {
  .price-card__content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
}
@media (min-width: 1024px) {
  .price-card__content {
    padding: 30px;
  }
}
.price-card__content p {
  margin: 0 0 15px;
}
@media (min-width: 768px) {
  .price-card__text-block {
    margin: 0 0 auto;
  }
}
.price-card__info {
  padding: 15px;
  border-top: 1px solid #EAECF0;
  width: 100%;
}
@media (min-width: 1024px) {
  .price-card__info {
    padding: 30px 30px 23px;
  }
}
.price-card__info-title {
  display: block;
  font-weight: 600;
  color: #101828;
  margin: 0 0 15px;
}
@media (min-width: 1024px) {
  .price-card__info-title {
    margin: 0 0 24px;
  }
}
.price-card__info-list ul li {
  position: relative;
  padding: 0 0 0 35px;
  margin: 0 0 15px;
}
.price-card__info-list ul li:before {
  content: "\e903";
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--grey-500);
  font-size: 22px;
}
@media (min-width: 1024px) {
  .price-card__info-list ul li:before {
    top: 0;
  }
}

.add-ons-section {
  background: #171935;
  padding: 35px 0 10px;
}
@media (min-width: 1024px) {
  .add-ons-section {
    padding: 64px 0 32px;
  }
}
.add-ons-section.light-style {
  background: #fff;
}
@media (min-width: 1024px) {
  .add-ons-section.light-style {
    padding: 96px 0 64px;
  }
}
.add-ons-section.light-style .add-ons-card {
  background: #fef9fb;
  color: #667085;
}
.add-ons-section.light-style .add-ons-card__title {
  color: #101828;
}
@media (min-width: 768px) {
  .add-ons-section__card-holder {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
  }
}
@media (min-width: 1024px) {
  .add-ons-section__card-holder {
    margin: 0 -16px;
  }
}
.add-ons-section__column {
  margin: 0 0 25px;
}
@media (min-width: 768px) {
  .add-ons-section__column {
    width: 33.33%;
    padding: 0 10px;
  }
}
@media (min-width: 1024px) {
  .add-ons-section__column {
    padding: 0 16px;
    margin: 0 0 32px;
  }
}

.add-ons-card {
  background: #21234B;
  font-size: 16px;
  color: #98A2B3;
  padding: 20px;
}
@media (min-width: 1024px) {
  .add-ons-card {
    padding: 20px;
  }
}
.add-ons-card__img-icon {
  background: var(--gradient2);
  border-radius: 10px;
  display: block;
  width: 50px;
  height: 50px;
  padding: 13px;
  margin: 0 0 15px;
  float: right;
  margin-left: 15px !important;
}
@media (min-width: 1024px) {
  .add-ons-card__img-icon {
    margin: 0 0 40px;
  }
}
.add-ons-card__img-icon img {
  width: 100%;
}
.add-ons-card__title {
  display: block;
  color: #fff;
  font-weight: 600;
  margin: 0 0 8px;
}
@media (min-width: 1024px) {
  .add-ons-card__title {
    font-size: 20px;
    line-height: 1.5;
  }
}
.add-ons-card .btn-more {
  padding: 0 24px 0 0;
  color: var(--grey-500);
}
.add-ons-card .btn-more:before {
  font-size: 12px;
}

.feature-table {
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .feature-table {
    padding: 48px 0;
  }
}
.feature-table__heading-block {
  margin: 0 0 24px;
}
@media (min-width: 1024px) {
  .feature-table__heading-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 30px;
  }
}
.feature-table__title {
  display: block;
  font-weight: 600;
  color: #101828;
  font-size: 20px;
}
@media (min-width: 1024px) {
  .feature-table__title {
    font-size: 24px;
  }
}
.feature-table__note {
  display: block;
  color: #98A2B3;
  font-size: 16px;
}
.feature-table .note-text {
  text-align: center;
  display: block;
  color: #475467;
  font-size: 14px;
}
.feature-table__holder {
  overflow-x: auto;
  overflow-y: hidden;
}

.feature-table-block {
  color: #667085;
  font-size: 14px;
  margin: 0 0 28px;
  border-bottom: 1px solid #F6F5F8;
  min-width: 500px;
}
@media (min-width: 1024px) {
  .feature-table-block .table-heading {
    font-size: 18px;
  }
}
.feature-table-block .table-heading strong {
  color: #101828;
  font-weight: 600;
  display: block;
}
@media (min-width: 1024px) {
  .feature-table-block .table-heading .feature-table-block__column {
    padding: 15px 25px;
  }
}
.feature-table-block__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  text-align: center;
}
.feature-table-block__row:nth-child(even) {
  background: #fef9fb;
}
.feature-table-block__column {
  flex: 1;
  padding: 15px 5px;
}
@media (min-width: 1024px) {
  .feature-table-block__column {
    padding: 22px 25px;
  }
}
.feature-table-block__column:first-child {
  text-align: left;
}
.feature-table-block__column .item-title {
  font-weight: 500;
  color: #101828;
  display: inline-block;
  vertical-align: top;
  position: relative;
  padding: 0 20px 0 0;
}
.feature-table-block__column .tooltip {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
}
.feature-table-block__column .tooltip:before {
  content: "\e904";
  color: #98A2B3;
  cursor: pointer;
}
.feature-table-block__column .tooltip .tooltip-content {
  transition: opacity 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), visibility 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  background: #F4F4F6;
  border-radius: 10px;
  width: 206px;
  padding: 12px 10px;
  color: #4E4F6C;
  font-size: 13px;
  line-height: 1.1;
  opacity: 0;
  visibility: hidden;
  margin: 0 0 0 10px;
}
.feature-table-block__column .tooltip .tooltip-content:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -15px;
  width: 15px;
}
.feature-table-block__column .tooltip .tooltip-content a {
  font-weight: 700;
  color: #4E4F6C;
}
.feature-table-block__column .tooltip .tooltip-content a:hover {
  text-decoration: none;
  color: var(--grey-600);
}
.feature-table-block__column .tooltip .tooltip-content p {
  margin: 0;
}
.feature-table-block__column .tooltip .toopltip-title {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #22234A;
  margin: 0 0 8px;
}
.feature-table-block__column .tooltip:hover .tooltip-content {
  opacity: 1;
  visibility: visible;
}
.feature-table-block .included:before {
  content: "\e903";
  color: var(--grey-600);
  display: inline-block;
  vertical-align: top;
  margin: 0 12px 0 0;
  font-size: 22px;
}

.faq-section {
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .faq-section {
    padding: 96px 0;
  }
}
.faq-section__heading-block {
  text-align: center;
  color: #667085;
  margin: 0 0 35px;
}
@media (min-width: 1024px) {
  .faq-section__heading-block {
    font-size: 20px;
    margin: 0 0 64px;
  }
}

.faq-accordion {
  max-width: 800px;
  margin: 0 auto 31px;
}
.faq-accordion ul {
  color: #667085;
  font-size: 16px;
}
.faq-accordion ul li {
  border-bottom: 1px solid #EAECF0;
}
.faq-accordion ul li:last-child {
  border-bottom: 0;
}
@media (min-width: 1024px) {
  .faq-accordion ul li.active .opener {
    padding: 23px 25px 0px 0;
  }
}
.faq-accordion ul li.active .plus-icon:after {
  transform: translate(-50%, -50%) rotate(-90deg);
}
.faq-accordion .opener {
  transition: padding 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  position: relative;
  padding: 15px 25px 15px 0;
  display: block;
  font-weight: 500;
  color: #101828;
}
@media (min-width: 1024px) {
  .faq-accordion .opener {
    font-size: 18px;
    padding: 23px 25px 32px 0;
  }
}
.faq-accordion .opener:hover {
  text-decoration: none;
  color: var(--grey-600);
}
.faq-accordion .opener:hover .plus-icon {
  border-color: var(--grey-600);
}
.faq-accordion .opener:hover .plus-icon:before, .faq-accordion .opener:hover .plus-icon:after {
  background: var(--grey-600);
}
.faq-accordion .slide {
  padding: 7px 0 10px;
  max-width: 720px;
}
.faq-accordion .plus-icon {
  transition: border-color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  position: absolute;
  right: 3px;
  top: 167px;
  border-radius: 50%;
  border: 2px solid #667085;
  width: 22px;
  height: 22px;
  display: block;
}
@media (min-width: 1024px) {
  .faq-accordion .plus-icon {
    top: 26px;
  }
}
.faq-accordion .plus-icon:before, .faq-accordion .plus-icon:after {
  transition: transform 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), background 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  content: "";
  position: absolute;
  background: #667085;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.faq-accordion .plus-icon:before {
  width: 10px;
  height: 2px;
}
.faq-accordion .plus-icon:after {
  height: 10px;
  width: 2px;
}

.cta-frame {
  background: #fef9fb;
  border-radius: 16px;
  text-align: center;
  color: #667085;
  padding: 20px;
}
@media (min-width: 1024px) {
  .cta-frame {
    padding: 31px 20px 30px;
  }
}
.cta-frame__text-block {
  max-width: 600px;
  margin: 0 auto;
}
.cta-frame__text-block p {
  margin: 0 0 32px;
}
.cta-frame__title {
  display: block;
  color: #101828;
  font-weight: 600;
  margin: 0 0 8px;
}
@media (min-width: 1024px) {
  .cta-frame__title {
    font-size: 20px;
  }
}
.cta-frame__img-block {
  width: 120px;
  margin: 0 auto 30px;
}
.cta-frame__img-block img {
  width: 100%;
}
.cta-frame .btn {
  padding: 12px 18px;
}

@media (min-width: 1024px) {
  .product-info {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
  }
}
.product-info h2 {
  margin: 0 0 15px;
}
@media (min-width: 1024px) {
  .product-info.reverse {
    flex-direction: row;
  }
}
.product-info__bg-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.product-info__bg-image img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 1024px) {
  .product-info__img-block, .product-info__text-block {
    width: 50%;
  }
}
.product-info__text-block {
  padding: 0 0 0 calc((100vw - 1260px) / 2);
}
@media (min-width: 1024px) {
  .product-info__text-block {
    display: flex;
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .product-info__text-block:before {
    content: "";
    display: block;
    width: 0;
    min-height: 450px;
  }
}
@media (min-width: 1440px) {
  .product-info__text-block:before {
    min-height: 560px;
  }
}
.reverse .product-info__text-block {
  padding: 0 calc((100vw - 1260px) / 2) 0 0;
}
.product-info__img-block {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  z-index: 2;
  padding: 25px 15px;
  min-height: 290px;
  background: #21234B;
}
@media (min-width: 768px) {
  .product-info__img-block {
    min-height: 400px;
  }
}
.product-info__img-block .decor {
  position: absolute;
  right: 0;
  top: 0;
  width: 88%;
  z-index: -1;
}
.product-info__img-block .decor img {
  width: 100%;
}
.product-info__text-holder {
  padding: 25px 15px 0;
}
@media (min-width: 1024px) {
  .product-info__text-holder {
    max-width: 542px;
  }
}
.reverse .product-info__text-holder {
  margin: 0 0 0 auto;
}
@media (min-width: 1440px) {
  .reverse .product-info__text-holder {
    padding: 25px 15px 0 32px;
  }
}
/*.product-info ul {
  color: #667085;
  padding: 15px 0 0;
}
.product-info ul li {
  padding: 0 0 15px 35px;
  position: relative;
}
@media (min-width: 1024px) {
  .product-info ul li {
    padding: 0 0 25px 55px;
  }
}
.product-info ul li:before {
  content: "\e909";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--grey-500);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  background: #E6F6F2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}*/
@media (min-width: 1024px) {
  .product-info ul li:before {
    left: 15px;
  }
}

.testimonial-block-section {
  padding: 35px 0;
  position: relative;
}
@media (min-width: 1024px) {
  .testimonial-block-section {
    padding: 96px 0;
  }
}
@media (min-width: 1440px) {
  .testimonial-block-section {
    padding: 96px 0 126px;
  }
}
.testimonial-block-section__logo-image {
  display: block;
  max-width: 186px;
  margin: 0 0 25px;
}
.testimonial-block-section__logo-image img {
  width: 100%;
}
@media (min-width: 1024px) {
  .testimonial-block-section__holder-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
.testimonial-block-section__text-block {
  margin: 0 0 35px;
}
@media (min-width: 1024px) {
  .testimonial-block-section__text-block {
    width: 50%;
    margin: 0;
  }
}
@media (min-width: 1024px) {
  .testimonial-block-section__img-block {
    width: 50%;
  }
}
.testimonial-block-section .frames-wrap {
  margin: -4px;
}
@media (min-width: 768px) {
  .testimonial-block-section .frames-wrap {
    margin: -8px;
  }
}
@media (min-width: 1440px) {
  .testimonial-block-section .frames-wrap {
    margin: -8px -42px -8px -8px;
  }
}
.testimonial-block-section .img-wrap {
  position: relative;
  padding-top: 50%;
  border-radius: 8px;
  overflow: hidden;
}
.testimonial-block-section .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
}
.testimonial-block-section .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
}
.testimonial-block-section .row:last-child {
  align-items: flex-start;
}
.testimonial-block-section .img-frame {
  padding: 4px;
  width: 33.33%;
  max-width: 176px;
}
@media (min-width: 768px) {
  .testimonial-block-section .img-frame {
    padding: 8px;
  }
}
.testimonial-block-section .img-frame.full .img-wrap {
  padding-top: 100%;
}
.testimonial-block-section .img-frame.tall .img-wrap {
  padding-top: 150%;
}
.testimonial-block-section .img-frame.wide {
  max-width: 208px;
}
.testimonial-block-section .img-frame.wide .img-wrap {
  padding-top: 67%;
}
.testimonial-block-section .decor {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 60%;
  z-index: -1;
}
@media (min-width: 1024px) {
  .testimonial-block-section .decor {
    width: 28%;
  }
}
@media (min-width: 1440px) {
  .testimonial-block-section .decor {
    bottom: 30px;
  }
}
.testimonial-block-section .decor img {
  width: 100%;
}
.testimonial-block-section .circle-img {
  border-radius: 50%;
  overflow: hidden;
  width: 56px;
  height: 56px;
  margin: 0 15px 0 0;
}
.testimonial-block-section cite {
  margin: 0;
}
.testimonial-block-section .wrap-block {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 30px;
}

.clients-info-section {
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .clients-info-section {
    padding: 97px 0 96px;
  }
}
.clients-info-section__heading-block {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 25px;
}
@media (min-width: 1024px) {
  .clients-info-section__heading-block {
    margin: 0 auto 64px;
  }
}
@media (min-width: 768px) {
  .clients-info-section .two-columns {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px;
  }
}
@media (min-width: 1024px) {
  .clients-info-section .two-columns {
    margin: 0 -16px;
  }
}
.clients-info-section .two-columns__column {
  padding: 0 0 16px;
}
@media (min-width: 768px) {
  .clients-info-section .two-columns__column {
    width: 50%;
    padding: 0 8px;
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1024px) {
  .clients-info-section .two-columns__column {
    padding: 0 16px;
  }
}
.clients-info-section .text-block {
  background: #FCFCFD;
  padding: 15px;
  border-radius: 16px;
}
@media (min-width: 1024px) {
  .clients-info-section .text-block {
    padding: 32px;
  }
}
.clients-info-section .text-block a {
  font-weight: 600;
}
.clients-info-section .clients-info {
  background: #fef9fb;
  border-radius: 16px;
  overflow: hidden;
}
.clients-info-section .clients-info__info-area {
  padding: 15px;
  position: relative;
  z-index: 2;
}
@media (min-width: 1024px) {
  .clients-info-section .clients-info__info-area {
    padding: 32px 32px 11px;
  }
}
.clients-info-section .clients-info__info-frame {
  border-radius: 16px;
  background: #E6F6F2;
  padding: 15px;
}
@media (min-width: 768px) {
  .clients-info-section .clients-info__info-frame {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1024px) {
  .clients-info-section .clients-info__info-frame {
    padding: 32px;
  }
}
.clients-info-section .clients-info__info-frame .image-logo {
  width: 132px;
}
.clients-info-section .clients-info-frame {
  border-radius: 16px;
  background: #E6F6F2;
  padding: 15px;
  position: relative;
  z-index: 5;
}
@media (min-width: 768px) {
  .clients-info-section .clients-info-frame {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1024px) {
  .clients-info-section .clients-info-frame {
    padding: 32px;
  }
}
.clients-info-section .clients-info-frame__image-logo {
  width: 132px;
  display: block;
  margin: 0 0 14px;
}
.clients-info-section .clients-info-frame__image-logo img {
  width: 100%;
}
@media (min-width: 1024px) {
  .clients-info-section .clients-info-frame__img-block {
    width: 41%;
    padding: 0 24px 0 0;
  }
}
@media (min-width: 1440px) {
  .clients-info-section .clients-info-frame__img-block {
    width: 34%;
  }
}
.clients-info-section .clients-info-frame__img-holder {
  margin: 0 0 14px;
  border-radius: 6px;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .clients-info-section .clients-info-frame__text-area {
    width: 59%;
  }
}
@media (min-width: 1440px) {
  .clients-info-section .clients-info-frame__text-area {
    width: 66%;
  }
}
@media (min-width: 1024px) {
  .clients-info-section .clients-info-frame blockquote {
    font-size: 20px;
    line-height: 1.33;
  }
}
@media (min-width: 1440px) {
  .clients-info-section .clients-info-frame blockquote {
    font-size: 24px;
  }
}
.clients-info-section .clients-info-frame .author {
  padding: 0;
}
.clients-info-section .clients-info-frame .author:before {
  display: none;
}
.clients-info-section .clients-info-frame .position {
  font-size: 14px;
}
.clients-info-section .decor {
  position: absolute;
  top: 20px;
  right: 0;
  width: 45%;
  display: block;
  z-index: -1;
}
.clients-info-section .decor img {
  width: 100%;
}
.clients-info-section .image-logo {
  display: block;
  margin: 0 0 32px;
}
.clients-info-section .info-list {
  font-size: 16px;
}
.clients-info-section .info-list ul li {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 10px;
}
@media (min-width: 1024px) {
  .clients-info-section .info-list ul li {
    margin: 0 0 19px;
  }
}
.clients-info-section .info-list__list-title {
  display: block;
  width: 45%;
  font-weight: 600;
  color: #101828;
  position: relative;
  min-width: 140px;
}
@media (min-width: 1440px) {
  .clients-info-section .info-list__list-title {
    width: 27%;
  }
}
.clients-info-section .info-list__list-title:after {
  content: ":";
  position: absolute;
  top: 0;
  right: 0;
  color: #667085;
  font-weight: 500;
}
.clients-info-section .info-list__list-value {
  display: block;
  width: 55%;
  color: #344054;
  padding: 0 0 0 15px;
}
@media (min-width: 1024px) {
  .clients-info-section .info-list__list-value {
    padding: 0 0 0 30px;
  }
}
@media (min-width: 1440px) {
  .clients-info-section .info-list__list-value {
    width: 73%;
  }
}

.badge {
  display: inline-block;
  vertical-align: top;
  border-radius: 25px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  padding: 2px 10px;
  margin: 0 8px 0 0;
}
.badge.pink {
  border: 1px solid #FDD9E9;
  color: #F985B9;
  background: #FEF3F8;
}
.badge.green {
  border: 1px solid #F2F4F7;
  color: #05A578;
  background: #E6F6F2;
}

.contacts-form-section {
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .contacts-form-section {
    padding: 96px 0;
  }
}
@media (min-width: 768px) {
  .contacts-form-section .holder-block {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
  }
}
.contacts-form-section .holder-block__text-column {
  position: relative;
  z-index: 2;
  padding: 0 0 50px;
}
@media (min-width: 768px) {
  .contacts-form-section .holder-block__text-column {
    width: 50%;
    padding: 0 15px;
  }
}
@media (min-width: 1024px) {
  .contacts-form-section .holder-block__text-column {
    width: 58%;
  }
}
.contacts-form-section .holder-block__form-column {
  position: relative;
  z-index: 5;
}
@media (min-width: 768px) {
  .contacts-form-section .holder-block__form-column {
    width: 50%;
    padding: 0 15px;
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1024px) {
  .contacts-form-section .holder-block__form-column {
    width: 42%;
  }
}
.contacts-form-section .decor {
  position: absolute;
  bottom: -12%;
  left: 10%;
  width: 65%;
  z-index: -1;
}
@media (min-width: 1024px) {
  .contacts-form-section .decor {
    bottom: -25%;
  }
}
.contacts-form-section .decor img {
  width: 100%;
}
.contacts-form-section .text-block {
  max-width: 609px;
}
.contacts-form-section .text-block h3 {
  margin: 0 0 30px;
}
.contacts-form-section .form-frame {
  border-radius: 16px;
  background: #fef9fb;
  padding: 20px 15px;
}
@media (min-width: 1024px) {
  .contacts-form-section .form-frame {
    padding: 43px 36px 40px;
  }
}
.contacts-form-section .form-frame .submitted-message {
  font-weight: 600;
  color: #101828;
  font-size: 24px;
  text-align: center;
}
@media (min-width: 1024px) {
  .contacts-form-section .form-frame .submitted-message {
    font-size: 36px;
  }
}

.cases-section {
  padding: 35px 0 15px;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (min-width: 1024px) {
  .cases-section {
    padding: 96px 0 30px;
  }
}
@media (min-width: 1024px) {
  .cases-section.cases-listing {
    padding: 96px 0 1px;
  }
}
@media (min-width: 768px) {
  .cases-section.cases-listing .cases-holder__column {
    padding: 10px 10px 25px;
  }
}
@media (min-width: 1024px) {
  .cases-section.cases-listing .cases-holder__column {
    padding: 16px 16px 47px;
  }
}
.cases-section .cases-area {
  margin: 0 0 35px;
}
@media (min-width: 1024px) {
  .cases-section .cases-area {
    margin: 0 0 65px;
  }
}
.cases-section .cases-area__heading-block {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 15px;
}
.cases-section .cases-area__heading-block .btn-more {
  margin: 0 0 15px;
}
@media (min-width: 768px) {
  .cases-section .cases-holder {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
  }
}
@media (min-width: 1440px) {
  .cases-section .cases-holder {
    margin: -16px;
  }
}
.cases-section .cases-holder__column {
  padding: 0 0 35px;
}
@media (min-width: 768px) {
  .cases-section .cases-holder__column {
    width: 33.33%;
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1440px) {
  .cases-section .cases-holder__column {
    padding: 16px;
  }
}

.case-card {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  width: 100%;
}
.case-card__text-block {
  font-size: 16px;
  color: #667085;
  width: 100%;
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: flex-start;
}
.case-card__img-block {
  position: relative;
  padding-top: 73%;
  border-radius: 16px;
  overflow: hidden;
  margin: 0 0 24px;
  width: 100%;
  flex: 0 0 auto;
}
.case-card__logo-block {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 22px 25px;
  text-align: right;
}
@media (min-width: 768px) {
  .case-card__logo-block {
    padding: 10px 15px;
  }
}
@media (min-width: 1024px) {
  .case-card__logo-block {
    padding: 22px 25px;
  }
}
.case-card__logo-block:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.3);
}
.case-card .btn-more-alt {
  margin: auto 0 0;
}
.case-card__img-frame img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.case-card__title {
  display: block;
  color: #101828;
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
}
@media (min-width: 1440px) {
  .case-card__title {
    font-size: 24px;
    line-height: 1.33;
  }
}
.case-card__title a {
  color: #101828;
  text-decoration: none;
}
.case-card__title a:hover {
  color: var(--grey-600);
}

.download-section {
  padding: 35px 0;
  position: relative;
}
@media (min-width: 1024px) {
  .download-section {
    padding: 96px 0;
  }
}
.download-section .decor {
  position: absolute;
  right: 0;
  top: 36%;
  width: 80%;
  z-index: -1;
}
@media (min-width: 768px) {
  .download-section .decor {
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .download-section .decor {
    right: 2.7%;
    top: 36%;
    width: 31%;
  }
}
.download-section .decor img {
  width: 100%;
}
.download-section__heading-block {
  text-align: center;
  margin: 0 auto 25px;
  max-width: 985px;
}
@media (min-width: 1024px) {
  .download-section__heading-block {
    margin: 0 auto 65px;
    font-size: 20px;
    line-height: 1.5;
  }
}
.download-section__holder-block {
  max-width: 800px;
  margin: 0 auto;
}
.download-section .download-list {
  margin: 0 0 15px;
}
.download-section .download-list__image {
  margin: 0 0 13px;
}
.download-section .download-list__title, .download-section .download-list__subtitle {
  transition: color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  display: block;
}
.download-section .download-list__title {
  color: #101828;
  font-weight: 600;
}
@media (min-width: 1024px) {
  .download-section .download-list__title {
    font-size: 20px;
  }
}
.download-section .download-list__subtitle {
  color: #667085;
  font-size: 16px;
}
.download-section .download-list ul {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  margin: 0 -10px;
}
@media (min-width: 1024px) {
  .download-section .download-list ul {
    margin: 0 -16px;
  }
}
.download-section .download-list ul li {
  padding: 0 10px 15px;
  width: 50%;
}
@media (min-width: 768px) {
  .download-section .download-list ul li {
    width: 25%;
  }
}
@media (min-width: 1024px) {
  .download-section .download-list ul li {
    padding: 0 16px 16px;
  }
}
.download-section .download-list ul li a {
  display: block;
  background: #F6F5F8;
  border-radius: 16px;
  padding: 21px;
}
.download-section .download-list ul li a:hover {
  text-decoration: none;
}
.download-section .download-list ul li a:hover .download-list__title,
.download-section .download-list ul li a:hover .download-list__subtitle {
  color: var(--grey-600);
}
.download-section .info-block {
  border-radius: 16px;
  background: #F6F5F8;
  padding: 15px;
}
@media (min-width: 1024px) {
  .download-section .info-block {
    padding: 24px;
  }
}
.download-section .info-block__title {
  display: block;
  font-weight: 600;
  font-size: 20px;
  color: #101828;
  margin: 0 0 16px;
}
@media (min-width: 1024px) {
  .download-section .info-block__title {
    font-size: 24px;
    line-height: 1.33;
  }
}
.download-section .info-block__text-block {
  font-size: 16px;
  color: #344054;
}
.download-section .info-block__text-block strong {
  font-weight: 500;
}

.team-section {
  padding: 35px 0;
  position: relative;
}
@media (min-width: 1024px) {
  .team-section {
    padding: 96px 0 60px;
  }
}
.team-section .decor {
  position: absolute;
  right: 0;
  top: 4%;
  width: 70%;
  z-index: -1;
}
@media (min-width: 768px) {
  .team-section .decor {
    top: 95px;
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .team-section .decor {
    width: 36%;
  }
}
.team-section .decor img {
  width: 100%;
}
.team-section__text-block {
  color: #667085;
  margin: 0 0 25px;
}
@media (min-width: 768px) {
  .team-section__text-block {
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .team-section__text-block {
    font-size: 20px;
    margin: 0 0 62px;
  }
}
@media (min-width: 768px) {
  .team-section .holder-block {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
  }
}
@media (min-width: 1024px) {
  .team-section .holder-block {
    margin: 0 -16px;
  }
}
.team-section .holder-block__column {
  padding: 0 0 25px;
}
@media (min-width: 768px) {
  .team-section .holder-block__column {
    width: 33.33%;
    padding: 0 10px 25px;
  }
}
@media (min-width: 1024px) {
  .team-section .holder-block__column {
    width: 25%;
    padding: 0 16px 50px;
  }
}

.team-card__img-block {
  position: relative;
  padding-top: 106%;
  margin: 0 0 24px;
}
.team-card__img-block img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
}
.team-card__title {
  display: block;
  color: #101828;
  font-weight: 600;
  margin: 0 0 5px;
}
@media (min-width: 1024px) {
  .team-card__title {
    font-size: 20px;
  }
}
.team-card__position {
  display: block;
  color: var(--grey-700);
  margin: 0 0 14px;
}
@media (min-width: 1024px) {
  .team-card__position {
    font-size: 18px;
  }
}
.team-card__social-list ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
.team-card__social-list ul li {
  padding: 0 10px;
}
.team-card__social-list ul svg {
  width: 24px;
}
.team-card__social-list ul svg path {
  transition: fill 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
}
.team-card__social-list ul a:hover {
  text-decoration: none;
}
.team-card__social-list ul a:hover svg path {
  fill: var(--grey-700);
}

.inner-hero-section {
  padding: 32px 15px 10px;
}
@media (min-width: 768px) {
  .inner-hero-section {
    padding: 32px 15px 10px;
  }
}
@media (min-width: 1024px) {
  .inner-hero-section {
    padding: 32px 32px 10px;
  }
}
.inner-hero-section__img-block {
  border-radius: 10px;
  border: 0px solid #BABBC7;
  overflow: hidden;
  max-width: 700px;
  margin: 0 auto;
  box-shadow: 0 32px 64px -12px rgba(16, 24, 40, 0.14);
  position: relative;
  z-index: 5;
}
@media (min-width: 768px) {
  .inner-hero-section__img-block {
    margin: 0 auto;
    max-width: 700px;
  }
}
@media (min-width: 1024px) {
  .inner-hero-section__img-block {
    max-width: 776px;
    border-radius: 16px;
    margin: 0 auto;
    border-width: 0px;
  }
}
.inner-hero-section__img-block img {
  width: 100%;
}
.inner-hero-section .hero-frame {
  border-radius: 16px;
  padding: 35px 15px 115px;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
@media (min-width: 768px) {
  .inner-hero-section .hero-frame {
    padding: 35px 15px 180px;
  }
}
@media (min-width: 1024px) {
  .inner-hero-section .hero-frame {
    border-radius: 30px;
    padding: 124px 15px 235px;
  }
}
.inner-hero-section .hero-frame .decor {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 50%;
  z-index: -1;
  mix-blend-mode: soft-light;
}
@media (min-width: 1024px) {
  .inner-hero-section .hero-frame .decor {
    right: 28px;
    bottom: 32px;
  }
}
@media (min-width: 1440px) {
  .inner-hero-section .hero-frame .decor {
    width: 33%;
  }
}
.inner-hero-section .hero-frame .decor img {
  width: 100%;
  opacity: 0.3;
}
/*.inner-hero-section .hero-frame.bg-blue {
  background: var(--canvas);
}*/
.inner-hero-section .hero-frame.bg-blue h1, .inner-hero-section .hero-frame.bg-blue .h1, .inner-hero-section .hero-frame.bg-blue h2, .inner-hero-section .hero-frame.bg-blue .h2, .inner-hero-section .hero-frame.bg-blue h3, .inner-hero-section .hero-frame.bg-blue .h3, .inner-hero-section .hero-frame.bg-blue h4, .inner-hero-section .hero-frame.bg-blue .h4, .inner-hero-section .hero-frame.bg-blue h5, .inner-hero-section .hero-frame.bg-blue .h5, .inner-hero-section .hero-frame.bg-blue h6, .inner-hero-section .hero-frame.bg-blue .h6,
.inner-hero-section .hero-frame.bg-blue .h {
  color: var(--graphite);
}
.inner-hero-section .hero-frame__heading-block {
  max-width: 1120px;
  margin: 0 auto 25px;
  text-align: center;
  color: #BABBC7;
}
@media (min-width: 1024px) {
  .inner-hero-section .hero-frame__heading-block {
    margin: 0 auto 60px;
    font-size: 20px;
  }
}

.content-section {
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .content-section {
    padding: 145px 0 75px;
  }
}
@media (min-width: 1024px) {
  .content-section.alt-indent {
    padding: 50px 0;
  }
}
.content-section .container {
  max-width: 750px;
}
.content-section strong {
  font-weight: 600;
}
.content-section h1,
.content-section .h1 {
  border-bottom: 1px solid #EAECF0;
  padding: 0 0 15px;
  margin: 0 0 15px;
  font-size: 32px;
}
@media (min-width: 1024px) {
  .content-section h1,
  .content-section .h1 {
    font-size: 36px;
    margin: 0 0 34px;
    padding: 0 0 30px;
  }
}
.content-section h2,
.content-section .h2 {
  font-size: 28px;
}
@media (min-width: 1024px) {
  .content-section h2,
  .content-section .h2 {
    font-size: 30px;
    margin: 0 0 20px;
  }
}
.content-section h3,
.content-section .h3 {
  font-size: 20px;
}
@media (min-width: 1024px) {
  .content-section h3,
  .content-section .h3 {
    font-size: 24px;
    margin: 0 0 20px;
  }
}
.content-section .text-frame {
  border-radius: 16px;
  background: #fef9fb;
  padding: 15px 15px 10px;
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .content-section .text-frame {
    padding: 32px 32px 10px;
    margin: 0 0 98px;
  }
}
.content-section img {
  border-radius: 12px;
  width: 100%;
}
.content-section figure {
  margin: 0 0 40px;
}
.content-section figure img {
  margin: 0 0 17px;
}
.content-section figcaption a {
  display: inline-block;
  vertical-align: top;
  position: relative;
  color: #475467;
  text-decoration: underline;
  font-size: 14px;
  padding: 0 0 0 22px;
}
.content-section figcaption a:before {
  content: "\e90d";
  color: #98A2B3;
  margin: 0 8px 0 0;
  position: absolute;
  left: 0;
  top: 4px;
}
.content-section figcaption a:hover {
  text-decoration: none;
  color: var(--grey-600);
}
.content-section blockquote {
  border-left: 2px solid var(--grey-600);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
  padding: 5px 0 5px 15px;
}
@media (min-width: 1024px) {
  .content-section blockquote {
    font-size: 24px;
    padding: 9px 0 9px 21px;
    margin: 0 0 50px;
  }
}
@media (min-width: 1440px) {
  .content-section blockquote {
    margin: 0 0 80px;
  }
}
.content-section blockquote q {
  margin: 0 0 25px;
  display: block;
}
.content-section blockquote .img-block {
  border-radius: 50%;
  overflow: hidden;
  width: 48px;
  height: 48px;
  display: block;
  border: 1px solid rgba(16, 24, 40, 0.08);
  margin: 0 12px 0 0;
}
.content-section blockquote cite {
  font-style: normal;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 16px;
  margin: 0 0 26px;
}
.content-section blockquote .author,
.content-section blockquote .subtitle {
  display: block;
  font-size: 16px;
}
.content-section blockquote .author {
  padding: 0 0 3px;
}
.content-section blockquote .author:before {
  display: none;
}
.content-section blockquote .subtitle {
  color: #475467;
}
.content-section blockquote .position {
  display: block;
  font-size: 16px;
  color: #475467;
  font-weight: normal;
}

@media (min-width: 1024px) {
  #hs_cos_wrapper_blog-listing .blogs-section {
    padding: 0 0 80px;
  }
}

.blogs-section {
  padding: 35px 0;
}
@media (min-width: 1024px) {
  .blogs-section {
    padding: 40px 0 20px;
  }
}
@media (min-width: 1440px) {
  .blogs-section {
    padding: 95px 0 60px;
  }
}
.blogs-section__wrap-block {
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .blogs-section__wrap-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
}
.blogs-section.blogs-navigation {
  padding-bottom: 0;
}
.blogs-section .categoties-list ul {
  display: flex;
  flex-wrap: wrap;
  font-weight: 600;
  font-size: 14px;
  margin: 0 -4px;
}
@media (min-width: 1024px) {
  .blogs-section .categoties-list ul {
    margin: 0 -9px;
    font-size: 16px;
  }
}
.blogs-section .categoties-list ul li {
  padding: 0 4px 10px;
}
@media (min-width: 1024px) {
  .blogs-section .categoties-list ul li {
    padding: 0 9px 15px;
  }
}
.blogs-section .categoties-list ul a {
  transition: background 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  display: block;
  padding: 6px 10px;
  border-radius: 6px;
  color: #667085;
}
@media (min-width: 1024px) {
  .blogs-section .categoties-list ul a {
    padding: 10px 14px;
  }
}
.blogs-section .categoties-list ul a.active, .blogs-section .categoties-list ul a:hover {
  background: #E6F6F2;
  color: var(--grey-700);
  text-decoration: none;
}
@media (min-width: 1024px) {
  .blogs-section .items-holder {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -16px;
  }
}
@media (min-width: 1024px) {
  .blogs-section .items-holder .main-items-column,
  .blogs-section .items-holder .latest-items-column {
    padding: 0 16px;
  }
}
.blogs-section .items-holder .main-items-column {
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .blogs-section .items-holder .main-items-column {
    width: 58%;
  }
}
@media (min-width: 768px) {
  .blogs-section .items-holder .latest-items-column {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1024px) {
  .blogs-section .items-holder .latest-items-column {
    width: 42%;
    display: block;
  }
}

.search-holder {
  position: relative;
}
@media (min-width: 1024px) {
  .search-holder {
    min-width: 320px;
    margin: 0 0 15px;
  }
}
.search-holder input {
  padding: 12px 15px 12px 40px;
}
.search-holder:before {
  content: "\e90a";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #667085;
  font-size: 16px;
}

.post-item__img-holder {
  overflow: hidden;
  border-radius: 16px;
  padding-top: 71%;
  position: relative;
}
.post-item__img-holder img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 50% 0;
}
.post-item__img-block {
  margin: 0 0 24px;
}
.post-item__text-block {
  font-size: 16px;
  color: #667085;
}
.post-item__title {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #101828;
  margin: 0 0 5px;
}
@media (min-width: 1024px) {
  .post-item__title {
    font-size: 24px;
  }
}
.post-item__title a {
  color: #101828;
}
.post-item__title a:hover {
  text-decoration: none;
  color: var(--grey-700);
}
.post-item .tags-holder {
  display: flex;
  flex-wrap: wrap;
}
.post-item .tags-holder time {
  margin: 0 0 10px;
}
.post-item .author-holder {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 13px;
}
.post-item .author-holder__img-block {
  border-radius: 50%;
  overflow: hidden;
  width: 24px;
  height: 24px;
  margin: 0 10px 0 0;
}
.post-item .author-holder__author {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: #101828;
}
.post-item time {
  display: block;
  color: #667085;
  font-size: 14px;
  position: relative;
}
.post-item time:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #667085;
  margin: 0 10px;
}

.latest-post-item {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .latest-post-item {
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .latest-post-item {
    margin: 0 0 32px;
    width: 100%;
  }
}
.latest-post-item__img-holder {
  overflow: hidden;
  border-radius: 12px;
  padding-top: 77%;
  position: relative;
}
.latest-post-item__img-block {
  width: 41%;
  padding: 0 10px 0 0;
}
@media (min-width: 1024px) {
  .latest-post-item__img-block {
    padding: 0 25px 0 0;
  }
}
.latest-post-item__img-block img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 50% 0;
}
.latest-post-item__text-block {
  width: 59%;
}
@media (min-width: 768px) {
  .latest-post-item__text-block {
    padding: 0 10px 0 0;
  }
}
@media (min-width: 1024px) {
  .latest-post-item__text-block {
    padding: 0;
  }
}
.latest-post-item__title {
  display: block;
  color: #101828;
  margin: 0 0 7px;
}
.latest-post-item__title a {
  color: #101828;
}
.latest-post-item__title a:hover {
  text-decoration: none;
  color: var(--grey-700);
}

.tags-holder ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 -4px;
}
.tags-holder ul li {
  padding: 0 4px 10px;
}
.tags-holder .badge {
  margin: 0;
  padding: 1px 10px;
}
@media (min-width: 1024px) {
  .tags-holder .badge {
    font-size: 14px;
  }
}
.tags-holder .badge.green {
  border-color: #ABEFC6;
}
.tags-holder .badge.pink {
  border-color: #FCCEEE;
}

.blog-post .tags-holder{
  margin-top: -30px;
  float: right;
}

.blog-pagination {
  padding: 10px 0;
  padding-bottom: 70px;
}
.blog-pagination .hs-pagination {
  text-align: center;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 16px;
  line-height: 1.2;
}
.blog-pagination .hs-pagination__link {
  transition: color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), background 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95), border-color 0.35s cubic-bezier(0.3, 0.86, 0.36, 0.95);
  color: #667085;
  padding: 2px;
  border-radius: 50%;
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 4px;
  border: 1px solid transparent;
}
.blog-pagination .hs-pagination__link:hover {
  text-decoration: none;
  background: var(--unity);
  border-color: var(--pulse);
  border-width: 2px;
  line-height: 15px;
  color: var(--graphite);
  margin-top: 1px;
}
.blog-pagination .hs-pagination__link--active {
  border-color: var(--pulse);
  border-width: 2px;
  color: var(--graphite);
  background: rgba(255,255,255,0);
  line-height: 15px;
}
.blog-pagination .hs-pagination__link--first, .blog-pagination .hs-pagination__link--prev, .blog-pagination .hs-pagination__link--next, .blog-pagination .hs-pagination__link--last {
  position: relative;
}
.blog-pagination .hs-pagination__link--first::after, .blog-pagination .hs-pagination__link--first::before, .blog-pagination .hs-pagination__link--last::after, .blog-pagination .hs-pagination__link--last::before {
  content: "\e900";
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: 12px;
}
.blog-pagination .hs-pagination__link--first::before, .blog-pagination .hs-pagination__link--last::before {
  margin: 0 0 0 -3px;
}
.blog-pagination .hs-pagination__link--first::after, .blog-pagination .hs-pagination__link--last::after {
  margin: 0 0 0 3px;
}
.blog-pagination .hs-pagination__link--last::after, .blog-pagination .hs-pagination__link--last::before {
  transform: translate(-50%, -50%) rotate(-90deg);
}
.blog-pagination .hs-pagination__link--first::after, .blog-pagination .hs-pagination__link--first::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.blog-pagination .hs-pagination__link--prev::before, .blog-pagination .hs-pagination__link--next::before {
  content: "\e900";
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: 12px;
}
.blog-pagination .hs-pagination__link--prev::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.blog-pagination .hs-pagination__link--next::before {
  transform: translate(-50%, -50%) rotate(-90deg);
}

.blog-pagination .hs-pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  margin: 0 4px;
  padding: 0 12px;
  font-size: 16px;
  border-radius: 9999px;
  background-color: #f9fafb;
  color: #171d1a;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  position: relative;
  box-shadow: inset 0 0 0 0px rgba(236, 72, 153, 0); /* No border initially */
  border-radius: 10px;
}

/* Hover effect — animate border inwards */
.blog-pagination .hs-pagination__link:hover {
  color: #ec4899;
  box-shadow: inset 0 0 0 2px #ec4899;
  background: var(--unity);
  border-color: rgba(255, 255, 255, .3);
  border-width: 2px;
}

/* Active page — strong border stays */
.blog-pagination .hs-pagination__link--active {
  background: linear-gradient(180deg, rgba(254, 249, 251, .4), rgba(254, 249, 251, .2));
  border: 1px solid hsla(0, 0%, 100%, .4);
  box-shadow: 6px 6px 4px rgba(0, 0, 0, .02);
  padding: 15px;
  border-radius: 8px;
}

/* Arrows (next/prev) minimal style */
.blog-pagination .hs-pagination__link--next,
.blog-pagination .hs-pagination__link--last,
.blog-pagination .hs-pagination__link--prev,
.blog-pagination .hs-pagination__link--first {
  background: transparent;
  border: none;
  color: var(--pulse);
  font-size: 20px;
  padding: 0 8px;
}

.blog-pagination .hs-pagination__link--next:hover,
.blog-pagination .hs-pagination__link--last:hover,
.blog-pagination .hs-pagination__link--prev:hover,
.blog-pagination .hs-pagination__link--first:hover {
  color: var(--graphite);
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3JzL2ljb21vb24vX3N0eWxlcy5zY3NzIiwidmVuZG9ycy9pY29tb29uL192YXJpYWJsZXMuc2NzcyIsInZlbmRvcnMvX2ZhbmN5Ym94LXN0eWxlcy5zY3NzIiwidmVuZG9ycy9fbm9ybWFsaXplLnNjc3MiLCJ2ZW5kb3JzL19zbGljay1zdHlsZXMuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJiYXNlL19mb3Jtcy5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fY29tbW9uLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLXNlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXJzLXNlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmUtc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZS1kZXZpY2Uuc2NzcyIsImNvbXBvbmVudHMvX3NvY2lhbC1wcm9vZi5zY3NzIiwiY29tcG9uZW50cy9faW50ZWdyYXRpb24tc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY3RhLXNlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX3ByaWNpbmctc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYWRkLW9ucy1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlLXRhYmxlLnNjc3MiLCJjb21wb25lbnRzL19mYXEtc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdC1pbmZvLnNjc3MiLCJjb21wb25lbnRzL190ZXN0aW1vbmlhbC1ibG9jay1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19jbGllbnRzLWluZm8tc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdHMtZm9ybS1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19jYXNlcy1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19kb3dubG9hZC1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL190ZWFtLXNlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2lubmVyLWhlcm8tc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19ibG9ncy1zZWN0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0RBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQ2pFRjtBQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7OztBQUlBO0VBQ0UsU0NqQlE7OztBRHFCVjtFQUNFLFNDckJVOzs7QUR5Qlo7RUFDRSxTQ3pCWTs7O0FENkJkO0VBQ0UsU0M3QlE7OztBRGlDVjtFQUNFLFNDakNTOzs7QURxQ1g7RUFDRSxTQ3JDVzs7O0FEeUNiO0VBQ0UsU0N6Q1c7OztBRDZDYjtFQUNFLFNDN0NXOzs7QURpRGI7RUFDRSxTQ2pEWTs7O0FEcURkO0VBQ0UsU0NyRGE7OztBRHlEZjtFQUNFLFNDekRZOzs7QUQ2RGQ7RUFDRSxTQzdEVTs7O0FEaUVaO0VBQ0UsU0NqRVc7OztBRHFFYjtFQUNFLFNDckVlOzs7QUNoQm5CO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7QUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtFQUdFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBRUE7RUFDRTtFQVFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVNGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0k7OztBQUlOO0FBRUE7RUFDRTs7O0FBR0Y7QUFFQTtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUVBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUVBO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFFQTtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUVBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTtJQUNJO0lBQ0E7O0VBR0o7SUFDSTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7OztBQVVOO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7SUFDSTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7OztBQzUzQk47QUFFQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0VBR0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtJO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUVJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUVJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUk7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUk7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUdBO0FB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Ozs7QUFPTjtFQUdFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBM0J1T0E7RTJCek9GO0lBS0k7OztBQUdGO0VBQ0UsY3BDdlNNOztBb0MwU1I7RUFDRSxjcEN0Uks7OztBb0MyUlg7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0UxQjNMRixZQUZTO0UwQmdNTCxPcEN6VEs7RW9DMFRMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQSxZcEN6VUc7RW9DMFVIO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsWXBDalZHOztBb0NvVkw7RUFJRTs7QUFLQTtFQUdFLFNsQy9YSztFa0NnWUw7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUtGO0VBRUU7O0FBS0Y7RUFFRTs7QUFNRjtFQUVFLFNsQ2phSztFa0NrYUw7RUFDQTtFQUNBO0VBQ0E7O0FBS0Y7RUFDRTs7QUFLRjtFQUNFIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGFwcGxpY2F0aW9uLXdpZGUgU2FzcyB2YXJpYWJsZXMuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8vIEJyZWFrcG9pbnRzIG1hcFxyXG4vLy8gQHByb3Age1N0cmluZ30ga2V5cyAtIEtleXMgYXJlIGlkZW50aWZpZXJzIG1hcHBlZCB0byBhIGdpdmVuIGxlbmd0aFxyXG4vLy8gQHByb3Age01hcH0gdmFsdWVzIC0gVmFsdWVzIGFyZSBhY3R1YWwgYnJlYWtwb2ludHMgZXhwcmVzc2VkIGluIHBpeGVsc1xyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ3hzLXBob25lJzogMzIwcHgsXHJcbiAgJ3Bob25lJzogNTIwcHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICdkZXNrdG9wJzogMTAyNHB4LFxyXG4gICdsYXB0b3AnOiAxNDQwcHgsXHJcbiAgJ3dpZGVzY3JlZW4nOiAxOTIwcHhcclxuKTtcclxuXHJcbi8vIGtleXdvcmRzXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuNSksIChtaW4tcmVzb2x1dGlvbjogMjQwZHBpKSdcclxuKTtcclxuXHJcblxyXG4vLyBDb2xvciBzeXN0ZW1cclxuXHJcbiR3aGl0ZTogI2ZmZjtcclxuJGJsYWNrOiAjMDAwO1xyXG4kZ3JlZW4tNzAwOiAjMDQ3NTU1O1xyXG4kZ3JlZW4tNjAwOiAjMDU5NjZEO1xyXG4kZ3JlZW4tNTAwOiAjMDVBNTc4O1xyXG4kZ3JlZW4tMjAwOiAjQUJFRkM2O1xyXG4kZ3JlZW4tNTA6ICNFNkY2RjI7XHJcbiRncmF5LTkwMDogIzEwMTgyODtcclxuJGdyYXktNzAwOiAjMzQ0MDU0O1xyXG4kZ3JheS02MDA6ICM0NzU0Njc7XHJcbiRncmF5LTY1MDogIzRFNEY2QztcclxuJGdyYXktNTAwOiAjNjY3MDg1O1xyXG4kZ3JheS00MDA6ICM5OEEyQjM7XHJcbiRncmF5LTMwMDogI0QwRDVERDtcclxuJGdyYXktMjAwOiAjRjRGNEY2O1xyXG4kZ3JheS0yNTA6ICNFQUVDRjA7XHJcbiRncmF5LTEwMDogI0Y2RjVGODtcclxuJGdyYXktMTUwOiAjRjJGNEY3O1xyXG4kZ3JheS01MDogI0Y5RkFGQjtcclxuJGdyYXktMjU6ICNGQ0ZDRkQ7XHJcbiRibHVlLTcwMDogIzE3MTkzNTtcclxuJGJsdWUtNjAwOiAjMUUyMDQ0O1xyXG4kYmx1ZS01MDA6ICMyMTIzNEI7XHJcbiRibHVlLTU1MDogIzIyMjM0QTtcclxuJGJsdWUtMTAwOiAjQkFCQkM3O1xyXG4kcGluay01MDA6ICNGOTg1Qjk7XHJcbiRwaW5rLTIwMDogI0ZDQ0VFRTtcclxuJHBpbmstMTAwOiAjRkREOUU5O1xyXG4kcGluay01MDogI0ZFRjNGODtcclxuXHJcbjpyb290IHtcclxuICAvL2NvbG9yc1xyXG4gIC0tZ3JlZW4tNzAwOiAjMDQ3NTU1O1xyXG4gIC0tZ3JlZW4tNjAwOiAjMDU5NjZEO1xyXG4gIC0tZ3JlZW4tNTAwOiAjMDVBNTc4O1xyXG4gIC0td2hpdGU6ICNmZmY7XHJcbn1cclxuXHJcblxyXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cclxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogMTUwO1xyXG5cclxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXHJcbiR5aXEtdGV4dC1kYXJrOiAkYmxhY2s7XHJcbiR5aXEtdGV4dC1saWdodDogJHdoaXRlO1xyXG5cclxuLy8gYm9keVxyXG4vL1xyXG4vLyBzZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXHJcblxyXG4kYm9keS1iZzogJHdoaXRlO1xyXG4kYm9keS1jb2xvcjogJGdyYXktNjAwO1xyXG5cclxuXHJcbiRsaW5rLWNvbG9yOiB2YXIoLS1ncmVlbi03MDApO1xyXG4kbGluay1kZWNvcmF0aW9uOiBub25lO1xyXG4kbGluay1ob3Zlci1jb2xvcjogdmFyKC0tZ3JlZW4tNzAwKTtcclxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuLy8gYm9yZGVyIHJhZGl1c1xyXG4kcm91bmRlZC1jaXJjbGU6IDUwJTtcclxuXHJcblxyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vXHJcbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxyXG5cclxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnRWxvcXVpYScsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYtc2Vjb25kYXJ5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xyXG4kYmFzZS1mb250LXBhdGg6ICcuLi9mb250cyc7XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogMS41NTtcclxuJHJlbS1iYXNlOiAxMHB4O1xyXG5cclxuXHJcbi8vIGNvbnRhaW5lciBtYXggd2lkdGgsIHVzZWQgZm9yIC5jb250YWluZXIgZWxlbWVudFxyXG4kZ3V0dGVyOiAxNXB4O1xyXG4kY29udGFpbmVyLW1heC13aWR0aDogMTE4NXB4ICsgJGd1dHRlciAqIDI7XHJcblxyXG5cclxuLy8gVmFyaWFibGVzIGZvciBAaW5jbHVkZSBmbHVpZC10eXBlIG1peGluO1xyXG4vLyBUaGlzIG1peGluIGFsbG93IGZvbnRzIHRvIGdyb3cgZnJvbSAkbWluIHZpZXdwb3J0IHdpZHRoIHRvICRtYXggdmlld3BvcnQgd2lkdGggYmV0d2VlbiBzaXplcyB0aGF0IGFyZSBwcm92aWRlZFxyXG4vL1xyXG4kZmx1aWQtbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3hzLXBob25lJyk7XHJcbiRmbHVpZC1tYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnd2lkZXNjcmVlbicpO1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW46IDEwMDtcclxuJGZvbnQtd2VpZ2h0LXVsaWdodDogMjAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQ6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZDogNzAwO1xyXG4kZm9udC13ZWlnaHQtaGVhdnk6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrOiA5MDA7XHJcblxyXG5cclxuJGZvbnQtc2l6ZXM6IDE4cHg7XHJcblxyXG4vLyBIZWFkZXJzXHJcbiRoZWFkaW5nczogKCdoMSwgLmgxJywgJ2gyLCAuaDInLCAnaDMsIC5oMycsICdoNCwgLmg0JywgJ2g1LCAuaDUnLCAnaDYsIC5oNicpO1xyXG4kaDEtZm9udC1zaXplOiAzMnB4O1xyXG4kaDItZm9udC1zaXplOiAyOHB4O1xyXG4kaDMtZm9udC1zaXplOiAyNHB4O1xyXG4kaDQtZm9udC1zaXplOiAyMHB4O1xyXG4kaDUtZm9udC1zaXplOiAxN3B4ICFkZWZhdWx0O1xyXG4kaDYtZm9udC1zaXplOiAxNXB4ICFkZWZhdWx0O1xyXG5cclxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtY29sb3I6ICRncmF5LTkwMDtcclxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4vLyBQYXJhZ3JhcGhzXHJcblxyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4vLyBCYXNlIHRyYW5zaXRpb24gZnVuY3Rpb25cclxuJHRyYW5zaXRpb24tZHVyYXRpb24tYmFzZTogMC4zNXM7XHJcbiR0cmFuc2l0aW9uLWVhc2luZy1iYXNlOiBjdWJpYy1iZXppZXIoMC4zLCAwLjg2LCAwLjM2LCAwLjk1KTtcclxuXHJcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcblxyXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0sICVpY29uIHtcclxuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xyXG4gIGZvbnQtZmFtaWx5OiAnI3skaWNvbW9vbi1mb250LWZhbWlseX0nICFpbXBvcnRhbnQ7XHJcbiAgc3BlYWs6IG5ldmVyO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG4uaWNvbi1saW5rIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAkaWNvbi1saW5rO1xyXG4gIH1cclxufVxyXG4uaWNvbi1jaGVjazEge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrMTtcclxuICB9XHJcbn1cclxuLmljb24tYXJyb3ctdXAge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwO1xyXG4gIH1cclxufVxyXG4uaWNvbi1pbmZvIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAkaWNvbi1pbmZvO1xyXG4gIH1cclxufVxyXG4uaWNvbi1jaGVjayB7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJGljb24tY2hlY2s7XHJcbiAgfVxyXG59XHJcbi5pY29uLWFycm93LWQge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWQ7XHJcbiAgfVxyXG59XHJcbi5pY29uLWFycm93LWwge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWw7XHJcbiAgfVxyXG59XHJcbi5pY29uLWFycm93LXIge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXI7XHJcbiAgfVxyXG59XHJcbi5pY29uLWZhY2Vib29rIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAkaWNvbi1mYWNlYm9vaztcclxuICB9XHJcbn1cclxuLmljb24taW5zdGFncmFtIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAkaWNvbi1pbnN0YWdyYW07XHJcbiAgfVxyXG59XHJcbi5pY29uLWxpbmtlZGluIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAkaWNvbi1saW5rZWRpbjtcclxuICB9XHJcbn1cclxuLmljb24tc2VhcmNoIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAkaWNvbi1zZWFyY2g7XHJcbiAgfVxyXG59XHJcbi5pY29uLXlvdXR1YmUge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICRpY29uLXlvdXR1YmU7XHJcbiAgfVxyXG59XHJcbi5pY29uLXBsYXktYnV0dG9uIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAkaWNvbi1wbGF5LWJ1dHRvbjtcclxuICB9XHJcbn1cclxuXHJcbiIsIiRpY29tb29uLWZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiRpY29tb29uLWZvbnQtcGF0aDogJGJhc2UtZm9udC1wYXRoO1xyXG5cclxuJGljb24tbGluazogXCJcXGU5MGRcIjtcclxuJGljb24tY2hlY2sxOiBcIlxcZTkwOVwiO1xyXG4kaWNvbi1hcnJvdy11cDogXCJcXGU5MDhcIjtcclxuJGljb24taW5mbzogXCJcXGU5MDRcIjtcclxuJGljb24tY2hlY2s6IFwiXFxlOTAzXCI7XHJcbiRpY29uLWFycm93LWQ6IFwiXFxlOTAwXCI7XHJcbiRpY29uLWFycm93LWw6IFwiXFxlOTAxXCI7XHJcbiRpY29uLWFycm93LXI6IFwiXFxlOTAyXCI7XHJcbiRpY29uLWZhY2Vib29rOiBcIlxcZTkwNVwiO1xyXG4kaWNvbi1pbnN0YWdyYW06IFwiXFxlOTA2XCI7XHJcbiRpY29uLWxpbmtlZGluOiBcIlxcZTkwN1wiO1xyXG4kaWNvbi1zZWFyY2g6IFwiXFxlOTBhXCI7XHJcbiRpY29uLXlvdXR1YmU6IFwiXFxlOTBiXCI7XHJcbiRpY29uLXBsYXktYnV0dG9uOiBcIlxcZTkwY1wiOyIsImJvZHkuY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYWN0aXZlIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1oaWRkZW4ge1xyXG4gIGxlZnQ6IC05OTk5cHg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gIHRvcDogLTk5OTlweDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jb250YWluZXIge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdG9wOiAwO1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogOTk5OTI7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jb250YWluZXIgKiB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLmZhbmN5Ym94LW91dGVyLFxyXG4uZmFuY3lib3gtaW5uZXIsXHJcbi5mYW5jeWJveC1iZyxcclxuLmZhbmN5Ym94LXN0YWdlIHtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtb3V0ZXIge1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYmcge1xyXG4gIGJhY2tncm91bmQ6IHJnYigzMCwgMzAsIDMwKTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40NywgMCwgLjc0LCAuNzEpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtYmcge1xyXG4gIG9wYWNpdHk6IC45O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIyLCAuNjEsIC4zNiwgMSk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pbmZvYmFyLFxyXG4uZmFuY3lib3gtdG9vbGJhcixcclxuLmZhbmN5Ym94LWNhcHRpb24sXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xyXG4gIGRpcmVjdGlvbjogbHRyO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLCB2aXNpYmlsaXR5IDBzIGVhc2UgLjI1cztcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgei1pbmRleDogOTk5OTc7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaG93LWluZm9iYXIgLmZhbmN5Ym94LWluZm9iYXIsXHJcbi5mYW5jeWJveC1zaG93LXRvb2xiYXIgLmZhbmN5Ym94LXRvb2xiYXIsXHJcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24sXHJcbi5mYW5jeWJveC1zaG93LW5hdiAuZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlIDBzLCB2aXNpYmlsaXR5IDBzIGVhc2UgMHM7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWluZm9iYXIge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbGVmdDogMDtcclxuICBsaW5lLWhlaWdodDogNDRweDtcclxuICBtaW4td2lkdGg6IDQ0cHg7XHJcbiAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XHJcbiAgcGFkZGluZzogMCAxMHB4O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHRvcDogMDtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRvb2xiYXIge1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXN0YWdlIHtcclxuICBkaXJlY3Rpb246IGx0cjtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgei1pbmRleDogOTk5OTQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1zdGFnZSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAvKiBVc2luZyB3aXRob3V0IHByZWZpeCB3b3VsZCBicmVhayBJRTExICovXHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICBwYWRkaW5nOiA0NHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdG9wOiAwO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDk5OTk0O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGU6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB3aWR0aDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWlzLXNsaWRpbmcgLmZhbmN5Ym94LXNsaWRlLFxyXG4uZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxyXG4uZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogNDRweCAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taHRtbCB7XHJcbiAgcGFkZGluZzogNnB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgcGFkZGluZzogNDRweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jb250ZW50IHtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjUsIDAsIC4xNCwgMSk7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIHotaW5kZXg6IDk5OTk1O1xyXG59XHJcblxyXG4uZmFuY3lib3gtY2FuLXpvb21PdXQgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gIGN1cnNvcjogem9vbS1vdXQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1jb250ZW50IHtcclxuICBjdXJzb3I6IHpvb20taW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYW4tc3dpcGUgLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1jYW4tcGFuIC5mYW5jeWJveC1jb250ZW50IHtcclxuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcclxuICBjdXJzb3I6IGdyYWI7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1ncmFiYmluZyAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xyXG4gIGN1cnNvcjogZ3JhYmJpbmc7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jb250YWluZXIgW2RhdGEtc2VsZWN0YWJsZT0ndHJ1ZSddIHtcclxuICBjdXJzb3I6IHRleHQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pbWFnZSxcclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcclxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tcGRmIC5mYW5jeWJveC1jb250ZW50LFxyXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kOiAjZTVlM2RmO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXZpZGVvLFxyXG4uZmFuY3lib3gtaWZyYW1lIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIEZpeCBpT1MgKi9cclxuLmZhbmN5Ym94LWlmcmFtZSB7XHJcbiAgbGVmdDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZXJyb3Ige1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIG1heC13aWR0aDogNDAwcHg7XHJcbiAgcGFkZGluZzogNDBweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWVycm9yIHAge1xyXG4gIGNvbG9yOiAjNDQ0O1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBsaW5lLWhlaWdodDogMjBweDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyogQnV0dG9ucyAqL1xyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAuNik7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGhlaWdodDogNDRweDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgdmlzaWJpbGl0eTogaW5oZXJpdDtcclxuICB3aWR0aDogNDRweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbixcclxuLmZhbmN5Ym94LWJ1dHRvbjp2aXNpdGVkLFxyXG4uZmFuY3lib3gtYnV0dG9uOmxpbmsge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbjpmb2N1cyB7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi5mYW5jeWJveC1mb2N1cyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF0sXHJcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcclxuICBjb2xvcjogIzg4ODtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLyogRml4IElFMTEgKi9cclxuLmZhbmN5Ym94LWJ1dHRvbiBkaXYge1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbiBzdmcge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b24gc3ZnIHBhdGgge1xyXG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICBzdHJva2Utd2lkdGg6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXBsYXkgc3ZnOm50aC1jaGlsZCgyKSxcclxuLmZhbmN5Ym94LWJ1dHRvbi0tZnNlbnRlciBzdmc6bnRoLWNoaWxkKDIpIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZSBzdmc6bnRoLWNoaWxkKDEpLFxyXG4uZmFuY3lib3gtYnV0dG9uLS1mc2V4aXQgc3ZnOm50aC1jaGlsZCgxKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXByb2dyZXNzIHtcclxuICBiYWNrZ3JvdW5kOiAjZmY1MjY4O1xyXG4gIGhlaWdodDogMnB4O1xyXG4gIGxlZnQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDA7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICB6LWluZGV4OiA5OTk5ODtcclxufVxyXG5cclxuLyogQ2xvc2UgYnV0dG9uIG9uIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIGh0bWwgY29udGVudCAqL1xyXG5cclxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBjb2xvcjogI2NjYztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgb3BhY2l0eTogLjg7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogLTEycHg7XHJcbiAgdG9wOiAtNDRweDtcclxuICB6LWluZGV4OiA0MDE7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1odG1sIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZS5mYW5jeWJveC1pcy1zY2FsaW5nIC5mYW5jeWJveC1jb250ZW50IHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtc2NhbGluZyAuZmFuY3lib3gtY2xvc2Utc21hbGwsXHJcbi5mYW5jeWJveC1pcy16b29tYWJsZS5mYW5jeWJveC1jYW4tcGFuIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogTmF2aWdhdGlvbiBhcnJvd3MgKi9cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IGNhbGMoNTAlIC0gNTBweCk7XHJcbiAgd2lkdGg6IDcwcHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24gZGl2IHtcclxuICBwYWRkaW5nOiA3cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X2xlZnQge1xyXG4gIGxlZnQ6IDA7XHJcbiAgbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcclxuICBwYWRkaW5nOiAzMXB4IDI2cHggMzFweCA2cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcclxuICBwYWRkaW5nOiAzMXB4IDZweCAzMXB4IDI2cHg7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xyXG59XHJcblxyXG4vKiBDYXB0aW9uICovXHJcblxyXG4uZmFuY3lib3gtY2FwdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCxcclxuICAgICAgcmdiYSgwLCAwLCAwLCAuODUpIDAlLFxyXG4gICAgICByZ2JhKDAsIDAsIDAsIC4zKSA1MCUsXHJcbiAgICAgIHJnYmEoMCwgMCwgMCwgLjE1KSA2NSUsXHJcbiAgICAgIHJnYmEoMCwgMCwgMCwgLjA3NSkgNzUuNSUsXHJcbiAgICAgIHJnYmEoMCwgMCwgMCwgLjAzNykgODIuODUlLFxyXG4gICAgICByZ2JhKDAsIDAsIDAsIC4wMTkpIDg4JSxcclxuICAgICAgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcclxuICBib3R0b206IDA7XHJcbiAgY29sb3I6ICNlZWU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGVmdDogMDtcclxuICBsaW5lLWhlaWdodDogMS41O1xyXG4gIHBhZGRpbmc6IDc1cHggNDRweCAyNXB4IDQ0cHg7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHotaW5kZXg6IDk5OTk2O1xyXG59XHJcblxyXG4vLyBAc3VwcG9ydHMgKHBhZGRpbmc6IG1heCgwcHgpKSB7XHJcbi8vICAgLmZhbmN5Ym94LWNhcHRpb24ge1xyXG4vLyAgICAgICBwYWRkaW5nOiA3NXB4IG1heCg0NHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgbWF4KDI1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSkgbWF4KDQ0cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24tLXNlcGFyYXRlIHtcclxuICBtYXJnaW4tdG9wOiAtNTBweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb25fX2JvZHkge1xyXG4gIG1heC1oZWlnaHQ6IDUwdmg7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24gYSxcclxuLmZhbmN5Ym94LWNhcHRpb24gYTpsaW5rLFxyXG4uZmFuY3lib3gtY2FwdGlvbiBhOnZpc2l0ZWQge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24gYTpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXHJcblxyXG4uZmFuY3lib3gtbG9hZGluZyB7XHJcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgMXMgbGluZWFyIGluZmluaXRlO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogNHB4IHNvbGlkICM4ODg7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW46IC0yNXB4IDAgMCAtMjVweDtcclxuICBvcGFjaXR5OiAuNztcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICB3aWR0aDogNTBweDtcclxuICB6LWluZGV4OiA5OTk5OTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xyXG4gIDEwMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXHJcblxyXG4uZmFuY3lib3gtYW5pbWF0ZWQge1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgLjI1LCAxKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogc2xpZGUgKi9cclxuXHJcbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogZmFkZSAqL1xyXG5cclxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxyXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHpvb20taW4tb3V0ICovXHJcblxyXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUzZCguNSwgLjUsIC41KTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogcm90YXRlICovXHJcblxyXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgb3BhY2l0eTogMTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbn1cclxuXHJcbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGNpcmN1bGFyICovXHJcblxyXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgb3BhY2l0eTogMTtcclxuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbn1cclxuXHJcbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHR1YmUgKi9cclxuXHJcbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoLjEpIHNrZXcoLTEwZGVnKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoLjEpIHNrZXcoMTBkZWcpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcclxufVxyXG5cclxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1heC1oZWlnaHQ6IDU3NnB4KSB7XHJcbiAgLmZhbmN5Ym94LXNsaWRlIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcclxuICB9XHJcblxyXG4gIC5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xyXG4gICAgICBwYWRkaW5nOiA2cHggMDtcclxuICB9XHJcblxyXG4gIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgICAgIHJpZ2h0OiAtNnB4O1xyXG4gIH1cclxuXHJcbiAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjNGU0ZTRlO1xyXG4gICAgICBjb2xvcjogI2YyZjRmNjtcclxuICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHdpZHRoOiAzNnB4O1xyXG4gIH1cclxuXHJcbiAgLmZhbmN5Ym94LWNhcHRpb24ge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XHJcbiAgfVxyXG5cclxuICAvLyBAc3VwcG9ydHMgKHBhZGRpbmc6IG1heCgwcHgpKSB7XHJcbiAgLy8gICAgIC5mYW5jeWJveC1jYXB0aW9uIHtcclxuICAvLyAgICAgICAgIHBhZGRpbmctbGVmdDogbWF4KDEycHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xyXG4gIC8vICAgICAgICAgcGFkZGluZy1yaWdodDogbWF4KDEycHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcclxuICAvLyAgICAgfVxyXG4gIC8vIH1cclxufVxyXG4vKiBTaGFyZSAqL1xyXG5cclxuLmZhbmN5Ym94LXNoYXJlIHtcclxuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBtYXgtd2lkdGg6IDkwJTtcclxuICBwYWRkaW5nOiAzMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlIGgxIHtcclxuICBjb2xvcjogIzIyMjtcclxuICBmb250LXNpemU6IDM1cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBtYXJnaW46IDAgMCAyMHB4IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZSBwIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24ge1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gIG1hcmdpbjogMCA1cHggMTBweCA1cHg7XHJcbiAgbWluLXdpZHRoOiAxMzBweDtcclxuICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjp2aXNpdGVkLFxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjpsaW5rIHtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246aG92ZXIge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIHtcclxuICBiYWNrZ3JvdW5kOiAjM2I1OTk4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tZmI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICMzNDRlODY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdCB7XHJcbiAgYmFja2dyb3VuZDogI2JkMDgxZDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0OmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjYWEwNzE5O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHcge1xyXG4gIGJhY2tncm91bmQ6ICMxZGExZjI7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dzpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogIzBkOTVlODtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTFweDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHdpZHRoOiAyNXB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcgcGF0aCB7XHJcbiAgZmlsbDogI2ZmZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19pbnB1dCB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDdkN2Q3O1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgY29sb3I6ICM1ZDViNWI7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG1hcmdpbjogMTBweCAwIDAgMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4vKiBUaHVtYnMgKi9cclxuXHJcbi5mYW5jeWJveC10aHVtYnMge1xyXG4gIGJhY2tncm91bmQ6ICNkZGQ7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxuICBwYWRkaW5nOiAycHggMnB4IDRweCAycHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDIxMnB4O1xyXG4gIHotaW5kZXg6IDk5OTk1O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXgge1xyXG4gIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xyXG4gIHJpZ2h0OiAyMTJweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCB7XHJcbiAgZm9udC1zaXplOiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy14IC5mYW5jeWJveC10aHVtYnNfX2xpc3Qge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMteSAuZmFuY3lib3gtdGh1bWJzX19saXN0Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgd2lkdGg6IDdweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15IC5mYW5jeWJveC10aHVtYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIC4zKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15IC5mYW5jeWJveC10aHVtYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICBiYWNrZ3JvdW5kOiAjMmEyYTJhO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnNfX2xpc3QgYSB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjEpO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmbG9hdDogbGVmdDtcclxuICBoZWlnaHQ6IDc1cHg7XHJcbiAgbWFyZ2luOiAycHg7XHJcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gOHB4KTtcclxuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gNHB4KTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB3aWR0aDogMTAwcHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnNfX2xpc3QgYTo6YmVmb3JlIHtcclxuICBib3JkZXI6IDZweCBzb2xpZCAjZmY1MjY4O1xyXG4gIGJvdHRvbTogMDtcclxuICBjb250ZW50OiAnJztcclxuICBsZWZ0OiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpO1xyXG4gIHotaW5kZXg6IDk5OTkxO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGE6Zm9jdXM6OmJlZm9yZSB7XHJcbiAgb3BhY2l0eTogLjU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnNfX2xpc3QgYS5mYW5jeWJveC10aHVtYnMtYWN0aXZlOjpiZWZvcmUge1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDU3NnB4KSB7XHJcbiAgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgICAgIHdpZHRoOiAxMTBweDtcclxuICB9XHJcblxyXG4gIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xyXG4gICAgICByaWdodDogMTEwcHg7XHJcbiAgfVxyXG5cclxuICAuZmFuY3lib3gtdGh1bWJzX19saXN0IGEge1xyXG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xyXG4gIH1cclxufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xyXG4gICAgLyogMSAqL1xyXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG4gICAgLyogMiAqL1xyXG59XHJcblxyXG4vKiBTZWN0aW9uc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG5ib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLyoqXHJcbiAgICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXHJcbiAgICovXHJcblxyXG5tYWluIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuXHJcbmgxIHtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gICAqL1xyXG5cclxuaHIge1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAvKiAxICovXHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICAvKiAxICovXHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG5wcmUge1xyXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xyXG4gICAgLyogMSAqL1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAvKiAyICovXHJcbn1cclxuXHJcbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICAgKi9cclxuXHJcbmEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuXHJcbmFiYnJbdGl0bGVdIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAvKiAxICovXHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIC8qIDIgKi9cclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcclxuICAgIC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG4vKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbmNvZGUsXHJcbmtiZCxcclxuc2FtcCB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XHJcbiAgICAvKiAxICovXHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG5zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLyoqXHJcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAgICogYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuc3ViLFxyXG5zdXAge1xyXG4gICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuc3VwIHtcclxuICAgIHRvcDogLTAuNWVtO1xyXG59XHJcblxyXG4vKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXHJcbiAgICovXHJcblxyXG5pbWcge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAgICovXHJcblxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5vcHRncm91cCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIC8qIDEgKi9cclxuICAgIGZvbnQtc2l6ZTogMTAwJTtcclxuICAgIC8qIDEgKi9cclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xyXG4gICAgLyogMSAqL1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICAgKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gICAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCB7XHJcbiAgICAvKiAxICovXHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXHJcbiAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gICAqL1xyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gICAgLyogMSAqL1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gICAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgICovXHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxufVxyXG5cclxuLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICAgKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICAgKi9cclxuXHJcbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcclxuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcclxufVxyXG5cclxuLyoqXHJcbiAgICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gICAqL1xyXG5cclxuZmllbGRzZXQge1xyXG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xyXG59XHJcblxyXG4vKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG5sZWdlbmQge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC8qIDEgKi9cclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgLyogMiAqL1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAvKiAxICovXHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAvKiAxICovXHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLyogMyAqL1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIC8qIDEgKi9cclxufVxyXG5cclxuLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICAgKi9cclxuXHJcbnByb2dyZXNzIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcbiAgICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXHJcbiAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gICAqL1xyXG5cclxuW3R5cGU9XCJjaGVja2JveFwiXSxcclxuW3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAgICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuICAgIC8qIDEgKi9cclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG4gICAgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAgICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gICAqL1xyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxuICAgIC8qIDEgKi9cclxuICAgIGZvbnQ6IGluaGVyaXQ7XHJcbiAgICAvKiAyICovXHJcbn1cclxuXHJcbi8qIEludGVyYWN0aXZlXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICAgKi9cclxuXHJcbmRldGFpbHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbn1cclxuXHJcbi8qIE1pc2NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxyXG4gICAqL1xyXG5cclxudGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXHJcbiAgICovXHJcblxyXG5baGlkZGVuXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiLyogU2xpY2sgc2xpZGVyIHN0eWxlcyAqL1xyXG5cclxuLnNvY2lhbC1wcm9vZi1zbGlkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xyXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5zbGljay1saXN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gICAgJi5kcmFnZ2luZyB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGN1cnNvcjogaGFuZDtcclxuICAgIH1cclxufVxyXG5cclxuLnNvY2lhbC1wcm9vZi1zbGlkZXIgLnNsaWNrLXRyYWNrLFxyXG4uc29jaWFsLXByb29mLXNsaWRlciAuc2xpY2stbGlzdCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG59XHJcblxyXG4uc2xpY2stdHJhY2sge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGljay1zbGlkZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBbZGlyPVwicnRsXCJdICYge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJi5kcmFnZ2luZyBpbWcge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoaXMgZmlsZSBjb250YWlucyB2ZXJ5IGJhc2ljIHN0eWxlcy5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8qKlxyXG4gKiBTZXQgdXAgYSBkZWNlbnQgYm94IG1vZGVsIG9uIHRoZSByb290IGVsZW1lbnRcclxuICovXHJcblxyXG5odG1sIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1ha2UgYWxsIGVsZW1lbnRzIGZyb20gdGhlIERPTSBpbmhlcml0IGZyb20gdGhlIHBhcmVudCBib3gtc2l6aW5nXHJcbiAqIFNpbmNlIGAqYCBoYXMgYSBzcGVjaWZpY2l0eSBvZiAwLCBpdCBkb2VzIG5vdCBvdmVycmlkZSB0aGUgYGh0bWxgIHZhbHVlXHJcbiAqIG1ha2luZyBhbGwgZWxlbWVudHMgaW5oZXJpdGluZyBmcm9tIHRoZSByb290IGJveC1zaXppbmcgdmFsdWVcclxuICogU2VlOiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cclxuICovXHJcblxyXG4qLFxyXG4qOmJlZm9yZSxcclxuKjphZnRlciB7XHJcbiAgYm94LXNpemluZzogaW5oZXJpdDtcclxufVxyXG5cclxuXHJcbmltZyB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59IiwiLmFjY2Vzc2liaWxpdHl7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC0xMDAwMHB4O1xyXG4gIHRvcDogYXV0bztcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5hY2Nlc3NpYmlsaXR5OmZvY3Vze1xyXG4gIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4laGlkZGVuIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogLTk5OTlweDtcclxuICB0b3A6IGF1dG87XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaGlkZGVuIHtcclxuICBAZXh0ZW5kICVoaWRkZW47XHJcbn1cclxuXHJcbiVsaXN0cmVzZXQge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbiVjbGVhcmZpeCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4uY2xlYXJmaXgge1xyXG4gIEBleHRlbmQgJWNsZWFyZml4O1xyXG59XHJcblxyXG4ldHJhbnNpdGlvbiB7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbiVyZXNldEJ1dHRvbiB7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICBib3JkZXI6IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnJlc2V0QnV0dG9uIHtcclxuICBAZXh0ZW5kICVyZXNldEJ1dHRvbjtcclxufVxyXG4iLCJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHR5cG9ncmFwaHkgc3R5bGVzLlxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLypcclxuICBTZXQgdXAgYSBkZWNlbnQgYm94IG1vZGVsIG9uIHRoZSByb290IGVsZW1lbnRcclxuKi9cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xyXG59XHJcblxyXG4vKlxyXG4gIEJhc2ljIHR5cG9ncmFwaHkgc3R5bGUgZm9yIGNvcHkgdGV4dFxyXG4qL1xyXG5ib2R5IHtcclxuICBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4gIGZvbnQtc2l6ZTokZm9udC1zaXplcztcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKlxyXG4gIEJhc2ljIHN0eWxlcyBmb3IgbGlua3NcclxuKi9cclxuYSB7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvcik7XHJcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XHJcbiAgfVxyXG59XHJcblxyXG51bCxcclxub2wsXHJcbmRsLFxyXG5wIHtcclxuICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbn1cclxuXHJcbm9sIHtcclxuICBwYWRkaW5nOiAwIDAgMCAyN3B4O1xyXG59XHJcblxyXG4jeyRoZWFkaW5nc30sXHJcbi5oIHtcclxuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XHJcbiAgbWFyZ2luOiAwIDAgMC41ZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xyXG5cclxuICAuYmctYmxhY2sgJiB7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JheS1saWdodCk7XHJcbiAgfVxyXG59XHJcblxyXG5oMSxcclxuLmgxIHtcclxuICBmb250LXNpemU6ICRoMS1mb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICBtYXJnaW46IDAgMCAyMHB4O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgbWFyZ2luOiAwIDAgMjVweDtcclxuICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICB9XHJcbn1cclxuXHJcbmgyLFxyXG4uaDIge1xyXG4gIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogMS4yNTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICB9XHJcbn1cclxuXHJcbmgzLFxyXG4uaDMge1xyXG4gIGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogMS4yMjtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICB9XHJcbn1cclxuXHJcbmg0LFxyXG4uaDQge1xyXG4gIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogMS4yNztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICB9XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGFwcGxpY2F0aW9uLXdpZGUgU2FzcyBtaXhpbnMuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gLS1cclxuLy8gIEBwYXJhbSB7JGZvbnRmYW1pbHl9IC0gZm9udCBmYW1pbHkgbmFtZVxyXG4vLyAgQHBhcmFtIHskZmlsZW5hbWV9IC0gZmlsZSBuYW1lIGluICdmb250cycgZm9sZGVyIChlLmcuIG15LXdlYi1mb250LndvZmYpXHJcbi8vICBAcGFyYW0geyRmb250d2VpZ2h0fSAtIEBkZWZhdWx0OiBub3JtYWw7XHJcbi8vICBAcGFyYW0geyRmb250c3R5bGV9IC0gQGRlZmF1bHQ6IG5vcm1hbDtcclxuLy9cclxuLy8gIE5PVEU6IHVzZWQgb25seSB3b2ZmLCBiZWNhdXNlIGluIHN1cHBvcnRlZCBpbiBhbGwgYnJvd3NlcnM6XHJcbi8vIC0tXHJcblxyXG5AbWl4aW4gZm9udGZhY2UoJGZvbnRmYW1pbHksICRmaWxlbmFtZSwgJGZvbnR3ZWlnaHQ6IG5vcm1hbCwgJGZvbnRzdHlsZTogbm9ybWFsKSB7XHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRmYW1pbHk7XHJcbiAgICBzcmM6IHVybCgnI3skYmFzZS1mb250LXBhdGh9LyN7JGZpbGVuYW1lfS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnR3ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkZm9udHN0eWxlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS1cclxuXHJcbi8vICBAcGFyYW0geyRtaW4tZm9udC1zaXplfSAtIG1pbmltdW0gZm9udCBzaXplIChpbiBQWClcclxuLy8gIEBwYXJhbSB7JG1heC1mb250LXNpemV9IC0gbWF4aW11bSBmb250IHNpemUgKGluIFBYKVxyXG4vLyAgQHBhcmFtIHskbWluLXZ3fSAtIG1pbmltdW0gdmlld3BvcnQgd2hlcmUgbWluaW11bSBmb250IHNpemUgYmVjb21lIGZpeGVkIEBkZWZhdWx0OiAkZmx1aWQtbWluO1xyXG4vLyAgQHBhcmFtIHskbWF4LXZ3fSAtIG1heGltdW0gdmlld3BvcnQgd2hlcmUgbWF4aW11bSBmb250IHNpemUgYmVjb21lIGZpeGVkIEBkZWZhdWx0OiAkZmx1aWQtbWF4O1xyXG4vL1xyXG4vLyAgaDEge1xyXG4vLyAgICBAaW5jbHVkZSBmbHVpZC10eXBlKDEycHgsIDI0cHgpO1xyXG4vLyAgfVxyXG4vL1xyXG4vLyAgTk9URTpcclxuLy9cclxuLy8gIEltcG9ydGFudDogYWxsIHZhbHVlcyBzaG91bGQgYmUgaW4gc2FtZSB1bml0cyAocHgsIHJlbSwgZW0pXHJcbi8vXHJcbi8vICBoMiB7XHJcbi8vICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoMnJlbSwgNHJlbSwgMzJyZW0sIDE5MHJlbSk7XHJcbi8vICB9XHJcbi8vXHJcbi8vICBUaGlzIGZvbnQgd29yazo7XHJcbi8vXHJcbi8vICBoMiB7XHJcbi8vICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoMnJlbSwgNGVtLCAzMjBweCwgMTkyMHB4KTtcclxuLy8gIH1cclxuXHJcbi8vIC0tXHJcblxyXG5cclxuQG1peGluIGZsdWlkLXR5cGUoJG1pbi1mb250LXNpemUsICRtYXgtZm9udC1zaXplLCAkbWluLXZ3OiAkZmx1aWQtbWluLCAkbWF4LXZ3OiAkZmx1aWQtbWF4KSB7XHJcbiAgJHVuaXQxOiB1bml0KCRtaW4tdncpO1xyXG4gICR1bml0MjogdW5pdCgkbWF4LXZ3KTtcclxuICAkdW5pdDM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xyXG4gICR1bml0NDogdW5pdCgkbWF4LWZvbnQtc2l6ZSk7XHJcbiAgJG11bHRpcGxpZXI6IHN0cmlwLXVuaXQoJG1heC1mb250LXNpemUgLSAkbWluLWZvbnQtc2l6ZSk7XHJcblxyXG4gIEBpZiAkdW5pdDMgPT0gJ3JlbScgYW5kICR1bml0NCA9PSAncmVtJyB7XHJcbiAgICAkbXVsdGlwbGllcjogc3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKSAqIHN0cmlwLXVuaXQoJHJlbS1iYXNlKTtcclxuICB9XHJcblxyXG4gIGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi12dykge1xyXG4gICAgZm9udC1zaXplOiBjYWxjKCN7JG1pbi1mb250LXNpemV9ICsgI3skbXVsdGlwbGllcn0gKiAoKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSkpO1xyXG4gIH1cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XHJcbiAgICBmb250LXNpemU6ICRtYXgtZm9udC1zaXplO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBtYWtlLWVtYmVkKCRtYXApIHtcclxuICAkcmF0aW8teDogbnRoKCRtYXAsIDEpO1xyXG4gICRyYXRpby15OiBudGgoJG1hcCwgMik7XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRyYXRpby15IC8gJHJhdGlvLXgpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIE1peGluIGhlbHBpbmcgZGVmaW5pbmcgYm90aCBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBzaW11bHRhbmVvdXNseS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkd2lkdGggLSBFbGVtZW504oCZcyBgd2lkdGhgXHJcbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGhlaWdodCAoJHdpZHRoKSAtIEVsZW1lbnTigJlzIGBoZWlnaHRgXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMTBlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5iYXIge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMTAwJSwgMTBlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIHdpZHRoOiAxMGVtO1xyXG4vLy8gICAgIGhlaWdodDogMTBlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmJhciB7XHJcbi8vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xyXG4vLy8gICB9XHJcbi8vL1xyXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG59XHJcblxyXG4vLy8gZm9udC1zbW90aGluZ1xyXG4vLy8gQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xyXG4vLy8gQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob2ZmKTtcclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogb24pIHtcclxuICBAaWYgJHZhbHVlID09IG9uIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICB9IEBlbHNlIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cclxuLy8vXHJcbi8vLyBAbGluayBodHRwOi8vemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcclxuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG5AbWl4aW4gaGlkZS10ZXh0IHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtaW5kZW50OiAxMDElO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8vLyBBbmltYXRlIGNzcyBwcm9wZXJ0aWVzXHJcbi8vIHVzYWdlXHJcbi8vIHNjc3MgLSBAaW5jbHVkZSBhbmltYXRlKGNvbG9yKTtcclxuLy8gICAgIG9yIEBpbmNsdWRlIGFuaW1hdGUoY29sb3Igd2lkdGgpO1xyXG4vLyAgICAgb3IgQGluY2x1ZGUgYW5pbWF0ZShjb2xvciB3aWR0aCwgMXMsIGxpbmVhcik7XHJcbi8vXHJcbiRhbmltYXRpb24tc3BlZWQ6IDAuM3MgIWRlZmF1bHQ7XHJcbiR0cmFuc2l0aW9uLWR1cmF0aW9uLWJhc2U6IGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMsICRkdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24tYmFzZSwgJGVhc2luZzogJHRyYW5zaXRpb24tZWFzaW5nLWJhc2UpIHtcclxuICAkbGlzdDogKCk7XHJcbiAgQGVhY2ggJHByb3AgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgJHN0cjogI3skcHJvcH0gI3skZHVyYXRpb259ICN7JGVhc2luZ307XHJcbiAgICAkbGlzdDogam9pbigkbGlzdCwgI3skc3RyfSwgY29tbWEpO1xyXG4gIH1cclxuICB0cmFuc2l0aW9uOiAkbGlzdDtcclxufVxyXG5cclxuLy8vIE1peGluIGZvciBzdHlsaW5nIGZvcm0tcGxhY2Vob2xkZXJzXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xyXG4vLy8gICAgY29sb3I6ICMzMzM7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGlucHV0W3R5cGU9J3RleHQnXSxcclxuLy8vICAgaW5wdXRbdHlwZT0ndGVsJ10sXHJcbi8vLyAgIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xyXG4vLy8gICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcclxuLy8vICAgICAgY29sb3I6IHJlZDtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRm9udC1zaXplIHB4IHRvIHJlbSBjYWxjXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vIHNlbGVjdG9yIHtcclxuLy8vICAgIEBpbmNsdWRlIHJlbS1mb250LXNpemUoMTZweCk7XHJcbi8vLyB9XHJcblxyXG5AbWl4aW4gcmVtLWZvbnQtc2l6ZSgkcHgtc2l6ZSkge1xyXG4gIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXHJcbiAgZm9udC1zaXplOiAkcHgtc2l6ZTtcclxuICBmb250LXNpemU6ICgkcHgtc2l6ZSAvIDEwcHgpICsgcmVtO1xyXG59XHJcblxyXG5cclxuQGZ1bmN0aW9uIHVybC1mcmllbmRseS1jb2xvdXIoJGhleC1iZy1jb2xvcikge1xyXG4gIEByZXR1cm4gJyUyMycgKyBzdHItc2xpY2UoJyN7JGhleC1iZy1jb2xvcn0nLCAyLCAtMSk7XHJcbn1cclxuXHJcbkBtaXhpbiBjaGV2cm9uLXJpZ2h0KCRjb2xvcikge1xyXG4gICRiZzogc3RyLXJlcGxhY2UoJGNvbG9yLCAnIycsICcnKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNjQwIDY0MCclM0UgJTNDcGF0aCBmaWxsPScje3VybC1mcmllbmRseS1jb2xvdXIoJGNvbG9yKX0nIGQ9J00yNDAuNzA4IDE3LjQ4OWMyMy4wNjMgMjIuNTEyIDI0OC4zOTUgMjU5LjA0NCAyNDguMzk1IDI1OS4wNDQgMTIuMzA0IDEyLjA4MyAxOC40ODQgMjcuODA4IDE4LjQ4NCA0My41MzNzLTYuMTc5IDMxLjQ0OS0xOC40ODQgNDMuNDIyYzAgMC0yMjUuMzMzIDIzNi42NDQtMjQ4LjM5NSAyNTkuMDQ0LTIzLjA2MyAyMi41MTItNjQuNTU0IDI0LjA1Ni04OS4xMDcgMC0yNC42MDctMjMuOTQ2LTI2LjUzOS01Ny40MzYgMC04Ni44NDVsMjA2LjczOS0yMTUuNjIyLTIwNi43MzktMjE1LjYyM2MtMjYuNTM5LTI5LjQwOS0yNC42MDgtNjIuOTU0IDAtODYuOTU1IDI0LjU1Mi0yNC4wNTYgNjYuMDQ0LTIyLjU2NyA4OS4xMDcgMHonJTNFJTNDL3BhdGglM0UgJTNDL3N2ZyUzRVwiKTtcclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHNlbGVjdG9yLW1heC1jb21wb3VuZC1zZWxlY3RvcnNcclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGZvcm0gZWxlbWVudHMgb2YgdGhlIHNpdGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmlucHV0W3R5cGU9J3RleHQnXSxcclxuaW5wdXRbdHlwZT0nZW1haWwnXSxcclxuaW5wdXRbdHlwZT0ndGVsJ10sXHJcbmlucHV0W3R5cGU9J3NlYXJjaCddLFxyXG50ZXh0YXJlYSB7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtaW4td2lkdGg6IDA7XHJcbiAgcGFkZGluZzogMS4ycmVtIDIuNHJlbTtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoJGdyYXktOTAwLCAwLjA1KTtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGNvbG9yOiAkZ3JheS01MDA7XHJcblxyXG4gICY6Zm9jdXMsXHJcbiAgJjpob3ZlciB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5ocy1mb3JtIHtcclxuICAmLmhzLWZvcm0ge1xyXG4gICAgLmZvcm0tY29sdW1ucy0xLFxyXG4gICAgLmZvcm0tY29sdW1ucy0yIHtcclxuICAgICAgLmlucHV0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1jb2x1bW5zLTIge1xyXG4gICAgICBtYXJnaW46IDAgLTVweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgICAgICBtYXJnaW46IDAgLTE2cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5maWVsZCB7XHJcbiAgICAgICAgcGFkZGluZzogMCA1cHggMjdweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xyXG4gICAgICAgICAgcGFkZGluZzogMCAxNnB4IDI3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tY29sdW1ucy0xIHtcclxuICAgICAgLmZpZWxkIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMjdweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgICYuaHMtaW5wdXQge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxMjhweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5oc19lbWFpbCB7XHJcbiAgICAgICAgJi5oc19lbWFpbCB7XHJcbiAgICAgICAgICAuaHMtaW5wdXQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXRzLWxpc3Qge1xyXG4gICAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmhzLWVycm9yLW1zZ3Mge1xyXG4gICAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAwO1xyXG5cclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBjb2xvcjogJHBpbmstNTAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhzX3Bob25lIHtcclxuICAgICAgc2VsZWN0IHtcclxuICAgICAgICBwYWRkaW5nOiA5cHggMCA5cHggNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBoZWlnaHQ6IDQycHg7XHJcblxyXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kIGNvbG9yKTtcclxuXHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLTYwMCk7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZWVuLTYwMCk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhzX2dvZGthbm5lcG9zdCB7XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS03MDA7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIG1hcmdpbjogMCAwIDlweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgdGV4dGFyZWEsXHJcbiAgICBpbnB1dCxcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBjb2xvcjogJGdyYXktNTAwO1xyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDExcHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICYuaW52YWxpZCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcGluay01MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHNpdGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuYm9keSB7XHJcbiAgJi5uYXYtYWN0aXZlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4ucmVzaXplLWFjdGl2ZSB7XHJcbiAgKiB7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTEwMDtcclxuICBwYWRkaW5nOiAxN3B4IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDUwO1xyXG5cclxuICAubGlua3MtaG9sZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2ctaW4tbGluayB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgbWFyZ2luOiAwIDE1cHggMTVweCAwO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS02MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICBtYXJnaW46IDAgMTVweCAxNXB4IDA7XHJcbiAgICAgIHBhZGRpbmc6IDlweCAxOHB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAwIDExcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tZW51LWRyb3Age1xyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQwcHgpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICB9XHJcblxyXG4gIC5uYXYtYWN0aXZlICYge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZHJvcC1ob2xkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXZiYXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbn1cclxuXHJcbi5tYWluLW5hdiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIG1hcmdpbjogMCBhdXRvIDAgMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgIG1hcmdpbjogMCBhdXRvIDAgNDhweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgPiB1bCB7XHJcbiAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcblxyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+YSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgY29sb3I6ICRncmF5LTYwMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaGFzLWRyb3AtZG93bi1hIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMjVweCAwIDA7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSk7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWljb247XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhhcy1kcm9wLWRvd24ge1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAuc2xpZGUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oYXMtZHJvcC1kb3duLWEge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuaGFzLWRyb3AtZG93bi1hIHtcclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zbGlkZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgY29sb3I6ICRncmF5LTUwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgdmlzaWJpbGl0eSk7XHJcblxyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDEwMSU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgYm94LXNoYWRvdzogMCAxMnB4IDE2cHggLTRweCByZ2JhKCRncmF5LTkwMCwgMC4wOCksIDAgNHB4IDZweCAtMnB4IHJnYmEoJGdyYXktOTAwLCAwLjAzKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2hvbGRlci1ibG9jayB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgIEBleHRlbmQgJWxpc3RyZXNldDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xyXG4gICAgICAgIHdpZHRoOiA3NiU7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDQ4cHggMTJweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xyXG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDQwcHg7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmltZy1pY29uIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkZ3JheS05MDA7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTYwMCk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYXJkLWhvbGRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS01MDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDI1cHggMjVweCAxcHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIHdpZHRoOiAyNCU7XHJcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAxMHB4IDMycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcmlnaHQ6IC05OTk5cHg7XHJcbiAgICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LTUwO1xyXG4gICAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnZpZGVvLWNhcmQge1xyXG4gICAgbWF4LXdpZHRoOiAzNTBweDtcclxuICB9XHJcbn1cclxuXHJcbi52aWRlby1jYXJkIHtcclxuICBhIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAudmlkZW8tY2FyZF9fdGV4dC1ibG9jayxcclxuICAgICAgLnZpZGVvLWNhcmRfX3RpdGxlLFxyXG4gICAgICAuaWNvbi1wbGF5LWJ1dHRvbiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTYwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ltYWdlLWJsb2NrIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNTclO1xyXG4gICAgbWFyZ2luOiAwIDAgMjJweDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190ZXh0LWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IpO1xyXG4gICAgY29sb3I6ICRncmF5LTUwMDtcclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IpO1xyXG4gICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbiAgfVxyXG5cclxuICAuaWNvbi1wbGF5LWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIGNvbG9yOiByZ2JhKCRibGFjaywgMC4yKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMTJweDtcclxuICAgIGxlZnQ6IDEycHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwIDAgMCAycHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXYtb3BlbmVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogcmVtLWNhbGMoMzVweCk7XHJcbiAgaGVpZ2h0OiByZW0tY2FsYygyMHB4KTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDIwcHg7XHJcbiAgdG9wOiAxOHB4O1xyXG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSxcclxuICAmOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSk7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSxcclxuICAmOjphZnRlcixcclxuICBzcGFuIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiByZW0tY2FsYygxcHgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktOTAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICB0b3A6IDFweDtcclxuICB9XHJcblxyXG4gIHNwYW4ge1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgLm5hdi1hY3RpdmUgJiB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgIHRvcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgIHRvcDogMTBweDtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBjb21tb24gbGF5b3V0IG9mIHRoZSBzaXRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoICsgJGd1dHRlciAqIDI7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcclxuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi53cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgbWluLWhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDEwMCk7XHJcbn1cclxuXHJcbi53cmFwcGVyLWlubmVyIHtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwKTtcclxuICBkaXNwbGF5OiAtbXMtZ3JpZDtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIC1tcy1ncmlkLXJvd3M6IGF1dG8gMWZyIGF1dG87XHJcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvO1xyXG4gIC1tcy1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xyXG4gIC1tcy1ncmlkLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XHJcblxyXG4gIC5oZWFkZXIge1xyXG4gICAgLW1zLWdyaWQtcm93OiAxO1xyXG4gICAgZ3JpZC1yb3c6IDE7XHJcbiAgfVxyXG5cclxuICAubWFpbiB7XHJcbiAgICAtbXMtZ3JpZC1yb3c6IDI7XHJcbiAgICBncmlkLXJvdzogMjtcclxuICB9XHJcblxyXG4gIC5mb290ZXIge1xyXG4gICAgLW1zLWdyaWQtcm93OiAzO1xyXG4gICAgZ3JpZC1yb3c6IDM7XHJcbiAgfVxyXG59XHJcblxyXG4uc2xpY2stYXJyb3cge1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGNvbG9yIGJhY2tncm91bmQpO1xyXG4gIG1hcmdpbjogMDtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMjUwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICB3aWR0aDogNDZweDtcclxuICBoZWlnaHQ6IDQ2cHg7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgd2lkdGg6IDU2cHg7XHJcbiAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgfVxyXG5cclxuICBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvcik7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuLTYwMCk7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBmb290ZXIgb2YgdGhlIHNpdGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmZvb3RlciB7XHJcbiAgcGFkZGluZzogMzVweCAwIDA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiA2NXB4IDAgMDtcclxuICB9XHJcblxyXG4gICZfX2hvbGRlci1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBtYXJnaW46IDAgMCA0NXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbG9nby1jb2x1bW4ge1xyXG4gICAgY29sb3I6ICRncmF5LTUwMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICB3aWR0aDogMzAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGV4dC1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxvZ28ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDE3cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc29jaWFsLW5ldHdvcmtzIHtcclxuICBtYXJnaW46IDAgMCAyMHB4O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIG1hcmdpbjogMCAwIDU1cHg7XHJcbiAgfVxyXG5cclxuICB1bCB7XHJcbiAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogMCAtMTJweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICBoZWlnaHQ6IDI0cHg7XHJcblxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgcGF0aCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGZpbGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgcGF0aCB7XHJcbiAgICAgICAgICBmaWxsOiB2YXIoLS1ncmVlbi02MDApO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXItYmFyIHtcclxuICBiYWNrZ3JvdW5kOiAkZ3JheS01MDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiAyN3B4IDA7XHJcbiAgfVxyXG5cclxuICAmX19ob2xkZXItYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb3B5cmlnaHRzIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGdyYXktNTAwO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucGFydG5lcnMtbG9nbyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3dyYXAtYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19tZW51IHtcclxuICAgIHVsIHtcclxuICAgICAgQGV4dGVuZCAlbGlzdHJlc2V0O1xyXG5cclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIG1hcmdpbjogMCAtNXB4IDAgNnB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGdyYXktNTAwO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxhbmd1aWdlcy1zd2l0Y2hlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgei1pbmRleDogNTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAub3BlbmVyLWhvbGRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5nbG9iZV9jbGFzcyB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxuXHJcbiAgLmxhbmdfc3dpdGNoZXJfY2xhc3Mge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAubGFuZ19saXN0X2NsYXNzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMzBweDtcclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCxcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDMwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICAub3BlbmVyIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbWctaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gIH1cclxuXHJcbiAgLnNsaWRlIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMTJweCAxNnB4IC00cHggcmdiYSgkZ3JheS05MDAsIDAuMDgpLCAwIDRweCA2cHggLTJweCByZ2JhKCRncmF5LTkwMCwgMC4wMyk7XHJcbiAgfVxyXG5cclxuICAub3BlbmVyIHtcclxuICAgIGNvbG9yOiAkZ3JheS02MDA7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMCAyMHB4IDAgN3B4O1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xyXG4gICAgICBAZXh0ZW5kICVpY29uO1xyXG4gICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDZweDtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sYW5nX2xpc3RfY2xhc3Mge1xyXG4gICAgQGV4dGVuZCAlbGlzdHJlc2V0O1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS02MDA7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXItbmF2IHtcclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgd2lkdGg6IDcwJTtcclxuICB9XHJcblxyXG4gIC5vcGVuZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogJGdyYXktNDAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBjdXJzb3I6IGF1dG87XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICBtYXJnaW46IDAgMCAxNHB4O1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBleHRlbmQgJWljb247XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSk7XHJcbiAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaHNfY29zX3dyYXBwZXIge1xyXG4gICAgPnVsIHtcclxuICAgICAgQGV4dGVuZCAlbGlzdHJlc2V0O1xyXG5cclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+bGkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgIC5vcGVuZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5zbGlkZSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgQGV4dGVuZCAlbGlzdHJlc2V0O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgIG1hcmdpbjogMCAwIDEycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+YTpub3QoW2NsYXNzXSkge1xyXG4gICAgICAgICAgY29sb3I6ICRncmF5LTUwMDtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zbGlkZS1ob2xkZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGluay1tb3JlIHtcclxuICAgICAgbWFyZ2luOiBhdXRvIDAgMTJweDtcclxuICAgIH1cclxuICB9XHJcbn0iLCJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgYnV0dG9uIGNvbXBvbmVudC5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5idG4ge1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciBjb2xvciBib3JkZXItY29sb3IpO1xyXG5cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmVlbi02MDApO1xyXG4gIHBhZGRpbmc6IDExcHggMThweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgkZ3JheS05MDAsIDAuMDUpO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJi0tb3V0bGluZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBjb2xvcjogJGdyYXktNzAwO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTYwMCk7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLXdpdGgtaWNvbiB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgQGV4dGVuZCAlaWNvbjtcclxuICAgICAgY29udGVudDogJGljb24tYXJyb3ctcjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDAgMTRweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5saW5rLW1vcmUge1xyXG4gIGNvbG9yOiAkYmx1ZS01MDA7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMCAyM3B4IDAgMDtcclxuXHJcbiAgJjpiZWZvcmUge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xyXG4gICAgQGV4dGVuZCAlaWNvbjtcclxuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogNHB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1tb3JlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMCAyNXB4IDAgMDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogMCAzMnB4IDAgMDtcclxuICB9XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtKTtcclxuXHJcbiAgICBAZXh0ZW5kICVpY29uO1xyXG4gICAgY29udGVudDogJGljb24tYXJyb3ctcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiA2cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5idG4tbW9yZS1hbHQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAwIDI0cHggMCAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtKTtcclxuXHJcbiAgICBAZXh0ZW5kICVpY29uO1xyXG4gICAgY29udGVudDogJGljb24tYXJyb3ctdXA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogN3B4O1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgsIC01cHgpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5oZXJvLWhlYWRlci1zZWN0aW9uIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZDogJGdyYXktMjAwO1xyXG4gIHBhZGRpbmc6IDM1cHggMDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDk2cHggMCAxNTZweDtcclxuICB9XHJcblxyXG4gICZfX2ltZy1ibG9jayB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICBib3JkZXItd2lkdGg6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQtYmxvY2sge1xyXG4gICAgbWFyZ2luOiAwIDAgMjVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDU1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMzJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ0biB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIHBhZGRpbmc6IDE2cHggMThweDtcclxuICAgIH1cclxuICB9XHJcbn0iLCIucGFydG5lcnMtc2VjdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogJGJsdWUtNzAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAzNXB4IDA7XHJcbiAgY29sb3I6ICRncmF5LTQwMDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDk3cHggMCA3MHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fdGV4dC1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDMycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sb2dvcy1saXN0IHtcclxuICAgIHVsIHtcclxuICAgICAgQGV4dGVuZCAlbGlzdHJlc2V0O1xyXG5cclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0yMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDE1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5KTtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmZlYXR1cmUtc2VjdGlvbiB7XHJcbiAgcGFkZGluZzogMzVweCAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogNjJweCAwIDA7XHJcbiAgfVxyXG5cclxuICAmX19zZWN0aW9uLWhlYWRpbmcge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGgxLFxyXG4gICAgLmgxIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAzOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGVjb3ItMSxcclxuICAuZGVjb3ItMiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRlY29yLTEge1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMjIlO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICB3aWR0aDogMzglO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRlY29yLTIge1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDI0JTtcclxuICAgIHdpZHRoOiA1MSU7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBib3R0b206IDE3JTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mZWF0dXJlLWNhcmQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIHBhZGRpbmc6IDMwcHggMDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG4gIH1cclxuXHJcbiAgJi5yZXZlcnNlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuXHJcbiAgICAuZmVhdHVyZS1jYXJkX190ZXh0LWhvbGRlciB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQtaG9sZGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1heC13aWR0aDogNTYwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbWctYmxvY2sge1xyXG4gICAgcGFkZGluZzogMCAwIDI1cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIHdpZHRoOiA0NiU7XHJcbiAgICAgIHBhZGRpbmc6IDAgMzVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQtYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogNTQlO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW46IDAgMCAzMnB4O1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5mZWF0dXJlLWRldmljZSB7XHJcbiAgYmFja2dyb3VuZDogJGdyYXktMTAwO1xyXG4gIHBhZGRpbmc6IDM1cHggMDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDk3cHggMCAxMDRweDtcclxuICB9XHJcblxyXG4gICZfX2hlYWRpbmctYmxvY2sge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgIG1heC13aWR0aDogOTUwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDYzcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ltZy1ibG9jayB7XHJcbiAgICBtYXgtd2lkdGg6IDc5MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRlY29yLTEsXHJcbiAgLmRlY29yLTIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC5kZWNvci0xIHtcclxuICAgIHdpZHRoOiA0OSU7XHJcbiAgICBsZWZ0OiAtMjclO1xyXG4gICAgdG9wOiAtMjAlO1xyXG4gIH1cclxuXHJcbiAgLmRlY29yLTIge1xyXG4gICAgYm90dG9tOiA1JTtcclxuICAgIHJpZ2h0OiAtMjYlO1xyXG4gICAgd2lkdGg6IDQ4JTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XHJcbiAgICAgIHJpZ2h0OiAtMzglO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5zb2NpYWwtcHJvb2Yge1xyXG4gIHBhZGRpbmc6IDQwcHggMDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDk1cHggMDtcclxuICB9XHJcblxyXG4gICZfX2hlYWRpbmctYmxvY2sge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWF4LXdpZHRoOiA5NTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDI1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gNjJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xvZ29zLWxpc3Qge1xyXG4gICAgcGFkZGluZzogMzVweCAwIDEwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgcGFkZGluZzogMTAzcHggMCAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xyXG4gICAgICAgICAgcGFkZGluZzogMCAxNXB4IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSk7XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNvY2lhbC1wcm9vZi1zbGlkZXIge1xyXG4gICZfX3NsaWRlLWhvbGRlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ltZy1ibG9jayB7XHJcbiAgICBwYWRkaW5nOiAwIDAgMjVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIHdpZHRoOiAzNy40JTtcclxuICAgICAgcGFkZGluZzogMCAyNXB4IDAgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQtYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogNjIuNiU7XHJcbiAgICAgIG1heC13aWR0aDogNjgwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbWctaG9sZGVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1heC13aWR0aDogMzI4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubG9nby1pbWFnZSB7XHJcbiAgICBtYXgtd2lkdGg6IDE5MHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCAyNHB4O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNvY2lhbC1wcm9vZi1zbGlkZXIge1xyXG4gIHBhZGRpbmc6IDAgMCA3MHB4O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLnNsaWNrLWFycm93IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICByaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zbGljay1wcmV2IHtcclxuICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICByaWdodDogNzBweDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICByaWdodDogODJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zbGljay1uZXh0IHtcclxuICAgIGxlZnQ6IDcwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYmxvY2txdW90ZSB7XHJcbiAgbWFyZ2luOiAwIDAgMjBweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICBjb2xvcjogJGdyYXktOTAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjIyO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgbWFyZ2luOiAwIDAgMzFweDtcclxuICB9XHJcbn1cclxuXHJcbmNpdGUge1xyXG4gIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBtYXJnaW46IDAgMCA0NHB4O1xyXG4gIH1cclxuXHJcbiAgLmF1dGhvciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogJGdyYXktOTAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMCAwIDVweCAyMnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICB3aWR0aDogMTlweDtcclxuICAgICAgYmFja2dyb3VuZDogJGdyYXktOTAwO1xyXG4gICAgICB0b3A6IDE0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucG9zaXRpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59IiwiLmludGVncmF0aW9uLXNlY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAzNXB4IDA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiA5NnB4IDAgNzNweDtcclxuICB9XHJcblxyXG4gIC5kZWNvciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogLTglO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgYm90dG9tOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IDI2JTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc2VjdGlvbi1ob2xkZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190ZXh0LWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IDQ2JTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ltZy1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIHdpZHRoOiA1NCU7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sb2dvcy1saXN0IHtcclxuICAgIG1heC13aWR0aDogNDg1cHg7XHJcbiAgICBtYXJnaW46IDAgMzdweCAxNnB4IGF1dG87XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAtMTVweDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHggMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5idG4tbGlzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW46IDAgLTEycHg7XHJcbiAgcGFkZGluZzogMTBweCAwIDM1cHg7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiAxN3B4IDAgMDtcclxuICB9XHJcblxyXG4gICZfX2NvbCB7XHJcbiAgICBwYWRkaW5nOiAwIDEycHggMjBweDtcclxuICB9XHJcblxyXG4gIC5saW5rLWJ0biB7XHJcbiAgICBjb2xvcjogJGdyYXktNjAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuY3RhLXNlY3Rpb24ge1xyXG4gIHBhZGRpbmc6IDM1cHggMDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDY3cHggMCA5NHB4O1xyXG4gIH1cclxuXHJcbiAgJi5saWdodC1zdHlsZSB7XHJcbiAgICAuY3RhLWJsb2NrIHtcclxuICAgICAgYmFja2dyb3VuZDogJGdyYXktNTA7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS02MDA7XHJcblxyXG4gICAgICAjeyRoZWFkaW5nc30sXHJcbiAgICAgIC5oIHtcclxuICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5kZWNvciB7XHJcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICByaWdodDogMjFweDtcclxuICAgICAgICAgIGJvdHRvbTogLTQxcHg7XHJcbiAgICAgICAgICB3aWR0aDogMzglO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmN0YS1ibG9ja19fdGV4dC1ibG9jayB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3RhLWJsb2NrIHtcclxuICAgIGJhY2tncm91bmQ6ICRibHVlLTYwMDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDQ1cHggMzVweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBwYWRkaW5nOiA2NXB4IDYzcHggNjVweCA2NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICBtaW4td2lkdGg6IDE3N3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kZWNvciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICB3aWR0aDogMzUlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3skaGVhZGluZ3N9LFxyXG4gICAgLmgge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHQtYmxvY2sge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5wcmljaW5nLXNlY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAzNXB4IDA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiA2N3B4IDAgNDhweDtcclxuICB9XHJcblxyXG4gIC5kZWNvciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHRvcDogOSU7XHJcbiAgICB3aWR0aDogNzIlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IDMwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICB0b3A6IDE0JTtcclxuICAgICAgd2lkdGg6IDI0JTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2hlYWRpbmctYmxvY2sge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDAgMzVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgIG1hcmdpbjogMCAwIDQ3cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJpY2luZy1jYXJkcy1ob2xkZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDAgLTEwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XHJcbiAgICBtYXJnaW46IDAgLTE2cHg7XHJcbiAgfVxyXG5cclxuICAmX19jb2x1bW4ge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIHdpZHRoOiAzMy4zMyU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgICAgcGFkZGluZzogMCAxNnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnByaWNlLWNhcmQge1xyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTI1MDtcclxuICBib3gtc2hhZG93OiAwIDEycHggMTZweCAtNHB4IHJnYmEoJGdyYXktOTAwLCAwLjA4KSwgMCA0cHggNnB4IC0ycHggcmdiYSgkZ3JheS05MDAsIDAuMDMpO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBjb2xvcjogJGdyYXktNTAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICBoNCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuaDEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDMxcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX191bml0cyB7XHJcbiAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gIH1cclxuXHJcbiAgLmJ0biB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gICZfX2NvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGV4dC1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbmZvIHtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktMjUwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgcGFkZGluZzogMzBweCAzMHB4IDIzcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbmZvLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiAkZ3JheS05MDA7XHJcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDI0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbmZvLWxpc3Qge1xyXG4gICAgdWwge1xyXG4gICAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDM1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgQGV4dGVuZCAlaWNvbjtcclxuICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTUwMCk7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5hZGQtb25zLXNlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQ6ICRibHVlLTcwMDtcclxuICBwYWRkaW5nOiAzNXB4IDAgMTBweDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDY0cHggMCAzMnB4O1xyXG4gIH1cclxuXHJcbiAgJi5saWdodC1zdHlsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgcGFkZGluZzogOTZweCAwIDY0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZC1vbnMtY2FyZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LTUwO1xyXG4gICAgICBjb2xvcjogJGdyYXktNTAwO1xyXG5cclxuICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkZ3JheS05MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NhcmQtaG9sZGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBtYXJnaW46IDAgLTEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgbWFyZ2luOiAwIC0xNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY29sdW1uIHtcclxuICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgcGFkZGluZzogMCAxNnB4O1xyXG4gICAgICBtYXJnaW46IDAgMCAzMnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFkZC1vbnMtY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogJGJsdWUtNTAwO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBjb2xvcjogJGdyYXktNDAwO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiAyNHB4O1xyXG4gIH1cclxuXHJcbiAgJl9faW1nLWljb24ge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4tNTAwKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA0OHB4O1xyXG4gICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgcGFkZGluZzogMTNweDtcclxuICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBtYXJnaW46IDAgMCA4cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMS41O1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4tbW9yZSB7XHJcbiAgICBwYWRkaW5nOiAwIDI0cHggMCAwO1xyXG4gICAgY29sb3I6IHZhcigtLWdyZWVuLTUwMCk7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmZlYXR1cmUtdGFibGUge1xyXG4gIHBhZGRpbmc6IDM1cHggMDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDQ4cHggMDtcclxuICB9XHJcblxyXG4gICZfX2hlYWRpbmctYmxvY2sge1xyXG4gICAgbWFyZ2luOiAwIDAgMjRweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiAkZ3JheS05MDA7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbm90ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiAkZ3JheS00MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG5cclxuICAubm90ZS10ZXh0IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRncmF5LTYwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcblxyXG4gICZfX2hvbGRlciB7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuLmZlYXR1cmUtdGFibGUtYmxvY2sge1xyXG4gIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG1hcmdpbjogMCAwIDI4cHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTEwMDtcclxuICBtaW4td2lkdGg6IDUwMHB4O1xyXG5cclxuICAudGFibGUtaGVhZGluZyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmZlYXR1cmUtdGFibGUtYmxvY2tfX2NvbHVtbiB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS01MDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbHVtbiB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcGFkZGluZzogMTVweCA1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgcGFkZGluZzogMjJweCAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLXRpdGxlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRvb2x0aXAge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIEBleHRlbmQgJWljb247XHJcbiAgICAgICAgY29udGVudDogJGljb24taW5mbztcclxuICAgICAgICBjb2xvcjogJGdyYXktNDAwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IHZpc2liaWxpdHkpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS0yMDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB3aWR0aDogMjA2cHg7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkZ3JheS02NTA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIGxlZnQ6IC0xNXB4O1xyXG4gICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICBjb2xvcjogJGdyYXktNjUwO1xyXG5cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAudG9vcGx0aXAtdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS01NTA7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmluY2x1ZGVkIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgQGV4dGVuZCAlaWNvbjtcclxuICAgICAgY29udGVudDogJGljb24tY2hlY2s7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIG1hcmdpbjogMCAxMnB4IDAgMDtcclxuICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5mYXEtc2VjdGlvbiB7XHJcbiAgcGFkZGluZzogMzVweCAwO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogOTZweCAwO1xyXG4gIH1cclxuXHJcbiAgJl9faGVhZGluZy1ibG9jayB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gICAgbWFyZ2luOiAwIDAgMzVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDY0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmFxLWFjY29yZGlvbiB7XHJcbiAgbWF4LXdpZHRoOiA4MDBweDtcclxuICBtYXJnaW46IDAgYXV0byAzMXB4O1xyXG5cclxuICB1bCB7XHJcbiAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcbiAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTI1MDtcclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5vcGVuZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjNweCAyNXB4IDBweCAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBsdXMtaWNvbiB7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAub3BlbmVyIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyBjb2xvcik7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHggMTVweCAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICRncmF5LTkwMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIHBhZGRpbmc6IDIzcHggMjVweCAzMnB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTYwMCk7XHJcblxyXG4gICAgICAucGx1cy1pY29uIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuLTYwMCk7XHJcblxyXG4gICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zbGlkZSB7XHJcbiAgICBwYWRkaW5nOiA3cHggMCAxMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA3MjBweDtcclxuICB9XHJcblxyXG4gIC5wbHVzLWljb24ge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDNweDtcclxuICAgIHRvcDogMTY3cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JheS01MDA7XHJcbiAgICB3aWR0aDogMjJweDtcclxuICAgIGhlaWdodDogMjJweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIHRvcDogMjZweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSBiYWNrZ3JvdW5kKTtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYmFja2dyb3VuZDogJGdyYXktNTAwO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICB3aWR0aDogMnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmN0YS1mcmFtZSB7XHJcbiAgYmFja2dyb3VuZDogJGdyYXktNTA7XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICRncmF5LTUwMDtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogMzFweCAyMHB4IDMwcHg7XHJcbiAgfVxyXG5cclxuICAmX190ZXh0LWJsb2NrIHtcclxuICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMzJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBtYXJnaW46IDAgMCA4cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faW1nLWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMjBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuIHtcclxuICAgIHBhZGRpbmc6IDEycHggMThweDtcclxuICB9XHJcbn0iLCIucHJvZHVjdC1pbmZvIHtcclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICB9XHJcblxyXG4gIGgyIHtcclxuICAgIG1hcmdpbjogMCAwIDE1cHg7XHJcbiAgfVxyXG5cclxuICAmLnJldmVyc2Uge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2JnLWltYWdlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ltZy1ibG9jayxcclxuICAmX190ZXh0LWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190ZXh0LWJsb2NrIHtcclxuICAgIHBhZGRpbmc6IDAgMCAwIGNhbGMoKDEwMHZ3IC0gMTI2MHB4KSAvIDIpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNTYwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucmV2ZXJzZSAmIHtcclxuICAgICAgcGFkZGluZzogMCBjYWxjKCgxMDB2dyAtIDEyNjBweCkgLyAyKSAwIDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbWctYmxvY2sge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgcGFkZGluZzogMjVweCAxNXB4O1xyXG4gICAgbWluLWhlaWdodDogMjkwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZS01MDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVjb3Ige1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHdpZHRoOiA4OCU7XHJcbiAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGV4dC1ob2xkZXIge1xyXG4gICAgcGFkZGluZzogMjVweCAxNXB4IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgbWF4LXdpZHRoOiA1NDJweDtcclxuICAgIH1cclxuXHJcbiAgICAucmV2ZXJzZSAmIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMTVweCAwIDMycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIEBleHRlbmQgJWxpc3RyZXNldDtcclxuXHJcbiAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gICAgcGFkZGluZzogMTVweCAwIDA7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMTVweCAzNXB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4IDU1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBAZXh0ZW5kICVpY29uO1xyXG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrMTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTUwMCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tNTA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi50ZXN0aW1vbmlhbC1ibG9jay1zZWN0aW9uIHtcclxuICBwYWRkaW5nOiAzNXB4IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogOTZweCAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xyXG4gICAgcGFkZGluZzogOTZweCAwIDEyNnB4O1xyXG4gIH1cclxuXHJcbiAgJl9fbG9nby1pbWFnZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1heC13aWR0aDogMTg2cHg7XHJcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faG9sZGVyLWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQtYmxvY2sge1xyXG4gICAgbWFyZ2luOiAwIDAgMzVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbWctYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mcmFtZXMtd3JhcCB7XHJcbiAgICBtYXJnaW46IC00cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBtYXJnaW46IC04cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xyXG4gICAgICBtYXJnaW46IC04cHggLTQycHggLThweCAtOHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmltZy13cmFwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctdG9wOiA1MCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiA1MCUgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmltZy1mcmFtZSB7XHJcbiAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgbWF4LXdpZHRoOiAxNzZweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmZ1bGwge1xyXG4gICAgICAuaW1nLXdyYXAge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50YWxsIHtcclxuICAgICAgLmltZy13cmFwIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTUwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYud2lkZSB7XHJcbiAgICAgIG1heC13aWR0aDogMjA4cHg7XHJcblxyXG4gICAgICAuaW1nLXdyYXAge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2NyU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZWNvciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIHdpZHRoOiAyOCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xyXG4gICAgICBib3R0b206IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2lyY2xlLWltZyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2lkdGg6IDU2cHg7XHJcbiAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICBtYXJnaW46IDAgMTVweCAwIDA7XHJcbiAgfVxyXG5cclxuICBjaXRlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC53cmFwLWJsb2NrIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gIH1cclxufSIsIi5jbGllbnRzLWluZm8tc2VjdGlvbiB7XHJcbiAgcGFkZGluZzogMzVweCAwO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogOTdweCAwIDk2cHg7XHJcbiAgfVxyXG5cclxuICAmX19oZWFkaW5nLWJsb2NrIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1heC13aWR0aDogOTAwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0byAyNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDY0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudHdvLWNvbHVtbnMge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIG1hcmdpbjogMCAtOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCAtMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb2x1bW4ge1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMTZweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRleHQtYmxvY2sge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXktMjU7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBwYWRkaW5nOiAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNsaWVudHMtaW5mbyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS01MDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICZfX2luZm8tYXJlYSB7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMzJweCAzMnB4IDExcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbmZvLWZyYW1lIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgICAgYmFja2dyb3VuZDogJGdyZWVuLTUwO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pbWFnZS1sb2dvIHtcclxuICAgICAgICB3aWR0aDogMTMycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jbGllbnRzLWluZm8tZnJhbWUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIGJhY2tncm91bmQ6ICRncmVlbi01MDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDMycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2UtbG9nbyB7XHJcbiAgICAgIHdpZHRoOiAxMzJweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCAwIDE0cHg7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1nLWJsb2NrIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICB3aWR0aDogNDElO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjRweCAwIDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgICAgICB3aWR0aDogMzQlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1nLWhvbGRlciB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDE0cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAmX190ZXh0LWFyZWEge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHdpZHRoOiA1OSU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgICAgICB3aWR0aDogNjYlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYmxvY2txdW90ZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmF1dGhvciB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wb3NpdGlvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZWNvciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiA0NSU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmltYWdlLWxvZ28ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCAzMnB4O1xyXG4gIH1cclxuXHJcbiAgLmluZm8tbGlzdCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgIG1hcmdpbjogMCAwIDE5cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdC10aXRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogNDUlO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBjb2xvcjogJGdyYXktOTAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XHJcbiAgICAgICAgd2lkdGg6IDI3JTtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICc6JztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpc3QtdmFsdWUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDU1JTtcclxuICAgICAgY29sb3I6ICRncmF5LTcwMDtcclxuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMzBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xyXG4gICAgICAgIHdpZHRoOiA3MyU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5iYWRnZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMnB4IDEwcHg7XHJcbiAgbWFyZ2luOiAwIDhweCAwIDA7XHJcblxyXG4gICYucGluayB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcGluay0xMDA7XHJcbiAgICBjb2xvcjogJHBpbmstNTAwO1xyXG4gICAgYmFja2dyb3VuZDogJHBpbmstNTA7XHJcbiAgfVxyXG5cclxuICAmLmdyZWVuIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTE1MDtcclxuICAgIGNvbG9yOiAkZ3JlZW4tNTAwO1xyXG4gICAgYmFja2dyb3VuZDogJGdyZWVuLTUwO1xyXG4gIH1cclxufSIsIi5jb250YWN0cy1mb3JtLXNlY3Rpb24ge1xyXG4gIHBhZGRpbmc6IDM1cHggMDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDk2cHggMDtcclxuICB9XHJcblxyXG4gIC5ob2xkZXItYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIG1hcmdpbjogMCAtMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmX190ZXh0LWNvbHVtbiB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgcGFkZGluZzogMCAwIDUwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgd2lkdGg6IDU4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Zvcm0tY29sdW1uIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB6LWluZGV4OiA1O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHdpZHRoOiA0MiU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZWNvciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IC0xMiU7XHJcbiAgICBsZWZ0OiAxMCU7XHJcbiAgICB3aWR0aDogNjUlO1xyXG4gICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgYm90dG9tOiAtMjUlO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRleHQtYmxvY2sge1xyXG4gICAgbWF4LXdpZHRoOiA2MDlweDtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybS1mcmFtZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXktNTA7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgcGFkZGluZzogNDNweCAzNnB4IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Ym1pdHRlZC1tZXNzYWdlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5jYXNlcy1zZWN0aW9uIHtcclxuICBwYWRkaW5nOiAzNXB4IDAgMTVweDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDk2cHggMCAzMHB4O1xyXG4gIH1cclxuXHJcbiAgJi5jYXNlcy1saXN0aW5nIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDk2cHggMCAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhc2VzLWhvbGRlcl9fY29sdW1uIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAyNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTZweCA0N3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2FzZXMtYXJlYSB7XHJcbiAgICBtYXJnaW46IDAgMCAzNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDY1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZy1ibG9jayB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG5cclxuICAgICAgLmJ0bi1tb3JlIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2FzZXMtaG9sZGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBtYXJnaW46IC0xMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgICAgbWFyZ2luOiAtMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb2x1bW4ge1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMzVweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2FzZS1jYXJkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAmX190ZXh0LWJsb2NrIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgJl9faW1nLWJsb2NrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctdG9wOiA3MyU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1hcmdpbjogMCAwIDI0cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJl9fbG9nby1ibG9jayB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICBwYWRkaW5nOiAyMnB4IDI1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBwYWRkaW5nOiAyMnB4IDI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ0bi1tb3JlLWFsdCB7XHJcbiAgICBtYXJnaW46IGF1dG8gMCAwO1xyXG4gIH1cclxuXHJcbiAgJl9faW1nLWZyYW1lIHtcclxuICAgIGltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zMztcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTYwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuZG93bmxvYWQtc2VjdGlvbiB7XHJcbiAgcGFkZGluZzogMzVweCAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIHBhZGRpbmc6IDk2cHggMDtcclxuICB9XHJcblxyXG4gIC5kZWNvciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMzYlO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICByaWdodDogMi43JTtcclxuICAgICAgdG9wOiAzNiU7XHJcbiAgICAgIHdpZHRoOiAzMSU7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19oZWFkaW5nLWJsb2NrIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCBhdXRvIDI1cHg7XHJcbiAgICBtYXgtd2lkdGg6IDk4NXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDY1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2hvbGRlci1ibG9jayB7XHJcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG5cclxuICAuZG93bmxvYWQtbGlzdCB7XHJcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMTNweDtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSxcclxuICAgICZfX3N1YnRpdGxlIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvcik7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc3VidGl0bGUge1xyXG4gICAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBtYXJnaW46IDAgLTEwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0xNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDE1cHg7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHggMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS0xMDA7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMjFweDtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAgICAgLmRvd25sb2FkLWxpc3RfX3RpdGxlLFxyXG4gICAgICAgICAgICAuZG93bmxvYWQtbGlzdF9fc3VidGl0bGUge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbi02MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5mby1ibG9jayB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXktMTAwO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBwYWRkaW5nOiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgbWFyZ2luOiAwIDAgMTZweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGV4dC1ibG9jayB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgY29sb3I6ICRncmF5LTcwMDtcclxuXHJcbiAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi50ZWFtLXNlY3Rpb24ge1xyXG4gIHBhZGRpbmc6IDM1cHggMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiA5NnB4IDAgNjBweDtcclxuICB9XHJcblxyXG4gIC5kZWNvciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogNCU7XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICB0b3A6IDk1cHg7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgd2lkdGg6IDM2JTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQtYmxvY2sge1xyXG4gICAgY29sb3I6ICRncmF5LTUwMDtcclxuICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgbWFyZ2luOiAwIDAgNjJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ob2xkZXItYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIG1hcmdpbjogMCAtMTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBtYXJnaW46IDAgLTE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29sdW1uIHtcclxuICAgICAgcGFkZGluZzogMCAwIDI1cHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMjVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTZweCA1MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGVhbS1jYXJkIHtcclxuICAmX19pbWctYmxvY2sge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy10b3A6IDEwNiU7XHJcbiAgICBtYXJnaW46IDAgMCAyNHB4O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiA1MCUgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBtYXJnaW46IDAgMCA1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcG9zaXRpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNzAwKTtcclxuICAgIG1hcmdpbjogMCAwIDE0cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc29jaWFsLWxpc3Qge1xyXG4gICAgdWwge1xyXG4gICAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIG1hcmdpbjogMCAtMTBweDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDI0cHg7XHJcblxyXG4gICAgICAgIHBhdGgge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihmaWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHBhdGgge1xyXG4gICAgICAgICAgICAgIGZpbGw6IHZhcigtLWdyZWVuLTcwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuaW5uZXItaGVyby1zZWN0aW9uIHtcclxuICBwYWRkaW5nOiAzMnB4IDE1cHggMzVweDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgcGFkZGluZzogMzJweCAxNXB4IDM1cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogMzJweCAzMnB4IDkzcHg7XHJcbiAgfVxyXG5cclxuICAmX19pbWctYmxvY2sge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRibHVlLTEwMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgbWFyZ2luOiAtMTE1cHggYXV0byAwO1xyXG4gICAgYm94LXNoYWRvdzogMCAzMnB4IDY0cHggLTEycHggcmdiYSgkZ3JheS05MDAsIDAuMTQpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogNTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIG1hcmdpbjogLTE4MHB4IGF1dG8gMDtcclxuICAgICAgbWF4LXdpZHRoOiA1NTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBtYXgtd2lkdGg6IDc3NnB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgICBtYXJnaW46IC0zMzBweCBhdXRvIDA7XHJcbiAgICAgIGJvcmRlci13aWR0aDogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmhlcm8tZnJhbWUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIHBhZGRpbmc6IDM1cHggMTVweCAxMTVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgcGFkZGluZzogMzVweCAxNXB4IDE4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDEyNHB4IDE1cHggMzM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmRlY29yIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMTVweDtcclxuICAgICAgYm90dG9tOiAxNXB4O1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcmlnaHQ6IDI4cHg7XHJcbiAgICAgICAgYm90dG9tOiAzMnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XHJcbiAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYmctYmx1ZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlLTUwMDtcclxuXHJcbiAgICAgICN7JGhlYWRpbmdzfSxcclxuICAgICAgLmgge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nLWJsb2NrIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMTIwcHg7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDI1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgY29sb3I6ICRibHVlLTEwMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNjBweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuY29udGVudC1zZWN0aW9uIHtcclxuICBwYWRkaW5nOiAzNXB4IDA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiAxNDVweCAwIDc1cHg7XHJcbiAgfVxyXG5cclxuICAmLmFsdC1pbmRlbnQge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xyXG4gIH1cclxuXHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuICBoMSxcclxuICAuaDEge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTI1MDtcclxuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgbWFyZ2luOiAwIDAgMTVweDtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDM0cHg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaDIsXHJcbiAgLmgyIHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoMyxcclxuICAuaDMge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50ZXh0LWZyYW1lIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS01MDtcclxuICAgIHBhZGRpbmc6IDE1cHggMTVweCAxMHB4O1xyXG4gICAgbWFyZ2luOiAwIDAgMjVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBwYWRkaW5nOiAzMnB4IDMycHggMTBweDtcclxuICAgICAgbWFyZ2luOiAwIDAgOThweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAwIDAgNDBweDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBtYXJnaW46IDAgMCAxN3B4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmlnY2FwdGlvbiB7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS02MDA7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDIycHg7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlaWNvbjtcclxuICAgICAgICBjb250ZW50OiAkaWNvbi1saW5rO1xyXG4gICAgICAgIGNvbG9yOiAkZ3JheS00MDA7XHJcbiAgICAgICAgbWFyZ2luOiAwIDhweCAwIDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNjAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWdyZWVuLTYwMCk7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIHBhZGRpbmc6IDVweCAwIDVweCAxNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgcGFkZGluZzogOXB4IDAgOXB4IDIxcHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xyXG4gICAgICBtYXJnaW46IDAgMCA4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHEge1xyXG4gICAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAuaW1nLWJsb2NrIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB3aWR0aDogNDhweDtcclxuICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkZ3JheS05MDAsIDAuMDgpO1xyXG4gICAgICBtYXJnaW46IDAgMTJweCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgY2l0ZSB7XHJcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDI2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmF1dGhvcixcclxuICAgIC5zdWJ0aXRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmF1dGhvciB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAzcHg7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdWJ0aXRsZSB7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS02MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvc2l0aW9uIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgY29sb3I6ICRncmF5LTYwMDtcclxuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIH1cclxuICB9XHJcbn0iLCIjaHNfY29zX3dyYXBwZXJfYmxvZy1saXN0aW5nIHtcclxuICAuYmxvZ3Mtc2VjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBwYWRkaW5nOiAwIDAgODBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ibG9ncy1zZWN0aW9uIHtcclxuICBwYWRkaW5nOiAzNXB4IDA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDAgMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcclxuICAgIHBhZGRpbmc6IDk1cHggMCA2MHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fd3JhcC1ibG9jayB7XHJcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5ibG9ncy1uYXZpZ2F0aW9uIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgLmNhdGVnb3RpZXMtbGlzdCB7XHJcbiAgICB1bCB7XHJcbiAgICAgIEBleHRlbmQgJWxpc3RyZXNldDtcclxuXHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBtYXJnaW46IDAgLTRweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC05cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMCA0cHggMTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgOXB4IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgY29sb3IpO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgY29sb3I6ICRncmF5LTUwMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlLFxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuLTUwO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTcwMCk7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaXRlbXMtaG9sZGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgbWFyZ2luOiAwIC0xNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluLWl0ZW1zLWNvbHVtbixcclxuICAgIC5sYXRlc3QtaXRlbXMtY29sdW1uIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWFpbi1pdGVtcy1jb2x1bW4ge1xyXG4gICAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICB3aWR0aDogNTglO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxhdGVzdC1pdGVtcy1jb2x1bW4ge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgd2lkdGg6IDQyJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNlYXJjaC1ob2xkZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgIG1pbi13aWR0aDogMzIwcHg7XHJcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gIH1cclxuXHJcbiAgaW5wdXQge1xyXG4gICAgcGFkZGluZzogMTJweCAxNXB4IDEycHggNDBweDtcclxuICB9XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIEBleHRlbmQgJWljb247XHJcbiAgICBjb250ZW50OiAkaWNvbi1zZWFyY2g7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxNnB4O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuLnBvc3QtaXRlbSB7XHJcbiAgJl9faW1nLWhvbGRlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIHBhZGRpbmctdG9wOiA3MSU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICBvYmplY3QtcG9zaXRpb246IDUwJSAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faW1nLWJsb2NrIHtcclxuICAgIG1hcmdpbjogMCAwIDI0cHg7XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fdGV4dC1ibG9jayB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gIH1cclxuXHJcbiAgJl9fdGl0bGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgIG1hcmdpbjogMCAwIDVweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS05MDA7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTcwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50YWdzLWhvbGRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgIHRpbWUge1xyXG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmF1dGhvci1ob2xkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAxM3B4O1xyXG5cclxuICAgICZfX2ltZy1ibG9jayB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2F1dGhvciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS05MDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0aW1lIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRncmF5LTUwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIHdpZHRoOiAzcHg7XHJcbiAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LTUwMDtcclxuICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubGF0ZXN0LXBvc3QtaXRlbSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luOiAwIDAgMjBweDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICBtYXJnaW46IDAgMCAzMnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAmX19pbWctaG9sZGVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgcGFkZGluZy10b3A6IDc3JTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gICZfX2ltZy1ibG9jayB7XHJcbiAgICB3aWR0aDogNDElO1xyXG4gICAgcGFkZGluZzogMCAxMHB4IDAgMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICBwYWRkaW5nOiAwIDI1cHggMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiA1MCUgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQtYmxvY2sge1xyXG4gICAgd2lkdGg6IDU5JTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgIG1hcmdpbjogMCAwIDdweDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNzAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRhZ3MtaG9sZGVyIHtcclxuICB1bCB7XHJcbiAgICBAZXh0ZW5kICVsaXN0cmVzZXQ7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgLTRweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgNHB4IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmFkZ2Uge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMXB4IDEwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuZ3JlZW4ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRncmVlbi0yMDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5waW5rIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkcGluay0yMDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmxvZy1wYWdpbmF0aW9uIHtcclxuICBwYWRkaW5nOiAxMHB4IDA7XHJcblxyXG4gIC5ocy1wYWdpbmF0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG5cclxuICAgICZfX2xpbmsge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIGJhY2tncm91bmQgYm9yZGVyLWNvbG9yKTtcclxuXHJcbiAgICAgIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgbWFyZ2luOiAwIDRweDtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuLTUwO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tNzAwKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tNzAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi0tYWN0aXZlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuLTcwMCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuLTcwMCk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuLTUwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1maXJzdCxcclxuICAgICAgJi0tcHJldixcclxuICAgICAgJi0tbmV4dCxcclxuICAgICAgJi0tbGFzdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1maXJzdCxcclxuICAgICAgJi0tbGFzdCB7XHJcbiAgICAgICAgJjo6YWZ0ZXIsXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIEBleHRlbmQgJWljb247XHJcbiAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAtM3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1sYXN0IHtcclxuICAgICAgICAmOjphZnRlcixcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1maXJzdCB7XHJcbiAgICAgICAgJjo6YWZ0ZXIsXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1wcmV2LFxyXG4gICAgICAmLS1uZXh0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgQGV4dGVuZCAlaWNvbjtcclxuICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtLXByZXYge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi0tbmV4dCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSJdfQ== */

.mid{
  font-weight: 500 !important;
}

/* Spintr links */
.spintrlink {
    border: 10px solid #F1B8D3;
    background-color: rgba(255,255,255,0);
    height: 20px;
    width: 20px;
    -moz-border-radius:20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}

.spintrlink-blue {
    border: 10px solid #AFC5E2;
    background-color: rgba(255,255,255,0);
    height: 20px;
    width: 20px;
    -moz-border-radius:20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}

.spintrlink-green {
    border: 10px solid #7DC18F;
    background-color: rgba(255,255,255,0);
    height: 20px;
    width: 20px;
    -moz-border-radius:20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}

.p100sp{
    padding:0 0 0 calc(50vw - 630px);
}

.scrolling-content-banner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, #fafafa 0%, transparent 20%, transparent 80%, #fafafa 100%);
    pointer-events: none;
}

p, h1, h2, h3, h4, h5, h6, span{
  text-wrap: balance !important;
}

mark {
  -webkit-animation: 1.5s highlight 1.5s 1 normal forwards;
  animation: 1.5s highlight 1.5s 1 normal forwards;
  background-color: none;
  background: linear-gradient(90deg, rgba(250, 237, 243, 1) 50%, rgba(255, 255, 255, 0) 50%);
  background-size: 200% 100%;
  background-position: 100% 0;
  padding-left: 14px;
  padding-right: 14px;
  padding-bottom: 6px;
  margin-left: -14px;
}

.markblue{
  background: linear-gradient(90deg, #D1E3F0 50%,hsla(0,0%,100%,0) 0);
  -webkit-animation: 1.5s highlight 1.5s 1 normal forwards;
  animation: 1.5s highlight 1.5s 1 normal forwards;
  background-color: none;
  background-size: 200% 100%;
  background-position: 100% 0;
  padding-left: 40px;
  padding-right: 40px;
  padding-bottom: 6px;
}

.markgreen{
  background: linear-gradient(90deg, #CDEEDD 50%,hsla(0,0%,100%,0) 0);
  -webkit-animation: 1.5s highlight 1.5s 1 normal forwards;
  animation: 1.5s highlight 1.5s 1 normal forwards;
  background-color: none;
  background-size: 200% 100%;
  background-position: 100% 0;
  padding-left: 40px;
  padding-right: 40px;
  padding-bottom: 6px;
}

.markorange{
  background: linear-gradient(90deg, #FFDCBB 50%,hsla(0,0%,100%,0) 0);
  -webkit-animation: 1.5s highlight 1.5s 1 normal forwards;
  animation: 1.5s highlight 1.5s 1 normal forwards;
  background-color: none;
  background-size: 200% 100%;
  background-position: 100% 0;
  padding-left: 40px;
  padding-right: 40px;
  padding-bottom: 6px;
}

@-webkit-keyframes highlight {
  to {
    background-position: 0 0;
  }
}

@keyframes highlight {
  to {
    background-position: 0 0;
  }
}

.header-top-menu{
  text-align: right;
  padding-right: 20px;
}

@media (max-width:1024px){
  .header-language-switcher{
    margin-top:-3px;
  }
  .header-top-menu {
    margin-top: 5px;
    margin-bottom:-17px;
    }
  }

@media (max-width:768px){
  .header-language-switcher{
    margin-top:-4px;
  }
  .header-top-menu {
    margin-bottom:-20px;
  }
}

.top-menu-bar-bg:not(.header){
  width: 100%;
  z-index: 9999 !important;
  display: block;
  background: var(--harmony);
}

/* Assuming the buttons below have a container width of 1200px and 20px padding on each side */
.top-menu-bar:not(.header) {
  max-width: 1245px;
  padding-right: 0px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 6px;
  padding-bottom: 6px;
  z-index: 9999 !important;
}

.top-menu-bar a:not(.header) {
  padding: 0 15px;
  display: inline-block;
  font-size: 15px;
  font-weight: 500;
  font-family: Eloquia Display;
}

/* Blogg toppmeny fix */
@media (max-width: 1024px) {
.hs-blog-post .top-menu-bar:not(.header), .hs-blog-listing .top-menu-bar:not(.header){
  padding-bottom: 30px !important;
}
}

/* for top menu links */
.languiges-switcher .opener{
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 0 15px !important;
  margin-top: 5px !important;
}

.languiges-switcher .img-icon{
  width: 19px !important;
  height: 19px !important;
}

/* Ensuring the header and its children allow for the dropdown to overlay */
.header-top-menu, .top-menu-bar-bg, .top-menu-bar {
  position: relative; /* This establishes a new stacking context */
  z-index: 10; /* This sets the header's z-index lower than the dropdown */
  overflow: visible;
}

/* Specific styles for the language switcher to ensure visibility */
.header-language-switcher {
  position: relative;
  z-index: 20; /* This ensures it's above the header */
  padding-left: 20px;
}

.header-language-switcher .slide {
    background: #fff;
    background: var(--harmony);
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
    box-shadow: 0 0 0 #000 !important;
    display: block;
    left: 0;
    left: 6px;
    overflow: visible;
    padding: 6px;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 30;
}

.header-language-switcher .lang_list_class {
  padding: 0; /* Remove padding inside the list to fit the content better */
}

.header-language-switcher .lang_list_class li a {
  display: flex;
  align-items: center;
  padding: 8px 16px; /* Adjust padding for each list item */
  background: #fef9fb;
}

.header-language-switcher .lang_list_class li a img {
  margin-right: 15px !important; /* Space between flag icon and text */
  width: 19px; /* Adjust width of flag icon */
  height: auto; /* Adjust height to maintain aspect ratio */
}

.languiges-switcher .lang_list_class li:first-child, .languiges-switcher .lang_list_class li:last-child{
  margin: 0px;
  padding: 0px;
}

.header-top-menu .languiges-switcher .opener .language-text {
    display: none;
}

.header-top-menu .lang_list_class .lang_switcher_link {
    font-size: 0; /* Hide the text */
}

.header-top-menu .lang_list_class .lang_switcher_link img {
    font-size: initial; /* Ensure the img is displayed normally */
    vertical-align: middle; /* Align image properly */
}

/* Responsive adjustments */
@media (min-width: 768px) {
  .header-language-switcher .slide {
    display: block; /* Ensures the dropdown is displayed on larger viewports */
  }
}

.lang_list_class .lang_switcher_link {
  display: flex; /* Align image and text in a row */
  align-items: center; /* Vertically center the image */
}

.lang_list_class .lang_switcher_link img {
  margin-right: 0; /* Remove unnecessary right margin */
  display: inline-block; /* Ensure the image remains visible */
}

.lang_list_class .lang_switcher_link {
  text-indent: -9999px; /* Hide text while keeping it accessible for screen readers */
  white-space: nowrap; /* Prevent wrapping */
  overflow: hidden; /* Prevent any hidden text from affecting layout */
}

.lang_list_class .lang_switcher_link img {
  text-indent: 0; /* Reset text indent for the image */
  visibility: visible; /* Ensure the image is visible */
}


@media (min-width: 1024px) {
  .header-top-menu {
    z-index: 20; /* Adjust if necessary based on other header elements */
  }
}

.top-menu-bar{
  padding-bottom: 9px;
}

.top-menu-bar a, .top-menu-bar a:hover{
  text-decoration: none;
}

.top-menu-bar img{
  margin-top: 0px;
  width: 21px;
  height: 21px;
  opacity: 0.9;
  margin-right: 5px;
}

/* Mobile styles */
@media screen and (max-width: 768px) {
    .top-menu-bar {
        display: flex;
        justify-content: space-between; /* Evenly space the items */
    }

    .top-menu-bar a:nth-child(1) {
        /* Align the first link to the left */
        justify-self: flex-start;
    }

    .top-menu-bar a:nth-child(2) {
        /* Align the second link to the center */
        justify-self: center;
    }

    .top-menu-bar a:nth-child(3) {
        /* Align the third link to the right */
        justify-self: flex-end;
    }
    .top-menu-bar{
      padding-bottom: 4px;
      padding-top: 4px;
    }
}

.hide-text {
    visibility: hidden;
}


/* Interactive demo */

.interacdem .product-info__img-block {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.interacdem .product-info__iframe-block iframe {
  width: 100%;
  height: 100%;
}

/* Ensure proper responsiveness */
@media (max-width: 1024px) {
  .interacdem .product-info__img-block {
    height: auto;
  }
}

@media (max-width: 1023px){
  .miniproductinfo img{
    margin-top:-30px;
    margin-bottom:-50px;
    width: 60%;
  }
}

.iframe-container {
  display: flex;
  align-items: center; /* Vertical centering */
  justify-content: center; /* Horizontal centering */
  overflow: hidden; /* Hide overflow */
  width: 100%; /* Full width for all screen sizes */
  margin: auto; /* Center in the available space */
  position: relative; /* For absolute positioning of iframe */
  padding-top: calc(48.5% + 31px); /* Aspect ratio box for 16:9 content */
  height: 0; /* Collapse the container to the size of its content */
  box-shadow: 4px 4px 15px rgba(0,0,0,0.08);
  border-radius: 7px;
  background-size: contain; /* Ensures the image covers the entire container */
  background-repeat: no-repeat; /* Prevents image from repeating */
  background-position: center; /* Centers the image */
}

/* Adjustments for iframe */
.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Styles for iframe placeholder */
#iframe-placeholder {
  width: 100%;
  height: auto;
}


/* Responsive adjustments for desktop */
@media (min-width: 1025px) {
  .iframe-container {
    max-width: 80%; 
    margin-top: 3%;
    margin-bottom: 3%;
    margin-left: 0px;
  }
}

/* Responsive adjustments for smaller screens */
@media (max-width: 1024px) {
  .iframe-container {
    /* On smaller screens, it already takes 100% width */
    padding: 15px; /* Padding around the iframe */
    padding-top: calc(57.9% + 33px); /* Adjust aspect ratio plus padding */
    margin-top: 0; /* No need to push it down on smaller screens */
  }
}

/* Selection style */

::-moz-selection { /* Code for Firefox */
  color: var(--graphite);
  background: var(--aspireplus);
}

::selection {
  color: var(--graphite);
  background: var(--aspireplus);
}

/* Intercom Chat Facade */

#intercom-facade {
  background-color: var(--employer);
  background: var(--gradient2);
  border: none;
  border-radius: 50%;
  width: 54px;
  height: 54px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  color: var(--graphite);
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
}

#intercom-facade img{
  width: 35px;
  height: 35px;
}

/* Cookie style */

#hs-banner-parent #hs-eu-cookie-confirmation, #hs-banner-parent #hs-eu-cookie-confirmation-inner p, #hs-modal, #hs-modal-content, #hs-modal-introduction-description{
  font-family: Eloquia, Eloquia Text, Eloquia Display, Helvetica, Arial, sans-serif !important;
}

#hs-modal-content #hs-modal-footer{
  justify-content: center;
}

#hs-eu-cookie-confirmation #hs-eu-cookie-confirmation-inner{
  gap: 0.9em !important;
  padding-top: 30px !important;
  padding-bottom: 30px !important;
  text-align: center !important;
}

#hs-modal-save-settings, #hs-modal-accept-all, #hs-eu-cookie-confirmation #hs-eu-confirmation-button, #hs-eu-cookie-confirmation #hs-eu-cookie-settings-button, #hs-eu-cookie-confirmation #hs-eu-decline-button{
  border-radius: 6px !important;
  font-family: Eloquia, Eloquia Text, Eloquia Display, Helvetica, Arial, sans-serif !important;
}

#hs-eu-confirmation-button, #hs-modal-accept-all{
  background: var(--gradient)!important;
  color: var(--graphite) !important;
  border: 0px solid rgba(0,0,0,0)!important;
}

#hs-eu-cookie-confirmation #hs-eu-decline-button{
  background: var(--harmony)!important;
  color: var(--graphite)!important;
  border: 0px solid rgba(0,0,0,0)!important;
}

#hs-eu-cookie-confirmation #hs-eu-cookie-settings-button, #hs-modal-save-settings{
  border: 2px solid var(--harmony) !important;
  color: var(--graphite) !important;
  text-decoration: none !important;
}

#hs-eu-cookie-confirmation #hs-eu-confirmation-button-group, #hs-eu-cookie-confirmation #hs-eu-opt-in-buttons{
  gap: 2em !important;
}

#hs-eu-cookie-confirmation #hs-eu-cookie-confirmation-buttons-area{
  justify-content: center!important;
}

/* Lang switcher header */
/* Container for the language switcher - ensure it's positioned relatively */
.header-top-menu {
  position: relative;
  /* other styles */
}

/* Language switcher and dropdown */
.language-switcher {
  position: relative;
  display: inline-block;
  /* other styles */
}

.language-switcher .slide {
  display: block; /* Change to none and toggle with JS or :hover */
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #ebf0f3;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 10; /* High z-index within the container */
  /* Transition for opacity and visibility */
  transition: opacity 0.35s, visibility 0.35s;
  opacity: 0; /* Set to 1 to show */
  visibility: hidden; /* Set to visible to show */
}

/* Show the dropdown on hover or focus within the .language-switcher */
.language-switcher:hover .slide,
.language-switcher:focus-within .slide {
  opacity: 1;
  visibility: visible;
}

/* Styles for list items within the dropdown */
.language-switcher .slide ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.language-switcher .slide ul li {
  padding: 10px 20px;
  background: var(--light-green); /* Background for list items */
  border-top: 1px solid var(--light-green); /* Separator */
}

.language-switcher .slide ul li:first-child {
  border-top: none;
}

.language-switcher .slide ul li a {
  color: #101828; /* Text color */
  text-decoration: none;
}

.language-switcher .slide ul li a:hover {
  color: var(--grey-600);
}

/* Mobile lang switcher */




/* Democolumn */
.bg-democolumn{
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.bg2-democolumn{
  background: #fff;
}