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

 */
:root {
  --arrow-wide: url("data:image/svg+xml,%3Csvg width='45' height='16' viewBox='0 0 45 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%233397EF' stroke-width='3' stroke-linecap='round' d='m1.5 7.5002 37 .0001'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m43.2887 8.8812-5.0609 5.0609c-.7021.7021-1.8404.7021-2.5425 0-.7021-.702-.7021-1.8404 0-2.5424l5.0609-5.061c.7021-.702 1.8404-.702 2.5425 0 .7021.7021.7021 1.8405 0 2.5425Z' fill='%233397EF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m38.2279 1.3387 5.0609 5.061c.7021.702.7021 1.8403 0 2.5424-.7021.7021-1.8404.7021-2.5425 0l-5.0609-5.0609c-.7021-.702-.7021-1.8404 0-2.5425.7021-.702 1.8404-.702 2.5425 0Z' fill='%233397EF'/%3E%3C/svg%3E");
  --logo-light: url("data:image/svg+xml,%3Csvg viewBox='0 0 153 153' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.05'%3E%3Crect width='33.6672' height='76.73' rx='16.8336' transform='matrix(0.707108 -0.707106 0.707108 0.707106 0.386719 23.8062)' fill='white'/%3E%3Crect width='33.6672' height='76.73' rx='16.8336' transform='matrix(-0.707106 0.707108 -0.707106 -0.707108 153 128.445)' fill='white'/%3E%3Crect width='33.6672' height='76.73' rx='16.8336' transform='matrix(-0.707108 -0.707106 -0.707108 0.707106 153 23.8062)' fill='white'/%3E%3Crect width='33.6672' height='76.73' rx='16.8336' transform='matrix(0.707107 0.707106 0.707108 -0.707106 0.386719 128.445)' fill='white'/%3E%3C/g%3E%3C/svg%3E%0A");
  --logo-dark: url("data:image/svg+xml,%3Csvg width='368' height='320' viewBox='0 0 368 320' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.15'%3E%3Crect width='99.471' height='226.701' rx='49.7355' transform='matrix(0.690256 -0.723565 0.690256 0.723565 -73 1.27734)' fill='white'/%3E%3Crect width='99.471' height='226.701' rx='49.7355' transform='matrix(-0.690257 0.723565 -0.690256 -0.723565 367.16 317.629)' fill='white'/%3E%3Crect width='99.471' height='226.701' rx='49.7355' transform='matrix(-0.690257 -0.723565 -0.690257 0.723565 367.16 1.27734)' fill='white'/%3E%3Crect width='99.471' height='226.701' rx='49.7355' transform='matrix(0.690256 0.723565 0.690257 -0.723565 -73 317.629)' fill='white'/%3E%3C/g%3E%3C/svg%3E%0A");
}

.has-gradient-top {
  background: linear-gradient(to top, rgba(245, 250, 254, 0) 0%, #F5FAFE 100%);
}

.has-gradient-bottom {
  background: linear-gradient(to bottom, rgba(245, 250, 254, 0) 0%, #F5FAFE 100%);
}

.m-separator {
  position: relative;
  margin-top: 2vmin;
  margin-bottom: 6vmin;
}
@media (max-width: 1112px) {
  .m-separator {
    margin-bottom: 10vmin;
  }
}
.m-separator:before, .m-separator:after {
  content: "";
  position: absolute;
}
.m-separator:before {
  height: 1px;
  width: 100%;
  left: 0;
  bottom: 0;
  background: linear-gradient(to left, #e7e7e7 0%, #e7e7e7 48%, #fff 48%, #fff 52%, #e7e7e7 52%, #e7e7e7 100%);
}
@media (max-width: 1112px) {
  .m-separator:before {
    width: calc(100% - 40px);
    right: 0;
    margin: auto;
  }
}
.m-separator:after {
  background: url(../images/decors/logo-color.svg) 50% 50% no-repeat;
  width: 100px;
  height: 40px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
}
@media (max-width: 1112px) {
  .m-separator:after {
    background-size: contain;
    width: 80px;
    height: 25px;
  }
}
.m-separator.-visible-mobile {
  display: none;
}
@media (max-width: 1112px) {
  .m-separator.-visible-mobile {
    display: block;
  }
}
.m-separator.-visible-mobile.-visible-desktop {
  display: block;
}
.m-separator.-visible-desktop {
  display: block;
}
@media (max-width: 1112px) {
  .m-separator.-visible-desktop {
    display: none;
  }
}

.blog-grid {
  --grid-img-height: 305px;
  --grid-item-col: 3;
  --c-block-padding: 15px;
  --grid-item-gap: clamp(10px, 1.05vw, 20px);
}
@media (max-width: 1112px) {
  .blog-grid {
    --grid-item-col: 2;
  }
}
@media (min-width: 1112px) {
  .blog-grid {
    --grid-item-gap: clamp(15px, 1.57vw, 30px);
  }
}

.blog-breadcrumb,
.shop-breadcrumb {
  --breadcrumb-size: 14px;
  --breadcrumb-color: var(--primary-color1);
  --breadcrumb-color-current: #3397EF;
  --breadcrumb-gap: 5px;
  --breadcrumb-bg: transparent;
}
[color-mode=dark] .blog-breadcrumb,
[color-mode=dark] .shop-breadcrumb {
  --breadcrumb-bg: transparent;
  --breadcrumb-color-current: var(--primary-color2);
}

.dark-mode {
  --dm-bg: var(--secondary-color1);
  --dm-color: var(--primary-color1);
  --dm-radius: 0;
  --dm-toggler-bg: #CFE2EE;
  --dm-dot: #fff;
  --dm-height: 32px;
  --dm-width: 71px;
}
[color-mode=dark] .dark-mode {
  --dm-bg: var(--primary-color1);
  --dm-color: var(--secondary-color1);
  --dm-toggler-bg: var(--secondary-color3);
}

/* TOC plugin */
#ez-toc-container {
  --toc-title-bg: transparent;
  --toc-title-color: var(--primary-color1);
  --toc-title-padding: .55em 1.2em;
  --toc-title-size: 3rem;
  --toc-title-weight: 700;
  --toc-bg: #fff;
  --toc-color: var(--primary-color1);
  --toc-link-l1-size: 1.8rem;
  --toc-link-l1-weight: 400;
  --toc-link-l1-padding: .5em 0;
}
[color-mode=dark] #ez-toc-container {
  --toc-bg: var(--primary-color1);
  --toc-color: var(--secondary-color1);
}

/**
 ############################
 #   MODULE: BLOG NEWS GRID
 ############################
 */
.blog-grid {
  display: grid;
  grid-template: auto/repeat(var(--grid-item-col, 4), minmax(0, 1fr));
  gap: var(--grid-item-gap);
}
@media (max-width: 766px) {
  .blog-grid {
    --grid-item-col: 1;
    --grid-img-height: 150px;
  }
}
@media (min-width: 768px) {
  .blog-grid {
    margin-bottom: 10vmin;
  }
  .blog-grid.search-posts {
    margin-bottom: 0;
    grid-template: auto/repeat(4, minmax(0, 1fr));
  }
}
.blog-grid .not-found {
  grid-column: span 3;
}
.blog-grid__item {
  margin-bottom: 0 !important;
}
.blog-grid .c-block {
  display: block;
  overflow: hidden;
  height: 100%;
  position: relative;
  transition: opacity var(--base-transition);
}
@media (max-width: 766px) {
  .blog-grid .c-block {
    --c-block-gap-vertical: 15px;
    --c-block-gap-horizontal: 15px;
  }
}
.blog-grid .c-block__media {
  overflow: hidden;
}
.blog-grid .c-block__media-link {
  display: block;
  height: 100%;
}
.blog-grid .c-block__media img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.blog-grid .c-block:hover .c-block__media img {
  transform: scale(1.05);
}
#ajax-posts {
  position: relative;
}

.c-loadmore {
  text-align: center;
  padding: 2em 0;
}

.object-list {
  position: relative;
  overflow: hidden;
  min-height: 30px;
  transition: max-height 0.3s ease-in;
}
.object-list .no-results {
  padding-top: 30px;
  margin-bottom: 0;
  text-align: center;
  color: #fff;
  grid-column: span var(--grid-item-col, 4);
}

.single-post .site-content {
  padding-top: 30px;
}
@media (min-width: 1113px) {
  .single-post.fixed-header .site-content {
    padding-top: var(--header-hight);
  }
}
.single-post__header {
  text-align: center;
  margin-bottom: 30px;
}
@media (min-width: 1113px) {
  .single-post__header {
    padding-top: 75px;
  }
}
.single-post__cat-list {
  margin-bottom: 0.5em;
  letter-spacing: 0.1em;
  font-size: clamp(14px, 0.95vw, 18px);
  text-transform: uppercase;
  color: var(--secondary-color5);
}
.single-post__cat-list a {
  color: var(--secondary-color5) !important;
}
.single-post__content .addtoany_content + img {
  border-radius: 20px;
}

.content-single__title {
  padding: 20px 0;
  width: 100%;
  background-color: #ccc;
  text-align: center;
}
.content-single__info {
  color: rgba(var(--body-text-color), 0.8);
  text-align: left;
  padding: 20px 0;
}
@media (min-width: 1113px) {
  .content-single__info {
    display: flex;
    justify-content: space-between;
    font-size: 0.8em;
  }
}
.content-single__pagination {
  display: flex;
  justify-content: space-between;
  max-width: var(--blog-width, 650px);
  padding: 30px 0;
}

.single-post-style-2 {
  margin-bottom: 6vmin;
  max-width: none;
  position: relative;
  z-index: 20;
}
@media (min-width: 1113px) {
  .single-post-style-2 {
    align-items: center;
    display: flex;
    gap: 45px;
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    right: 50%;
    width: calc(100vw - 8.1px);
  }
  .single-post-style-2 .single-post__col1,
.single-post-style-2 .single-post__col2 {
    width: 50%;
  }
  .single-post-style-2 .single-post__col2 {
    padding: 0 5% 0 20px;
  }
  .single-post-style-2 .single-post__col2 .-h1 {
    font-size: var(--h1-font-size, 6rem);
    line-height: var(--h1-line-height, 1.3);
    font-weight: var(--h1-font-weight, 700);
  }
  .single-post-style-2 .single-post__col1 {
    height: 67vh;
    text-align: right;
  }
  .single-post-style-2 .single-post__col1 img {
    border: 1px solid transparent;
    border-radius: 0 var(--c-block-radius, 15px) var(--c-block-radius, 15px) 0;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    width: 100%;
  }
}

.blog-pagination,
.pagination-container {
  text-align: center;
  padding: 1em 0;
}
.blog-pagination ul,
.pagination-container ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.blog-pagination li,
.pagination-container li {
  margin: 0 10px;
}
.blog-pagination a:hover,
.pagination-container a:hover {
  color: var(--primary-color2);
}
.blog-pagination .active a,
.pagination-container .active a {
  color: var(--primary-color2);
  font-weight: 700;
}

.blog-breadcrumb,
.shop-breadcrumb {
  font-size: var(--breadcrumb-size);
  padding-top: 1em;
  padding-bottom: 1em;
  color: var(--breadcrumb-color);
  background-color: var(--breadcrumb-bg);
}
.blog-breadcrumb span a,
.shop-breadcrumb span a {
  color: var(--breadcrumb-color-current);
  font-weight: 700;
}
.blog-breadcrumb span a:hover,
.shop-breadcrumb span a:hover {
  text-decoration: underline;
}
.blog-breadcrumb .current-item,
.shop-breadcrumb .current-item {
  color: var(--breadcrumb-color-current);
}

/* GALLERIES */
.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 3em 0 3em -0.8em;
  width: calc(100% + 1.6em);
}

.gallery-item {
  margin: 0.8em 0;
  padding: 0 0.8em;
  width: 100%;
}
.gallery-item img {
  margin-bottom: 0;
}

.gallery-caption {
  display: block;
  margin-top: 0.8em;
}

@media (min-width: 768px) {
  .gallery-columns-2 .gallery-item {
    max-width: 50%;
  }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%;
  }
  .gallery-columns-4 .gallery-item {
    max-width: 25%;
  }
  .gallery-columns-5 .gallery-item {
    max-width: 20%;
  }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%;
  }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%;
  }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%;
  }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%;
  }
}
.post .aligncenter,
.post .alignnone,
.post iframe {
  margin-left: auto;
  margin-right: auto;
}
.post .alignleft {
  float: left;
  margin-right: 20px;
}
.post .alignright {
  float: right;
  margin-left: 20px;
}
.post .wp-block-columns,
.post .alignfull {
  width: calc(100vw - 8.1px);
  max-width: none;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.post .wp-block-columns .wp-block-gallery,
.post .alignfull .wp-block-gallery {
  margin-bottom: 0;
}
.post .blocks-gallery-item img {
  margin: 0;
}
.post .wp-block-image.alignfull img,
.post .wp-block-image.alignwide img {
  margin-bottom: 0;
}

.filter-loader {
  height: 100%;
  width: 100%;
  position: absolute;
  background: rgba(255, 255, 255, 0.5);
  z-index: 100;
  left: 0;
  top: 0;
}

.spinner {
  width: 40px;
  height: 40px;
  position: relative;
  margin: 100px auto;
}

.double-bounce1,
.double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--primary-color2);
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-bounce 2s infinite ease-in-out;
  animation: sk-bounce 2s infinite ease-in-out;
}

.double-bounce2 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

@-webkit-keyframes sk-bounce {
  0%, 100% {
    -webkit-transform: scale(0);
  }
  50% {
    -webkit-transform: scale(1);
  }
}
@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
}
.dark-mode {
  background-color: var(--dm-bg);
  padding: 0.8em 1em;
  display: flex;
  align-items: center;
  border-radius: var(--dm-radius);
  z-index: 10;
}
.dark-mode__wrap {
  position: relative;
}
@media (max-width: 1111px) {
  .dark-mode {
    max-width: 230px;
    margin: 0 auto 20px;
  }
}
@media (min-width: 1112px) {
  .dark-mode {
    position: absolute;
    transform: translateX(100%);
    top: 35px;
    right: 0;
  }
}
.dark-mode__label {
  margin-right: 15px;
  font-size: clamp(14px, 0.84vw, 16px);
  font-weight: 400;
  color: var(--dm-color);
  letter-spacing: 0.05em;
}
.dark-mode__toggler {
  width: var(--dm-width);
  height: var(--dm-height);
  padding: 1px;
  background-color: var(--dm-toggler-bg);
  border: solid 1px var(--dm-toggler-bg);
  transition: all 0.25s ease-in;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.dark-mode__toggler:focus {
  outline: none;
}
.dark-mode__handler {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: background-color 0.25s cubic-bezier(0.41, 0.36, 0.82, 0.4);
}
.dark-mode__handler:before {
  content: "";
  position: absolute;
  transform: translate(0, -50%);
  top: 50%;
  left: 0;
  width: calc(var(--dm-height) - 4px);
  height: calc(var(--dm-height) - 4px);
  border-radius: 100%;
  background-color: var(--dm-dot);
  transition: all 0.25s cubic-bezier(0.41, 0.36, 0.82, 0.4);
}
[color-mode=dark] .dark-mode__handler:before {
  transform: translate(calc(-100% - 2px), -50%);
  left: 100%;
}

@media (min-width: 1113px) {
  .addtoany_share_save_container {
    margin: 0;
    position: sticky;
    top: 140px;
    height: 250px;
    float: left;
    z-index: 1;
  }
  .addtoany_share_save_container > div {
    position: absolute;
    top: 0;
    left: -160px;
  }
}
.addtoany_share_save_container .addtoany_list {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1111px) {
  .addtoany_share_save_container .addtoany_list {
    flex-direction: row;
    justify-content: center;
  }
}
.addtoany_share_save_container .addtoany_list a {
  margin-bottom: 10px;
}
.addtoany_share_save_container .addtoany_list a > span {
  border-radius: 40px;
  height: 50px;
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.addtoany_share_save_container .addtoany_list a > span svg {
  width: 26px;
}

.separators-custom-box,
.cta-custom-box {
  display: flex;
  padding: 15px;
  justify-content: space-between;
  align-items: center;
  background-color: var(--primary-color1);
  border-radius: 10px;
  color: #fff;
  font-size: 2.2rem;
  margin: 1.5em 0;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: 215px;
}
@media (max-width: 766px) {
  .separators-custom-box,
.cta-custom-box {
    flex-direction: column;
    text-align: center;
  }
}
@media (min-width: 1113px) {
  .separators-custom-box,
.cta-custom-box {
    padding: 30px;
    background-image: url("data:image/svg+xml,%3Csvg width='192' height='130' viewBox='0 0 192 130' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.05'%3E%3Crect x='-25.627' y='-3.66602' width='47.8832' height='109.129' rx='23.9416' transform='rotate(-45 -25.627 -3.66602)' fill='white'/%3E%3Crect x='191.428' y='145.154' width='47.8832' height='109.129' rx='23.9416' transform='rotate(135 191.428 145.154)' fill='white'/%3E%3Crect width='47.8832' height='109.129' rx='23.9416' transform='matrix(-0.707107 -0.707107 -0.707107 0.707107 191.428 -3.66602)' fill='white'/%3E%3Crect width='47.8832' height='109.129' rx='23.9416' transform='matrix(0.707107 0.707107 0.707107 -0.707107 -25.627 145.154)' fill='white'/%3E%3C/g%3E%3C/svg%3E%0A");
  }
}
.separators-custom-box > span,
.separators-custom-box h4,
.cta-custom-box > span,
.cta-custom-box h4 {
  color: #fff !important;
  font-weight: bold;
  font-size: 2.4rem;
  margin: 0;
}
@media (max-width: 766px) {
  .separators-custom-box > span,
.separators-custom-box h4,
.cta-custom-box > span,
.cta-custom-box h4 {
    margin-bottom: 20px;
    text-align: center !important;
  }
}
@media (min-width: 767px) {
  .separators-custom-box > span,
.separators-custom-box h4,
.cta-custom-box > span,
.cta-custom-box h4 {
    padding-right: 20px;
  }
}
.content-single {
  position: relative;
}
.content-single #ez-toc-container {
  background-color: var(--toc-bg);
  padding: 0;
  margin-bottom: 3em;
  border: none !important;
  width: 100%;
  transition: all var(--base-transition);
  z-index: 10;
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.1);
  border-radius: 20px !important;
}
.content-single #ez-toc-container + *:first-of-type, .content-single #ez-toc-container + *:first-child {
  clear: both;
}
.content-single #ez-toc-container label {
  left: auto;
  border: 0;
  padding: 0;
  background: none;
}
@media (min-width: 1281px) {
  .content-single #ez-toc-container.is-float {
    position: sticky;
    max-width: 300px;
    top: var(--header-hight, 100px);
    right: 0;
    float: right;
    transform: translateX(110%);
  }
  .fixed-header .content-single #ez-toc-container.is-float {
    top: var(--header-hight, 100px);
  }
  .content-single #ez-toc-container.is-float .ez-toc-title-container {
    padding: 10px 10px 10px 15px;
    margin-top: 1.3rem;
    margin-bottom: 1.3rem;
  }
  .content-single #ez-toc-container.is-float .ez-toc-title-container:after {
    width: 6px;
    height: 40px;
  }
  .content-single #ez-toc-container.is-float .ez-toc-title {
    font-size: 1.8rem;
  }
  .content-single #ez-toc-container.is-float .ez-toc-link {
    padding: 5px 0;
    font-size: 1.4rem;
    font-weight: 500;
  }
  .content-single #ez-toc-container.is-float .ez-toc-btn {
    padding: 0 5px;
  }
  .content-single #ez-toc-container.is-float nav {
    position: static;
    max-width: none;
    transform: translateX(0);
  }
  .content-single #ez-toc-container.is-float nav > ul {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.content-single #ez-toc-container nav > ul {
  padding-top: 0;
  padding-left: 4.5rem;
  padding-right: 4.5rem;
  padding-bottom: 2rem;
}
.content-single #ez-toc-container nav > ul > li:not(:last-child) {
  border-bottom: 2px dashed #D0D4DE;
}
.content-single #ez-toc-container nav .ez-toc-viewed {
  color: var(--secondary-color5) !important;
}
.content-single #ez-toc-container ul {
  height: auto !important;
  margin-left: 0;
}
.content-single #ez-toc-container ul li {
  margin-left: 0;
}
.content-single #ez-toc-container .ez-toc-link {
  display: block;
  padding: 10px 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--toc-color);
}
@media (min-width: 1441px) {
  .content-single #ez-toc-container .ez-toc-link {
    font-size: var(--toc-link-l1-size);
    font-weight: var(--toc-link-l1-weight);
    padding: var(--toc-link-l1-padding);
  }
}
.content-single #ez-toc-container .ez-toc-link:visited {
  color: var(--toc-color);
}
.content-single #ez-toc-container .ez-toc-link:hover {
  text-decoration: none;
  color: var(--secondary-color5) !important;
}
.content-single #ez-toc-container .ez-toc-btn {
  margin-bottom: 0;
  margin-left: 10px;
  font-weight: 600;
  font-family: var(--font-family-primary);
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  color: var(--secondary-color3);
  background-color: #fff;
  background-image: none;
  background-repeat: repeat-x;
  padding: 6px 15px;
  min-width: 100px;
  border-radius: clamp(10px, 1.05vw, 20px);
  font-size: 16px;
  line-height: 18px;
  text-transform: capitalize;
  position: relative;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--secondary-color2);
  display: flex !important;
  flex-direction: row-reverse;
}
.content-single #ez-toc-container .ez-toc-btn:hover, .content-single #ez-toc-container .ez-toc-btn:active {
  background-image: none;
  background-color: var(--primary-color2);
  border-color: var(--primary-color2);
  text-decoration: none;
  box-shadow: none;
}
.content-single #ez-toc-container .ez-toc-btn:before {
  content: "Show";
  display: block;
  left: 30px;
  top: 5px;
  font-weight: 600;
  font-size: 16px;
  vertical-align: middle;
}
.content-single #ez-toc-container .ez-toc-btn:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.content-single #ez-toc-container .ez-toc-btn.active:before {
  content: "Hide";
}
.content-single #ez-toc-container .ez-toc-btn.active .ez-toc-icon-toggle:before {
  transform: rotate(0);
}
.content-single #ez-toc-container .ez-toc-icon-toggle {
  position: relative;
  top: 0;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 0;
  margin-right: 0.5em;
}
.content-single #ez-toc-container .ez-toc-icon-toggle:empty {
  width: 1em;
}
.content-single #ez-toc-container .ez-toc-icon-toggle:before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='7' viewBox='0 0 11 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.50027 2.82075L9.20864 6.22025C9.61885 6.59325 10.2825 6.59325 10.6928 6.22025C11.1024 5.84325 11.1024 5.23425 10.6928 4.85725L6.24206 0.77975C5.83185 0.40675 5.1676 0.40675 4.75794 0.77975L0.307243 4.85725C-0.102964 5.23425 -0.101864 5.84325 0.307244 6.22025C0.716901 6.59325 1.3806 6.59325 1.79081 6.22025L5.50027 2.82075Z' fill='%233397EF'/%3E%3C/svg%3E%0A");
  transform: rotate(180deg);
}
.content-single #ez-toc-container .ez-toc-title-container {
  background-color: var(--toc-title-bg);
  padding: var(--toc-title-padding);
  position: relative;
  padding-left: 4.5rem;
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}
.content-single #ez-toc-container .ez-toc-title-container:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 60px;
  left: 0;
  top: 5px;
  background: var(--secondary-color5);
  border-radius: 0 50px 50px 0;
  transition: width 0.3s, height 0.3s;
}
.content-single #ez-toc-container .ez-toc-title {
  color: var(--toc-title-color);
  font-size: var(--toc-title-size);
  font-weight: var(--toc-title-weight);
  text-transform: none;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9fY29yZS9taXhpbnMvX2FzcGVjdC1yYXRpby5zY3NzIiwiX19jb3JlL21peGlucy9fcGFnZS1zaXplcy5zY3NzIiwidmlzdWFscy9fX2RlY29yYXRlLnNjc3MiLCJfX2NvcmUvbWl4aW5zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJibG9nL19ibG9nX2NvcmUuc2NzcyIsImJsb2cvY29tcG9uZW50cy9fYmxvZy1ncmlkLnNjc3MiLCJibG9nL2NvbXBvbmVudHMvX2Jsb2ctYXJ0aWNsZS5zY3NzIiwiYmxvZy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJibG9nL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJibG9nL2NvbXBvbmVudHMvX3dwLWRlZmF1bHQtY2xhc3Nlcy5zY3NzIiwiYmxvZy9jb21wb25lbnRzL19sb2FkZXIuc2NzcyIsImJsb2cvd2lkZ2V0cy9fZGFya21vZGUuc2NzcyIsImJsb2cvd2lkZ2V0cy9fYWRkdG9hbnkuc2NzcyIsImJsb2cvd2lkZ2V0cy9fY3RhLWN1c3RvbS1ib3guc2NzcyIsImJsb2cvd2lkZ2V0cy9fdG9jLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JBO0FBQUE7QUFBQTtBQUFBO0FDbEJBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQ1hBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUMyaEJBO0VEOWhCSjtJQUtROzs7QUFFSjtFQUVJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQzZnQko7RURsaEJBO0lBT1E7SUFDQTtJQUNBOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNnZ0JKO0VEdGdCQTtJQVFRO0lBQ0E7SUFDQTs7O0FBR1I7RUFDSTs7QUN3Zko7RUR6ZkE7SUFHUTs7O0FBRUo7RUFDSTs7QUFHUjtFQUNJOztBQytlSjtFRGhmQTtJQUdROzs7O0FFaEVaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FEeWlCQTtFQzdpQko7SUFNUTs7O0FEdWlCSjtFQzdpQko7SUFTUTs7OztBQUlSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0FBQUE7RUFDSTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBOzs7QUFLUjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOzs7QUN6RFI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBOztBRm9pQkE7RUV2aUJKO0lBS1E7SUFDQTs7O0FGaWlCSjtFRXZpQko7SUFTUTs7RUFDQTtJQUNJO0lBQ0E7OztBQUdSO0VBQ0k7O0FBR0o7RUFtQkk7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRjBmSjtFRS9mQTtJQU9RO0lBQ0E7OztBQUVKO0VBQ0k7O0FBQ0E7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBT0E7RUFDSTs7QUFRcEI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBUUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDeEdKO0VBQ0k7O0FId2lCSjtFR3JpQkk7SUFFUTs7O0FBSVo7RUFDSTtFQUNBOztBSDZoQko7RUcvaEJBO0lBSVE7OztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUlKO0VBQ0k7OztBQU1SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FINmZKO0VHaGdCQTtJQUtRO0lBQ0E7SUFDQTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUgwZUE7RUc5ZUo7SUFNUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0FBQUE7SUFFSTs7RUFFSjtJQUNJOztFQUNBO0lBQ0k7SUFDQTtJQUNBOztFQUdSO0lBQ0k7SUFDQTs7RUFDQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7OztBQ2xHaEI7QUFBQTtFQUVJO0VBQ0E7O0FBQ0E7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtBQUFBO0VBQ0k7O0FBR0E7QUFBQTtFQUNJOztBQUdSO0FBQUE7RUFDSTtFQUNBOzs7QUNuQlI7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0k7QUFBQTtFQUNJO0VBQ0E7O0FBQ0E7QUFBQTtFQUNJOztBQUlaO0FBQUE7RUFDSTs7O0FDcEJSO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOzs7QU55aEJBO0VNcmhCQTtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7OztBQUtKO0FBQUE7QUFBQTtFQUdJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7QUFBQTtFQUNJOztBQUlKO0VBQ0k7O0FBR1I7QUFBQTtFQUVJOzs7QUNwRlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFFSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0lBRUk7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQ3ZEUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBUnFpQko7RVE3aUJKO0lBV1E7SUFDQTs7O0FSaWlCSjtFUTdpQko7SUFlUTtJQUNBO0lBQ0E7SUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7OztBUmdmWjtFUzdpQko7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBO0lBQ0E7OztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBVDRoQko7RVMvaEJBO0lBS1E7SUFDQTs7O0FBRUo7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOzs7QUNoQ3BCO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FWZ2lCQTtFVTdpQko7QUFBQTtJQWVRO0lBQ0E7OztBVjZoQko7RVU3aUJKO0FBQUE7SUFtQlE7SUFDQTs7O0FBRUo7QUFBQTtBQUFBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7QVZraEJKO0VVdmhCQTtBQUFBO0FBQUE7QUFBQTtJQU9RO0lBQ0E7OztBVitnQlI7RVV2aEJBO0FBQUE7QUFBQTtBQUFBO0lBV1E7OztBQ2pDWjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVJO0VBRUk7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QVh1aEJSO0VXcGhCUTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUNBO0lBQ0k7SUFDQTs7RUFHUjtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBOzs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVJO0VBQ0k7O0FBSVo7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FYK2NSO0VXcGRJO0lBT1E7SUFDQTtJQUNBOzs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUdBO0VBQ0k7O0FBR0E7RUFDSTs7QUFLaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBIiwiZmlsZSI6ImJsb2cuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1peGluIGFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0JjpiZWZvcmV7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcclxuXHR9XHJcblxyXG5cdD4gLmNvbnRlbnQge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLypcclxuLnNpeHRlZW4tbmluZSB7XHJcblx0QGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LDkpO1xyXG59Ki9cclxuIiwiLyogTWVkaWEgUXVlcmllcyBCcmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAgICAgJ3Bob25lJzogMzIwcHgsXHJcbiAgICAgICAgJ3Bob25lLWwnOiA1NzVweCxcclxuICAgICAgICAndGFibGV0JzogNzY3cHgsXHJcbiAgICAgICAgJ2Rlc2t0b3AnOiAxMTEycHgsXHJcbiAgICAgICAgJ2Rlc2t0b3AtbSc6IDEyODBweCxcclxuICAgICAgICAnZGVza3RvcC1sJzogMTQ0MHB4LFxyXG4gICAgICAgICdkZXNrdG9wLXhsJzogMTY2MHB4XHJcbik7XHJcblxyXG4vKipcclxuKiAqKioqKioqKioqKioqKioqKioqXHJcbiogIFVzYWdlIGV4YW1wbGVzXHJcbiogKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbi8vXHJcbi8vICB1c2UgPD1cclxuKiAgIEFMV0FZUyB1c2UgPD0gKCAnPCcgd2l0aCAnPScgY2hhcmFjdGVyKSBmb3IgYWxsIGJyZWFrcG9pbnRzXHJcbiogICB3aGVuIHNldHRpbmcgbWF4LXdpZHRoLCBleDogbWF4LXdpZHRoOiA3NjdweCxcclxuKlxyXG4qICAgc28gbWF4LXdpZHRoOiAxNDQwcHggID09IG1lZGlhKCc8PWRlc2t0b3AtbCcpXHJcbipcclxuKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbi8vICB1c2UgPlxyXG4qICAgQUxXQVlTIHVzZSBvbmx5ID4gYXMgc2luZ2xlIGNoYXJhY3RlciBmb3IgYWxsIGJyZWFrcG9pbnRzXHJcbiogICB3aGVuIHNldHRpbmcgbWluLXdpZHRoLCBleDogbWluLXdpZHRoOiA3NjhweCxcclxuKlxyXG4qICAgc28gbWluLXdpZHRoOiAxMDI1cHggID09IG1lZGlhKCc+ZGVza3RvcCcpXHJcbipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbiojIyBFWEFNUExFOlxyXG4qXHJcbiogICAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweClcclxuKiAgID1cclxuKiAgIG1lZGlhICgnPnRhYmxldCcpLCAoJzw9ZGVza3RvcCcpXHJcbipcclxuLy9cclxuXHJcbiAqL1xyXG4iLCJAaW1wb3J0IFwiZGVjb3JhdGUvZGVjb3ItbWl4aW5zXCI7XHJcbjpyb290IHtcclxuICAgIC0tYXJyb3ctd2lkZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nNDUnIGhlaWdodD0nMTYnIHZpZXdCb3g9JzAgMCA0NSAxNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMzMzk3RUYnIHN0cm9rZS13aWR0aD0nMycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBkPSdtMS41IDcuNTAwMiAzNyAuMDAwMScvJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nbTQzLjI4ODcgOC44ODEyLTUuMDYwOSA1LjA2MDljLS43MDIxLjcwMjEtMS44NDA0LjcwMjEtMi41NDI1IDAtLjcwMjEtLjcwMi0uNzAyMS0xLjg0MDQgMC0yLjU0MjRsNS4wNjA5LTUuMDYxYy43MDIxLS43MDIgMS44NDA0LS43MDIgMi41NDI1IDAgLjcwMjEuNzAyMS43MDIxIDEuODQwNSAwIDIuNTQyNVonIGZpbGw9JyUyMzMzOTdFRicvJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nbTM4LjIyNzkgMS4zMzg3IDUuMDYwOSA1LjA2MWMuNzAyMS43MDIuNzAyMSAxLjg0MDMgMCAyLjU0MjQtLjcwMjEuNzAyMS0xLjg0MDQuNzAyMS0yLjU0MjUgMGwtNS4wNjA5LTUuMDYwOWMtLjcwMjEtLjcwMi0uNzAyMS0xLjg0MDQgMC0yLjU0MjUuNzAyMS0uNzAyIDEuODQwNC0uNzAyIDIuNTQyNSAwWicgZmlsbD0nJTIzMzM5N0VGJy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgLS1sb2dvLWxpZ2h0OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCAxNTMgMTUzJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZyBvcGFjaXR5PScwLjA1JyUzRSUzQ3JlY3Qgd2lkdGg9JzMzLjY2NzInIGhlaWdodD0nNzYuNzMnIHJ4PScxNi44MzM2JyB0cmFuc2Zvcm09J21hdHJpeCgwLjcwNzEwOCAtMC43MDcxMDYgMC43MDcxMDggMC43MDcxMDYgMC4zODY3MTkgMjMuODA2MiknIGZpbGw9J3doaXRlJy8lM0UlM0NyZWN0IHdpZHRoPSczMy42NjcyJyBoZWlnaHQ9Jzc2LjczJyByeD0nMTYuODMzNicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNzA3MTA2IDAuNzA3MTA4IC0wLjcwNzEwNiAtMC43MDcxMDggMTUzIDEyOC40NDUpJyBmaWxsPSd3aGl0ZScvJTNFJTNDcmVjdCB3aWR0aD0nMzMuNjY3MicgaGVpZ2h0PSc3Ni43Mycgcng9JzE2LjgzMzYnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjcwNzEwOCAtMC43MDcxMDYgLTAuNzA3MTA4IDAuNzA3MTA2IDE1MyAyMy44MDYyKScgZmlsbD0nd2hpdGUnLyUzRSUzQ3JlY3Qgd2lkdGg9JzMzLjY2NzInIGhlaWdodD0nNzYuNzMnIHJ4PScxNi44MzM2JyB0cmFuc2Zvcm09J21hdHJpeCgwLjcwNzEwNyAwLjcwNzEwNiAwLjcwNzEwOCAtMC43MDcxMDYgMC4zODY3MTkgMTI4LjQ0NSknIGZpbGw9J3doaXRlJy8lM0UlM0MvZyUzRSUzQy9zdmclM0UlMEFcIik7XHJcbiAgICAtLWxvZ28tZGFyazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMzY4JyBoZWlnaHQ9JzMyMCcgdmlld0JveD0nMCAwIDM2OCAzMjAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NnIG9wYWNpdHk9JzAuMTUnJTNFJTNDcmVjdCB3aWR0aD0nOTkuNDcxJyBoZWlnaHQ9JzIyNi43MDEnIHJ4PSc0OS43MzU1JyB0cmFuc2Zvcm09J21hdHJpeCgwLjY5MDI1NiAtMC43MjM1NjUgMC42OTAyNTYgMC43MjM1NjUgLTczIDEuMjc3MzQpJyBmaWxsPSd3aGl0ZScvJTNFJTNDcmVjdCB3aWR0aD0nOTkuNDcxJyBoZWlnaHQ9JzIyNi43MDEnIHJ4PSc0OS43MzU1JyB0cmFuc2Zvcm09J21hdHJpeCgtMC42OTAyNTcgMC43MjM1NjUgLTAuNjkwMjU2IC0wLjcyMzU2NSAzNjcuMTYgMzE3LjYyOSknIGZpbGw9J3doaXRlJy8lM0UlM0NyZWN0IHdpZHRoPSc5OS40NzEnIGhlaWdodD0nMjI2LjcwMScgcng9JzQ5LjczNTUnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjY5MDI1NyAtMC43MjM1NjUgLTAuNjkwMjU3IDAuNzIzNTY1IDM2Ny4xNiAxLjI3NzM0KScgZmlsbD0nd2hpdGUnLyUzRSUzQ3JlY3Qgd2lkdGg9Jzk5LjQ3MScgaGVpZ2h0PScyMjYuNzAxJyByeD0nNDkuNzM1NScgdHJhbnNmb3JtPSdtYXRyaXgoMC42OTAyNTYgMC43MjM1NjUgMC42OTAyNTcgLTAuNzIzNTY1IC03MyAzMTcuNjI5KScgZmlsbD0nd2hpdGUnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxufVxyXG5cclxuLmhhcy1ncmFkaWVudC10b3Age1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgyNDUsIDI1MCwgMjU0LCAwKSAwJSwgI0Y1RkFGRSAxMDAlKTtcclxufVxyXG5cclxuLmhhcy1ncmFkaWVudC1ib3R0b20ge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNDUsIDI1MCwgMjU0LCAwKSAwJSwgI0Y1RkFGRSAxMDAlKTtcclxufVxyXG5cclxuLm0tc2VwYXJhdG9yIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi10b3A6IDJ2bWluO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnZtaW47XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTB2bWluO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICNlN2U3ZTcgMCUsICNlN2U3ZTcgNDglLCAjZmZmIDQ4JSwgI2ZmZiA1MiUsICNlN2U3ZTcgNTIlLCAjZTdlN2U3IDEwMCUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGVjb3JzL2xvZ28tY29sb3Iuc3ZnKSA1MCUgNTAlIG5vLXJlcGVhdDtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi12aXNpYmxlLW1vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLi12aXNpYmxlLWRlc2t0b3Age1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi12aXNpYmxlLWRlc2t0b3Age1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAncGhvbmUnOiAzMjBweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG4gICdweCc6IDEsXHJcbiAgJ2VtJzogMC4wMSxcclxuICAncmVtJzogMC4xLFxyXG4gICcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuICB9XHJcblxyXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpZ2l0czogMDtcclxuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmJsb2ctZ3JpZCB7XHJcbiAgICAtLWdyaWQtaW1nLWhlaWdodDogMzA1cHg7XHJcbiAgICAtLWdyaWQtaXRlbS1jb2w6IDM7XHJcbiAgICAtLWMtYmxvY2stcGFkZGluZzogMTVweDtcclxuICAgIC0tZ3JpZC1pdGVtLWdhcDogY2xhbXAoMTBweCwgMS4wNXZ3LCAyMHB4KTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAtLWdyaWQtaXRlbS1jb2w6IDI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIC0tZ3JpZC1pdGVtLWdhcDogY2xhbXAoMTVweCwgMS41N3Z3LCAzMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmJsb2ctYnJlYWRjcnVtYixcclxuLnNob3AtYnJlYWRjcnVtYiB7XHJcbiAgICAtLWJyZWFkY3J1bWItc2l6ZTogMTRweDtcclxuICAgIC0tYnJlYWRjcnVtYi1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1icmVhZGNydW1iLWNvbG9yLWN1cnJlbnQ6ICMzMzk3RUY7XHJcbiAgICAtLWJyZWFkY3J1bWItZ2FwOiA1cHg7XHJcbiAgICAtLWJyZWFkY3J1bWItYmc6IHRyYW5zcGFyZW50O1xyXG4gICAgW2NvbG9yLW1vZGU9XCJkYXJrXCJdICYge1xyXG4gICAgICAgIC0tYnJlYWRjcnVtYi1iZzogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgLS1icmVhZGNydW1iLWNvbG9yLWN1cnJlbnQ6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmRhcmstbW9kZSB7XHJcbiAgICAtLWRtLWJnOiB2YXIoLS1zZWNvbmRhcnktY29sb3IxKTtcclxuICAgIC0tZG0tY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tZG0tcmFkaXVzOiAwO1xyXG4gICAgLS1kbS10b2dnbGVyLWJnOiAjQ0ZFMkVFO1xyXG4gICAgLS1kbS1kb3Q6ICNmZmY7XHJcbiAgICAtLWRtLWhlaWdodDogMzJweDtcclxuICAgIC0tZG0td2lkdGg6IDcxcHg7XHJcbiAgICBbY29sb3ItbW9kZT1cImRhcmtcIl0gJiB7XHJcbiAgICAgICAgLS1kbS1iZzogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgIC0tZG0tY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xyXG4gICAgICAgIC0tZG0tdG9nZ2xlci1iZzogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBUT0MgcGx1Z2luICovXHJcblxyXG4jZXotdG9jLWNvbnRhaW5lciB7XHJcbiAgICAtLXRvYy10aXRsZS1iZzogdHJhbnNwYXJlbnQ7XHJcbiAgICAtLXRvYy10aXRsZS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS10b2MtdGl0bGUtcGFkZGluZzogLjU1ZW0gMS4yZW07XHJcbiAgICAtLXRvYy10aXRsZS1zaXplOiAzcmVtO1xyXG4gICAgLS10b2MtdGl0bGUtd2VpZ2h0OiA3MDA7XHJcbiAgICAtLXRvYy1iZzogI2ZmZjtcclxuICAgIC0tdG9jLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLXRvYy1saW5rLWwxLXNpemU6IDEuOHJlbTtcclxuICAgIC0tdG9jLWxpbmstbDEtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLXRvYy1saW5rLWwxLXBhZGRpbmc6IC41ZW0gMDtcclxuICAgIFtjb2xvci1tb2RlPVwiZGFya1wiXSAmIHtcclxuICAgICAgICAtLXRvYy1iZzogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgIC0tdG9jLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IxKTtcclxuICAgIH1cclxufSIsIi8qKlxyXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG4gIyAgIE1PRFVMRTogQkxPRyBORVdTIEdSSURcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuICovXHJcblxyXG4uYmxvZy1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlOiBhdXRvL3JlcGVhdCh2YXIoLS1ncmlkLWl0ZW0tY29sLCA0KSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgZ2FwOiB2YXIoLS1ncmlkLWl0ZW0tZ2FwKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XHJcbiAgICAgICAgLS1ncmlkLWl0ZW0tY29sOiAxO1xyXG4gICAgICAgIC0tZ3JpZC1pbWctaGVpZ2h0OiAxNTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTB2bWluO1xyXG4gICAgICAgICYuc2VhcmNoLXBvc3RzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZTogYXV0by9yZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3QtZm91bmQge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XHJcbiAgICB9XHJcbiAgICAmX19wYWdlIHt9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAubGlzdGluZy1zdHlsZS0xICYge1xyXG4gICAgICAgICAgICAvLyBCbG9nIEdyaWQgU3R5bGUgMTogU3RhbmRhcmQgZ3JpZCB3aXRoIGVxdWFsIGNvbHVtbnNcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQmxvZyBHcmlkIFN0eWxlIDI6IEZpcnN0IGl0ZW0gaW4gdGhlIGdyaWQgaGFzIGRvdWJsZSBzaXplXHJcbiAgICAgICAgLmxpc3Rpbmctc3R5bGUtMiAmIHtcclxuICAgICAgICAgICAgLy8gJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgLmMtYmxvY2tfX21lZGlhIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWdyaWQtaW1nLWhlaWdodCkgKiAyKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgLmMtYmxvY2tfX3RpdGxlIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oMi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuYy1ibG9jayB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xyXG4gICAgICAgICAgICAtLWMtYmxvY2stZ2FwLXZlcnRpY2FsOiAxNXB4O1xyXG4gICAgICAgICAgICAtLWMtYmxvY2stZ2FwLWhvcml6b250YWw6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX21lZGlhIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgJi1saW5rIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41c1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2JvZHkge31cclxuICAgICAgICAmX190aXRsZSB7fVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuYy1ibG9ja19fbWVkaWEge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jLWJsb2NrX190aXRsZSB7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2FqYXgtcG9zdHMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uYy1sb2FkbW9yZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAyZW0gMDtcclxufVxyXG5cclxuLm9iamVjdC1saXN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuM3MgZWFzZS1pbjtcclxuICAgIC5uby1yZXN1bHRzIHtcclxuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gei1pbmRleDogMTtcclxuICAgICAgICAvLyB0b3A6IDVweDtcclxuICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgIC8vIGJvdHRvbTogMDtcclxuICAgICAgICAvLyBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gdmFyKC0tZ3JpZC1pdGVtLWNvbCwgNCk7XHJcbiAgICB9XHJcbn0iLCIuc2luZ2xlLXBvc3Qge1xyXG4gICAgLnNpdGUtaGVhZGVyIHtcclxuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci1zdGlja3ktYmcsIHZhcigtLXByaW1hcnktY29sb3IxKSk7XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgIH1cclxuICAgICYuZml4ZWQtaGVhZGVyIHtcclxuICAgICAgICAuc2l0ZS1jb250ZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLWhpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2hlYWRlciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NhdC1saXN0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcclxuICAgICAgICBmb250LXNpemU6IGNsYW1wKDE0cHgsIDAuOTV2dywgMThweCk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNSk7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3I1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIC5hZGR0b2FueV9jb250ZW50K2ltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudC1zaW5nbGUge1xyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlclxyXG4gICAgfVxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEodmFyKC0tYm9keS10ZXh0LWNvbG9yKSwgLjgpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19wYWdpbmF0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWJsb2ctd2lkdGgsIDY1MHB4KTtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaW5nbGUtcG9zdC1zdHlsZS0yIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDZ2bWluO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjA7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA0NXB4O1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTUwdnc7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcclxuICAgICAgICByaWdodDogNTAlO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gOC4xcHgpO1xyXG4gICAgICAgIC5zaW5nbGUtcG9zdF9fY29sMSxcclxuICAgICAgICAuc2luZ2xlLXBvc3RfX2NvbDIge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2luZ2xlLXBvc3RfX2NvbDIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDUlIDAgMjBweDtcclxuICAgICAgICAgICAgLi1oMSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWgxLWZvbnQtc2l6ZSwgNnJlbSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0taDEtbGluZS1oZWlnaHQsIDEuMyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDEtZm9udC13ZWlnaHQsIDcwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpbmdsZS1wb3N0X19jb2wxIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2N3ZoO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1jLWJsb2NrLXJhZGl1cywgMTVweCkgdmFyKC0tYy1ibG9jay1yYWRpdXMsIDE1cHgpIDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5ibG9nLXBhZ2luYXRpb24sXHJcbi5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxZW0gMDtcclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWN0aXZlIGEge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxufSIsIi5ibG9nLWJyZWFkY3J1bWIsXHJcbi5zaG9wLWJyZWFkY3J1bWIge1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1icmVhZGNydW1iLXNpemUpO1xyXG4gICAgcGFkZGluZy10b3A6IDFlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XHJcbiAgICBjb2xvcjogdmFyKC0tYnJlYWRjcnVtYi1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmVhZGNydW1iLWJnKTtcclxuICAgIC8vPiBzcGFuIHtcclxuICAgIC8vXHRtYXJnaW46IDAgdmFyKC0tYnJlYWRjcnVtYi1nYXApO1xyXG4gICAgLy99XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyZWFkY3J1bWItY29sb3ItY3VycmVudCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3VycmVudC1pdGVtIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnJlYWRjcnVtYi1jb2xvci1jdXJyZW50KTtcclxuICAgIH1cclxufSIsIi8qIEdBTExFUklFUyAqL1xyXG5cclxuLmdhbGxlcnkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogM2VtIDAgM2VtIC0wLjhlbTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjZlbSk7XHJcbn1cclxuXHJcbi5nYWxsZXJ5LWl0ZW0ge1xyXG4gICAgbWFyZ2luOiAwLjhlbSAwO1xyXG4gICAgcGFkZGluZzogMCAwLjhlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ2FsbGVyeS1jYXB0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMC44ZW07XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMyU7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyMCU7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNi42NiU7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNC4yOCU7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTggLmdhbGxlcnktaXRlbSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41JTtcclxuICAgIH1cclxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDExLjExJTtcclxuICAgIH1cclxufVxyXG5cclxuLnBvc3Qge1xyXG4gICAgLmFsaWduY2VudGVyLFxyXG4gICAgLmFsaWdubm9uZSxcclxuICAgIGlmcmFtZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmFsaWdubGVmdCB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmFsaWducmlnaHQge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxuICAgIC53cC1ibG9jay1jb2x1bW5zLFxyXG4gICAgLmFsaWduZnVsbCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA4LjFweCk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgcmlnaHQ6IDUwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTUwdnc7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcclxuICAgICAgICAud3AtYmxvY2stZ2FsbGVyeSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud3AtYmxvY2staW1hZ2UuYWxpZ25mdWxsIGltZyxcclxuICAgIC53cC1ibG9jay1pbWFnZS5hbGlnbndpZGUgaW1nIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59IiwiLy8gTG9hZGVyIHdpdGggYW5pbWF0aW9uXHJcbi5maWx0ZXItbG9hZGVyIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uc3Bpbm5lciB7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMTAwcHggYXV0bztcclxufVxyXG5cclxuLmRvdWJsZS1ib3VuY2UxLFxyXG4uZG91YmxlLWJvdW5jZTIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNrLWJvdW5jZSAyLjBzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG4gICAgYW5pbWF0aW9uOiBzay1ib3VuY2UgMi4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmRvdWJsZS1ib3VuY2UyIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcclxuICAgIGFuaW1hdGlvbi1kZWxheTogLTEuMHM7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2Uge1xyXG4gICAgMCUsXHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKVxyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKVxyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZSB7XHJcbiAgICAwJSxcclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgfVxyXG59IiwiLmRhcmstbW9kZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kbS1iZyk7XHJcbiAgICBwYWRkaW5nOiAuOGVtIDFlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZG0tcmFkaXVzKTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgJl9fd3JhcCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgJl9fbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICBmb250LXNpemU6IGNsYW1wKDE0cHgsIDAuODR2dywgMTZweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tZG0tY29sb3IpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcclxuICAgIH1cclxuICAgICZfX3RvZ2dsZXIge1xyXG4gICAgICAgIHdpZHRoOiB2YXIoLS1kbS13aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1kbS1oZWlnaHQpO1xyXG4gICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kbS10b2dnbGVyLWJnKTtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1kbS10b2dnbGVyLWJnKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlLWluO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faGFuZGxlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgY3ViaWMtYmV6aWVyKC40MSwgLjM2LCAuODIsIC40KTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGModmFyKC0tZG0taGVpZ2h0KSAtIDRweCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1kbS1oZWlnaHQpIC0gNHB4KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZG0tZG90KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40MSwgLjM2LCAuODIsIC40KTtcclxuICAgICAgICAgICAgW2NvbG9yLW1vZGU9XCJkYXJrXCJdICYge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtMTAwJSAtIDJweCksIC01MCUpO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5hZGR0b2FueV9zaGFyZV9zYXZlX2NvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICB0b3A6IDE0MHB4O1xyXG4gICAgICAgIGhlaWdodDogMjUwcHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICA+ZGl2IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWRkdG9hbnlfbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgPnNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuc2VwYXJhdG9ycy1jdXN0b20tYm94LFxyXG4uY3RhLWN1c3RvbS1ib3gge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAyLjJyZW07XHJcbiAgICBtYXJnaW46IDEuNWVtIDA7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIxNXB4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTkyJyBoZWlnaHQ9JzEzMCcgdmlld0JveD0nMCAwIDE5MiAxMzAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NnIG9wYWNpdHk9JzAuMDUnJTNFJTNDcmVjdCB4PSctMjUuNjI3JyB5PSctMy42NjYwMicgd2lkdGg9JzQ3Ljg4MzInIGhlaWdodD0nMTA5LjEyOScgcng9JzIzLjk0MTYnIHRyYW5zZm9ybT0ncm90YXRlKC00NSAtMjUuNjI3IC0zLjY2NjAyKScgZmlsbD0nd2hpdGUnLyUzRSUzQ3JlY3QgeD0nMTkxLjQyOCcgeT0nMTQ1LjE1NCcgd2lkdGg9JzQ3Ljg4MzInIGhlaWdodD0nMTA5LjEyOScgcng9JzIzLjk0MTYnIHRyYW5zZm9ybT0ncm90YXRlKDEzNSAxOTEuNDI4IDE0NS4xNTQpJyBmaWxsPSd3aGl0ZScvJTNFJTNDcmVjdCB3aWR0aD0nNDcuODgzMicgaGVpZ2h0PScxMDkuMTI5JyByeD0nMjMuOTQxNicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNzA3MTA3IC0wLjcwNzEwNyAtMC43MDcxMDcgMC43MDcxMDcgMTkxLjQyOCAtMy42NjYwMiknIGZpbGw9J3doaXRlJy8lM0UlM0NyZWN0IHdpZHRoPSc0Ny44ODMyJyBoZWlnaHQ9JzEwOS4xMjknIHJ4PScyMy45NDE2JyB0cmFuc2Zvcm09J21hdHJpeCgwLjcwNzEwNyAwLjcwNzEwNyAwLjcwNzEwNyAtMC43MDcxMDcgLTI1LjYyNyAxNDUuMTU0KScgZmlsbD0nd2hpdGUnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxuICAgIH1cclxuICAgID5zcGFuLFxyXG4gICAgaDQge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAvL2NvbG9yOiAjZmZmO1xyXG4gICAgICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAvL2ZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICAvL2ZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgLy9oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgLy9saW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICAvL3doaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNXB4IGNlbnRlcjtcclxuICAgICAgICAvL2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgLy9wYWRkaW5nOiAwIDMwcHg7XHJcbiAgICAgICAgLy9ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gICAgICAgIC8vdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgLy8mOmhvdmVyIHtcclxuICAgICAgICAvLyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAvLyAgICBvcGFjaXR5OiAuOTtcclxuICAgICAgICAvL31cclxuICAgIH1cclxufSIsIi5jb250ZW50LXNpbmdsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAjZXotdG9jLWNvbnRhaW5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdG9jLWJnKTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcclxuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICArKiB7XHJcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSxcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1tXCIpIHtcclxuICAgICAgICAgICAgJi5pcy1mbG9hdCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIHRvcDogdmFyKC0taGVhZGVyLWhpZ2h0LCAxMDBweCk7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMTAlKTtcclxuICAgICAgICAgICAgICAgIC5maXhlZC1oZWFkZXIgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQsIDEwMHB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5lei10b2MtdGl0bGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuM3JlbTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZXotdG9jLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5lei10b2MtbGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5lei10b2MtYnRuIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG5hdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICY+dWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBuYXYge1xyXG4gICAgICAgICAgICA+dWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuNXJlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgPmxpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggZGFzaGVkICNEMEQ0REU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lei10b2Mtdmlld2VkIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3I1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZXotdG9jLWxpbmsge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRvYy1jb2xvcik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXRvYy1saW5rLWwxLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXRvYy1saW5rLWwxLXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS10b2MtbGluay1sMS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRvYy1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZXotdG9jLWJ0biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxNXB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjbGFtcCgxMHB4LCAxLjA1dncsIDIwcHgpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiU2hvd1wiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IHRoaW4gZG90dGVkICMzMzM7XHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ0hpZGUnO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmV6LXRvYy1pY29uLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmV6LXRvYy1pY29uLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XHJcbiAgICAgICAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzcnIHZpZXdCb3g9JzAgMCAxMSA3JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNS41MDAyNyAyLjgyMDc1TDkuMjA4NjQgNi4yMjAyNUM5LjYxODg1IDYuNTkzMjUgMTAuMjgyNSA2LjU5MzI1IDEwLjY5MjggNi4yMjAyNUMxMS4xMDI0IDUuODQzMjUgMTEuMTAyNCA1LjIzNDI1IDEwLjY5MjggNC44NTcyNUw2LjI0MjA2IDAuNzc5NzVDNS44MzE4NSAwLjQwNjc1IDUuMTY3NiAwLjQwNjc1IDQuNzU3OTQgMC43Nzk3NUwwLjMwNzI0MyA0Ljg1NzI1Qy0wLjEwMjk2NCA1LjIzNDI1IC0wLjEwMTg2NCA1Ljg0MzI1IDAuMzA3MjQ0IDYuMjIwMjVDMC43MTY5MDEgNi41OTMyNSAxLjM4MDYgNi41OTMyNSAxLjc5MDgxIDYuMjIwMjVMNS41MDAyNyAyLjgyMDc1WicgZmlsbD0nJTIzMzM5N0VGJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZXotdG9jLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRvYy10aXRsZS1iZyk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXRvYy10aXRsZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjNzLCBoZWlnaHQgLjNzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lei10b2MtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdG9jLXRpdGxlLWNvbG9yKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS10b2MtdGl0bGUtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS10b2MtdGl0bGUtd2VpZ2h0KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19 */
