@charset "UTF-8";
/*!
    Theme Name: Haarden Centrum Alkmaar
    Description: A <a href='http://codex.wordpress.org/Child_Themes'>Child Theme</a> for the Enfold Wordpress Theme. If you plan to do a lot of file modifications we recommend to use this Theme instead of the original Theme. Updating wil be much easier then.
    Version: 1.0
    Author: Kriesi
    Author URI: http://www.kriesi.at
    Template: enfold
*/
@import 'https://fonts.googleapis.com/css?family=Raleway:100,200,300,500,600,700';
.main_color .avia-content-slider .slide-image {
  background: transparent;
  border-radius: 0px;
}

.merken {
  margin: 10vw;
  padding: 5vw;
  text-align: center;
}

.single-merk #main {
  margin-top: 95px;
}

.single-merk .text_section {
  margin: 50px auto;
  padding-top: 50px;
  max-width: 1310px;
}

.single-merk ul.products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  background: white !important;
}

.single-merk ul.products li {
  width: 25%;
  height: 25vw !important;
  margin: 0 !important;
  overflow: hidden;
  position: relative;
}

.single-merk ul.products li img {
  -o-object-fit: cover;
     object-fit: cover;
}

.single-merk ul.products li .volt_posted_in, .single-merk ul.products li .volt_product_excerpt, .single-merk ul.products li .volt_product_button {
  display: none;
}

.single-merk ul.products li .woocommerce-loop-product__title {
  position: absolute !important;
  top: 20vw;
  padding-top: 0 !important;
}

.single-merk ul.products .inner_product_header, .single-merk ul.products .inner_product_header {
  position: static;
}

#av-burger-menu-ul a {
  text-transform: lowercase;
}

/* lowercase menu items */
.avia-menu .menu-item-mega-parent > a,
.avia-menu .header_color .sub_menu > ul > li > a,
.avia-menu .menu-item-top-level > a,
.avia-menu .menu-item-top-level > .sub-menu,
.avia-menu .sub-menu > .menu-item > .sub-menu {
  text-transform: lowercase;
}

.avia-menu .avia-menu li a,
.avia-menu .mega_menu_title {
  padding-top: 10px;
  text-transform: uppercase !important;
}

/* Burger menu */
li.av-active-burger-items > a,
.av-width-submenu > a {
  padding-top: 10px;
  text-transform: uppercase !important;
}

.sub-menu > .av-width-submenu > .sub-menu > li {
  text-transform: lowercase;
}

.product-template-default iframe.mfp-iframe,
.mfp-iframe-holder .mfp-content,
.mfp-iframe-scaler {
  height: 100% !important;
}

.html_stretched #wrap_all {
  background-color: #fff !important;
}

#top .gform_wrapper .gfield_checkbox li label {
  font-weight: bold;
}

.mfp-iframe-holder .mfp-content {
  width: 90% !important;
  max-width: 1200px !important;
}

@media screen and (max-width: 420px) {
  .section.fp-section {
    background-position: center center !important;
  }
}

.page-template-template-inspiratie-single #main {
  margin-top: 95px;
}

.iconbox_content_container {
  padding: 0px 5%;
}

.text_section {
  margin: 50px auto;
  padding-top: 50px;
  max-width: 1310px;
}

#top .av_header_scrolldown.av_header_transparency {
  opacity: 1;
  margin-top: 0 !important;
}

#avia2-menu li a {
  font-size: 14px;
}

#avia-menu li a {
  line-height: 95px !important;
  height: 95px !important;
  font-size: 16px;
  padding-top: 0;
}

#avia-menu li .sub-menu a {
  height: auto !important;
  line-height: inherit !important;
}

#header_main span.bg-logo {
  opacity: 0;
  margin: 0 !important;
}

#header_main {
  height: 95px;
}

#header2 {
  display: none;
}

.av-logo-container {
  height: 95px !important;
  line-height: 95px !important;
}

.html_header_top.html_header_topbar_active.html_header_sticky.html_large #top #main {
  padding-top: 124px;
}

.copyright {
  float: left;
  width: 100%;
}

.copyright .copyright-right {
  float: right;
}

#footer {
  padding: 3vw 0px;
}

@media screen and (max-width: 767px) {
  #footer {
    padding: 1.5vw;
    margin: 0px;
  }
  #footer .flex_column,
  #footer .widget {
    padding: 0px;
    margin: 0px !important;
  }
}

#footer .widgettitle {
  font-weight: bold;
}

#scroll-top-link {
  display: none !important;
}

#socket {
  font-size: 12px;
  font-weight: 400;
  background: #252525;
  padding: 25px 0;
}

#socket .copyright {
  width: 60%;
  font-weight: 600;
}

#socket .copyright a {
  padding-left: 20px;
  font-weight: 600 !important;
}

@media screen and (min-width: 990px) {
  #top .title_container .container {
    margin-top: 90px;
  }
}

.merk-template-default .avia-post-nav {
  background: rgba(255, 255, 255, 0.8) !important;
  color: black !important;
}

.gform_wrapper .textarea {
  text-transform: none !important;
}

#top.avia-blank #wrap_all #main.all_colors {
  padding-left: 15px !important;
}

@media screen and (max-width: 767px) {
  #top.avia-blank #wrap_all #main.all_colors {
    padding-right: 15px !important;
  }
}

.more_products_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 40px;
  margin-top: 30px;
}

@media screen and (min-width: 420px) and (max-width: 767px) {
  body.archive.tax-product_cat ul.products li.product {
    width: 50vw !important;
    height: 50vw !important;
  }
  body.archive.tax-product_cat ul.products li.product img {
    height: 50vw !important;
    width: 50vw !important;
  }
  body.archive.tax-product_cat ul.products li.product h2.woocommerce-loop-category__title {
    top: 40vw !important;
  }
}

@media screen and (max-width: 419px) {
  body.archive.tax-product_cat ul.products li.product {
    width: 100% !important;
    height: 100vw !important;
  }
  body.archive.tax-product_cat ul.products li.product img {
    height: 100vw !important;
    width: 100vw !important;
  }
}

h2 {
  font-size: 1.8em;
  text-transform: uppercase;
  line-height: 1.2em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 300;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
  letter-spacing: .1em;
  /*word-break: break-all;*/
  text-transform: uppercase;
}

#top.single-product .av-product-class-minimal-overlay img {
  height: 25vw !important;
  min-height: 25vw !important;
  top: inherit;
  left: inherit;
  -webkit-transform: none;
  transform: none;
}

#top.single-product .thumbnail_container img {
  height: 100% !important;
  width: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  top: inherit;
  left: inherit;
  -webkit-transform: none;
  transform: none;
}

section.related .inner_product a {
  height: 100vw !important;
}

#top div .avia-gallery img {
  border-width: 0px !important;
  padding: 0px !important;
}

.avia_ajax_form .button {
  min-width: auto !important;
}

.av-inner-masonry h2 {
  padding: 5px !important;
}

@media screen and (max-width: 1292px) {
  h2 {
    line-height: 1.1em;
  }
}

.social-buttons span {
  display: none;
}

p {
  letter-spacing: 0.05em;
}

button:focus {
  outline: 0;
}

#fp-nav ul li a span {
  background: #FF1A16 !important;
}

.html_header_top.html_header_sticky.html_large #main {
  padding-top: inherit;
}

#top #header .mega_menu_title a {
  font-weight: 300 !important;
  font-size: 14px !important;
}

#top #header .avia_mega_div > .sub-menu > li > ul > li a {
  line-height: 19px !important;
  padding: 6px !important;
  padding-left: 12px !important;
}

.avia_mega_div .avia-bullet {
  margin-top: 12px !important;
}

.sub_menu ul li a {
  color: white !important;
}

.flex_column .widget .widgettitle {
  font-weight: 100;
}

form.cart {
  display: none;
}

html,
body,
a,
ul,
li,
p {
  font-family: 'Raleway', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em;
  text-rendering: optimizeLegibility;
}

table th, table td {
  vertical-align: middle;
}

.btn-default {
  color: #FF1A16 !important;
  float: left;
  border: 1px solid #FF1A16 !important;
  padding: 5px 15px 5px 15px;
  text-transform: uppercase;
}

.btn-default:hover {
  background: #FF1A16;
  color: #ffffff !important;
  text-decoration: none;
}

p a:not(.btn-default) {
  text-decoration: underline !important;
}

p a:not(.btn-default):hover {
  color: #FF1A16 !important;
}

.hide-element {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 0s linear 0.33s, opacity 0.33s linear;
  transition: visibility 0s linear 0.33s, opacity 0.33s linear;
}

.show-element {
  visibility: visible;
  opacity: 1;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.widget_tab_comments {
  display: none !important;
}

.main_color a:hover {
  color: black;
}

.grid-entry-title {
  font-size: 2em;
}

@media only screen and (min-width: 1200px) {
  div .av_one_third {
    margin-left: 10px;
    width: calc(33.33% - 20px);
  }
}

.button {
  text-align: center;
  /*margin: 10px;*/
}

.breadcrumb-title {
  display: none !important;
}

.breadcrumb {
  text-transform: uppercase;
}

.breadcrumb .sep {
  margin-right: 6px;
}

@media screen and (max-width: 400) {
  .footer_color input[type='submit'],
  div .footer_color .button,
  .btn {
    padding: 5px 0px 5px 0px !important;
  }
  .footer_color .form_element p {
    padding: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  p:not(.footer_color .form_element p) {
    padding-left: 30px;
    padding-right: 30px;
  }
  .main-title.entry-title, .breadcrumb.breadcrumbs.avia-breadcrumbs {
    padding: 0 30px;
  }
  .main-title.entry-title {
    display: block;
    margin-bottom: 20px;
  }
  #main .title_container .container {
    padding: 30px 0 !important;
  }
  .gform_wrapper {
    padding-left: 30px;
    padding-right: 30px;
  }
}

h6 {
  font-size: 16px !important;
  font-weight: 200 !important;
}

body.error404 main {
  margin-top: 180px !important;
}

.back_to_news {
  width: 800px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 768px) {
  h2 {
    font-size: 30px;
  }
}

@media screen and (max-width: 500px) {
  #top .scroll-down-link {
    display: block !important;
  }
}

.faq_container {
  margin: 0 !important;
  padding: 0 !important;
}

.faq_info {
  margin: 0 !important;
  padding: 0 !important;
}

#top .av-share-box ul {
  width: 100%;
}

#top .av_header_transparency #header_meta {
  border-bottom: none;
}

#top .scroll-down-link {
  left: calc(50% + 9px);
  -webkit-animation: none;
  animation: none;
}

.scroll-down-link::before {
  width: 33px;
}

.footer_color input[type='submit'],
div .footer_color .button,
.btn {
  text-decoration: none !important;
  background-color: transparent !important;
  padding: 5px 11px 5px 11px !important;
  color: #FF1A16 !important;
  border: 1px solid #FF1A16 !important;
  text-transform: uppercase !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  width: auto !important;
}

.footer_color input[type='submit']:hover,
div .footer_color .button:hover,
.btn:hover {
  color: white !important;
  background-color: #FF1A16 !important;
  border-radius: 0px !important;
}

#fullscreen_slider_1 .slideshow_align_caption {
  padding: 20px 0 0 0;
}

#fullscreen_slider_1 h2 {
  font-size: 250%;
  background: none;
  font-weight: 200 !important;
}

#fullscreen_slider_1 p {
  font-size: 150%;
  background: none;
  font-weight: 200;
  line-height: 1.2em;
}

.slick-slide img {
  width: 100%;
}

.frontpage-cats {
  float: left;
  width: 100%;
}

.frontpage-cats .slick-slide {
  background: #252525;
}

.frontpage-cats .slick-slide img {
  height: 100% !important;
}

.frontpage-cats a div {
  float: left;
  width: 100%;
  position: relative;
  z-index: 3;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000', GradientType=0);
  /* IE6-9 */
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  padding: 200px 0 30px 0;
  margin: -265px 0 0 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.frontpage-cats a img {
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

.frontpage-cats a:hover img {
  opacity: 0.75;
}

.frontpage-cats a div h3 {
  color: #ffffff;
  font-size: 13px;
  padding: 10px 15px;
  border: 1px solid #ffffff;
  width: 50%;
  margin: 0 25%;
  text-transform: uppercase;
  overflow: hidden;
}

/* On screens that are 992px or less, set the background color to blue */
@media screen and (max-width: 1292px) {
  .frontpage-cats a div h3 {
    width: 60%;
    margin: 0 20%;
  }
}

/* On screens that are 992px or less, set the background color to blue */
@media screen and (max-width: 992px) {
  .frontpage-cats a div h3 {
    width: 70%;
    margin: 0 15%;
  }
}

.frontpage-cats .slick-slide {
  height: 25vw !important;
}

@media screen and (max-width: 1500px) {
  .frontpage-cats .slick-slide {
    height: 33vw !important;
  }
}

@media screen and (max-width: 767px) {
  .frontpage-cats .slick-slide {
    height: 50vw !important;
  }
}

@media screen and (max-width: 480px) {
  .frontpage-cats .slick-slide {
    height: 100vw !important;
  }
}

.frontpage-cats span.image-overlay {
  display: none !important;
}

@media only screen and (max-width: 1000px) {
  .frontpage-text {
    padding: 3vw;
  }
}

.frontpage-text h2 {
  font-weight: 200;
}

.frontpage-text h3 {
  text-transform: uppercase;
  padding: 10px 10px 10px 10px;
  font-weight: 200;
}

.frontpage-text .btn-default {
  margin: 15px 0 0 0;
}

.frontpage-text-image img {
  max-width: 200px;
  margin: -30px 0 0 0;
}

.home h1 {
  font-size: 1.5em !important;
  text-transform: uppercase !important;
}

.portfolio-blocks {
  background: #252525 !important;
}

.frontpage-portfolio-link {
  background: #252525;
}

.frontpage-portfolio-link h2 {
  width: 100%;
  color: #ffffff !important;
  text-align: center;
  margin: 0px;
}

.frontpage-portfolio-link h2 a {
  color: #ffffff !important;
}

.portfolio-blocks .inner-entry:hover img {
  -webkit-transform: scale(1, 1) !important;
          transform: scale(1, 1) !important;
}

@media only screen and (max-width: 480px) {
  .portfolio-blocks .text-column.grid-entry.first {
    margin-top: 0 !important;
  }
  .portfolio-blocks div .frontpage-portfolio-link {
    height: auto !important;
    padding-top: 100%;
  }
  .portfolio-blocks div .frontpage-portfolio-link h2 {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .responsive #top #wrap_all .av-flex-cells .no_margin {
    padding-left: 0% !important;
    padding-right: 0% !important;
  }
  .responsive #top .grid-loop-8 {
    display: none !important;
  }
}

@media only screen and (max-width: 768px) and (min-width: 481px) {
  .portfolio-blocks .text-column.grid-entry.first {
    margin-top: 0 !important;
  }
  .portfolio-blocks div .frontpage-portfolio-link {
    height: auto !important;
    padding-top: 100%;
  }
  .portfolio-blocks div .frontpage-portfolio-link h2 {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .responsive #top #wrap_all .av-flex-cells .no_margin {
    padding-left: 0% !important;
    padding-right: 0% !important;
  }
  .responsive #top .grid-loop-8 {
    display: none !important;
  }
  .home .portfolio-blocks {
    background-color: #6d6e6d !important;
  }
  .home .portfolio-blocks .grid-entry {
    width: 50vw !important;
    height: 50vw !important;
  }
}

.frontpage-contact .gform_wrapper .gfield {
  margin: 0 !important;
}

@media screen and (max-width: 420px) {
  .frontpage-contact .gform_wrapper {
    margin: 0px 14% 0px 0px;
    padding: 0 30px 20px 30px;
  }
}

.gform_wrapper .textarea {
  height: 90px;
  margin: 0 0 10px 0 !important;
}

.gform_wrapper .gform_footer {
  margin: 0 !important;
  padding: 0 !important;
}

.gform_wrapper .gform_footer input {
  float: left;
  border: 1px solid #FF1A16;
  background: none;
  color: #FF1A16;
  padding: 5px 15px 5px 15px;
  margin: 15px 0 0 0;
  text-transform: uppercase;
  font-weight: 300 !important;
}

.gform_wrapper .gform_footer input:hover {
  background: #FF1A16;
  color: #ffffff;
  text-decoration: none;
}

.frontpage-contact .gform_wrapper .top_label .gfield_label {
  display: none;
}

.frontpage-contact h2 {
  font-size: 16px;
  font-weight: 200;
}

@media only screen and (max-width: 1000px) {
  .frontpage-contact {
    padding: 3vw;
  }
  .frontpage-contact .gform_wrapper {
    margin: 0px 0px 0px 0px;
  }
}

.portfolio-blocks .grid-content {
  float: left;
  width: 100%;
  text-align: center;
}

.portfolio-blocks .inner-entry img {
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

.portfolio-blocks .inner-entry:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.portfolio-blocks .inner-entry .image-overlay {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.portfolio-blocks .grid-content h3 {
  font-weight: bold;
  text-transform: lowercase;
}

.openingstijden > p {
  text-align: right;
}

.openingstijden > span > p {
  font-style: italic;
}

@media screen and (min-width: 500px) and (max-width: 780px) {
  .openingstijden > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: left;
  }
  .openingstijden span {
    margin-top: 10px;
  }
  .openingstijden span:first-child {
    margin-top: 0;
  }
}

.openingstijden > p span {
  float: left;
  text-align: left;
}

.av-inner-masonry h2 {
  color: white;
  padding: 0px 20%;
}

.av-inner-masonry h3 {
  padding: 0 10%;
  font-weight: 300 !important;
}

.av-masonry-date {
  display: none;
}

.avia_desktop .av-masonry-entry:hover .av-masonry-image-container {
  -webkit-transform: none !important;
  transform: none !important;
}

.av-masonry-image-container div h2 {
  display: table-cell;
  vertical-align: middle;
}

.av-masonry-image-container div {
  text-align: center;
  display: table;
  height: 100%;
  width: 100%;
}

.avia_desktop .av-hover-overlay-active .av-masonry-image-container {
  opacity: 1;
}

.av-masonry-outerimage-container:after {
  content: '';
  display: block;
  z-index: 1;
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000', GradientType=0);
  /* IE6-9 */
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  height: 50%;
}

/* HOME POST SLIDER / NEWS */
.home .slide-content {
  height: 75px;
}

.home .slide-entry {
  background-color: #fff !important;
  padding: 10px;
  cursor: pointer;
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.home .slide-entry:hover {
  -webkit-box-shadow: 0px 0px 15px -1px rgba(0, 0, 0, 0.37);
  box-shadow: 0px 0px 15px -1px rgba(0, 0, 0, 0.37);
  -webkit-transform: scale(1.01, 1.01);
          transform: scale(1.01, 1.01);
}

.home .slide-image {
  float: left;
  width: 25%;
  margin-right: 10px;
}

.home .entry-footer {
  display: inline;
  margin-top: -40px;
  position: absolute;
}

.home .html_modern-blog .avia-content-slider .slide-meta {
  margin-top: 0px !important;
}

.html_modern-blog .avia-content-slider .slide-meta {
  margin-top: 28px;
}

.avia-content-slider {
  margin: 10px 0px !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.home .avia-content-slider .slide-image {
  margin-bottom: 0px !important;
  border-radius: 0px !important;
}

.home .blog-categories,
.home .slide-entry-excerpt {
  display: none !important;
}

.html_modern-blog .avia-content-slider .slide-entry-title {
  font-size: 1em !important;
  text-transform: uppercase;
}

.home .avia-content-slider .pagination-wrap {
  display: none;
}

.home .avia-content-slider .slide-entry-wrap {
  margin-bottom: 10px;
}

/* END POST SLIDER / NEWS */
.v1_banner {
  width: 100%;
  height: 50vw;
  background-size: cover;
  background-position: center center;
}

.v1_team {
  width: 100%;
  background: #ffffff;
  margin: 0;
  padding: 3vw 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.v1_team li {
  width: calc(100vw / 4);
  height: calc(100vw / 4);
  margin: 0;
  padding: 6vw 0 6vw 0;
  text-align: center;
}

.v1_team li img {
  width: 50%;
  border-radius: 50%;
}

.v1_team li h3 {
  margin: 5px 0 -5px 0;
  font-size: 14px;
  font-weight: 400;
}

.v1_team li small {
  font-weight: 200;
  font-size: 14px;
}

.v1_logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  height: calc(100vw / 4);
  background: #DEDFDE;
  padding: 3vw 0;
}

.v1_logos li {
  width: calc(100vw / 4);
  margin: 0;
  text-align: center;
  vertical-align: middle;
}

.v1_logos li img {
  width: 50%;
}

.v1_logos li h2 {
  background: #000000;
  color: #ffffff;
  text-transform: uppercase;
  margin: 0;
}

.v1_logos li:first-child {
  margin: 0;
  padding: 0;
  background-color: #000000;
  height: 25vw;
  padding-top: calc(25vw / 2 - 40px);
}

.text-block {
  background: #ffffff;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 6vw 0;
  min-height: calc(100vw / 4);
}

.text-block .text-content {
  padding: 6vw 0;
  width: 100%;
  max-width: 1000px;
  color: #000000;
  margin: auto;
}

.v1-recentpost {
  background: #ffffff;
  float: left;
  width: 100%;
  margin: 0;
  padding: 0;
}

.v1-recentpost li.v1-square {
  float: left;
  width: 25%;
  text-align: center;
  overflow: hidden;
  position: relative;
  background: #000000;
}

.v1-square:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.v1-recentpost li.v1-square .v1-square-background {
  float: left;
  width: 100%;
  height: 100%;
  position: absolute;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  opacity: 1;
}

.v1-recentpost li.v1-square:hover .v1-square-background {
  opacity: 0.75;
}

.v1-square-content {
  float: left;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  left: 0px;
  cursor: pointer;
}

.v1-recentpost li .v1-square-content h2 {
  height: 100%;
  background: #000000;
  color: #ffffff;
  vertical-align: middle;
  text-transform: uppercase;
  margin: 0;
  padding: 35% 0 0 0;
  text-align: center;
  vertical-align: middle;
  width: 100%;
}

.v1-recentpost li h4 {
  height: 100%;
  padding: 80% 15px 0 15px;
  color: #ffffff;
  font-weight: 300;
  font-size: 13px;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#a6000000', GradientType=0);
  /* IE6-9 */
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

.v1-recentpost li a:hover {
  text-decoration: none;
}

body.tax-product_cat #av_product_description {
  display: none;
}

.products .product-category a img {
  height: 25vw !important;
  width: 25vw !important;
}

body.tax-product_cat .av-section-color-overlay-wrap {
  display: none;
}

body.tax-product_cat .breadcrumb {
  display: none;
}

body.tax-product_cat .stretch_full {
  background: #262626;
  border: none;
}

body.tax-product_cat .stretch_full h1 {
  color: #ffffff !important;
}

body.tax-product_cat .template-shop {
  width: 100%;
  padding: 0;
  margin: 0;
}

body.tax-product_cat .template-shop .container {
  max-width: 100%;
  padding: 0;
}

body.tax-product_cat .template-shop .container .product-sorting {
  display: none;
}

body.tax-product_cat .products {
  margin: 0;
  padding: 0;
}

body.products-columns .products li.product {
  margin: 0;
  padding: 0;
  width: 25%;
  overflow: hidden;
}

@media only screen and (min-width: 767px) {
  body.products-columns .container_wrap_first .product,
  body.products-columns .product-category,
  body.products-columns .inner_product,
  body.products-columns .inner_product a,
  body.products-columns .inner_product a img {
    height: calc(100vw / 4) !important;
  }
}

@media only screen and (max-width: 767px) {
  body.products-columns .container_wrap_first .product {
    height: 50vw !important;
  }
}

body.products-columns .inner_product a img {
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 480px) {
  body.products-columns .container_wrap_first .product,
  body.products-columns .product-category,
  body.products-columns .inner_product,
  body.products-columns .inner_product a,
  body.products-columns .inner_product a img {
    height: 100vw !important;
  }
}

.product-category:first-child div h2 {
  font-size: 30px !important;
}

body.tax-product_cat .products li.product .av-product-class-minimal-overlay {
  padding: 0;
  margin: 0 !important;
}

body.tax-product_cat .products li.product .av-product-class-minimal-overlay .volt_posted_in {
  display: none;
}

body.tax-product_cat .products li.product .av-product-class-minimal-overlay .volt_product_excerpt {
  display: none;
}

body.tax-product_cat .products li.product .av-product-class-minimal-overlay .volt_product_button {
  display: none;
}

body.tax-product_cat .products li.product .cart-loading {
  display: none !important;
}

body.tax-product_cat .products li.product .inner_product_header_cell {
  float: left;
  width: 100%;
  margin: 0px 0 0 0;
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#a6000000', GradientType=0);
  /* IE6-9 */
}

body.tax-product_cat .products li.product .inner_product_header_cell h2 {
  float: left;
  width: 100%;
  color: #ffffff !important;
  margin: 150px 0 0 0;
  text-transform: capitalize;
}

body.tax-product_cat .products li.product .thumbnail_container {
  background: #000000;
}

body.tax-product_cat .products li.product:hover .thumbnail_container img {
  cursor: pointer;
}

body.tax-product_cat .pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

body.tax-product_cat .pagination span.current {
  background: #4D4D4D;
  color: #ffffff;
}

body.tax-product_cat .pagination a {
  background: #4D4D4D;
  color: #ffffff;
}

body.tax-product_cat .av_one_fullm,
body.tax-product_cat .av-zero-column-padding {
  display: none;
}

body.tax-product_cat #footer {
  padding: 0;
}

.buttonlist li {
  display: inline-block;
  width: 100%;
}

#top .template-shop .container {
  width: 100%;
  padding: 0px;
}

.product-sorting {
  display: none;
}

.landingpage-banner {
  width: 100%;
  height: calc(100vh - 33.33vw);
  max-height: 75vh;
  min-height: 50vh;
  background-size: cover;
  background-position: center bottom;
}

@media screen and (max-width: 992px) {
  .landingpage-banner {
    height: 20vh;
  }
}

.landingpage-intro {
  float: left;
  width: 100%;
  background: #ffffff;
  margin: 0;
  padding: 150px 0 150px 0;
}

.landingpage-intro .content {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  padding: 0;
}

.landingpage-intro .content h3 {
  padding: 0 15px 0 15px;
  text-transform: uppercase;
  font-weight: 100;
  font-size: 28px;
}

.landingpage-intro .content p {
  float: left;
  width: 50%;
  padding: 0 15px 0 15px;
}

@media screen and (max-width: 992px) {
  .landingpage-intro .content p {
    width: 100%;
  }
}

h2.woocommerce-loop-category__title {
  bottom: 0;
  top: auto !important;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: absolute;
  z-index: 9999;
  height: 32px;
  text-align: center;
  color: #ffffff !important;
  border: 1px solid #ffffff;
  padding: 10px 15px 10px 15px;
  width: 70%;
  margin: 0px auto 30px auto !important;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  text-transform: uppercase;
  display: block !important;
  opacity: 1 !important;
}

@media screen and (max-width: 767px) {
  h2.woocommerce-loop-category__title {
    top: 40vw !important;
  }
}

h2.woocommerce-loop-category__title mark {
  display: none;
}

h2.woocommerce-loop-category__title:after {
  content: '>';
  margin-top: -1px;
  padding-left: 6px;
  position: absolute;
}

.products .product h2 {
  padding: 7px;
}

.products .product h2.woocommerce-loop-category__title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.products li.product-category {
  border: 0 !important;
  border-radius: 0px !important;
}

.products li.product-category a {
  height: 100% !important;
}

.products li.product-category img {
  border-radius: 0px !important;
}

@media only screen and (max-width: 479px) {
  .responsive #top #main .products .product {
    margin: 0px;
  }
}

@media only screen and (max-width: 767px) {
  .responsive #top #main .products .product {
    margin: 0px;
  }
}

/* PRODUCT IMAGES */
.single-product .template-shop {
  padding-top: 0px;
}

.responsive .single-product .container_wrap_first > .container {
  max-width: 100%;
  padding: 0px;
}

.single-product-main-image {
  float: none;
  width: 100%;
  margin-right: auto;
  padding-bottom: 0px;
}

.template-shop .single-product-main-image .images a {
  border-style: solid;
  border-width: 0px;
}

.template-shop .images a {
  padding: 0px;
}

.single-product-main-image .thumbnails {
  margin-top: -200px;
  width: 100%;
  padding: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#top .single-product-main-image .thumbnails a {
  width: 150px;
  padding: 0px;
}

div.product div.images div.thumbnails a {
  width: 100%;
}

/* END PRODUCT IMAGES */
/* PRODUCTS */
.woocommerce-loop-product__title {
  text-transform: uppercase;
  min-height: 4em;
}

.home .volt_posted_in,
.home .volt_product_excerpt {
  display: none;
}

.volt_posted_in {
  padding: 0px 10px;
  font-size: .8em;
  font-weight: 500;
  min-height: 4.5em;
}

/* styles for '...' */
.volt_product_excerpt {
  padding: 0px 10px 10px 10px;
  font-size: .8em;
  /* hide text if it more than N lines  */
  overflow: hidden;
  /* for set '...' in absolute position */
  position: relative;
  /* use this value to count block height */
  line-height: 1.8em;
  /* max-height = line-height (1.2) * lines max number (3) */
  max-height: 7.2em;
  min-height: 4.5em;
}

.volt_product_button .button {
  width: 100% !important;
  display: block !important;
  margin: 10px 0px 10px 0px;
  background-color: #a3a1a5 !important;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.block {
  width: 100%;
}

/* MOODBOARD */
#top .av-product-class-minimal-overlay span {
  width: 100% !important;
  margin: 0px 0px 10px 0px;
  border: 1px solid #f2eeed;
  display: inline-block;
  background: white;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
  text-transform: lowercase;
}

#top .av-product-class-minimal-overlay:hover span {
  width: calc(100% - 20px) !important;
  margin: 0px 10px 10px 10px;
}

.tinvwl_add_to_wishlist_button {
  text-align: center;
}

#top .av-product-class-minimal-overlay:hover .volt_product_button .button {
  width: calc(100% - 20px) !important;
  margin: 10px;
}

.volt_product_button .button:hover,
#top .av-product-class-minimal-overlay:hover .button {
  background-color: #FF1A16 !important;
}

#top .av-product-class-minimal-overlay {
  text-align: left;
  width: 101% !important;
}

div .products .product a {
  display: inline;
}

#top #wrap_all .av-product-class-minimal-overlay .inner_product_header {
  padding: 0px 10px;
  position: relative;
  background-color: transparent;
  padding: 0px;
}

#top .av-product-class-minimal-overlay .inner_product_header_cell {
  vertical-align: bottom;
}

h2.woocommerce-loop-product__title {
  padding: 0px;
}

.main_color .inner_product_header {
  background-color: transparent;
}

#top #wrap_all .av-product-class-minimal-overlay a:hover .inner_product_header {
  opacity: 1;
}

#top .av-product-class-minimal-overlay h2,
#top .av-product-class-minimal-overlay span {
  color: black;
  padding: 10px 10px 10px 10px;
}

#top .av-product-class-minimal-overlay {
  cursor: pointer;
  -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  margin: 0px;
}

#top .av-product-class-minimal-overlay:hover {
  /* -webkit-box-shadow: 0px 0px 15px -1px rgba(0, 0, 0, 0.37);
        -moz-box-shadow: 0px 0px 15px -1px rgba(0, 0, 0, 0.37);
        box-shadow: 0px 0px 15px -1px rgba(0, 0, 0, 0.37);
        transform: scale(1.01, 1.01); */
  background-color: white !important;
}

/* hide shoppingbasket*/
.quantity-container {
  display: none;
}

.category-columns .shop_columns_3 .products .product img {
  -o-object-fit: cover;
     object-fit: cover;
}

.woocommerce-loop-category__title {
  top: -183px !important;
  max-width: 300px !important;
}

@media screen and (max-width: 420px) {
  ul.products .product {
    width: 100vw !important;
    height: 100vw !important;
  }
}

.products.columns-4::after {
  content: '';
  display: table;
  clear: both;
}

@media screen and (max-width: 1250px) {
  .products .product h2, .products .product h3, .products .product h4,
  .products .product h5, .products .product h6, h2.woocommerce-loop-product__title
.products .product .woocommerce-loop-category__title h2 {
    padding: 9px 15px 9px 9px;
  }
  h2.woocommerce-loop-category__title {
    top: 21vw !important;
  }
}

@media screen and (max-width: 1000px) {
  .products .product h2, .products .product h3, .products .product h4,
  .products .product h5, .products .product h6, h2.woocommerce-loop-product__title
.products .product .woocommerce-loop-category__title h2 {
    padding: 7px 9px 3px 3px;
  }
  h2.woocommerce-loop-category__title {
    top: 20vw !important;
  }
}

@media screen and (max-width: 767px) {
  h2.woocommerce-loop-category__title {
    top: 85vw !important;
  }
}

@media only screen and (min-width: 768px) {
  .products .product-category .image-overlay-inside,
  .products .product-category a img {
    height: 25vw !important;
    width: 25vw !important;
  }
}

.products .product a {
  display: block !important;
}

ul.products.columns-4 {
  background-color: #252525;
}

.products .product h2 {
  font-size: 13px !important;
  font-weight: 300 !important;
  font-family: Raleway, sans-serif !important;
}

/* END PRODUCTS */
@media only screen and (max-width: 990px) {
  .product-template-default .image-desktop {
    display: block;
  }
  .product-template-default .image-xl-desktop {
    display: none;
  }
}

@media only screen and (min-width: 990px) {
  .product-template-default .image-desktop {
    display: none;
  }
  .product-template-default .image-xl-desktop {
    display: block;
  }
}

.product-template-default iframe.mfp-iframe {
  height: 580px;
}

.product-template-default .stretch_full {
  display: none;
}

.product-template-default .stretch_full .main-title {
  display: none;
}

.product-template-default .stretch_full .breadcrumb {
  display: none;
}

.product-template-default .image-overlay,
.product-template-default .image-overlay-inside {
  display: none !important;
}

.product-template-default .avia-post-nav {
  display: none;
}

.product-template-default .main_color .woocommerce-tabs .tabs .active {
  background-color: transparent;
}

.product-template-default .product_column_3 .products .product {
  margin: 0 !important;
}

@media only screen and (min-width: 990px) {
  .product-template-default .product_column_3 .products .product {
    width: 33.33333vw !important;
  }
}

.product-template-default .avia-gallery {
  padding-bottom: 0px !important;
}

.product-template-default #wrap_all .av-product-class-minimal-overlay .inner_product_header {
  position: absolute !important;
}

.share-product {
  padding: 3vw 3vw;
  margin: 0 auto 0 auto;
  max-width: 800px;
}

.single .product_column {
  margin: 0px;
}

@media only screen and (max-width: 990px) and (min-width: 768px) {
  #top .product_column_3 .products .product {
    width: 33.33333vw !important;
  }
}

@media only screen and (max-width: 768px) {
  #top .product_column_3 .products .product {
    width: 50vw !important;
  }
  #top .product_column_3 .products .product.first {
    width: 100vw !important;
    height: 100vw !important;
  }
}

@media only screen and (max-width: 990px) {
  .responsive .single-product-main-image {
    width: 100%;
    margin: 0 0px 0 0;
    padding-bottom: 0px;
  }
}

@media only screen and (min-width: 990px) {
  .template-shop div.product div.summary {
    float: right !important;
    z-index: 100;
    margin: 0;
    max-width: 420px !important;
    width: 420px !important;
    height: calc(85vh - 94px);
  }
}

.template-shop div.product div.summary {
  background: #252525;
  padding: 3vw;
  position: relative;
}

.template-shop div.product div.summary h1 {
  color: #ffffff;
  font-weight: 200;
  text-transform: uppercase;
  padding-right: 3vw;
}

.template-shop div.product div.summary .custom-content {
  color: #ffffff;
  margin: 0 0 50px 0;
}

@media only screen and (min-width: 990px) {
  .template-shop div.product div.summary .custom-content {
    margin-bottom: 150px;
  }
}

.template-shop div.product div.summary .offer-container .text {
  display: none;
}

.template-shop div.product div.summary .offer-container {
  left: 3vw;
  bottom: 3vw;
  right: 3vw;
}

@media only screen and (min-width: 990px) {
  .template-shop div.product div.summary .offer-container {
    position: absolute;
    height: calc(47vh - 259px);
  }
}

.template-shop div.product div.summary .offer-container .button {
  font-size: 14px !important;
  min-width: 25%;
  background: none;
  text-transform: uppercase;
  border: 1px solid #ffffff;
  font-weight: 400 !important;
  border-radius: 0px;
  padding: 10px;
}

@media only screen and (max-width: 588px) {
  .template-shop div.product div.summary .offer-container .button {
    min-width: 100%;
  }
}

@media only screen and (min-width: 990px) {
  .template-shop div.product div.summary .offer-container .button {
    margin-top: 2vh;
    min-width: 60%;
  }
}

@media only screen and (max-width: 990px) and (min-width: 588px) {
  .template-shop div.product div.summary .offer-container .buttonlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .template-shop div.product div.summary .offer-container .buttonlist div:first-child {
    margin-right: 1.5vw;
  }
  .template-shop div.product div.summary .offer-container .buttonlist div:nth-child(2) {
    margin-left: 1.5vw;
  }
  .template-shop div.product div.summary .offer-container .buttonlist a {
    width: 100%;
  }
  .template-shop div.product div.summary .offer-container .buttonlist li {
    width: 48%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .template-shop div.product div.summary .offer-container .buttonlist li a {
    width: 100%;
    margin: 0 !important;
  }
  .template-shop div.product div.summary .offer-container .buttonlist li:nth-child(3) {
    margin-top: 15px;
  }
}

.template-shop div.product div.summary .offer-container .buttonlist {
  padding: 0px;
  margin: 0px 0px 0px 0px;
}

@media only screen and (min-width: 990px) {
  .template-shop div.product div.summary .offer-container .buttonlist {
    position: absolute;
    bottom: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .template-shop div.product div.summary .offer-container .buttonlist li {
    width: 100%;
  }
  .template-shop div.product div.summary .offer-container .buttonlist li a {
    width: 100%;
  }
}

.template-shop div.product div.summary .woocommerce-product-details__short-description,
.template-shop div.product div.summary .product_meta {
  display: none;
}

.template-shop div.product div.summary .tinvwl-after-add-to-cart {
  float: right;
  position: absolute;
  top: -15px;
  right: 15px;
}

.template-shop div.product div.summary .tinvwl_add_to_wishlist_button:before {
  font-size: 35px;
}

.template-shop div.product div.summary .tinvwl-product-in-list:before {
  color: #FF1A16;
}

#top div div.product .woocommerce-tabs ul.tabs li.active a {
  padding: 10px;
}

#top div div.product .woocommerce-tabs .panel {
  padding: 0px;
  padding-top: 35px;
}

.woocommerce-page .button {
  font-size: 14px;
  line-height: inherit;
}

.button.download {
  background: transparent !important;
  color: black !important;
  padding: 2px !important;
  border-bottom: 1px solid #252525 !important;
  border-radius: 0%;
  text-transform: uppercase;
  font-weight: 400 !important;
  margin-right: 2.5em !important;
}

.button.download:hover {
  color: #FF1A16 !important;
}

.product-downloads-buttons-button__icon {
  stroke: none;
  width: 22px;
  height: 22px;
}

.button svg,
button svg {
  fill: black;
  z-index: 1;
  margin-left: 30px;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  -webkit-transition-delay: .1s;
  transition-delay: .1s;
  -webkit-transform: translateX(-5px) translateY(3px);
  transform: translateX(-5px) translateY(3px);
}

.button:hover svg,
button:hover svg {
  fill: #FF1A16;
  -webkit-transform: translateX(0) translateY(3px) rotate(-90deg);
  transform: translateX(0) translateY(3px) rotate(-90deg);
}

@media only screen and (min-width: 990px) {
  .single-product-main-image {
    float: left;
    position: relative;
    z-index: 5;
    width: calc(100% - 420px) !important;
  }
  .single-product-summary {
    float: left;
    margin: calc(-85vh + 94px) 0 0 0;
  }
}

@media only screen and (min-width: 990px) {
  .single-product-main-image .woocommerce-product-gallery {
    height: calc(85vh - 94px);
  }
  .single-product-main-image .woocommerce-product-gallery__wrapper {
    height: calc(85vh - 94px);
  }
  .single-product-main-image .woocommerce-product-gallery__wrapper a.lightbox-added {
    height: calc(85vh - 94px);
    background: #f5f5f5;
  }
}

@media only screen and (max-width: 767px) and (min-width: 479px) {
  .responsive #top #main .products .product {
    width: 50vw;
    height: 50vw;
  }
}

.single-product-summary {
  overflow: visible;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  position: relative;
  top: 0px !important;
  background: #ffffff;
  padding: 0;
}

#top div.product .woocommerce-tabs {
  padding: 3vw 3vw;
  margin: 0 auto 0 auto;
  max-width: 1200px;
}

@media only screen and (max-width: 990px) {
  #top div.product .woocommerce-tabs .wc-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #top div.product .woocommerce-tabs .wc-tabs li {
    width: 100%;
  }
  #top div.product .woocommerce-tabs .wc-tabs li a {
    width: 100%;
  }
  .woocommerce-page .button {
    padding: 1.5vw;
  }
}

@media only screen and (min-width: 990px) {
  #top div.product .woocommerce-tabs .wc-tabs {
    float: right !important;
    width: auto !important;
    margin: -1.5vw 0 0 !important;
  }
  #top div.product .woocommerce-tabs .wc-tabs li {
    margin: 0 0.75vw 1.5vw 0.75vw;
  }
}

#top div.product .woocommerce-tabs .wc-tabs li a {
  background: #252525;
  color: #ffffff;
  text-transform: uppercase;
  text-align: center;
  font-weight: 400 !important;
}

@media only screen and (max-width: 400px) {
  #top div.product .woocommerce-tabs .wc-tabs li a {
    padding: 2px !important;
    font-size: .7em !important;
  }
}

@media only screen and (max-width: 990px) {
  #top div.product .woocommerce-tabs .wc-tabs li a {
    padding: 1.5vw !important;
  }
}

@media only screen and (min-width: 990px) {
  #top div.product .woocommerce-tabs .wc-tabs li a {
    min-width: 160px;
  }
}

@media only screen and (max-width: 768px) {
  .responsive #top .products .product:nth-child(odd) {
    clear: none;
  }
}

#top div.product .woocommerce-tabs .wc-tabs li.active a {
  background: #252525;
}

.woocommerce-Tabs-panel {
  width: 100% !important;
  border-top: 1px solid #252525 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  background: none !important;
}

.container_wrap {
  border: none !important;
  border-top-width: 0px !important;
}

.responsive .product-template-default .container {
  max-width: 100% !important;
  padding: 0px !important;
}

.responsive .product-template-default #footer .container,
.responsive .product-template-default footer .container {
  max-width: 1310px !important;
  padding: 1.5vw !important;
}

.cart-loading {
  display: none !important;
}

.related.products > h2 {
  display: none;
}

.woocommerce-Tabs-panel > h2 {
  display: none;
}

#top .product #av_section_1 {
  border: none;
}

#top .product #av_section_1 .container {
  max-width: 100%;
  padding: 0;
  overflow: hidden;
}

#top .product #av_section_1 .container ul {
  margin: 0px !important;
  padding: 0px !important;
}

#top .product #av_section_1 .container ul li {
  margin: 0px !important;
  padding: 0px !important;
  width: 100vw / 3 !important;
}

#top .product #av_section_1 .container ul li div {
  margin: 0px !important;
  padding: 0px !important;
}

#top .product #av_section_1 .container ul li div.thumbnail_container {
  float: left;
  width: 100%;
  position: relative;
  z-index: 1;
}

#top .product #av_section_1 .container ul li div .cart-loading {
  display: none;
}

#top .product #av_section_1 .container ul li div .volt_posted_in {
  display: none;
}

#top .product #av_section_1 .container ul li div .volt_product_excerpt {
  display: none;
}

#top .product #av_section_1 .container ul li div .volt_product_button {
  display: none;
}

#top .product #av_section_1 .container ul li div .inner_product_header {
  margin: -30px 0 0 0;
}

#top .product #av_section_1 .container .product_column,
#top .product #av_section_1 .container .template-page {
  margin: 0;
  padding: 0;
}

#top .product #av_section_1 .container h2 {
  display: none;
}

#top .product #av_section_1 .container {
  background: #000000;
}

#top .product #av_section_1 .container:before {
  float: left;
  width: 20vw;
  height: 150px;
  padding: 95px 30px 0 0;
  margin: 0 0 0 30px;
  content: 'Soort gelijk producten';
  color: #ffffff;
  font-size: 30px;
  line-height: 35px;
  text-align: center;
}

#top .product #av_section_1 .container ul li.last {
  display: none;
}

#top .product #av_section_1 .container .template-page {
  float: right !important;
  width: 75% !important;
  clear: none !important;
}

#top #main .single-product-main-image .sidebar,
#top #main .single-product-main-image .inner_sidebar {
  padding: 0px;
}

@media only screen and (min-width: 990px) {
  #top .product div.images {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    height: calc(85vh - $menu-height);
    margin-top: 94px;
    position: relative;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
  }
  #top .product div.images img {
    height: 100%;
    width: 100%;
    overflow: hidden;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
  }
}

@media only screen and (max-width: 768px) {
  .responsive .single-product-main-image {
    padding-bottom: 0px;
  }
}

.thumbnail_container {
  background: #000000;
}

.woocommerce-loop-product__link:hover .wp-post-image {
  opacity: 0.75;
}

#top #wrap_all .av-product-class-minimal-overlay .inner_product_header .woocommerce-loop-product__title {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#a6000000', GradientType=0);
  /* IE6-9 */
  margin: -200px 0 0 0 !important;
  float: left;
  position: relative;
  z-index: 10;
  text-align: center;
  width: 100%;
  height: 200px;
  color: #ffffff;
  padding: 160px 0 0 0;
}

h2.woocommerce-loop-product__title {
  display: block !important;
}

.energielabel[data-energielabel-type="a++"] {
  background-color: #00A654;
}

.energielabel[data-energielabel-type="a++"]:after {
  border-left-color: #00A654;
}

.energielabel[data-energielabel-type="a+"] {
  background-color: #4DB848;
}

.energielabel[data-energielabel-type="a+"]:after {
  border-left-color: #4DB848;
}

.energielabel[data-energielabel-type="a"] {
  background-color: #BFD630;
}

.energielabel[data-energielabel-type="a"]:after {
  border-left-color: #BFD630;
}

.energielabel[data-energielabel-type="b"] {
  background-color: #FEF200;
}

.energielabel[data-energielabel-type="b"]:after {
  border-left-color: #FEF200;
}

.energielabel[data-energielabel-type="c"] {
  background-color: #FEB812;
}

.energielabel[data-energielabel-type="c"]:after {
  border-left-color: #FEB812;
}

.energielabel[data-energielabel-type="d"] {
  background-color: #F37021;
}

.energielabel[data-energielabel-type="d"]:after {
  border-left-color: #F37021;
}

.energielabel[data-energielabel-type="e"] {
  background-color: #ED1B24;
}

.energielabel[data-energielabel-type="e"]:after {
  border-left-color: #ED1B24;
}

.energielabel[data-energielabel-type="f"] {
  background-color: #ED1B24;
}

.energielabel[data-energielabel-type="f"]:after {
  border-left-color: #ED1B24;
}

.energielabel[data-energielabel-type="g"] {
  background-color: #ED1B24;
}

.energielabel[data-energielabel-type="g"]:after {
  border-left-color: #ED1B24;
}

.energielabel {
  position: relative;
  height: 24px;
  width: 48px;
  color: white;
  font-size: 18px;
  font-weight: 300;
  letter-spacing: .56px;
  line-height: 21px;
  padding: 2px 6px;
  display: inline-block;
  background-color: #bed62f;
}

.energielabel:after {
  content: "";
  position: absolute;
  left: 100%;
  top: 0;
  border: 12px solid transparent;
  border-left: 12px solid #bed62f;
}

.tabs.wc-tabs li:not(.active) a {
  background: #6d6e6d !important;
}

.single-product .buttonlist li:nth-child(2) a,
.single-product .buttonlist li:nth-child(3) a {
  margin-top: 20px !important;
}

.tax-product_cat nav.pagination {
  display: none;
}

@media screen and (max-width: 768px) {
  .related.products a {
    height: 50vw !important;
  }
}

.related.products .products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .related.products .products {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.related.products .products li {
  height: 25vw !important;
  width: 25% !important;
  margin: 0 !important;
  overflow: hidden;
  position: relative;
}

.related.products .products li > div {
  height: 100% !important;
}

.related.products .products li .thumbnail_container {
  height: 100% !important;
}

.related.products .products li .thumbnail_container img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  height: auto;
  width: auto !important;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 768px) {
  .related.products .products li {
    height: 50vw !important;
    width: 50% !important;
  }
  .related.products .products li .thumbnail_container {
    height: 50vw !important;
  }
}

@media screen and (max-width: 420px) {
  .related.products .products li {
    height: 100vw !important;
    width: 100% !important;
  }
  .related.products .products li .thumbnail_container {
    height: 100% !important;
  }
}

@media screen and (min-width: 768px) {
  .related.products .products li {
    height: 25vw !important;
    width: 25% !important;
  }
  .related.products .products li .thumbnail_container {
    height: 25vw !important;
  }
}

.related.products .products li:nth-child(5) {
  display: none;
}

.pos-top-left img {
  -o-object-position: top left !important;
     object-position: top left !important;
}

.pos-top-center img {
  -o-object-position: top center !important;
     object-position: top center !important;
}

.pos-top-right img {
  -o-object-position: top right !important;
     object-position: top right !important;
}

.pos-center-left img {
  -o-object-position: center left !important;
     object-position: center left !important;
}

.pos-center-center img {
  -o-object-position: center center !important;
     object-position: center center !important;
}

.pos-center-right img {
  -o-object-position: center right !important;
     object-position: center right !important;
}

.pos-bottom-left img {
  -o-object-position: bottom left !important;
     object-position: bottom left !important;
}

.pos-bottom-center img {
  -o-object-position: bottom center !important;
     object-position: bottom center !important;
}

.pos-bottom-right img {
  -o-object-position: bottom right !important;
     object-position: bottom right !important;
}

.brand-name {
  font-family: Raleway, sans-serif;
  font-size: 16px;
  font-weight: 300;
  text-transform: lowercase;
}

.woocommerce-tabs ul.tabs li a {
  white-space: normal !important;
}

.product-category,
.product-category img,
.product,
.inner_product,
.inner_product a,
.inner_product a img {
  height: 33.33333vw !important;
}

.container_wrap_first .product {
  height: auto !important;
}

@media only screen and (max-width: 767px) {
  .product-category,
  .product-category img,
  .product,
  .inner_product,
  .inner_product a,
  .inner_product a img {
    height: 100vw !important;
  }
}

.category-columns .product-category,
.category-columns .product .first,
.category-columns .product-category,
.category-columns .product .first {
  height: 25vw !important;
}

.category-columns .shop_columns_3 .products .product {
  height: 25vw !important;
  margin: 0px;
  width: 25% !important;
  overflow: hidden;
}

.product-category:first-child div {
  text-align: center;
  display: table;
  height: 100%;
  width: 100%;
}

.product-category:first-child {
  background-color: #252525;
}

.product-category:first-child div h2 {
  width: 100%;
  height: 100%;
  background-color: #252525;
  color: white;
  text-align: center;
  margin: 0px;
  display: table-cell;
  vertical-align: middle;
  font-weight: 300;
  font-size: 30px !important;
  text-transform: uppercase;
  line-height: 1.2em;
  padding: 0px 1vw;
}

@media only screen and (max-width: 1200px) {
  .product-category:first-child div h2 {
    font-size: 30px !important;
  }
}

@media only screen and (max-width: 1000px) {
  .product-category:first-child div h2 {
    font-size: 30px !important;
  }
}

.archive.menu-transparent .av_header_sticky {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.archive.menu-transparent .header_bg {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0.37+1,0.3+50,0+100,0+100 */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.37)), color-stop(1%, rgba(0, 0, 0, 0.37)), color-stop(50%, rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.37) 0%, rgba(0, 0, 0, 0.37) 1%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5e000000', endColorstr='#00000000', GradientType=0);
  /* IE6-9 */
}

.archive.menu-transparent #main {
  padding-top: 0px !important;
}

.archive.menu-transparent .menu-item-top-level > a {
  color: white !important;
}

.archive.menu-transparent .title_container {
  display: none;
}

.home.menu-transparent .av_header_sticky {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.home.menu-transparent .header_bg {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0.37+1,0.3+50,0+100,0+100 */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.37)), color-stop(1%, rgba(0, 0, 0, 0.37)), color-stop(50%, rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.37) 0%, rgba(0, 0, 0, 0.37) 1%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5e000000', endColorstr='#00000000', GradientType=0);
  /* IE6-9 */
}

.home.menu-transparent #main {
  padding-top: 0px !important;
}

.home.menu-transparent .menu-item-top-level > a {
  color: white !important;
}

.home.menu-transparent .title_container {
  display: none;
}

#top.home .header_color .header_bg {
  background-color: white;
  opacity: 1;
}

#top.home.menu-transparent .header_color .header_bg {
  opacity: 0;
}

#top.home #header.av_header_transparency .avia_mega_div {
  margin-top: 0px;
}

@media only screen and (min-width: 769px) {
  .template-shop ul.products.columns-4 {
    margin-bottom: 90px !important;
  }
}

/* PAGINATION */
.pagination-meta {
  display: none !important;
}

#top .pagination .current, #top .pagination a, #top .fullsize .template-blog .pagination a {
  -webkit-box-shadow: none;
          box-shadow: none;
}

body.tax-product_cat .pagination span.current,
#top .pagination .current,
body.tax-product_cat .pagination a,
.pagination .page-numbers li a {
  background: none;
  color: black;
}

body.tax-product_cat .pagination span.current, #top .pagination .current,
.pagination .page-numbers .current {
  color: #FF1A16;
}

#top .main_color .pagination a:hover {
  background: #FF1A16;
  color: white;
}

.pagination .page-numbers li a:hover {
  background: #252525;
  color: white;
}

.pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/*  arrow down in slider */
#top .scroll-down-link {
  bottom: 10% !important;
}

@media only screen and (max-width: 500px) {
  #top .scroll-down-link {
    display: none;
  }
}

.scroll-down-link::before {
  background-image: url("./img/arrow_down_white.svg");
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  width: 40px;
  height: 40px;
  font-size: 0px;
}

.scroll-down-link:hover::before {
  background-image: url("img/arrow_down_red.svg");
}

/* end arrow down in slider */
/* arrow back to top */
#scroll-top-link {
  background-image: url("img/arrow_top.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-color: transparent;
  display: block;
  width: 40px;
  height: 40px;
  border: none;
}

#scroll-top-link:hover {
  background-image: url("img/arrow_top_hover.svg");
  border: none;
}

#scroll-top-link:before {
  display: none;
}

/* back to top arrow */
/* METSELWERK */
/* maakt de ruimtes standaard 10px */
.av-large-gap.av-fixed-size .av-masonry-entry .av-inner-masonry {
  right: 10px;
  bottom: 10px;
}

.av-large-gap.av-masonry {
  padding: 10px 0 0 10px;
}

.main_color .av-masonry {
  background-color: white;
}

/* end maakt de ruimtes standaard 10px */
.slide-image img {
  border-radius: 0px !important;
}

.home .av-inner-masonry-content {
  margin-top: -64px;
  position: absolute;
  z-index: 9999;
  background-color: transparent;
  color: white;
  text-align: center;
}

.main_color .meta-color {
  color: white !important;
}

.home .av-inner-masonry-content .main_color .meta-color {
  color: white !important;
}

.home .av-inner-masonry-content h3 {
  background-color: transparent;
  color: white;
  text-align: center;
}

.home .av-inner-masonry-content .avia-arrow {
  display: none;
}

.home .av-inner-masonry-content .entry-content-header {
  border-color: transparent;
}

.home .av-inner-masonry-content .av-masonry-entry-content {
  display: none;
}

/* END METSELWERK */
/* LOGO */
.logo {
  margin-left: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: visible;
  margin-top: -7px;
}

.logo a {
  overflow: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.logo img, .logo.avia-img-svg-logo > a > img, .logo svg, .logo.avia-img-svg-logo > a > svg {
  height: 36px;
}

.logo img.alternate, .logo svg.alternate {
  height: 38px;
  left: 0px;
  top: 27px;
}

#top #menu-item-search {
  margin-top: -5px;
}

.html_av-overlay-side .av-burger-overlay-scroll {
  width: 90%;
}

img.logo-mobile, svg.logo-mobile, .mobile-logo-in-menu {
  display: none;
}

@media only screen and (max-width: 990px) {
  #top #menu-item-search {
    margin-top: 0px;
  }
  .html_header_transparency #top .avia-builder-el-0 .slideshow_caption {
    padding-top: 0px;
  }
}

@media only screen and (max-width: 1200px) {
  .responsive .logo {
    margin-left: 0px;
    height: 30px;
  }
  .logo {
    margin-top: 0px;
  }
  .logo img,
  .logo img.alternate,
  .logo svg,
  .logo svg.alternate {
    top: 27px;
  }
}

@media only screen and (max-width: 767px) {
  .responsive .logo img, .responsive .logo svg {
    height: 26px !important;
    top: inherit;
  }
  .logo img, .logo svg {
    top: inherit;
  }
  .responsive #top #wrap_all .container {
    width: 100%;
    max-width: 100%;
  }
  .responsive #top .logo {
    height: 92px !important;
  }
  .responsive #top .logo > a > img {
    display: none;
  }
  .responsive #top .logo > a > svg {
    display: none;
  }
  .responsive #top .logo img.logo-mobile, .responsive #top .logo svg.logo-mobile {
    display: block;
    position: absolute;
    left: 50vw;
    top: 25px;
    margin-left: -25px;
    width: 50px;
    height: auto !important;
  }
  .menu-item-search-dropdown {
    display: none !important;
  }
  .av-burger-menu-main {
    margin-right: 20px;
  }
  .mobile-logo-in-menu {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
  }
}

@media only screen and (max-width: 400px) {
  .responsive .logo img, .responsive .logo svg {
    height: 20px !important;
  }
}

/* END LOGO */
.home .sort_width_container,
.home .grid-content {
  margin-top: -64px;
  position: absolute;
  z-index: 9999;
  background-color: transparent;
  color: white;
}

.home .inner-entry .grid-content {
  opacity: 0;
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.home .inner-entry:hover .grid-content {
  opacity: 1;
}

.home .grid-content h3 {
  background-color: transparent;
  color: white;
  font-size: 1em !important;
}

.home .grid-content .avia-arrow {
  display: none;
}

.home .grid-content .entry-content-header {
  border-color: transparent;
}

.grid-entry .inner-entry {
  margin-right: 10px !important;
}

.image-overlay-inside {
  border: none !important;
}

.grid-entry .inner-entry {
  margin-right: 0px !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.image-overlay {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0.19+40,0.87+100 */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.19)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.19) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30000000', endColorstr='#de000000', GradientType=0);
  /* IE6-9 */
}

span .image-overlay-inside:before {
  display: none;
}

.av_header_sticky,
#header.av_minimal_header .avia_mega_div {
  -webkit-box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.15) !important;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.15) !important;
}

.av_header_sticky.av_header_transparency {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

#top .av_header_scrolldown {
  margin-top: 0px !important;
}

@media only screen and (max-width: 767px) {
  .responsive #top #wrap_all #header {
    background: #FFF;
    color: #000;
  }
  .av-hamburger-inner,
  .av-hamburger-inner::before,
  .av-hamburger-inner::after {
    background-color: #000 !important;
  }
  .is-active .av-hamburger-inner,
  .is-active .av-hamburger-inner::before,
  .is-active .av-hamburger-inner::after {
    background-color: #000 !important;
  }
  .responsive #top #wrap_all .av-logo-container {
    padding: 0px 1.5vw !important;
  }
}

/* lowercase menu items */
.avia-menu .menu-item-mega-parent > a,
.avia-menu .header_color .sub_menu > ul > li > a,
.avia-menu .menu-item-top-level > a,
.avia-menu .menu-item-top-level > .sub-menu,
.avia-menu .sub-menu > .menu-item > .sub-menu {
  text-transform: lowercase;
}

.avia-menu .avia-menu li a,
.avia-menu .mega_menu_title {
  padding-top: 10px;
  text-transform: uppercase;
}

/* Burger menu */
li.av-active-burger-items > a,
.av-width-submenu > a {
  padding-top: 10px;
  text-transform: uppercase;
}

.sub-menu > .av-width-submenu > .sub-menu > li {
  text-transform: lowercase;
}

.avia-menu #menu-item-search a {
  padding-top: 5px;
}

.avia_mega_div {
  border-top-width: 0px;
}

#header.av_minimal_header .avia_mega_div {
  border-top-width: 0px !important;
}

.header2.header-scrolled .logo a {
  margin-top: -200px;
}

.header2 {
  position: absolute;
  z-index: 1000;
  width: 100%;
}

.av-with-submenu > a {
  cursor: default;
}

.only-mobile {
  display: none;
}

@media only screen and (max-width: 767px) {
  .only-mobile {
    display: block;
  }
}

.heart-icon, .heart-icon-empty {
  position: relative;
  top: -1px;
  padding-right: 0px !important;
}

.heart-icon, .heart-icon-empty {
  -webkit-transition: 300ms;
  transition: 300ms;
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}

.heart-icon::after {
  content: '\e908';
  display: inline-block;
  font-family: "tinvwl-webfont" !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 20px;
  vertical-align: sub;
  color: #FF1A16;
}

.archive.menu-transparent .header_color .main_menu ul:first-child > li > a,
.archive.menu-transparent .header_color .main_menu ul:first-child > li > a::after,
.av_header_transparency .heart-icon-empty::after {
  color: white !important;
}

.home.menu-transparent .header_color .main_menu ul:first-child > li > a,
.home.menu-transparent .header_color .main_menu ul:first-child > li > a::after,
.av_header_transparency .heart-icon-empty::after {
  color: white;
}

.heart-icon-empty::after {
  color: #252525;
  content: '\e909' !important;
  display: inline-block;
  font-family: 'tinvwl-webfont' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 20px;
  vertical-align: sub;
}

.av_header_sticky.av_header_transparency .heart-icon-empty::after {
  color: white !important;
}

.heart-icon:hover, .heart-icon-empty:hover {
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-animation: heartbeat 1s infinite;
          animation: heartbeat 1s infinite;
}

@-webkit-keyframes heartbeat {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  20% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes heartbeat {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  20% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@media only screen and (max-width: 990px) {
  .responsive #top .logo img.logo-mobile {
    height: 96px !important;
    top: 12px !important;
  }
  .header-bg {
    background-color: #FFF !important;
  }
  #header {
    background-color: #fff !important;
  }
}

body.woocommerce-account .template-page .woocommerce {
  padding: 0 30px;
}

@media only screen and (min-width: 768px) {
  #aangenaam .template-page {
    padding-bottom: 125px !important;
    padding-top: 125px !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  body.home #av_section_2 .template-page {
    padding-bottom: 125px !important;
    padding-top: 125px !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  #footer {
    padding-bottom: 125px !important;
    padding-top: 125px !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  body.woocommerce-account .template-page .woocommerce {
    margin-top: 150px;
  }
}

.slick-next,
.slick-prev {
  position: absolute;
  height: 100%;
  width: 50px;
  margin: 0;
  z-index: 5;
  background: none;
  border: none;
  background-size: 50%;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center center;
}

.slick-prev {
  left: 0;
  float: left;
  background-image: url("img/slider-arrow-left.png");
}

.slick-prev:hover {
  background-image: url("img/slider-arrow-left-red.png");
}

.slick-next {
  top: 0px;
  right: 0;
  float: right;
  background-image: url("img/slider-arrow-right.png");
}

.slick-next:hover {
  background-image: url("img/slider-arrow-right-red.png");
}

.slick-dots {
  position: absolute;
  bottom: 20px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  color: black;
}

.slick-dots li button:before {
  font-family: 'slick';
  font-size: 24px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: 1;
  color: #252525;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: 1;
  color: #FF1A16;
}

body.single-product .slick-dots li:not(.slick-active) button:before {
  color: white;
}

.page-template-projecten .intro {
  background-color: #252525;
  position: absolute;
  left: 0px;
  top: 94px;
  width: 25vw;
  height: 25vw;
  z-index: 99;
  color: white;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2em;
}

@media screen and (max-width: 922px) {
  .page-template-projecten .intro {
    height: 33vw;
    width: 33vw;
  }
}

@media screen and (max-width: 700px) {
  .page-template-projecten .intro {
    height: 50vw;
    width: 50vw;
  }
}

@media screen and (max-width: 400px) {
  .page-template-projecten .intro {
    font-size: 1em;
    height: 50vw;
    width: 50vw;
  }
}

.page-template-projecten h1 {
  padding: calc(3vh - 20px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: relative;
  font-size: 1em !important;
  text-transform: uppercase;
  color: white;
  font-weight: 300;
}

.page-template-projecten h1 a {
  border: 1px solid white;
  padding: 10px 20px;
}

.page-template-projecten #fp-nav ul li a span {
  background-color: #FF1A16;
}

.page-template-projecten .fp-tableCell {
  vertical-align: bottom;
  text-align: left;
}

.page-template-projecten .section div {
  position: relative;
  z-index: 3;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#a6000000', GradientType=0);
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  padding: 0px;
  margin: 0px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media only screen and (max-width: 500px) {
  .product-category:first-child div h2 {
    font-size: 30px !important;
  }
  .volt-project-title h2.av-special-heading-tag {
    font-size: 30px;
  }
}

.volt-content {
  background: #dad7d6;
  padding: 0 10% 0 10%;
}

@media only screen and (max-width: 1024px) {
  .volt-content {
    padding: 0 10% 0 10%;
  }
}

@media only screen and (min-width: 1400px) {
  .volt-content {
    padding: 0 15% 0 15%;
  }
}

@media only screen and (min-width: 1600px) {
  .volt-content {
    padding: 0 20% 0 20%;
  }
}

@media only screen and (min-width: 2200px) {
  .volt-content {
    padding: 0 28% 0 28%;
  }
}

.volt-project-header {
  margin-top: -60px !important;
}

.volt-content .template-page {
  background-color: #fff;
}

.volt-content.footer-module .template-page {
  background-color: #dad7d6;
}

.volt-content .volt-full-width-img .avia-image-container-inner {
  width: 100%;
}

.volt-content .volt-full-width-img .avia-image-container-inner img {
  width: 100%;
}

.volt-streamer-content blockquote {
  float: left;
  width: 235px;
  margin-top: 10px;
  border-left: none;
  margin-right: 20px;
  margin-left: -30px;
  padding-right: 15px;
  margin-bottom: 0;
  clear: both;
  font-size: 1.235em;
  line-height: 1.45;
  color: #df5b57;
  word-wrap: break-word;
  border-right: 3px solid #df5b57;
}

.volt-content p, .volt-content h6 {
  padding-left: 30px;
}

.volt-content blockquote p {
  padding-left: 0px;
}

@media only screen and (max-width: 500px) {
  .volt-streamer-content blockquote {
    width: 100%;
    padding: 20px;
    margin-top: 10px;
    border-left: none;
    margin-bottom: 10px;
    clear: both;
    font-size: 1.235em;
    line-height: 1.45;
    color: #df5b57;
    word-wrap: break-word;
    border-right: 3px solid #df5b57;
  }
}

.volt-content .column-top-margin {
  margin: 0;
}

.volt-project-title h2.av-special-heading-tag {
  font-size: 50px;
}

.volt-half-width-img img.avia_image {
  width: 100%;
  height: -webkit-fill-available;
}

.volt-one-third-width-img img.avia_image {
  width: 100%;
  height: -webkit-fill-available;
}

.single-project .volt-content .volt-full-width-img .avia-image-container-inner img {
  max-height: 45vw;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .fp-table .fp-tableCell {
    height: calc(100vh - 95px) !important;
  }
  .fp-table .fp-tableCell div h1 {
    padding-bottom: 7.5% !important;
  }
}

@media only screen and (max-width: 400px) {
  .fp-table .fp-tableCell {
    height: calc(100vh - 95px) !important;
  }
  .fp-table .fp-tableCell div h1 {
    padding-bottom: 3.5% !important;
  }
}

@media only screen and (min-width: 768px) {
  .fp-table .fp-tableCell {
    height: calc(100vh - 95px) !important;
  }
  .fp-table .fp-tableCell div {
    padding-bottom: 140px !important;
  }
}

@media only screen and (max-width: 500px) {
  .page-template-projecten h1 a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: calc(100vw - 30px);
    margin: 0px 15px;
    display: block;
  }
}

.av-masonry {
  background-color: #6d6e6d;
}

#top .fullsize .template-blog {
  margin-top: 94px;
}

#top .fullsize .template-blog .post {
  font-size: .9em;
}

#top .fullsize .template-blog .post .entry-content-wrapper {
  text-align: left;
}

#top .fullsize .template-blog .post h4 {
  line-height: 1.5em;
}

.blog-meta a img, .blog-meta a .iconfont {
  display: none !important;
}

.blog-meta a .rounded-container {
  background-color: transparent;
}

.text-sep.text-sep-cat {
  display: none;
}

.blog-categories.minor-meta {
  font-size: 0;
}

.blog-categories.minor-meta a {
  font-size: 12px;
  position: relative;
  left: -5px;
}

.blog-meta {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .post-title.entry-title {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  main.content {
    padding: 0 !important;
  }
}

.search #main {
  padding-top: 116px !important;
}

.search.search-results .products,
.search.search-results .product {
  background-color: white !important;
}

.page-template-projecten #fp-nav a:not(.active) span {
  background-color: #fff !important;
}

.page-template-projecten #fp-nav a span {
  height: 8px !important;
  width: 8px !important;
  margin: 0 !important;
}

@media screen and (max-width: 420px) {
  .page-template-projecten header#header {
    position: fixed !important;
  }
}

@media screen and (max-width: 1024px) {
  .volt-content {
    padding: 0;
  }
  .volt-content .template-page {
    width: 100vw;
  }
}

@media screen and (max-width: 768px) {
  .volt-project-header {
    margin-top: -57px !important;
  }
}

.volt-photo-subtext {
  margin-top: .5em;
  font-size: .85em;
  font-style: italic;
  line-height: 1.25;
  opacity: .5;
  padding-left: 15%;
}

body.tinvwl-theme-style .tinv-header {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (min-width: 768px) {
  body.tinvwl-theme-style .tinv-header {
    margin-top: 75px !important;
  }
}

body.tinvwl-theme-style p.cart-empty {
  padding-left: 10px;
}

body.tinvwl-theme-style p.return-to-shop {
  margin-top: 40px;
  margin-left: 10px;
}

body.tinvwl-theme-style p.return-to-shop a.button.wc-backward {
  text-decoration: none !important;
}

body.tinvwl-theme-style p.return-to-shop a.button.wc-backward:hover {
  color: black !important;
}

@media only screen and (min-width: 640px) {
  body.tinvwl-theme-style .tinv-wishlist tr.wishlist_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  body.tinvwl-theme-style .tinv-wishlist tr.wishlist_item:nth-child(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  body.tinvwl-theme-style .tinv-wishlist tr.wishlist_item:nth-child(2n) .product-name {
    text-align: right;
  }
  body.tinvwl-theme-style .tinv-wishlist tr.wishlist_item .product-name {
    font-size: 25px !important;
    line-height: 1.5em;
  }
}

body.tinvwl-theme-style .product-remove button {
  background: none !important;
}

body.tinvwl-theme-style .product-remove button .ftinvwl.ftinvwl-times::before {
  content: "\f182";
  font-family: 'dashicons';
}

body.tinvwl-theme-style .product-remove button:hover {
  cursor: pointer;
}

body.tinvwl-theme-style thead,
body.tinvwl-theme-style tfoot,
body.tinvwl-theme-style .product-cb,
body.tinvwl-theme-style .product-price,
body.tinvwl-theme-style .product-date,
body.tinvwl-theme-style .product-stock,
body.tinvwl-theme-style .product-action {
  display: none;
}

body.tinvwl-theme-style .tinv-wishlist .product-thumbnail {
  max-width: auto !important;
  height: auto !important;
  width: auto !important;
}

body.tinvwl-theme-style .main_color .tinvwl-table-manage-list tr:nth-child(odd),
body.tinvwl-theme-style .main_color table.tinvwl-table-manage-list,
body.tinvwl-theme-style .main_color .tinvwl-table-manage-list tbody,
body.tinvwl-theme-style .main_color .tinvwl-table-manage-list td {
  background: white !important;
  background-color: white !important;
  border-color: white !important;
}

body.tinvwl-theme-style .tinvwl-to-left, body.tinvwl-theme-style .tinvwl-to-right {
  display: none;
}

@media only screen and (max-width: 640px) {
  tr.wishlist_item {
    margin-bottom: 15px;
  }
  tr.wishlist_item .product-name {
    font-size: 26px !important;
    padding-top: 0px;
  }
  tr.wishlist_item .product-remove {
    display: inherit !important;
    padding-bottom: 0 !important;
    overflow-y: visible;
  }
  tr.wishlist_item .product-remove > button {
    width: 40px !important;
    height: 40px !important;
    background-color: #fff !important;
    border-radius: 0% !important;
    position: absolute;
    z-index: 10;
  }
  tr.wishlist_item .product-remove > button i {
    font-size: 20px;
    margin-left: 9px;
    margin-top: 9px;
  }
  body.tinvwl-theme-style .tinv-header {
    display: block;
  }
  .tinv-wishlist .social-buttons {
    float: none;
    width: 100%;
    text-align: center;
    margin: 0 !important;
    padding-right: 1em !important;
  }
  .tinv-wishilist .social-buttons li {
    display: inline-block;
    margin: 0 !important;
  }
  .tinv-header h2 {
    font-size: 24px;
    text-align: center;
    letter-spacing: 4px;
  }
  thead,
  tfoot,
  .product-cb,
  .product-price,
  .product-date,
  .product-stock,
  .product-action {
    display: none !important;
  }
  .social-buttons ul li a {
    width: 1.2em !important;
  }
}

.force-thumb-size {
  max-width: 100% !important;
}

.av-masonry-image-container {
  background-color: #252525 !important;
}

.product a .image-overlay {
  opacity: 0.5 !important;
  top: 0 !important;
}

.faq {
  margin-bottom: 40px;
}

.faq::after {
  content: '';
  display: table;
  clear: both;
}

.faq .faq_title {
  text-transform: uppercase !important;
}

.togglecontainer .av_toggle_section:last-child {
  margin-bottom: 40px;
}

.togglecontainer .av_toggle_section .toggler {
  text-transform: uppercase;
}

.togglecontainer .av_toggle_section .toggler:hover {
  color: #FF1A16;
  background: white;
}

.togglecontainer .av_toggle_section .toggler.activeTitle {
  color: #FF1A16;
}

.togglecontainer .av_toggle_section .toggle_wrap .toggle_content {
  background: white !important;
  border: 0 !important;
}

.page-template-referenties #main {
  margin-top: 95px;
}

.page-template-referenties .black-block .av-masonry-image-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #252525;
}

.page-template-referenties .black-block .av-masonry-image-container h2 {
  color: white;
}

.page-template-referenties figcaption {
  background-color: transparent !important;
}

.page-template-referenties figcaption h3.entry-title {
  color: white;
  text-align: center;
}

.post-type-archive-merk #main {
  margin-top: 95px;
}

.hca_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: 0px;
}

.hca_list h2 {
  text-align: center;
}

.hca_list.white li .title {
  color: white;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#a6000000', GradientType=0);
}

.hca_list.with-border li p.title span {
  border: 1px solid white;
  padding: 5px 40px;
}

.hca_list.with-border li p.title span::after {
  content: '>';
}

.hca_list li {
  width: 25%;
  height: 25vw;
  position: relative;
}

.hca_list li:first-child {
  background: #252525;
  color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.hca_list li a {
  height: 100%;
  width: 100%;
  display: block;
  -webkit-transition: background 300ms;
  transition: background 300ms;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
}

.hca_list li a:hover {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.19)), color-stop(40%, rgba(0, 0, 0, 0.19)), to(rgba(0, 0, 0, 0.87)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.19) 0%, rgba(0, 0, 0, 0.19) 40%, rgba(0, 0, 0, 0.87) 100%);
}

.hca_list li .title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  padding-bottom: 20px;
  padding-top: 60px;
  margin: 0 !important;
  font-size: 15px;
  text-transform: capitalize;
  color: black;
  font-weight: medium !important;
}

@media screen and (max-width: 768px) {
  .hca_list li {
    width: 50%;
    height: 50vw;
  }
}

@media screen and (max-width: 420px) {
  .hca_list li {
    width: 100%;
    height: 100vw;
  }
}

ul.hca_list {
  background-color: #6d6e6d;
}

.page-template-inspiratie #main {
  margin-top: 95px;
}

#top .footer_color input[type='text'] {
  border-color: #f2eeed !important;
  background-color: #f2eeed !important;
  color: #4d4d4d !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #4d4d4d !important;
  /* Firefox */
  text-transform: uppercase;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #4d4d4d !important;
  /* Firefox */
  text-transform: uppercase;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #4d4d4d !important;
  /* Firefox */
  text-transform: uppercase;
}

input::placeholder,
textarea::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #4d4d4d !important;
  /* Firefox */
  text-transform: uppercase;
}

textarea:-ms-input-placeholder,
input:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #4d4d4d !important;
  text-transform: uppercase;
}

textarea::-ms-input-placeholder,
input::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #4d4d4d !important;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  #footer {
    padding: 50px 30px !important;
  }
  #footer h1,
  #footer h2,
  #footer h3,
  #footer h4,
  #footer h5,
  #footer h6 {
    padding-left: 0px;
    padding-right: 0px;
  }
  #footer .gform_wrapper {
    padding-left: 0px;
    padding-right: 0px;
  }
  #footer .gform_wrapper p {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  footer .container {
    padding-left: 30px;
    padding-right: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  footer .container * {
    text-align: center;
  }
  footer .container ul.social_bookmarks {
    margin-left: 0px !important;
    margin-top: 20px !important;
  }
}

#footer .container {
  padding: 0 50px !important;
  color: #A3A1A5;
}

footer .container {
  padding: 0 50px !important;
}

footer .container a {
  color: #A3A1A5 !important;
}

/*

Gravity Form fixes

*/
.gfield_label, .gform_title, textarea::-webkit-input-placeholder {
  text-transform: none;
}
.gfield_label, .gform_title, textarea:-ms-input-placeholder {
  text-transform: none;
}
.gfield_label, .gform_title, textarea::-ms-input-placeholder {
  text-transform: none;
}
.gfield_label, .gform_title, textarea::placeholder {
  text-transform: none;
}

.single-referenties .slick-slide img {
  height: 420px;
  border-radius: 5px;
  margin-bottom: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 648px) {
  .single-referenties .slick-slide img {
    height: 230px;
  }
}

.single-referenties .slick-next {
  top: 50%;
  right: 5px;
}

.single-referenties .slick-next, .single-referenties .slick-prev:hover {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50%;
}

#top.tinvwl-theme-style .product-remove button {
  background-color: black !important;
}

.ftinvwl-times:before {
  content: '\f182' !important;
  color: white;
}

.landingpage-intro .content h3 {
	text-align: center;
}

.share-product {
	display: none;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiY29tcG9uZW50cy93b3JkcHJlc3NfaW50cm8uc2NzcyIsImNvbXBvbmVudHMvbWVya2VuLnNjc3MiLCJjb21wb25lbnRzL2dsb2JhbC5zY3NzIiwiY29tcG9uZW50cy9zaGFyZS5zY3NzIiwiY29tcG9uZW50cy9mcm9udHBhZ2Uuc2NzcyIsImNvbXBvbmVudHMvZnJvbnRwYWdlLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9mcm9udHBhZ2UtY2F0ZWdvcnkuc2NzcyIsImNvbXBvbmVudHMvZnJvbnRwYWdlLXRleHQuc2NzcyIsImNvbXBvbmVudHMvZnJvbnRwYWdlLXBvcnRmb2xpby5zY3NzIiwiY29tcG9uZW50cy9mcm9udHBhZ2UtY29udGFjdC5zY3NzIiwiY29tcG9uZW50cy9vcGVuaW5nc3RpamRlbi5zY3NzIiwiY29tcG9uZW50cy9mcm9udHBhZ2UtbmlldXdzLnNjc3MiLCJjb21wb25lbnRzL3BhZ2Utb3Zlcm9ucy5zY3NzIiwiY29tcG9uZW50cy93b29jb21tZXJjZS1wcm9kdWN0cy5zY3NzIiwiY29tcG9uZW50cy93b29jb21tZXJjZS1wcm9kdWN0LnNjc3MiLCJjb21wb25lbnRzL3dvb2NvbW1lcmNlLWNhdGVnb3JpZXMuc2NzcyIsImNvbXBvbmVudHMvcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9hcnJvd3Muc2NzcyIsImNvbXBvbmVudHMvbWFzb25yeS5zY3NzIiwiY29tcG9uZW50cy9sb2dvLnNjc3MiLCJjb21wb25lbnRzL2dyaWQuc2NzcyIsImNvbXBvbmVudHMvbWVudS5zY3NzIiwiY29tcG9uZW50cy9zbGljay5zY3NzIiwiY29tcG9uZW50cy9wcm9qZWN0cy5zY3NzIiwiY29tcG9uZW50cy9ibG9nLnNjc3MiLCJjb21wb25lbnRzL3NlYXJjaC1wYWdlLnNjc3MiLCJjb21wb25lbnRzL3Byb2plY3Rlbi1wYWdlLnNjc3MiLCJjb21wb25lbnRzL21vb2Rib2FyZC5zY3NzIiwiY29tcG9uZW50cy9hY2NvcmRpb24uc2NzcyIsImNvbXBvbmVudHMvcmVmZXJlbnRpZXMuc2NzcyIsImNvbXBvbmVudHMvaGNhX2xpc3Quc2NzcyIsImNvbXBvbmVudHMvaW5zcGlyYXRpZS5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvZ2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvc2luZ2xlUmVmZXJlbmNlLnNjc3MiLCJjb21wb25lbnRzL3dpc2hsaXN0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBDb2xvciBOYW1lIFZhcmlhYmxlc1xuJHNjYXJsZXQ6ICNGRjFBMTY7XG4kY29yZHVyb3k6ICMyNTI1MjU7XG5cbi8vIFBhZGRkaW5nXG4kc21hbGwtcGFkZGluZzogMS41dnc7XG4kbm9ybWFsLXBhZGRpbmc6ICgkc21hbGwtcGFkZGluZyAqIDIpO1xuJGxhcmdlLXBhZGRpbmc6ICgkbm9ybWFsLXBhZGRpbmcgKiAyKTtcblxuLy8gTWVudVxuJG1lbnUtaGVpZ2h0OiA5NHB4O1xuJHByb2R1Y3QtY29sdW1uLWFtb3VudDogY2FsYygxMDB2dyAvIDQpO1xuXG4vLyBFbmVyZ3kgbGFiZWwgY29sb3JzXG4kZW5lcmd5LWxhYmVsLWEtcGx1cy1wbHVzOiAjMDBBNjU0O1xuJGVuZXJneS1sYWJlbC1hLXBsdXM6ICM0REI4NDg7XG4kZW5lcmd5LWxhYmVsLWE6ICNCRkQ2MzA7XG4kZW5lcmd5LWxhYmVsLWI6ICNGRUYyMDA7XG4kZW5lcmd5LWxhYmVsLWM6ICNGRUI4MTI7XG4kZW5lcmd5LWxhYmVsLWQ6ICNGMzcwMjE7XG4kZW5lcmd5LWxhYmVsLWU6ICNFRDFCMjQ7XG4kZW5lcmd5LWxhYmVsLWY6ICNFRDFCMjQ7XG4kZW5lcmd5LWxhYmVsLWc6ICNFRDFCMjQ7XG5cbi8vIEltcG9ydHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd29yZHByZXNzX2ludHJvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVya2VuJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZ2xvYmFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2hhcmUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mcm9udHBhZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mcm9udHBhZ2Utc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZnJvbnRwYWdlLWNhdGVnb3J5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZnJvbnRwYWdlLXRleHQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mcm9udHBhZ2UtcG9ydGZvbGlvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZnJvbnRwYWdlLWNvbnRhY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcGVuaW5nc3RpamRlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zyb250cGFnZS1uaWV1d3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdlLW92ZXJvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy93b29jb21tZXJjZS1wcm9kdWN0cyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3dvb2NvbW1lcmNlLXByb2R1Y3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy93b29jb21tZXJjZS1jYXRlZ29yaWVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Fycm93cyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21hc29ucnknO1xuQGltcG9ydCAnY29tcG9uZW50cy9sb2dvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZ3JpZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGljayc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2plY3RzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmxvZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlYXJjaC1wYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvamVjdGVuLXBhZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tb29kYm9hcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZWZlcmVudGllcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hjYV9saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5zcGlyYXRpZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvb3Rlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dmb3JtJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2luZ2xlUmVmZXJlbmNlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd2lzaGxpc3QnOyIsIi8qIVxuICAgIFRoZW1lIE5hbWU6IEhhYXJkZW4gQ2VudHJ1bSBBbGttYWFyXG4gICAgRGVzY3JpcHRpb246IEEgPGEgaHJlZj0naHR0cDovL2NvZGV4LndvcmRwcmVzcy5vcmcvQ2hpbGRfVGhlbWVzJz5DaGlsZCBUaGVtZTwvYT4gZm9yIHRoZSBFbmZvbGQgV29yZHByZXNzIFRoZW1lLiBJZiB5b3UgcGxhbiB0byBkbyBhIGxvdCBvZiBmaWxlIG1vZGlmaWNhdGlvbnMgd2UgcmVjb21tZW5kIHRvIHVzZSB0aGlzIFRoZW1lIGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIFRoZW1lLiBVcGRhdGluZyB3aWwgYmUgbXVjaCBlYXNpZXIgdGhlbi5cbiAgICBWZXJzaW9uOiAxLjBcbiAgICBBdXRob3I6IEtyaWVzaVxuICAgIEF1dGhvciBVUkk6IGh0dHA6Ly93d3cua3JpZXNpLmF0XG4gICAgVGVtcGxhdGU6IGVuZm9sZFxuKi8iLCIubWFpbl9jb2xvciAuYXZpYS1jb250ZW50LXNsaWRlciAuc2xpZGUtaW1hZ2Uge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogMHB4O1xufVxuXG4ubWVya2VuIHtcblx0bWFyZ2luOjEwdnc7XG5cdHBhZGRpbmc6NXZ3O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zaW5nbGUtbWVyayB7XG5cdCNtYWluIHtcblx0XHRtYXJnaW4tdG9wOiA5NXB4O1xuXHR9IFxuXHQudGV4dF9zZWN0aW9uIHtcblx0XHRtYXJnaW46IDUwcHggYXV0bztcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0XHRtYXgtd2lkdGg6IDEzMTBweDtcblx0fVxuXHR1bC5wcm9kdWN0cyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcblx0XHRsaSB7XG5cdFx0XHR3aWR0aDogMjUlO1xuXHRcdFx0aGVpZ2h0OiAyNXZ3ICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0fVxuXHRcdFx0LnZvbHRfcG9zdGVkX2luLCAudm9sdF9wcm9kdWN0X2V4Y2VycHQsIC52b2x0X3Byb2R1Y3RfYnV0dG9uIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHRvcDogMjB2dztcblx0XHRcdFx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHRcdC8vIGRpdiB7XG5cdFx0XHQvLyBcdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1x0XHRcblx0XHRcdC8vIH1cblx0XHR9XG5cdFx0LmlubmVyX3Byb2R1Y3RfaGVhZGVyLCAuaW5uZXJfcHJvZHVjdF9oZWFkZXIge1xuXHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHR9XG5cdH1cbn1cblxuXG4iLCIvLyBJbXBvcnQgZXh0ZXJuYWxcbkBpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjEwMCwyMDAsMzAwLDUwMCw2MDAsNzAwJztcblxuI2F2LWJ1cmdlci1tZW51LXVsIGF7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLyogbG93ZXJjYXNlIG1lbnUgaXRlbXMgKi9cbi5hdmlhLW1lbnUge1xuICAgIC5tZW51LWl0ZW0tbWVnYS1wYXJlbnQgPiBhLFxuICAgIC5oZWFkZXJfY29sb3IgLnN1Yl9tZW51PnVsPmxpPmEsXG4gICAgLm1lbnUtaXRlbS10b3AtbGV2ZWwgPiBhLFxuICAgIC5tZW51LWl0ZW0tdG9wLWxldmVsID4gLnN1Yi1tZW51LFxuICAgIC5zdWItbWVudSA+IC5tZW51LWl0ZW0gPiAuc3ViLW1lbnUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIH1cblxuICAgIC5hdmlhLW1lbnUgbGkgYSxcbiAgICAubWVnYV9tZW51X3RpdGxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UhaW1wb3J0YW50O1xuICAgIH1cbn1cbi8qIEJ1cmdlciBtZW51ICovXG5saS5hdi1hY3RpdmUtYnVyZ2VyLWl0ZW1zID4gYSxcbi5hdi13aWR0aC1zdWJtZW51ID4gYSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudSA+IC5hdi13aWR0aC1zdWJtZW51ID4gLnN1Yi1tZW51ID4gbGkge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG4vLyBob29ndGUgdmFuIG1vZGFscyBhYW5wYXNzZW5cbi5wcm9kdWN0LXRlbXBsYXRlLWRlZmF1bHQgaWZyYW1lLm1mcC1pZnJhbWUsXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50LFxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmh0bWxfc3RyZXRjaGVkICN3cmFwX2FsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4jdG9wIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAuc2VjdGlvbi5mcC1zZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlciAhaW1wb3J0YW50XG4gICAgfVxufVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1pbnNwaXJhdGllLXNpbmdsZSAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogOTVweDtcbn1cblxuLmljb25ib3hfY29udGVudF9jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBweCA1JTtcbn1cblxuLnRleHRfc2VjdGlvbiB7XG4gICAgbWFyZ2luOiA1MHB4IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgbWF4LXdpZHRoOiAxMzEwcHg7XG59XG5cbiN0b3AgLmF2X2hlYWRlcl9zY3JvbGxkb3duLmF2X2hlYWRlcl90cmFuc3BhcmVuY3kge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4jYXZpYTItbWVudSBsaSBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbiNhdmlhLW1lbnUgbGkgYSB7XG4gICAgbGluZS1oZWlnaHQ6IDk1cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDk1cHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbiNhdmlhLW1lbnUgbGkgLnN1Yi1tZW51IGEge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXJfbWFpbiBzcGFuLmJnLWxvZ28ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuI2hlYWRlcl9tYWluIHtcbiAgICBoZWlnaHQ6IDk1cHg7XG59XG5cbiNoZWFkZXIyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYXYtbG9nby1jb250YWluZXIge1xuICAgIGhlaWdodDogOTVweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiA5NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5odG1sX2hlYWRlcl90b3AuaHRtbF9oZWFkZXJfdG9wYmFyX2FjdGl2ZS5odG1sX2hlYWRlcl9zdGlja3kuaHRtbF9sYXJnZSAjdG9wICNtYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMTI0cHg7XG59XG5cbi5jb3B5cmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNvcHlyaWdodC1yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbiNmb290ZXIge1xuICAgIHBhZGRpbmc6ICRub3JtYWwtcGFkZGluZyAwcHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBwYWRkaW5nOiAkc21hbGwtcGFkZGluZztcbiAgICAgICAgbWFyZ2luOiAwcHg7XG5cbiAgICAgICAgLmZsZXhfY29sdW1uLFxuICAgICAgICAud2lkZ2V0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZ2V0dGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbiNzY3JvbGwtdG9wLWxpbmsge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuI3NvY2tldCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gICAgI3RvcCAudGl0bGVfY29udGFpbmVyIC5jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgIH1cbn1cblxuLm1lcmstdGVtcGxhdGUtZGVmYXVsdCAuYXZpYS1wb3N0LW5hdiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG59XG4uZ2Zvcm1fd3JhcHBlciAudGV4dGFyZWEge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiN0b3AuYXZpYS1ibGFuayAjd3JhcF9hbGwgI21haW4uYWxsX2NvbG9ycyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5tb3JlX3Byb2R1Y3RzX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5tb3JlX3Byb2R1Y3RzIHtcblxufVxuXG5ib2R5LmFyY2hpdmUudGF4LXByb2R1Y3RfY2F0IHtcbiAgICB1bC5wcm9kdWN0cyB7XG4gICAgICAgIGxpLnByb2R1Y3Qge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDIwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGgyLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlXHR7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDB2dyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxOXB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2dyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IDEuOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDZcbntcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGh5cGhlbnM6IGF1dG87XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07ICAgICAgIC8qd29yZC1icmVhazogYnJlYWstYWxsOyovXG4gICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC8vIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgLy8gcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG59XG5cbiN0b3Auc2luZ2xlLXByb2R1Y3QgLmF2LXByb2R1Y3QtY2xhc3MtbWluaW1hbC1vdmVybGF5IGltZyB7XG5cbiAgICBoZWlnaHQ6IDI1dncgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAyNXZ3ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiBpbmhlcml0O1xuICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuXG59XG5cbiN0b3Auc2luZ2xlLXByb2R1Y3QgLnRodW1ibmFpbF9jb250YWluZXIgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCUhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB0b3A6IGluaGVyaXQ7XG4gICAgbGVmdDogaW5oZXJpdDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbnNlY3Rpb24ucmVsYXRlZCAuaW5uZXJfcHJvZHVjdCBhICB7XG4gICAgaGVpZ2h0OiAxMDB2dyFpbXBvcnRhbnQ7XG59XG5cbiN0b3AgZGl2IC5hdmlhLWdhbGxlcnkgaW1nXG57XG4gICAgYm9yZGVyLXdpZHRoOiAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLmF2aWFfYWpheF9mb3JtIC5idXR0b24ge1xuICAgIG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uYXYtaW5uZXItbWFzb25yeSBoMiB7XG4gICAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyOTJweCkge1xuICAgIGgyIHtcbiAgICAgICAgLy8gZm9udC1zaXplOiAyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICB9XG59XG4uc29jaWFsLWJ1dHRvbnMgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxucCB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4jZnAtbmF2IHVsIGxpIGEgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogJHNjYXJsZXQgIWltcG9ydGFudDtcbn1cblxuLmh0bWxfaGVhZGVyX3RvcC5odG1sX2hlYWRlcl9zdGlja3kuaHRtbF9sYXJnZSAjbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IGluaGVyaXQ7XG59XG5cbiN0b3AgI2hlYWRlciAubWVnYV9tZW51X3RpdGxlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuI3RvcCAjaGVhZGVyIC5hdmlhX21lZ2FfZGl2Pi5zdWItbWVudT5saT51bD5saSBhIHtcbiAgICBsaW5lLWhlaWdodDogMTlweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4uYXZpYV9tZWdhX2RpdiAuYXZpYS1idWxsZXQge1xuICAgIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnN1Yl9tZW51IHVsIGxpIGEge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleF9jb2x1bW4gLndpZGdldCAud2lkZ2V0dGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbmZvcm0uY2FydCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG5odG1sLFxuYm9keSxcbmEsXG51bCxcbmxpLFxucCB7XG4gICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxudGFibGUgdGgsIHRhYmxlIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYnRuLWRlZmF1bHQge1xuICAgIGNvbG9yOiAkc2NhcmxldCAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzY2FybGV0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogNXB4IDE1cHggNXB4IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJ0bi1kZWZhdWx0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2NhcmxldDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG5wIGE6bm90KC5idG4tZGVmYXVsdCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc2NhcmxldCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmhpZGUtZWxlbWVudCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4zM3MsIG9wYWNpdHkgMC4zM3MgbGluZWFyO1xufVxuXG4uc2hvdy1lbGVtZW50IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG5cbi53aWRnZXRfdGFiX2NvbW1lbnRzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYWluX2NvbG9yIGE6aG92ZXIge1xuICAgIGNvbG9yOiBibGFjaztcbn1cblxuLmdyaWQtZW50cnktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGRpdiAuYXZfb25lX3RoaXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xuICAgIH1cbn1cblxuLmJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qbWFyZ2luOiAxMHB4OyovXG59XG5cbi5icmVhZGNydW1iLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5icmVhZGNydW1iIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYnJlYWRjcnVtYiAuc2VwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cblxuLy8gLmF2aWFfdGV4dGJsb2NrIGgyIHtcbiAgICAvLyAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgLy8gICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAvLyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMCkge1xuICAgIC5mb290ZXJfY29sb3IgaW5wdXRbdHlwZT0nc3VibWl0J10sXG4gICAgZGl2IC5mb290ZXJfY29sb3IgLmJ1dHRvbixcbiAgICAuYnRuIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDBweCA1cHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mb290ZXJfY29sb3IgLmZvcm1fZWxlbWVudCBwe1xuICAgICAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcDpub3QoLmZvb3Rlcl9jb2xvciAuZm9ybV9lbGVtZW50IHApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICAubWFpbi10aXRsZS5lbnRyeS10aXRsZSwgLmJyZWFkY3J1bWIuYnJlYWRjcnVtYnMuYXZpYS1icmVhZGNydW1icyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG5cbiAgICAubWFpbi10aXRsZS5lbnRyeS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICNtYWluIC50aXRsZV9jb250YWluZXIgLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICAvLyAubGFuZGluZ3BhZ2UtaW50cm8ge1xuICAgIC8vICAgICBoMyB7XG4gICAgLy8gICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAvLyAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbn1cblxuLmFsaWduLWJ1dHRvbiB7XG4gICAgLmJ0bi1kZWZhdWx0IHtcblxuICAgIH1cbn1cblxuaDYge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDAgIWltcG9ydGFudDtcbn1cblxuYm9keS5lcnJvcjQwNCBtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAxODBweCAhaW1wb3J0YW50O1xufVxuXG4uYmFja190b19uZXdzIHtcbiAgIHdpZHRoOiA4MDBweDtcbiAgIG1hcmdpbjogMCBhdXRvO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgI3RvcCAuc2Nyb2xsLWRvd24tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZmFxX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbn1cblxuLmZhcV9pbmZvIHtcbiAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xufVxuIiwiI3RvcCAuYXYtc2hhcmUtYm94IHVsIHsgXG4gICAgd2lkdGg6IDEwMCU7XG59IiwiI3RvcCAuYXZfaGVhZGVyX3RyYW5zcGFyZW5jeSAjaGVhZGVyX21ldGEge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbiN0b3AgLnNjcm9sbC1kb3duLWxpbmsge1xuICAgIGxlZnQ6IGNhbGMoNTAlICsgOXB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTtcbiAgICBhbmltYXRpb246IG5vbmU7XG59XG5cbi5zY3JvbGwtZG93bi1saW5rOjpiZWZvcmUge1xuICAgIHdpZHRoOiAzM3B4O1xufVxuXG4uZm9vdGVyX2NvbG9yIGlucHV0W3R5cGU9J3N1Ym1pdCddLFxuZGl2IC5mb290ZXJfY29sb3IgLmJ1dHRvbiwgXG4uYnRuXG57XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDVweCAxMXB4IDVweCAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzY2FybGV0ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNjYXJsZXQgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOndoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY2FybGV0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIiNmdWxsc2NyZWVuX3NsaWRlcl8xIC5zbGlkZXNob3dfYWxpZ25fY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMjBweCAwIDAgMDtcbn1cblxuI2Z1bGxzY3JlZW5fc2xpZGVyXzEgaDIge1xuICAgIGZvbnQtc2l6ZTogMjUwJTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDAgIWltcG9ydGFudDtcbn1cblxuI2Z1bGxzY3JlZW5fc2xpZGVyXzEgcCB7XG4gICAgZm9udC1zaXplOiAxNTAlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG59XG5cbi5zbGljay1zbGlkZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiLmZyb250cGFnZS1jYXRzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZyb250cGFnZS1jYXRzIC5zbGljay1zbGlkZSB7XG4gICAgYmFja2dyb3VuZDogJGNvcmR1cm95O1xufVxuXG4uZnJvbnRwYWdlLWNhdHMgLnNsaWNrLXNsaWRlIGltZyB7XG4gICBoZWlnaHQ6MTAwJSAhaW1wb3J0YW50O1xufVxuXG4uZnJvbnRwYWdlLWNhdHMgYSBkaXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjArMCwwLjY1KzEwMCAqL1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4wKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjE5KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC44NykgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNhNjAwMDAwMCcsIEdyYWRpZW50VHlwZT0wKTtcbiAgICAvKiBJRTYtOSAqL1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgcGFkZGluZzogMjAwcHggMCAzMHB4IDA7XG4gICAgbWFyZ2luOiAtMjY1cHggMCAwIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mcm9udHBhZ2UtY2F0cyBhIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmZyb250cGFnZS1jYXRzIGE6aG92ZXIgaW1nIHtcbiAgICBvcGFjaXR5OiAwLjc1O1xufVxuXG4uZnJvbnRwYWdlLWNhdHMgYSBkaXYgaDMge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbjogMCAyNSU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBPbiBzY3JlZW5zIHRoYXQgYXJlIDk5MnB4IG9yIGxlc3MsIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBibHVlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjkycHgpIHtcbiAgICAuZnJvbnRwYWdlLWNhdHMgYSBkaXYgaDMge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtYXJnaW46IDAgMjAlO1xuICAgIH1cbn1cblxuLyogT24gc2NyZWVucyB0aGF0IGFyZSA5OTJweCBvciBsZXNzLCBzZXQgdGhlIGJhY2tncm91bmQgY29sb3IgdG8gYmx1ZSAqL1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5mcm9udHBhZ2UtY2F0cyBhIGRpdiBoMyB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIG1hcmdpbjogMCAxNSU7XG4gICAgfVxufVxuXG4uZnJvbnRwYWdlLWNhdHMgLnNsaWNrLXNsaWRlIHtcbiAgICBoZWlnaHQ6IDI1dncgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgLmZyb250cGFnZS1jYXRzIC5zbGljay1zbGlkZSB7XG4gICAgICAgIGhlaWdodDogMzN2dyAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZnJvbnRwYWdlLWNhdHMgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiA1MHZ3ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmZyb250cGFnZS1jYXRzIC5zbGljay1zbGlkZSB7XG4gICAgICAgIGhlaWdodDogMTAwdncgIWltcG9ydGFudDtcbiAgICB9XG5cbn1cblxuXG5cbi5mcm9udHBhZ2UtY2F0cyBzcGFuLmltYWdlLW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iLCIuZnJvbnRwYWdlLXRleHQge1xuXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG5cdFx0cGFkZGluZzogJG5vcm1hbC1wYWRkaW5nO1xuXHR9XG5cblxuXHRoMiB7XG5cdFx0Zm9udC13ZWlnaHQ6IDIwMDtcblx0fVxuXG5cdGgzIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDEwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDIwMDtcblx0fVxuXG5cdHAge1xuXHRcdC8vIHBhZGRpbmc6IDAgMCAwIDBweDtcblx0fVxuXG5cdC5idG4tZGVmYXVsdCB7XG5cdFx0bWFyZ2luOiAxNXB4IDAgMCAwO1xuXHR9XG5cbn1cblxuLmZyb250cGFnZS10ZXh0LWltYWdlIGltZyB7XG5cdG1heC13aWR0aDogMjAwcHg7XG5cdG1hcmdpbjogLTMwcHggMCAwIDA7XG59XG5cbi5ob21lIGgxIHtcblx0Zm9udC1zaXplOiAxLjVlbSAhaW1wb3J0YW50O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59IiwiXG4ucG9ydGZvbGlvLWJsb2NrcyB7XG4gICAgYmFja2dyb3VuZDogJGNvcmR1cm95ICFpbXBvcnRhbnQ7XG59XG5cbi5mcm9udHBhZ2UtcG9ydGZvbGlvLWxpbmsge1xuICAgIGJhY2tncm91bmQ6ICRjb3JkdXJveTtcbn1cblxuLmZyb250cGFnZS1wb3J0Zm9saW8tbGluayBoMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwcHg7XG59XG5cbi5mcm9udHBhZ2UtcG9ydGZvbGlvLWxpbmsgaDIgYSB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLnBvcnRmb2xpby1ibG9ja3MgLmlubmVyLWVudHJ5OmhvdmVyIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cbiAgICAucG9ydGZvbGlvLWJsb2NrcyAudGV4dC1jb2x1bW4uZ3JpZC1lbnRyeS5maXJzdCB7XG4gICAgICAgIC8vIEJ1aXRlbnN0ZSBkaXZcbiAgICAgICAgbWFyZ2luLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIFxuICAgIH1cbiAgICAucG9ydGZvbGlvLWJsb2NrcyBkaXYgLmZyb250cGFnZS1wb3J0Zm9saW8tbGlua3tcbiAgICAgICAgLy8gZGl2IG1ldCB0ZWtzdCBlciBpblxuICAgICAgICBoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICAucG9ydGZvbGlvLWJsb2NrcyBkaXYgLmZyb250cGFnZS1wb3J0Zm9saW8tbGluayBoMntcbiAgICAgICAgLy8gdGVrc3RcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAucmVzcG9uc2l2ZSAjdG9wICN3cmFwX2FsbCAuYXYtZmxleC1jZWxscyAubm9fbWFyZ2luIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwJSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yZXNwb25zaXZlICN0b3AgLmdyaWQtbG9vcC04IHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAucG9ydGZvbGlvLWJsb2NrcyAudGV4dC1jb2x1bW4uZ3JpZC1lbnRyeS5maXJzdCB7XG4gICAgICAgIC8vIEJ1aXRlbnN0ZSBkaXZcbiAgICAgICAgbWFyZ2luLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIFxuICAgIH1cbiAgICAucG9ydGZvbGlvLWJsb2NrcyBkaXYgLmZyb250cGFnZS1wb3J0Zm9saW8tbGlua3tcbiAgICAgICAgLy8gZGl2IG1ldCB0ZWtzdCBlciBpblxuICAgICAgICBoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICAucG9ydGZvbGlvLWJsb2NrcyBkaXYgLmZyb250cGFnZS1wb3J0Zm9saW8tbGluayBoMntcbiAgICAgICAgLy8gdGVrc3RcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAucmVzcG9uc2l2ZSAjdG9wICN3cmFwX2FsbCAuYXYtZmxleC1jZWxscyAubm9fbWFyZ2luIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwJSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yZXNwb25zaXZlICN0b3AgLmdyaWQtbG9vcC04IHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ob21lIC5wb3J0Zm9saW8tYmxvY2tzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmU2ZCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ob21lIC5wb3J0Zm9saW8tYmxvY2tzIC5ncmlkLWVudHJ5IHtcbiAgICAgICAgd2lkdGg6IDUwdncgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA1MHZ3ICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi5mcm9udHBhZ2UtY29udGFjdCB7XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZCB7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgLmZyb250cGFnZS1jb250YWN0IC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwcHggMTQlIDBweCAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweCAyMHB4IDMwcHg7XG4gICAgfVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAudGV4dGFyZWEge1xuICAgIGhlaWdodDogOTBweDtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDAgIWltcG9ydGFudDtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2NhcmxldDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkc2NhcmxldDtcbiAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMTVweDtcbiAgICBtYXJnaW46IDE1cHggMCAwIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRzY2FybGV0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZyb250cGFnZS1jb250YWN0IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZyb250cGFnZS1jb250YWN0IGgyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuXG4gICAgLmZyb250cGFnZS1jb250YWN0IHtcbiAgICAgICAgcGFkZGluZzogJG5vcm1hbC1wYWRkaW5nO1xuXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDBweCAwcHggMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5wb3J0Zm9saW8tYmxvY2tzIC5ncmlkLWNvbnRlbnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBvcnRmb2xpby1ibG9ja3MgLmlubmVyLWVudHJ5IGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLnBvcnRmb2xpby1ibG9ja3MgLmlubmVyLWVudHJ5OmhvdmVyIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4ucG9ydGZvbGlvLWJsb2NrcyAuaW5uZXItZW50cnkgLmltYWdlLW92ZXJsYXkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnBvcnRmb2xpby1ibG9ja3MgLmdyaWQtY29udGVudCBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn0iLCIub3BlbmluZ3N0aWpkZW4gPiBwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAvLyBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHggIWltcG9ydGFudDtcbiAgICBzcGFuIHtcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5vcGVuaW5nc3RpamRlbiA+IHNwYW4gPiBwIHtcbiAgICAvLyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgLm9wZW5pbmdzdGlqZGVuID4gcCB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIGFuZCAobWF4LXdpZHRoOiA3ODBweCkge1xuICAgIC5vcGVuaW5nc3RpamRlbiA+IHAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAub3BlbmluZ3N0aWpkZW4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIC5vcGVuaW5nc3RpamRlbiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbi5vcGVuaW5nc3RpamRlbiA+IHAgc3BhbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn0iLCIuYXYtaW5uZXItbWFzb25yeSBoMiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDBweCAyMCU7XG59XG5cbi5hdi1pbm5lci1tYXNvbnJ5IGgzIHtcbiAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi5hdi1tYXNvbnJ5LWRhdGUge1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cblxuLmF2aWFfZGVza3RvcCAuYXYtbWFzb25yeS1lbnRyeTpob3ZlciAuYXYtbWFzb25yeS1pbWFnZS1jb250YWluZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5hdi1tYXNvbnJ5LWltYWdlLWNvbnRhaW5lciBkaXYgaDIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZVxufVxuXG4uYXYtbWFzb25yeS1pbWFnZS1jb250YWluZXIgZGl2IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYXZpYV9kZXNrdG9wIC5hdi1ob3Zlci1vdmVybGF5LWFjdGl2ZSAuYXYtbWFzb25yeS1pbWFnZS1jb250YWluZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5hdi1tYXNvbnJ5LW91dGVyaW1hZ2UtY29udGFpbmVyOmFmdGVyIHtcbiAgICBjb250ZW50OicnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTowO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjArMCwwLjY1KzEwMCAqL1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4wKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjE5KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC44NykgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNhNjAwMDAwMCcsIEdyYWRpZW50VHlwZT0wKTtcbiAgICAvKiBJRTYtOSAqL1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgaGVpZ2h0OiA1MCU7XG59XG5cbiAgIC8qIEhPTUUgUE9TVCBTTElERVIgLyBORVdTICovXG4gICAgLmhvbWUgLnNsaWRlLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgfVxuICAgIC5ob21lIC5zbGlkZS1lbnRyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjZzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgfVxuICAgIC5ob21lIC5zbGlkZS1lbnRyeTpob3ZlciB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjM3KTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDE1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDE1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDEsIDEuMDEpO1xuICAgIH1cbiAgICAuaG9tZSAuc2xpZGUtaW1hZ2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICAuaG9tZSAuZW50cnktZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuaG9tZSAuaHRtbF9tb2Rlcm4tYmxvZyAuYXZpYS1jb250ZW50LXNsaWRlciAuc2xpZGUtbWV0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaHRtbF9tb2Rlcm4tYmxvZyAuYXZpYS1jb250ZW50LXNsaWRlciAuc2xpZGUtbWV0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgfVxuICAgIC5hdmlhLWNvbnRlbnQtc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ob21lIC5hdmlhLWNvbnRlbnQtc2xpZGVyIC5zbGlkZS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhvbWUgLmJsb2ctY2F0ZWdvcmllcyxcbiAgICAuaG9tZSAuc2xpZGUtZW50cnktZXhjZXJwdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmh0bWxfbW9kZXJuLWJsb2cgLmF2aWEtY29udGVudC1zbGlkZXIgLnNsaWRlLWVudHJ5LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgLmhvbWUgLmF2aWEtY29udGVudC1zbGlkZXIgLnBhZ2luYXRpb24td3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5ob21lIC5hdmlhLWNvbnRlbnQtc2xpZGVyIC5zbGlkZS1lbnRyeS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgLyogRU5EIFBPU1QgU0xJREVSIC8gTkVXUyAqLyIsIi52MV9iYW5uZXIge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA1MHZ3O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4udjFfdGVhbSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6ICRub3JtYWwtcGFkZGluZyAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0bGkge1xuXHRcdHdpZHRoOiBjYWxjKDEwMHZ3IC8gNCk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMHZ3IC8gNCk7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6ICRsYXJnZS1wYWRkaW5nIDAgJGxhcmdlLXBhZGRpbmcgMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0LW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0fVxuXG5cdFx0aDMge1xuXHRcdFx0bWFyZ2luOiA1cHggMCAtNXB4IDA7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdH1cblxuXHRcdHNtYWxsIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0fVxuXHR9XG59XG5cbi52MV9sb2dvcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW46IDA7XG5cdGhlaWdodDogY2FsYygxMDB2dyAvIDQpO1xuXHRiYWNrZ3JvdW5kOiAjREVERkRFO1xuXHRwYWRkaW5nOiAkbm9ybWFsLXBhZGRpbmcgMDtcblxuXHRsaSB7XG5cdFx0d2lkdGg6IGNhbGMoMTAwdncgLyA0KTtcblx0XHRtYXJnaW46IDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG5cdFx0XHRoZWlnaHQ6IDI1dnc7XG5cdFx0XHRwYWRkaW5nLXRvcDogY2FsYygyNXZ3IC8gMiAtIDQwcHgpXG5cdFx0fVxuXG5cdH1cbn1cblxuLnRleHQtYmxvY2sge1xuXHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6ICRsYXJnZS1wYWRkaW5nIDA7XG5cdG1pbi1oZWlnaHQ6IGNhbGMoMTAwdncgLyA0KTtcblxuXHQudGV4dC1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAkbGFyZ2UtcGFkZGluZyAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwMHB4O1xuXHRcdGNvbG9yOiAjMDAwMDAwO1xuXHRcdG1hcmdpbjogYXV0bztcblx0fVxufVxuXG4udjEtcmVjZW50cG9zdCB7XG5cdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdGZsb2F0OiBsZWZ0O1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXG5cdGxpLnYxLXNxdWFyZSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDI1JTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YmFja2dyb3VuZDogIzAwMDAwMDtcblx0fVxufVxuXG5cbi52MS1zcXVhcmU6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi52MS1yZWNlbnRwb3N0IGxpLnYxLXNxdWFyZSAudjEtc3F1YXJlLWJhY2tncm91bmQge1xuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udjEtcmVjZW50cG9zdCBsaS52MS1zcXVhcmU6aG92ZXIgLnYxLXNxdWFyZS1iYWNrZ3JvdW5kIHtcblx0b3BhY2l0eTogMC43NTtcbn1cblxuLnYxLXNxdWFyZS1jb250ZW50IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRsZWZ0OiAwcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnYxLXJlY2VudHBvc3QgbGkgLnYxLXNxdWFyZS1jb250ZW50IGgyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuXHRjb2xvcjogI2ZmZmZmZjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAzNSUgMCAwIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi52MS1yZWNlbnRwb3N0IGxpIGg0IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiA4MCUgMTVweCAwIDE1cHg7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjArMCwwLjY1KzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4wKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjE5KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC44NykgMTAwJSk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNhNjAwMDAwMCcsIEdyYWRpZW50VHlwZT0wKTtcblx0LyogSUU2LTkgKi9cblx0dHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLnYxLXJlY2VudHBvc3QgbGkgYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn0iLCJib2R5LnRheC1wcm9kdWN0X2NhdCAjYXZfcHJvZHVjdF9kZXNjcmlwdGlvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4ucHJvZHVjdHMgLnByb2R1Y3QtY2F0ZWdvcnkgYSBpbWcge1xuXHRoZWlnaHQ6IDI1dnchaW1wb3J0YW50O1xuXHR3aWR0aDogMjV2dyFpbXBvcnRhbnQ7XG59XG5ib2R5LnRheC1wcm9kdWN0X2NhdCAuYXYtc2VjdGlvbi1jb2xvci1vdmVybGF5LXdyYXAge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAuYnJlYWRjcnVtYiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5zdHJldGNoX2Z1bGwge1xuXHRiYWNrZ3JvdW5kOiAjMjYyNjI2O1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5zdHJldGNoX2Z1bGwgaDEge1xuXHRjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAudGVtcGxhdGUtc2hvcCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC50ZW1wbGF0ZS1zaG9wIC5jb250YWluZXIge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC50ZW1wbGF0ZS1zaG9wIC5jb250YWluZXIgLnByb2R1Y3Qtc29ydGluZyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5wcm9kdWN0cyB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuYm9keS5wcm9kdWN0cy1jb2x1bW5zIC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHR3aWR0aDogMjUlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcblx0Ym9keS5wcm9kdWN0cy1jb2x1bW5zIC5jb250YWluZXJfd3JhcF9maXJzdCAucHJvZHVjdCxcblx0Ym9keS5wcm9kdWN0cy1jb2x1bW5zIC5wcm9kdWN0LWNhdGVnb3J5LFxuXHRib2R5LnByb2R1Y3RzLWNvbHVtbnMgLmlubmVyX3Byb2R1Y3QsXG5cdGJvZHkucHJvZHVjdHMtY29sdW1ucyAuaW5uZXJfcHJvZHVjdCBhLFxuXHRib2R5LnByb2R1Y3RzLWNvbHVtbnMgLmlubmVyX3Byb2R1Y3QgYSBpbWcge1xuXHRcdGhlaWdodDogJHByb2R1Y3QtY29sdW1uLWFtb3VudCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblx0Ym9keS5wcm9kdWN0cy1jb2x1bW5zIC5jb250YWluZXJfd3JhcF9maXJzdCAucHJvZHVjdCB7XG5cdFx0aGVpZ2h0OiA1MHZ3ICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuYm9keS5wcm9kdWN0cy1jb2x1bW5zIC5pbm5lcl9wcm9kdWN0IGEgaW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcblx0Ym9keS5wcm9kdWN0cy1jb2x1bW5zIC5jb250YWluZXJfd3JhcF9maXJzdCAucHJvZHVjdCxcblx0Ym9keS5wcm9kdWN0cy1jb2x1bW5zIC5wcm9kdWN0LWNhdGVnb3J5LFxuXHRib2R5LnByb2R1Y3RzLWNvbHVtbnMgLmlubmVyX3Byb2R1Y3QsXG5cdGJvZHkucHJvZHVjdHMtY29sdW1ucyAuaW5uZXJfcHJvZHVjdCBhLFxuXHRib2R5LnByb2R1Y3RzLWNvbHVtbnMgLmlubmVyX3Byb2R1Y3QgYSBpbWcge1xuXHRcdGhlaWdodDogMTAwdncgIWltcG9ydGFudDtcblx0fVxufVxuXG4ucHJvZHVjdC1jYXRlZ29yeTpmaXJzdC1jaGlsZCBkaXYgaDIge1xuXHRmb250LXNpemU6MzBweCAhaW1wb3J0YW50O1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAucHJvZHVjdHMgbGkucHJvZHVjdCAuYXYtcHJvZHVjdC1jbGFzcy1taW5pbWFsLW92ZXJsYXkge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuYm9keS50YXgtcHJvZHVjdF9jYXQgLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmF2LXByb2R1Y3QtY2xhc3MtbWluaW1hbC1vdmVybGF5IC52b2x0X3Bvc3RlZF9pbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5hdi1wcm9kdWN0LWNsYXNzLW1pbmltYWwtb3ZlcmxheSAudm9sdF9wcm9kdWN0X2V4Y2VycHQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAucHJvZHVjdHMgbGkucHJvZHVjdCAuYXYtcHJvZHVjdC1jbGFzcy1taW5pbWFsLW92ZXJsYXkgLnZvbHRfcHJvZHVjdF9idXR0b24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAucHJvZHVjdHMgbGkucHJvZHVjdCAuY2FydC1sb2FkaW5nIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAucHJvZHVjdHMgbGkucHJvZHVjdCAuaW5uZXJfcHJvZHVjdF9oZWFkZXJfY2VsbCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwcHggMCAwIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC4xOSkgNDAlLCByZ2JhKDAsIDAsIDAsIDAuODcpIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4wKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjE5KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC44NykgMTAwJSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4wKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjE5KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC44NykgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjYTYwMDAwMDAnLCBHcmFkaWVudFR5cGU9MCk7XG5cdC8qIElFNi05ICovXG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5pbm5lcl9wcm9kdWN0X2hlYWRlcl9jZWxsIGgyIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDE1MHB4IDAgMCAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuYm9keS50YXgtcHJvZHVjdF9jYXQgLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnRodW1ibmFpbF9jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAucHJvZHVjdHMgbGkucHJvZHVjdDpob3ZlciAudGh1bWJuYWlsX2NvbnRhaW5lciBpbWcge1xuXHQvL1x0b3BhY2l0eTogMC43NTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAucGFnaW5hdGlvbiB7XG5cdGRpc3BsYXk6ZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5wYWdpbmF0aW9uIHNwYW4uY3VycmVudCB7XG5cdGJhY2tncm91bmQ6ICM0RDRENEQ7XG5cdGNvbG9yOiAjZmZmZmZmO1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAucGFnaW5hdGlvbiBhIHtcblx0YmFja2dyb3VuZDogIzRENEQ0RDtcblx0Y29sb3I6ICNmZmZmZmY7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5hdl9vbmVfZnVsbG0sXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAuYXYtemVyby1jb2x1bW4tcGFkZGluZyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0ICNmb290ZXIge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uYnV0dG9ubGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbiN0b3AgLnRlbXBsYXRlLXNob3AgLmNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwcHg7XG59XG5cbi5wcm9kdWN0LXNvcnRpbmcge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubGFuZGluZ3BhZ2UtYmFubmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogY2FsYygxMDB2aCAtIDMzLjMzdncpO1xuXHRtYXgtaGVpZ2h0OiA3NXZoO1xuXHRtaW4taGVpZ2h0OiA1MHZoO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcdGhlaWdodDogMjB2aDtcblx0fVxufVxuXG4ubGFuZGluZ3BhZ2UtaW50cm8ge1xuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMTUwcHggMCAxNTBweCAwO1xufVxuXG4ubGFuZGluZ3BhZ2UtaW50cm8gLmNvbnRlbnQge1xuXHRtYXgtd2lkdGg6IDEwMDBweDtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogYXV0bztcblx0cGFkZGluZzogMDtcbn1cblxuLmxhbmRpbmdwYWdlLWludHJvIC5jb250ZW50IGgzIHtcblx0cGFkZGluZzogMCAxNXB4IDAgMTVweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDEwMDtcblx0Zm9udC1zaXplOiAyOHB4O1xufVxuXG4ubGFuZGluZ3BhZ2UtaW50cm8gLmNvbnRlbnQgcCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR3aWR0aDogNTAlO1xuXHRwYWRkaW5nOiAwIDE1cHggMCAxNXB4O1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcdHdpZHRoOiAxMDAlXG5cdH1cbn1cblxuXG5oMi53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSB7XG5cdGJvdHRvbTogMDtcblx0dG9wOiBhdXRvICFpbXBvcnRhbnQ7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDk5OTk7XG5cdGhlaWdodDogMzJweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAxNXB4O1xuXHR3aWR0aDogNzAlO1xuXHRtYXJnaW46IDBweCBhdXRvIDMwcHggYXV0byAhaW1wb3J0YW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXHRoMi53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSB7XG5cdFx0dG9wOiA0MHZ3ICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLy8gLnByb2R1Y3QtY2F0ZWdvcnk6aG92ZXIgaDIud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUge1xuLy8gXHRvcGFjaXR5OiAxO1xuLy8gfVxuXG5oMi53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSBtYXJrIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuaDIud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGU6YWZ0ZXIge1xuXHRjb250ZW50OiAnPic7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG5cdHBhZGRpbmctbGVmdDogNnB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5wcm9kdWN0cyAucHJvZHVjdCBoMiB7XG5cdHBhZGRpbmc6IDdweDtcbn1cblxuLnByb2R1Y3RzIC5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5wcm9kdWN0cyBsaS5wcm9kdWN0LWNhdGVnb3J5IHtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG5cdC1tb3otYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xufVxuLnByb2R1Y3RzIGxpLnByb2R1Y3QtY2F0ZWdvcnkgYSB7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ucHJvZHVjdHMgbGkucHJvZHVjdC1jYXRlZ29yeSBpbWcge1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHQtbW96LWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuXHQucmVzcG9uc2l2ZSAjdG9wICNtYWluIC5wcm9kdWN0cyAucHJvZHVjdCB7XG5cdFx0bWFyZ2luOiAwcHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXHQucmVzcG9uc2l2ZSAjdG9wICNtYWluIC5wcm9kdWN0cyAucHJvZHVjdCB7XG5cdFx0bWFyZ2luOiAwcHg7XG5cdH1cbn1cblxuLyogUFJPRFVDVCBJTUFHRVMgKi9cbi5zaW5nbGUtcHJvZHVjdCAudGVtcGxhdGUtc2hvcCB7XG5cdHBhZGRpbmctdG9wOiAwcHg7XG59XG5cbi5yZXNwb25zaXZlIC5zaW5nbGUtcHJvZHVjdCAuY29udGFpbmVyX3dyYXBfZmlyc3Q+LmNvbnRhaW5lciB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0cGFkZGluZzogMHB4O1xufVxuXG4uc2luZ2xlLXByb2R1Y3QtbWFpbi1pbWFnZSB7XG5cdGZsb2F0OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuXG4udGVtcGxhdGUtc2hvcCAuc2luZ2xlLXByb2R1Y3QtbWFpbi1pbWFnZSAuaW1hZ2VzIGEge1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDBweDtcbn1cblxuLnRlbXBsYXRlLXNob3AgLmltYWdlcyBhIHtcblx0cGFkZGluZzogMHB4O1xufVxuXG4uc2luZ2xlLXByb2R1Y3QtbWFpbi1pbWFnZSAudGh1bWJuYWlscyB7XG5cdG1hcmdpbi10b3A6IC0yMDBweDtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiN0b3AgLnNpbmdsZS1wcm9kdWN0LW1haW4taW1hZ2UgLnRodW1ibmFpbHMgYSB7XG5cdHdpZHRoOiAxNTBweDtcblx0cGFkZGluZzogMHB4O1xufVxuXG5kaXYucHJvZHVjdCBkaXYuaW1hZ2VzIGRpdi50aHVtYm5haWxzIGEge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogRU5EIFBST0RVQ1QgSU1BR0VTICovXG5cblxuLyogUFJPRFVDVFMgKi9cbi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bWluLWhlaWdodDogNGVtO1xufVxuXG4uaG9tZSAudm9sdF9wb3N0ZWRfaW4sXG4uaG9tZSAudm9sdF9wcm9kdWN0X2V4Y2VycHQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udm9sdF9wb3N0ZWRfaW4ge1xuXHRwYWRkaW5nOiAwcHggMTBweDtcblx0Zm9udC1zaXplOiAuOGVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRtaW4taGVpZ2h0OiA0LjVlbTtcbn1cblxuLyogc3R5bGVzIGZvciAnLi4uJyAqL1xuLnZvbHRfcHJvZHVjdF9leGNlcnB0IHtcblx0cGFkZGluZzogMHB4IDEwcHggMTBweCAxMHB4O1xuXHRmb250LXNpemU6IC44ZW07XG5cdC8qIGhpZGUgdGV4dCBpZiBpdCBtb3JlIHRoYW4gTiBsaW5lcyAgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0LyogZm9yIHNldCAnLi4uJyBpbiBhYnNvbHV0ZSBwb3NpdGlvbiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8qIHVzZSB0aGlzIHZhbHVlIHRvIGNvdW50IGJsb2NrIGhlaWdodCAqL1xuXHRsaW5lLWhlaWdodDogMS44ZW07XG5cdC8qIG1heC1oZWlnaHQgPSBsaW5lLWhlaWdodCAoMS4yKSAqIGxpbmVzIG1heCBudW1iZXIgKDMpICovXG5cdG1heC1oZWlnaHQ6IDcuMmVtO1xuXHRtaW4taGVpZ2h0OiA0LjVlbTtcbn1cblxuLnZvbHRfcHJvZHVjdF9idXR0b24gLmJ1dHRvbiB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMTBweCAwcHggMTBweCAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNhM2ExYTUgIWltcG9ydGFudDtcblx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbn1cblxuLmJsb2NrIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cblxuXG4vKiBNT09EQk9BUkQgKi9cbiN0b3AgLmF2LXByb2R1Y3QtY2xhc3MtbWluaW1hbC1vdmVybGF5IHNwYW4ge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNmMmVlZWQ7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XG5cdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbiN0b3AgLmF2LXByb2R1Y3QtY2xhc3MtbWluaW1hbC1vdmVybGF5OmhvdmVyIHNwYW4ge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCkgIWltcG9ydGFudDtcblx0bWFyZ2luOiAwcHggMTBweCAxMHB4IDEwcHg7XG59XG5cbi50aW52d2xfYWRkX3RvX3dpc2hsaXN0X2J1dHRvbiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3RvcCAuYXYtcHJvZHVjdC1jbGFzcy1taW5pbWFsLW92ZXJsYXk6aG92ZXIgLnZvbHRfcHJvZHVjdF9idXR0b24gLmJ1dHRvbiB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDEwcHg7XG59XG5cbi52b2x0X3Byb2R1Y3RfYnV0dG9uIC5idXR0b246aG92ZXIsXG4jdG9wIC5hdi1wcm9kdWN0LWNsYXNzLW1pbmltYWwtb3ZlcmxheTpob3ZlciAuYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHNjYXJsZXQgIWltcG9ydGFudDtcbn1cblxuI3RvcCAuYXYtcHJvZHVjdC1jbGFzcy1taW5pbWFsLW92ZXJsYXkge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR3aWR0aDogMTAxJSAhaW1wb3J0YW50O1xufVxuXG5kaXYgLnByb2R1Y3RzIC5wcm9kdWN0IGEge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG5cbiN0b3AgI3dyYXBfYWxsIC5hdi1wcm9kdWN0LWNsYXNzLW1pbmltYWwtb3ZlcmxheSAuaW5uZXJfcHJvZHVjdF9oZWFkZXIge1xuXHRwYWRkaW5nOiAwcHggMTBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0cGFkZGluZzogMHB4O1xufVxuXG4jdG9wIC5hdi1wcm9kdWN0LWNsYXNzLW1pbmltYWwtb3ZlcmxheSAuaW5uZXJfcHJvZHVjdF9oZWFkZXJfY2VsbCB7XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cblxuaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG5cdHBhZGRpbmc6IDBweDtcbn1cblxuLm1haW5fY29sb3IgLmlubmVyX3Byb2R1Y3RfaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbiN0b3AgI3dyYXBfYWxsIC5hdi1wcm9kdWN0LWNsYXNzLW1pbmltYWwtb3ZlcmxheSBhOmhvdmVyIC5pbm5lcl9wcm9kdWN0X2hlYWRlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbiN0b3AgLmF2LXByb2R1Y3QtY2xhc3MtbWluaW1hbC1vdmVybGF5IGgyLFxuI3RvcCAuYXYtcHJvZHVjdC1jbGFzcy1taW5pbWFsLW92ZXJsYXkgc3BhbiB7XG5cdGNvbG9yOiBibGFjaztcblx0cGFkZGluZzogMTBweCAxMHB4IDEwcHggMTBweDtcbn1cblxuI3RvcCAuYXYtcHJvZHVjdC1jbGFzcy1taW5pbWFsLW92ZXJsYXkge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcblx0bWFyZ2luOiAwcHg7XG59XG5cbiN0b3AgLmF2LXByb2R1Y3QtY2xhc3MtbWluaW1hbC1vdmVybGF5OmhvdmVyIHtcblx0LyogLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDE1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMSwgMS4wMSk7ICovXG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIGhpZGUgc2hvcHBpbmdiYXNrZXQqL1xuLnF1YW50aXR5LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYXRlZ29yeS1jb2x1bW5zIC5zaG9wX2NvbHVtbnNfMyAucHJvZHVjdHMgLnByb2R1Y3QgaW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSB7XG5cdHRvcDogLTE4M3B4ICFpbXBvcnRhbnQ7XG5cdG1heC13aWR0aDogMzAwcHggIWltcG9ydGFudDtcblx0Ly8gcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDIwcHgpIHtcblx0dWwucHJvZHVjdHMgLnByb2R1Y3Qge1xuXHRcdHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogMTAwdncgIWltcG9ydGFudDtcblx0fVxufVxuXG4ucHJvZHVjdHMuY29sdW1ucy00OjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Y2xlYXI6IGJvdGg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNTBweCkge1xuXHQucHJvZHVjdHMgLnByb2R1Y3QgaDIsIC5wcm9kdWN0cyAucHJvZHVjdCBoMywgLnByb2R1Y3RzIC5wcm9kdWN0IGg0LFxuXHQucHJvZHVjdHMgLnByb2R1Y3QgaDUsIC5wcm9kdWN0cyAucHJvZHVjdCBoNiwgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZVxuXHQucHJvZHVjdHMgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlIGgyIHtcblx0XHQvLyBmb250LXNpemU6IDEwcHg7XG5cdFx0cGFkZGluZzogOXB4IDE1cHggOXB4IDlweDtcblx0fVxuXHRoMi53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZVx0e1xuXHRcdHRvcDogMjF2dyAhaW1wb3J0YW50O1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcblx0LnByb2R1Y3RzIC5wcm9kdWN0IGgyLCAucHJvZHVjdHMgLnByb2R1Y3QgaDMsIC5wcm9kdWN0cyAucHJvZHVjdCBoNCxcblx0LnByb2R1Y3RzIC5wcm9kdWN0IGg1LCAucHJvZHVjdHMgLnByb2R1Y3QgaDYsIGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGVcblx0LnByb2R1Y3RzIC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSBoMiB7XG5cdFx0Ly8gZm9udC1zaXplOiA4cHg7XG5cdFx0cGFkZGluZzogN3B4IDlweCAzcHggM3B4O1xuXHR9XG5cdGgyLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlXHR7XG5cdFx0dG9wOiAyMHZ3ICFpbXBvcnRhbnQ7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cdGgyLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlXHR7XG5cdFx0dG9wOiA4NXZ3ICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQucHJvZHVjdHMgLnByb2R1Y3QtY2F0ZWdvcnkgLmltYWdlLW92ZXJsYXktaW5zaWRlLFxuXHQucHJvZHVjdHMgLnByb2R1Y3QtY2F0ZWdvcnkgYSBpbWcge1xuXHRcdGhlaWdodDogMjV2dyFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDI1dnchaW1wb3J0YW50O1xuXHR9XG59XG5cbi5wcm9kdWN0cyAucHJvZHVjdCBhe1xuXHRkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG59XG5cbnVsLnByb2R1Y3RzLmNvbHVtbnMtNCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG59XG5cbi5wcm9kdWN0cyAucHJvZHVjdCBoMiB7XG5cdGZvbnQtc2l6ZTogMTNweCFpbXBvcnRhbnQ7XG5cdGZvbnQtd2VpZ2h0OiAzMDAhaW1wb3J0YW50O1xuXHRmb250LWZhbWlseTogUmFsZXdheSwgc2Fucy1zZXJpZiFpbXBvcnRhbnQ7XG59XG4vKiBFTkQgUFJPRFVDVFMgKi8iLCIucHJvZHVjdC10ZW1wbGF0ZS1kZWZhdWx0IHtcblxuXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkwcHgpIHtcblx0XHQuaW1hZ2UtZGVza3RvcCB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdH1cblx0XHQuaW1hZ2UteGwtZGVza3RvcCB7XG5cdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuXHRcdC5pbWFnZS1kZXNrdG9wIHtcblx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHR9XG5cdFx0LmltYWdlLXhsLWRlc2t0b3Age1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHR9XG5cdH1cblxuXHRpZnJhbWUubWZwLWlmcmFtZSB7XG5cdFx0aGVpZ2h0OiA1ODBweDtcblx0fVxuXHQuc3RyZXRjaF9mdWxsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0Lm1haW4tdGl0bGUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuYnJlYWRjcnVtYiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHR9XG5cblx0LmltYWdlLW92ZXJsYXksXG5cdC5pbWFnZS1vdmVybGF5LWluc2lkZSB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmF2aWEtcG9zdC1uYXYge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQubWFpbl9jb2xvciAud29vY29tbWVyY2UtdGFicyAudGFicyAuYWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxuXG5cdC5wcm9kdWN0X2NvbHVtbl8zIC5wcm9kdWN0cyAucHJvZHVjdCB7XG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG5cdFx0XHR3aWR0aDogKDEwMHZ3IC8gMykgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQuYXZpYS1nYWxsZXJ5IHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQjd3JhcF9hbGwgLmF2LXByb2R1Y3QtY2xhc3MtbWluaW1hbC1vdmVybGF5IC5pbm5lcl9wcm9kdWN0X2hlYWRlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLnNoYXJlLXByb2R1Y3Qge1xuXHRwYWRkaW5nOiAzdncgM3Z3O1xuXHRtYXJnaW46IDAgYXV0byAwIGF1dG87XG5cdG1heC13aWR0aDogODAwcHg7XG59XG5cbi5zaW5nbGUgLnByb2R1Y3RfY29sdW1uIHtcblx0bWFyZ2luOiAwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkwcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQjdG9wIC5wcm9kdWN0X2NvbHVtbl8zIC5wcm9kdWN0cyAucHJvZHVjdCB7XG5cdFx0d2lkdGg6ICgxMDB2dyAvIDMpICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXG5cdCN0b3AgLnByb2R1Y3RfY29sdW1uXzMgLnByb2R1Y3RzIC5wcm9kdWN0IHtcblx0XHR3aWR0aDogNTB2dyAhaW1wb3J0YW50O1xuXHR9XG5cblx0I3RvcCAucHJvZHVjdF9jb2x1bW5fMyAucHJvZHVjdHMgLnByb2R1Y3QuZmlyc3Qge1xuXHRcdHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogMTAwdncgIWltcG9ydGFudDtcblx0fVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkwcHgpIHtcblx0LnJlc3BvbnNpdmUgLnNpbmdsZS1wcm9kdWN0LW1haW4taW1hZ2Uge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMCAwcHggMCAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwcHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuXG5cdC50ZW1wbGF0ZS1zaG9wIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IHtcblxuXHRcdGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuXHRcdHotaW5kZXg6IDEwMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0bWF4LXdpZHRoOiA0MjBweCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiA0MjBweCAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogY2FsYyg4NXZoIC0gOTRweCk7XG5cdH1cblxufVxuXG4udGVtcGxhdGUtc2hvcCBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSB7XG5cdGJhY2tncm91bmQ6ICRjb3JkdXJveTtcblx0cGFkZGluZzogJG5vcm1hbC1wYWRkaW5nO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0aDEge1xuXHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkbm9ybWFsLXBhZGRpbmc7XG5cdH1cblxuXHQuY3VzdG9tLWNvbnRlbnQge1xuXHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdG1hcmdpbjogMCAwIDUwcHggMDtcblxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkwcHgpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5vZmZlci1jb250YWluZXIgLnRleHQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub2ZmZXItY29udGFpbmVyIHtcblx0XHRsZWZ0OiAzdnc7XG5cdFx0Ym90dG9tOiAzdnc7XG5cdFx0cmlnaHQ6IDN2dztcblxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkwcHgpIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGhlaWdodDogY2FsYyg0N3ZoIC0gMjU5cHgpO1xuXHRcdH1cblxuXHRcdC5idXR0b24ge1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRtaW4td2lkdGg6IDI1JTtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDBweDtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1ODhweCkge1xuXHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkwcHgpIHtcblx0XHRcdC5idXR0b24ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAydmg7XG5cdFx0XHRcdG1pbi13aWR0aDogNjAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkwcHgpIGFuZCAobWluLXdpZHRoOiA1ODhweCkge1xuXHRcdFx0LmJ1dHRvbmxpc3Qge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdFx0XHRkaXY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogJHNtYWxsLXBhZGRpbmc7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRkaXY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogJHNtYWxsLXBhZGRpbmc7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQ4JTtcblx0XHRcdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5idXR0b25saXN0IHtcblx0XHRcdHBhZGRpbmc6IDBweDtcblx0XHRcdG1hcmdpbjogMHB4IDBweCAwcHggMHB4XG5cdFx0fVxuXG5cblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG5cdFx0XHQuYnV0dG9ubGlzdCB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ym90dG9tOiAwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC53b29jb21tZXJjZS1wcm9kdWN0LWRldGFpbHNfX3Nob3J0LWRlc2NyaXB0aW9uLFxuXHQucHJvZHVjdF9tZXRhIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRpbnZ3bC1hZnRlci1hZGQtdG8tY2FydCB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0xNXB4O1xuXHRcdHJpZ2h0OiAxNXB4O1xuXHR9XG5cblx0LnRpbnZ3bF9hZGRfdG9fd2lzaGxpc3RfYnV0dG9uOmJlZm9yZSB7XG5cdFx0Zm9udC1zaXplOiAzNXB4O1xuXHR9XG5cblx0LnRpbnZ3bC1wcm9kdWN0LWluLWxpc3Q6YmVmb3JlIHtcblx0XHRjb2xvcjogJHNjYXJsZXQ7XG5cdH1cblxufVxuXG4jdG9wIGRpdiBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZSBhIHtcblx0cGFkZGluZzogMTBweDtcbn1cblxuI3RvcCBkaXYgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsIHtcblx0cGFkZGluZzogMHB4O1xuXHRwYWRkaW5nLXRvcDogMzVweDtcbn1cblxuLndvb2NvbW1lcmNlLXBhZ2UgLmJ1dHRvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5idXR0b24uZG93bmxvYWQge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcblx0cGFkZGluZzoycHggIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJGNvcmR1cm95ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDAlO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1yaWdodDogMi41ZW0gIWltcG9ydGFudDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjokc2NhcmxldCAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuLnByb2R1Y3QtZG93bmxvYWRzLWJ1dHRvbnMtYnV0dG9uX19pY29uIHtcblx0c3Ryb2tlOiBub25lO1xuXHR3aWR0aDogMjJweDtcblx0aGVpZ2h0OiAyMnB4O1xufVxuXG4uYnV0dG9uIHN2ZyxcbmJ1dHRvbiBzdmcge1xuXHRmaWxsOiBibGFjaztcblx0ei1pbmRleDogMTtcblx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblx0LW8tdHJhbnNpdGlvbjogLjJzIGVhc2UtaW4tb3V0IGFsbDtcblx0dHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblx0LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAuMXM7XG5cdC1vLXRyYW5zaXRpb24tZGVsYXk6IC4xcztcblx0dHJhbnNpdGlvbi1kZWxheTogLjFzO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KSB0cmFuc2xhdGVZKDNweCk7XG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCkgdHJhbnNsYXRlWSgzcHgpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCkgdHJhbnNsYXRlWSgzcHgpO1xufVxuXG4uYnV0dG9uOmhvdmVyIHN2ZyxcbmJ1dHRvbjpob3ZlciBzdmcge1xuXHRmaWxsOiAkc2NhcmxldDtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgzcHgpIHJvdGF0ZSgtOTBkZWcpO1xuXHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoM3B4KSByb3RhdGUoLTkwZGVnKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoM3B4KSByb3RhdGUoLTkwZGVnKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuXHQuc2luZ2xlLXByb2R1Y3QtbWFpbi1pbWFnZSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDU7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDQyMHB4KSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnNpbmdsZS1wcm9kdWN0LXN1bW1hcnkge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbjogY2FsYygtODV2aCArIDk0cHgpIDAgMCAwO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkwcHgpIHtcblx0LnNpbmdsZS1wcm9kdWN0LW1haW4taW1hZ2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG5cdFx0aGVpZ2h0OiBjYWxjKDg1dmggLSA5NHB4KTtcblx0fVxuXG5cdC5zaW5nbGUtcHJvZHVjdC1tYWluLWltYWdlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIge1xuXHRcdGhlaWdodDogY2FsYyg4NXZoIC0gOTRweCk7XG5cdH1cblxuXHQuc2luZ2xlLXByb2R1Y3QtbWFpbi1pbWFnZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIGEubGlnaHRib3gtYWRkZWQge1xuXHRcdGhlaWdodDogY2FsYyg4NXZoIC0gOTRweCk7XG5cdFx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG1pbi13aWR0aDogNDc5cHgpIHtcblx0LnJlc3BvbnNpdmUgI3RvcCAjbWFpbiAucHJvZHVjdHMgLnByb2R1Y3Qge1xuXHRcdHdpZHRoOiA1MHZ3O1xuXHRcdGhlaWdodDogNTB2dztcblx0fVxufVxuXG4uc2luZ2xlLXByb2R1Y3Qtc3VtbWFyeSB7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAwcHggIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0cGFkZGluZzogMDtcbn1cblxuLnRlbXBsYXRlLXNob3AgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMge1xuXHQvLyBtYXJnaW46IDgwMHB4IDAgMCAwO1xufVxuXG4jdG9wIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHtcblx0cGFkZGluZzogM3Z3IDN2dztcblx0bWFyZ2luOiAwIGF1dG8gMCBhdXRvO1xuXHRtYXgtd2lkdGg6IDEyMDBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTBweCkge1xuXG5cdCN0b3AgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLndjLXRhYnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0bGkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdGEge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQud29vY29tbWVyY2UtcGFnZSAuYnV0dG9uIHtcblx0XHRwYWRkaW5nOiAkc21hbGwtcGFkZGluZztcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG5cdCN0b3AgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLndjLXRhYnMge1xuXHRcdGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOiAwIC0kc21hbGwtcGFkZGluZyAwIDAgIWltcG9ydGFudDtcblxuXHRcdGxpIHtcblx0XHRcdG1hcmdpbjogMCAkc21hbGwtcGFkZGluZy8yICRzbWFsbC1wYWRkaW5nICRzbWFsbC1wYWRkaW5nLzI7XG5cdFx0fVxuXHR9XG59XG5cbiN0b3AgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLndjLXRhYnMgbGkgYSB7XG5cdGJhY2tncm91bmQ6ICRjb3JkdXJveTtcblx0Y29sb3I6ICNmZmZmZmY7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcblx0XHRwYWRkaW5nOiAycHggIWltcG9ydGFudDtcblx0XHRmb250LXNpemU6IC43ZW0gIWltcG9ydGFudDtcblx0fVxuXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkwcHgpIHtcblx0XHRwYWRkaW5nOiAkc21hbGwtcGFkZGluZyAhaW1wb3J0YW50O1xuXHR9XG5cblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuXHRcdG1pbi13aWR0aDogMTYwcHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucmVzcG9uc2l2ZSAjdG9wIC5wcm9kdWN0cyAucHJvZHVjdDpudGgtY2hpbGQob2RkKSB7XG5cdFx0Y2xlYXI6IG5vbmU7XG5cdH1cbn1cblxuI3RvcCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyAud2MtdGFicyBsaS5hY3RpdmUgYSB7XG5cdGJhY2tncm91bmQ6ICMyNTI1MjU7XG59XG5cbi53b29jb21tZXJjZS1UYWJzLXBhbmVsIHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb3JkdXJveSAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jb250YWluZXJfd3JhcCB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRib3JkZXItdG9wLXdpZHRoOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnJlc3BvbnNpdmUgLnByb2R1Y3QtdGVtcGxhdGUtZGVmYXVsdCAuY29udGFpbmVyIHtcblx0bWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuXG4ucmVzcG9uc2l2ZSAucHJvZHVjdC10ZW1wbGF0ZS1kZWZhdWx0ICNmb290ZXIgLmNvbnRhaW5lcixcbi5yZXNwb25zaXZlIC5wcm9kdWN0LXRlbXBsYXRlLWRlZmF1bHQgZm9vdGVyIC5jb250YWluZXIge1xuXHRtYXgtd2lkdGg6IDEzMTBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAkc21hbGwtcGFkZGluZyAhaW1wb3J0YW50O1xufVxuXG4uY2FydC1sb2FkaW5nIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucmVsYXRlZC5wcm9kdWN0cz5oMiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi53b29jb21tZXJjZS1UYWJzLXBhbmVsPmgyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuI3RvcCAucHJvZHVjdCAjYXZfc2VjdGlvbl8xIHtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4jdG9wIC5wcm9kdWN0ICNhdl9zZWN0aW9uXzEgLmNvbnRhaW5lciB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI3RvcCAucHJvZHVjdCAjYXZfc2VjdGlvbl8xIC5jb250YWluZXIgdWwge1xuXHRtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuI3RvcCAucHJvZHVjdCAjYXZfc2VjdGlvbl8xIC5jb250YWluZXIgdWwgbGkge1xuXHRtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcblx0d2lkdGg6IDEwMHZ3IC8gMyAhaW1wb3J0YW50O1xufVxuXG4jdG9wIC5wcm9kdWN0ICNhdl9zZWN0aW9uXzEgLmNvbnRhaW5lciB1bCBsaSBkaXYge1xuXHRtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuI3RvcCAucHJvZHVjdCAjYXZfc2VjdGlvbl8xIC5jb250YWluZXIgdWwgbGkgZGl2LnRodW1ibmFpbF9jb250YWluZXIge1xuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuI3RvcCAucHJvZHVjdCAjYXZfc2VjdGlvbl8xIC5jb250YWluZXIgdWwgbGkgZGl2IC5jYXJ0LWxvYWRpbmcge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jdG9wIC5wcm9kdWN0ICNhdl9zZWN0aW9uXzEgLmNvbnRhaW5lciB1bCBsaSBkaXYgLnZvbHRfcG9zdGVkX2luIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuI3RvcCAucHJvZHVjdCAjYXZfc2VjdGlvbl8xIC5jb250YWluZXIgdWwgbGkgZGl2IC52b2x0X3Byb2R1Y3RfZXhjZXJwdCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbiN0b3AgLnByb2R1Y3QgI2F2X3NlY3Rpb25fMSAuY29udGFpbmVyIHVsIGxpIGRpdiAudm9sdF9wcm9kdWN0X2J1dHRvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbiN0b3AgLnByb2R1Y3QgI2F2X3NlY3Rpb25fMSAuY29udGFpbmVyIHVsIGxpIGRpdiAuaW5uZXJfcHJvZHVjdF9oZWFkZXIge1xuXHRtYXJnaW46IC0zMHB4IDAgMCAwO1xufVxuXG4jdG9wIC5wcm9kdWN0ICNhdl9zZWN0aW9uXzEgLmNvbnRhaW5lciAucHJvZHVjdF9jb2x1bW4sXG4jdG9wIC5wcm9kdWN0ICNhdl9zZWN0aW9uXzEgLmNvbnRhaW5lciAudGVtcGxhdGUtcGFnZSB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuI3RvcCAucHJvZHVjdCAjYXZfc2VjdGlvbl8xIC5jb250YWluZXIgaDIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jdG9wIC5wcm9kdWN0ICNhdl9zZWN0aW9uXzEgLmNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG5cbiN0b3AgLnByb2R1Y3QgI2F2X3NlY3Rpb25fMSAuY29udGFpbmVyOmJlZm9yZSB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR3aWR0aDogMjB2dztcblx0aGVpZ2h0OiAxNTBweDtcblx0cGFkZGluZzogOTVweCAzMHB4IDAgMDtcblx0bWFyZ2luOiAwIDAgMCAzMHB4O1xuXHRjb250ZW50OiAnU29vcnQgZ2VsaWprIHByb2R1Y3Rlbic7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdGxpbmUtaGVpZ2h0OiAzNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiN0b3AgLnByb2R1Y3QgI2F2X3NlY3Rpb25fMSAuY29udGFpbmVyIHVsIGxpLmxhc3Qge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jdG9wIC5wcm9kdWN0ICNhdl9zZWN0aW9uXzEgLmNvbnRhaW5lciAudGVtcGxhdGUtcGFnZSB7XG5cdGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuXHR3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG5cdGNsZWFyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiN0b3AgI21haW4gLnNpbmdsZS1wcm9kdWN0LW1haW4taW1hZ2UgLnNpZGViYXIsXG4jdG9wICNtYWluIC5zaW5nbGUtcHJvZHVjdC1tYWluLWltYWdlIC5pbm5lcl9zaWRlYmFyIHtcblx0cGFkZGluZzogMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG5cdCN0b3AgLnByb2R1Y3QgZGl2LmltYWdlcyB7XG5cdFx0LW1zLWZsZXgtbmVnYXRpdmU6IDA7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBjYWxjKDg1dmggLSAkbWVudS1oZWlnaHQpO1xuXHRcdG1hcmdpbi10b3A6ICRtZW51LWhlaWdodDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcblx0XHQtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG5cdH1cblxuXHQjdG9wIC5wcm9kdWN0IGRpdi5pbWFnZXMgaW1nIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQtby1vYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHQtby1vYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnJlc3BvbnNpdmUgLnNpbmdsZS1wcm9kdWN0LW1haW4taW1hZ2Uge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwcHg7XG5cdH1cbn1cblxuLnRodW1ibmFpbF9jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuXG4ud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19saW5rOmhvdmVyIC53cC1wb3N0LWltYWdlIHtcblx0b3BhY2l0eTogMC43NTtcbn1cblxuI3RvcCAjd3JhcF9hbGwgLmF2LXByb2R1Y3QtY2xhc3MtbWluaW1hbC1vdmVybGF5IC5pbm5lcl9wcm9kdWN0X2hlYWRlciAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC4xOSkgNDAlLCByZ2JhKDAsIDAsIDAsIDAuODcpIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC4xOSkgNDAlLCByZ2JhKDAsIDAsIDAsIDAuODcpIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nI2E2MDAwMDAwJywgR3JhZGllbnRUeXBlPTApO1xuXHQvKiBJRTYtOSAqL1xuXHRtYXJnaW46IC0yMDBweCAwIDAgMCAhaW1wb3J0YW50O1xuXHRmbG9hdDogbGVmdDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAyMDBweDtcblx0Y29sb3I6ICNmZmZmZmY7XG5cdHBhZGRpbmc6IDE2MHB4IDAgMCAwO1xufVxuXG5oMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuXG4uZW5lcmdpZWxhYmVsW2RhdGEtZW5lcmdpZWxhYmVsLXR5cGU9XCJhKytcIl0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZW5lcmd5LWxhYmVsLWEtcGx1cy1wbHVzO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkZW5lcmd5LWxhYmVsLWEtcGx1cy1wbHVzO1xuXHR9XG59XG5cbi5lbmVyZ2llbGFiZWxbZGF0YS1lbmVyZ2llbGFiZWwtdHlwZT1cImErXCJdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGVuZXJneS1sYWJlbC1hLXBsdXM7XG5cblx0JjphZnRlciB7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRlbmVyZ3ktbGFiZWwtYS1wbHVzO1xuXHR9XG59XG5cbi5lbmVyZ2llbGFiZWxbZGF0YS1lbmVyZ2llbGFiZWwtdHlwZT1cImFcIl0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZW5lcmd5LWxhYmVsLWE7XG5cblx0JjphZnRlciB7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRlbmVyZ3ktbGFiZWwtYTtcblx0fVxufVxuXG4uZW5lcmdpZWxhYmVsW2RhdGEtZW5lcmdpZWxhYmVsLXR5cGU9XCJiXCJdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGVuZXJneS1sYWJlbC1iO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkZW5lcmd5LWxhYmVsLWI7XG5cdH1cbn1cblxuLmVuZXJnaWVsYWJlbFtkYXRhLWVuZXJnaWVsYWJlbC10eXBlPVwiY1wiXSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRlbmVyZ3ktbGFiZWwtYztcblxuXHQmOmFmdGVyIHtcblx0XHRib3JkZXItbGVmdC1jb2xvcjogJGVuZXJneS1sYWJlbC1jO1xuXHR9XG59XG5cbi5lbmVyZ2llbGFiZWxbZGF0YS1lbmVyZ2llbGFiZWwtdHlwZT1cImRcIl0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZW5lcmd5LWxhYmVsLWQ7XG5cblx0JjphZnRlciB7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRlbmVyZ3ktbGFiZWwtZDtcblx0fVxufVxuXG4uZW5lcmdpZWxhYmVsW2RhdGEtZW5lcmdpZWxhYmVsLXR5cGU9XCJlXCJdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGVuZXJneS1sYWJlbC1lO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkZW5lcmd5LWxhYmVsLWU7XG5cdH1cbn1cblxuLmVuZXJnaWVsYWJlbFtkYXRhLWVuZXJnaWVsYWJlbC10eXBlPVwiZlwiXSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRlbmVyZ3ktbGFiZWwtZjtcblxuXHQmOmFmdGVyIHtcblx0XHRib3JkZXItbGVmdC1jb2xvcjogJGVuZXJneS1sYWJlbC1mO1xuXHR9XG59XG5cbi5lbmVyZ2llbGFiZWxbZGF0YS1lbmVyZ2llbGFiZWwtdHlwZT1cImdcIl0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZW5lcmd5LWxhYmVsLWc7XG5cblx0JjphZnRlciB7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRlbmVyZ3ktbGFiZWwtZztcblx0fVxufVxuXG5cbi5lbmVyZ2llbGFiZWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMjRweDtcblx0d2lkdGg6IDQ4cHg7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRsZXR0ZXItc3BhY2luZzogLjU2cHg7XG5cdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJhY2tncm91bmQtY29sb3I6ICNiZWQ2MmY7XG59XG5cbi5lbmVyZ2llbGFiZWw6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDEwMCU7XG5cdHRvcDogMDtcblx0Ym9yZGVyOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItbGVmdDogMTJweCBzb2xpZCAjYmVkNjJmO1xufVxuXG4udGFicy53Yy10YWJzIGxpOm5vdCguYWN0aXZlKSBhIHtcblx0YmFja2dyb3VuZDogIzZkNmU2ZCAhaW1wb3J0YW50XG59XG5cbi5zaW5nbGUtcHJvZHVjdCAuYnV0dG9ubGlzdCBsaTpudGgtY2hpbGQoMikgYSxcbi5zaW5nbGUtcHJvZHVjdCAuYnV0dG9ubGlzdCBsaTpudGgtY2hpbGQoMykgYSB7XG5cdG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cbi50YXgtcHJvZHVjdF9jYXQgbmF2LnBhZ2luYXRpb24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucmVsYXRlZC5wcm9kdWN0cyB7XG5cdFx0YSB7XG5cdFx0XHRoZWlnaHQ6IDUwdncgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuXG4ucmVsYXRlZC5wcm9kdWN0cyB7XG5cdC5wcm9kdWN0cyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdH1cblx0XHRsaSB7XG5cdFx0XHRoZWlnaHQ6IDI1dncgIWltcG9ydGFudDtcblx0XHRcdHdpZHRoOiAyNSUgIWltcG9ydGFudDtcblx0XHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0XHQudGh1bWJuYWlsX2NvbnRhaW5lciB7XG5cdFx0XHRcdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRcdCAgb2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0XHRcdGhlaWdodDogNTB2dyAhaW1wb3J0YW50O1xuXHRcdFx0XHR3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC50aHVtYm5haWxfY29udGFpbmVyIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDUwdnchaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjBweCkge1xuXHRcdFx0XHRoZWlnaHQ6IDEwMHZ3ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC50aHVtYm5haWxfY29udGFpbmVyIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCUhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHRcdFx0XHRoZWlnaHQ6IDI1dncgIWltcG9ydGFudDtcblx0XHRcdFx0d2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuXHRcdFx0XHQudGh1bWJuYWlsX2NvbnRhaW5lciB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyNXZ3IWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRsaTpudGgtY2hpbGQoNSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuXG5cblxuLnBvcyB7XG5cdCYtdG9wIHtcblx0XHQmLWxlZnQgaW1nIHtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogdG9wIGxlZnQgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0Ji1jZW50ZXIgaW1nIHtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogdG9wIGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQmLXJpZ2h0IGltZyB7XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IHRvcCByaWdodCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHQmLWNlbnRlciB7XG5cdFx0Ji1sZWZ0IGltZyB7XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlciBsZWZ0ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdCYtY2VudGVyIGltZyB7XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0Ji1yaWdodCBpbWcge1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0Ji1ib3R0b20ge1xuXHRcdCYtbGVmdCBpbWcge1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBib3R0b20gbGVmdCAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQmLWNlbnRlciBpbWcge1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBib3R0b20gY2VudGVyICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdCYtcmlnaHQgaW1nIHtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi5icmFuZC1uYW1lIHtcblx0Zm9udC1mYW1pbHk6IFJhbGV3YXksIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0dGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhIHtcblx0d2hpdGUtc3BhY2U6IG5vcm1hbCFpbXBvcnRhbnQ7XG59XG4iLCIvLyAucHJvZHVjdHMsXG4vLyAucHJvZHVjdCB7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbi8vIH1cblxuLnByb2R1Y3QtY2F0ZWdvcnksXG4ucHJvZHVjdC1jYXRlZ29yeSBpbWcsXG4ucHJvZHVjdCxcbi5pbm5lcl9wcm9kdWN0LFxuLmlubmVyX3Byb2R1Y3QgYSxcbi5pbm5lcl9wcm9kdWN0IGEgaW1nIHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzdncgIWltcG9ydGFudDtcbn1cblxuXG4uY29udGFpbmVyX3dyYXBfZmlyc3QgLnByb2R1Y3Qge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAucHJvZHVjdC1jYXRlZ29yeSxcbiAgICAucHJvZHVjdC1jYXRlZ29yeSBpbWcsXG4gICAgLnByb2R1Y3QsXG4gICAgLmlubmVyX3Byb2R1Y3QsXG4gICAgLmlubmVyX3Byb2R1Y3QgYSxcbiAgICAuaW5uZXJfcHJvZHVjdCBhIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwdncgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jYXRlZ29yeS1jb2x1bW5zIC5wcm9kdWN0LWNhdGVnb3J5LFxuLmNhdGVnb3J5LWNvbHVtbnMgLnByb2R1Y3QgLmZpcnN0LFxuICAgLmNhdGVnb3J5LWNvbHVtbnMgLnByb2R1Y3QtY2F0ZWdvcnksXG4gICAuY2F0ZWdvcnktY29sdW1ucyAucHJvZHVjdCAuZmlyc3RcbiAgICAgICB7XG4gICAgaGVpZ2h0OiAyNXZ3ICFpbXBvcnRhbnQ7XG59XG5cbi5jYXRlZ29yeS1jb2x1bW5zIC5zaG9wX2NvbHVtbnNfMyAucHJvZHVjdHMgLnByb2R1Y3Qge1xuICAgIGhlaWdodDogMjV2dyAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjowcHg7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbi8vICAgICAucHJvZHVjdC1jYXRlZ29yeSwucHJvZHVjdC1jYXRlZ29yeSBpbWcsIC5wcm9kdWN0LCAuaW5uZXJfcHJvZHVjdCwgLmlubmVyX3Byb2R1Y3QgYSwgLmlubmVyX3Byb2R1Y3QgYSBpbWcge1xuLy8gICAgICAgICBoZWlnaHQ6MTAwdncgIWltcG9ydGFudDtcbi8vICAgICB9XG4vLyB9XG5cbi5wcm9kdWN0LWNhdGVnb3J5OmZpcnN0LWNoaWxkIGRpdiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3QtY2F0ZWdvcnk6Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG59XG5cbi5wcm9kdWN0LWNhdGVnb3J5OmZpcnN0LWNoaWxkIGRpdiBoMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDBweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICBwYWRkaW5nOiAwcHggMXZ3O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5wcm9kdWN0LWNhdGVnb3J5OmZpcnN0LWNoaWxkIGRpdiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAucHJvZHVjdC1jYXRlZ29yeTpmaXJzdC1jaGlsZCBkaXYgaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5hcmNoaXZlLm1lbnUtdHJhbnNwYXJlbnQgLmF2X2hlYWRlcl9zdGlja3kge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmFyY2hpdmUubWVudS10cmFuc3BhcmVudCAuaGVhZGVyX2JnIHtcbiAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDAwMDAwKzAsMDAwMDAwKzEwMCYwLjM3KzEsMC4zKzUwLDArMTAwLDArMTAwICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMzcpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMzcpIDElLCByZ2JhKDAsIDAsIDAsIDAuMykgNTAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgIC8qIEZGMy42LTE1ICovXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMzcpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMzcpIDElLCByZ2JhKDAsIDAsIDAsIDAuMykgNTAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjM3KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjM3KSAxJSwgcmdiYSgwLCAwLCAwLCAwLjMpIDUwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjNWUwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJywgR3JhZGllbnRUeXBlPTApO1xuICAgIC8qIElFNi05ICovXG59XG5cbi5hcmNoaXZlLm1lbnUtdHJhbnNwYXJlbnQgI21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLmFyY2hpdmUubWVudS10cmFuc3BhcmVudCAubWVudS1pdGVtLXRvcC1sZXZlbD5hIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmFyY2hpdmUubWVudS10cmFuc3BhcmVudCAudGl0bGVfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lXG59XG5cbi5ob21lLm1lbnUtdHJhbnNwYXJlbnQgLmF2X2hlYWRlcl9zdGlja3kge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmhvbWUubWVudS10cmFuc3BhcmVudCAuaGVhZGVyX2JnIHtcbiAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDAwMDAwKzAsMDAwMDAwKzEwMCYwLjM3KzEsMC4zKzUwLDArMTAwLDArMTAwICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMzcpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMzcpIDElLCByZ2JhKDAsIDAsIDAsIDAuMykgNTAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgIC8qIEZGMy42LTE1ICovXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMzcpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMzcpIDElLCByZ2JhKDAsIDAsIDAsIDAuMykgNTAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjM3KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjM3KSAxJSwgcmdiYSgwLCAwLCAwLCAwLjMpIDUwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjNWUwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJywgR3JhZGllbnRUeXBlPTApO1xuICAgIC8qIElFNi05ICovXG59XG5cbi5ob21lLm1lbnUtdHJhbnNwYXJlbnQgI21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLmhvbWUubWVudS10cmFuc3BhcmVudCAubWVudS1pdGVtLXRvcC1sZXZlbD5hIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmhvbWUubWVudS10cmFuc3BhcmVudCAudGl0bGVfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8vIC5oZWFkZXJfYmcge1xuLy8gICAgIC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4vLyB9XG5cbiN0b3AuaG9tZSAuaGVhZGVyX2NvbG9yIC5oZWFkZXJfYmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG9wYWNpdHk6IDE7XG59XG4jdG9wLmhvbWUubWVudS10cmFuc3BhcmVudCAuaGVhZGVyX2NvbG9yIC5oZWFkZXJfYmcge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbiN0b3AuaG9tZSAjaGVhZGVyLmF2X2hlYWRlcl90cmFuc3BhcmVuY3kgLmF2aWFfbWVnYV9kaXYge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnRlbXBsYXRlLXNob3AgdWwucHJvZHVjdHMuY29sdW1ucy00IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOTBweCFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIiAgICAvKiBQQUdJTkFUSU9OICovXG5cbi5wYWdpbmF0aW9uLW1ldGEgeyBcbiAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudFxufVxuXG4jdG9wIC5wYWdpbmF0aW9uIC5jdXJyZW50LCAjdG9wIC5wYWdpbmF0aW9uIGEsICN0b3AgLmZ1bGxzaXplIC50ZW1wbGF0ZS1ibG9nIC5wYWdpbmF0aW9uIGEge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5wYWdpbmF0aW9uIHNwYW4uY3VycmVudCwgXG4jdG9wIC5wYWdpbmF0aW9uIC5jdXJyZW50LCBcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC5wYWdpbmF0aW9uIGEsIFxuLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyBsaSBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lIDsgXG4gICAgY29sb3I6IGJsYWNrO1xufVxuXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAucGFnaW5hdGlvbiBzcGFuLmN1cnJlbnQsICN0b3AgLnBhZ2luYXRpb24gLmN1cnJlbnQsXG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIC5jdXJyZW50ICB7XG4gICAgY29sb3I6ICRzY2FybGV0OyBcbn1cblxuI3RvcCAubWFpbl9jb2xvciAucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2NhcmxldDsgXG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb3JkdXJveTtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4iLCIvKiAgYXJyb3cgZG93biBpbiBzbGlkZXIgKi9cblxuI3RvcCAuc2Nyb2xsLWRvd24tbGluayB7XG4gICAgYm90dG9tOiAxMCUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICN0b3AgLnNjcm9sbC1kb3duLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnNjcm9sbC1kb3duLWxpbms6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuL2ltZy9hcnJvd19kb3duX3doaXRlLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG59XG5cbi5zY3JvbGwtZG93bi1saW5rOmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaW1nL2Fycm93X2Rvd25fcmVkLnN2ZycpO1xufVxuXG4vKiBlbmQgYXJyb3cgZG93biBpbiBzbGlkZXIgKi9cblxuLyogYXJyb3cgYmFjayB0byB0b3AgKi9cblxuI3Njcm9sbC10b3AtbGluayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWcvYXJyb3dfdG9wLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4jc2Nyb2xsLXRvcC1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltZy9hcnJvd190b3BfaG92ZXIuc3ZnJyk7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4jc2Nyb2xsLXRvcC1saW5rOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogYmFjayB0byB0b3AgYXJyb3cgKi8iLCJcbi8qIE1FVFNFTFdFUksgKi9cblxuLyogbWFha3QgZGUgcnVpbXRlcyBzdGFuZGFhcmQgMTBweCAqL1xuXG4uYXYtbGFyZ2UtZ2FwLmF2LWZpeGVkLXNpemUgLmF2LW1hc29ucnktZW50cnkgLmF2LWlubmVyLW1hc29ucnkge1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJvdHRvbTogMTBweDtcbn1cblxuLmF2LWxhcmdlLWdhcC5hdi1tYXNvbnJ5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAxMHB4O1xufVxuXG4ubWFpbl9jb2xvciAuYXYtbWFzb25yeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi8qIGVuZCBtYWFrdCBkZSBydWltdGVzIHN0YW5kYWFyZCAxMHB4ICovXG5cbi5zbGlkZS1pbWFnZSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uaG9tZSAuYXYtaW5uZXItbWFzb25yeS1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAtNjRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYXYtbWFzb25yeS1vdXRlcmltYWdlLWNvbnRhaW5lciB7fVxuXG4ubWFpbl9jb2xvciAubWV0YS1jb2xvciB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5ob21lIC5hdi1pbm5lci1tYXNvbnJ5LWNvbnRlbnQgLm1haW5fY29sb3IgLm1ldGEtY29sb3Ige1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uaG9tZSAuYXYtaW5uZXItbWFzb25yeS1jb250ZW50IGgzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaG9tZSAuYXYtaW5uZXItbWFzb25yeS1jb250ZW50IC5hdmlhLWFycm93IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaG9tZSAuYXYtaW5uZXItbWFzb25yeS1jb250ZW50IC5lbnRyeS1jb250ZW50LWhlYWRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmhvbWUgLmF2LWlubmVyLW1hc29ucnktY29udGVudCAuYXYtbWFzb25yeS1lbnRyeS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBFTkQgTUVUU0VMV0VSSyAqL1xuIiwiXG4vKiBMT0dPICovXG5cbi5sb2dvIHtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcbn1cblxuLmxvZ28gYSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubG9nbyBpbWcsIC5sb2dvLmF2aWEtaW1nLXN2Zy1sb2dvID4gYSA+IGltZywgLmxvZ28gc3ZnLCAubG9nby5hdmlhLWltZy1zdmctbG9nbyA+IGEgPiBzdmcge1xuICAgIGhlaWdodDogMzZweDtcbn1cblxuLmxvZ28gaW1nLmFsdGVybmF0ZSwgLmxvZ28gc3ZnLmFsdGVybmF0ZSB7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB0b3A6MjdweDtcbn1cblxuXG4jdG9wICNtZW51LWl0ZW0tc2VhcmNoIHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4uaHRtbF9hdi1vdmVybGF5LXNpZGUgLmF2LWJ1cmdlci1vdmVybGF5LXNjcm9sbCB7XG4gICAgd2lkdGg6IDkwJTtcbn1cblxuaW1nLmxvZ28tbW9iaWxlLCBzdmcubG9nby1tb2JpbGUsIC5tb2JpbGUtbG9nby1pbi1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MHB4KSB7XG4gICAgI3RvcCAjbWVudS1pdGVtLXNlYXJjaCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG5cbiAgICAuaHRtbF9oZWFkZXJfdHJhbnNwYXJlbmN5ICN0b3AgLmF2aWEtYnVpbGRlci1lbC0wIC5zbGlkZXNob3dfY2FwdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5yZXNwb25zaXZlIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG4gICAgLmxvZ28gaW1nLFxuICAgIC5sb2dvIGltZy5hbHRlcm5hdGUsXG4gICAgLmxvZ28gc3ZnLFxuICAgIC5sb2dvIHN2Zy5hbHRlcm5hdGUge1xuICAgICAgICAgICAgdG9wOiAyN3B4O1xuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnJlc3BvbnNpdmUgLmxvZ28gaW1nLCAucmVzcG9uc2l2ZSAubG9nbyBzdmcge1xuICAgICAgICBoZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiBpbmhlcml0O1xuICAgIH1cbiAgICAubG9nbyBpbWcsIC5sb2dvIHN2ZyB7XG4gICAgICAgIHRvcDogaW5oZXJpdDtcbiAgICB9XG4gICAgLnJlc3BvbnNpdmUgI3RvcCAjd3JhcF9hbGwgLmNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5yZXNwb25zaXZlICN0b3AgLmxvZ28ge1xuICAgICAgICBoZWlnaHQ6IDkycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucmVzcG9uc2l2ZSAjdG9wIC5sb2dvIHtcbiAgICAgICAgPiBhID4gaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgPiBhID4gc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcubG9nby1tb2JpbGUsIHN2Zy5sb2dvLW1vYmlsZSB7XG4gICAgICAgICAgICAkbG9nby13aWR0aDogNTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTB2dztcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxvZ28td2lkdGgvMjtcbiAgICAgICAgICAgIHdpZHRoOiAkbG9nby13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtaXRlbS1zZWFyY2gtZHJvcGRvd24ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmF2LWJ1cmdlci1tZW51LW1haW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1sb2dvLWluLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgLnJlc3BvbnNpdmUgLmxvZ28gaW1nLCAucmVzcG9uc2l2ZSAubG9nbyBzdmcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4gICAgLyogRU5EIExPR08gKi8iLCJcbi5ob21lIC5zb3J0X3dpZHRoX2NvbnRhaW5lcixcbi5ob21lIC5ncmlkLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IC02NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmhvbWUgLmlubmVyLWVudHJ5IC5ncmlkLWNvbnRlbnQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC42cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG59XG5cbi5ob21lIC5pbm5lci1lbnRyeTpob3ZlciAuZ3JpZC1jb250ZW50IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uaG9tZSAuZ3JpZC1jb250ZW50IGgzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcbn1cblxuLmhvbWUgLmdyaWQtY29udGVudCAuYXZpYS1hcnJvdyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhvbWUgLmdyaWQtY29udGVudCAuZW50cnktY29udGVudC1oZWFkZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5ncmlkLWVudHJ5IC5pbm5lci1lbnRyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pbWFnZS1vdmVybGF5LWluc2lkZSB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ncmlkLWVudHJ5IC5pbm5lci1lbnRyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbWFnZS1vdmVybGF5IHtcbiAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDAwMDAwKzAsMDAwMDAwKzEwMCYwLjE5KzQwLDAuODcrMTAwICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICAvKiBGRjMuNi0xNSAqL1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjE5KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjE5KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC44NykgMTAwJSk7XG4gICAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzMwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNkZTAwMDAwMCcsIEdyYWRpZW50VHlwZT0wKTtcbiAgICAvKiBJRTYtOSAqL1xufVxuXG5zcGFuIC5pbWFnZS1vdmVybGF5LWluc2lkZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiLmF2X2hlYWRlcl9zdGlja3ksXG4jaGVhZGVyLmF2X21pbmltYWxfaGVhZGVyIC5hdmlhX21lZ2FfZGl2IHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4xNSkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAuMTUpICFpbXBvcnRhbnQ7XG59XG5cbi5hdl9oZWFkZXJfc3RpY2t5LmF2X2hlYWRlcl90cmFuc3BhcmVuY3kge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuI3RvcCAuYXZfaGVhZGVyX3Njcm9sbGRvd24ge1xuICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnJlc3BvbnNpdmUgI3RvcCAjd3JhcF9hbGwgI2hlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC5hdi1oYW1idXJnZXItaW5uZXIsXG4gICAgLmF2LWhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuICAgIC5hdi1oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgLmF2LWhhbWJ1cmdlci1pbm5lcixcbiAgICAuaXMtYWN0aXZlIC5hdi1oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAuaXMtYWN0aXZlIC5hdi1oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yZXNwb25zaXZlICN0b3AgI3dyYXBfYWxsIC5hdi1sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDBweCAkc21hbGwtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vKiBsb3dlcmNhc2UgbWVudSBpdGVtcyAqL1xuLmF2aWEtbWVudSB7XG4gICAgLm1lbnUtaXRlbS1tZWdhLXBhcmVudCA+IGEsXG4gICAgLmhlYWRlcl9jb2xvciAuc3ViX21lbnU+dWw+bGk+YSxcbiAgICAubWVudS1pdGVtLXRvcC1sZXZlbCA+IGEsXG4gICAgLm1lbnUtaXRlbS10b3AtbGV2ZWwgPiAuc3ViLW1lbnUsXG4gICAgLnN1Yi1tZW51ID4gLm1lbnUtaXRlbSA+IC5zdWItbWVudSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgfVxuXG4gICAgLmF2aWEtbWVudSBsaSBhLFxuICAgIC5tZWdhX21lbnVfdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG4vKiBCdXJnZXIgbWVudSAqL1xubGkuYXYtYWN0aXZlLWJ1cmdlci1pdGVtcyA+IGEsXG4uYXYtd2lkdGgtc3VibWVudSA+IGEge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zdWItbWVudSA+IC5hdi13aWR0aC1zdWJtZW51ID4gLnN1Yi1tZW51ID4gbGkge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi5hdmlhLW1lbnUgI21lbnUtaXRlbS1zZWFyY2ggYSB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuLmF2aWFfbWVnYV9kaXYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDBweDtcbn1cblxuI2hlYWRlci5hdl9taW5pbWFsX2hlYWRlciAuYXZpYV9tZWdhX2RpdiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXIyLmhlYWRlci1zY3JvbGxlZCAubG9nbyBhIHtcbiAgICBtYXJnaW4tdG9wOiAtMjAwcHg7XG59XG5cbi5oZWFkZXIyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gd2VnaGFsZW4gbGlua3MgaW4gdG9wbWVtdVxuLmF2LXdpdGgtc3VibWVudSA+IGEge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxufVxuXG4ub25seS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAub25seS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5oZWFydC1pY29uLCAuaGVhcnQtaWNvbi1lbXB0eSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLmhlYXJ0LWljb24sIC5oZWFydC1pY29uLWVtcHR5IHtcbiAgdHJhbnNpdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zXG59XG5cbi5oZWFydC1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGU5MDgnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAndGludndsLXdlYmZvbnQnIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgY29sb3I6ICRzY2FybGV0O1xufVxuXG4uYXJjaGl2ZS5tZW51LXRyYW5zcGFyZW50IC5oZWFkZXJfY29sb3IgLm1haW5fbWVudSB1bDpmaXJzdC1jaGlsZD5saT5hLFxuLmFyY2hpdmUubWVudS10cmFuc3BhcmVudCAuaGVhZGVyX2NvbG9yIC5tYWluX21lbnUgdWw6Zmlyc3QtY2hpbGQ+bGk+YTo6YWZ0ZXIsXG4uYXZfaGVhZGVyX3RyYW5zcGFyZW5jeSAuaGVhcnQtaWNvbi1lbXB0eTo6YWZ0ZXIge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmhvbWUubWVudS10cmFuc3BhcmVudCAuaGVhZGVyX2NvbG9yIC5tYWluX21lbnUgdWw6Zmlyc3QtY2hpbGQ+bGk+YSxcbi5ob21lLm1lbnUtdHJhbnNwYXJlbnQgLmhlYWRlcl9jb2xvciAubWFpbl9tZW51IHVsOmZpcnN0LWNoaWxkPmxpPmE6OmFmdGVyLFxuLmF2X2hlYWRlcl90cmFuc3BhcmVuY3kgLmhlYXJ0LWljb24tZW1wdHk6OmFmdGVyIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5cbi5oZWFydC1pY29uLWVtcHR5OjphZnRlciB7XG4gICAgY29sb3I6ICRjb3JkdXJveTtcbiAgICBjb250ZW50OiAnXFxlOTA5JyAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJ3RpbnZ3bC13ZWJmb250JyAhaW1wb3J0YW50O1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gICAgLy8gbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5hdl9oZWFkZXJfc3RpY2t5LmF2X2hlYWRlcl90cmFuc3BhcmVuY3kgLmhlYXJ0LWljb24tZW1wdHk6OmFmdGVyIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmhlYXJ0LWljb24sIC5oZWFydC1pY29uLWVtcHR5IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYW5pbWF0aW9uOiBoZWFydGJlYXQgMXMgaW5maW5pdGU7XG4gICAgfVxufVxuXG5cbkBrZXlmcmFtZXMgaGVhcnRiZWF0IHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgMjAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuICAgIH1cblxuICAgIDQwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgNjAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MHB4KSB7XG4gICAgLnJlc3BvbnNpdmUgI3RvcCAubG9nbyBpbWcubG9nby1tb2JpbGUge1xuICAgICAgICBoZWlnaHQ6IDk2cHggIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oZWFkZXItYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLnRlbXBsYXRlLXBhZ2UgLndvb2NvbW1lcmNlIHtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjYWFuZ2VuYWFtIC50ZW1wbGF0ZS1wYWdle1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTI1cHghaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTI1cHghaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHghaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4IWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5LmhvbWUgI2F2X3NlY3Rpb25fMiAudGVtcGxhdGUtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjVweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMjVweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHghaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNmb290ZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTI1cHghaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTI1cHghaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHghaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4IWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLnRlbXBsYXRlLXBhZ2UgLndvb2NvbW1lcmNlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTUwcHg7XG4gICAgfVxufVxuXG4iLCIuc2xpY2stbmV4dCxcbi5zbGljay1wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWcvc2xpZGVyLWFycm93LWxlZnQucG5nJyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWcvc2xpZGVyLWFycm93LWxlZnQtcmVkLnBuZycpO1xuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltZy9zbGlkZXItYXJyb3ctcmlnaHQucG5nJyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWcvc2xpZGVyLWFycm93LXJpZ2h0LXJlZC5wbmcnKTtcbiAgICB9XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcixcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSxcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgIGNvbG9yOiBibGFjaztcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzbGljayc7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY29udGVudDogJ+KAoic7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICRjb3JkdXJveTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogJHNjYXJsZXQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgeyBcbiAgICAvLyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLnNsaWNrLWRvdHMgbGk6bm90KC5zbGljay1hY3RpdmUpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufSIsIlxuICAgLnBhZ2UtdGVtcGxhdGUtcHJvamVjdGVuIHtcblxuICAgICAgIC5pbnRybyB7XG4gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3JkdXJveTtcbiAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgIHRvcDogJG1lbnUtaGVpZ2h0O1xuICAgICAgICAgICB3aWR0aDogMjV2dztcbiAgICAgICAgICAgaGVpZ2h0OiAyNXZ3O1xuICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTIycHgpIHtcbiAgICAgICAgICAgICAgIGhlaWdodDogMzN2dztcbiAgICAgICAgICAgICAgIHdpZHRoOiAzM3Z3O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwdnc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTB2dztcbiAgICAgICAgICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgICAgICAgfVxuICAgICAgIH1cblxuICAgIC8vICAgIC5zZWN0aW9uIHtcbiAgICAvLyAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAvLyAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkwcHgpIHtcbiAgICAvLyAgICAgICAgICAgIHRvcDogLSAkbWVudS1oZWlnaHQ7XG4gICAgLy8gICAgICAgIH1cbiAgICAvLyAgICB9XG5cbiAgICAgICBoMSB7XG4gICAgICAgICAgIHBhZGRpbmc6IGNhbGMoM3ZoIC0gMjBweCk7XG4gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgfVxuXG4gICAgICAgaDEgYSB7XG4gICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgfVxuXG4gICAgICAgI2ZwLW5hdiB1bCBsaSBhIHNwYW4ge1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NhcmxldDtcbiAgICAgICB9XG5cbiAgICAgICAuZnAtdGFibGVDZWxsIHtcbiAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICB9XG5cbiAgICAgICAuc2VjdGlvbiBkaXYge1xuICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC4xOSkgNDAlLCByZ2JhKDAsIDAsIDAsIDAuODcpIDEwMCUpO1xuICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC4xOSkgNDAlLCByZ2JhKDAsIDAsIDAsIDAuODcpIDEwMCUpO1xuICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nI2E2MDAwMDAwJywgR3JhZGllbnRUeXBlPTApO1xuICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgIH1cbiAgIH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgIC5wcm9kdWN0LWNhdGVnb3J5OmZpcnN0LWNoaWxkIGRpdiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudm9sdC1wcm9qZWN0LXRpdGxlIGgyLmF2LXNwZWNpYWwtaGVhZGluZy10YWcge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxufVxuXG4udm9sdC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGFkN2Q2O1xuICAgIHBhZGRpbmc6IDAgMTAlIDAgMTAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC52b2x0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDEwJSAwIDEwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgLnZvbHQtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTUlIDAgMTUlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAudm9sdC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAyMCUgMCAyMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIyMDBweCkge1xuICAgIC52b2x0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDI4JSAwIDI4JTtcbiAgICB9XG59XG5cbi52b2x0LXByb2plY3QtaGVhZGVyICB7XG4gICAgbWFyZ2luLXRvcDogLTYwcHghaW1wb3J0YW50O1xufVxuXG4udm9sdC1jb250ZW50IC50ZW1wbGF0ZS1wYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4udm9sdC1jb250ZW50LmZvb3Rlci1tb2R1bGUgLnRlbXBsYXRlLXBhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWQ3ZDY7XG59XG5cbi52b2x0LWNvbnRlbnQgLnZvbHQtZnVsbC13aWR0aC1pbWcgLmF2aWEtaW1hZ2UtY29udGFpbmVyLWlubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnZvbHQtY29udGVudCAudm9sdC1mdWxsLXdpZHRoLWltZyAuYXZpYS1pbWFnZS1jb250YWluZXItaW5uZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnZvbHQtc3RyZWFtZXItY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAvLyBmbG9hdDogbGVmdDtcbiAgICAvLyB3aWR0aDogMzUlO1xuICAgIC8vIGZvbnQtc2l6ZTogMThweDtcbiAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC8vIGNvbG9yOiAjZGMyMDIwO1xuICAgIC8vIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIC8vIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICNkYzIwMjA7XG4gICAgLy8gcGFkZGluZzogM3B4O1xufVxuXG4udm9sdC1zdHJlYW1lci1jb250ZW50IGJsb2NrcXVvdGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMzVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtc2l6ZTogMS4yMzVlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBjb2xvcjogI2RmNWI1NztcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgI2RmNWI1Nztcbn1cblxuLnZvbHQtY29udGVudCBwLCAudm9sdC1jb250ZW50IGg2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi52b2x0LWNvbnRlbnQgYmxvY2txdW90ZSBwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgIC52b2x0LXN0cmVhbWVyLWNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yMzVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgIGNvbG9yOiAjZGY1YjU3O1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICNkZjViNTc7XG4gICAgfVxufVxuXG4udm9sdC1jb250ZW50IC5jb2x1bW4tdG9wLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udm9sdC1wcm9qZWN0LXRpdGxlIGgyLmF2LXNwZWNpYWwtaGVhZGluZy10YWcge1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbn1cblxuLnZvbHQtaGFsZi13aWR0aC1jb2x1bW4ge1xuXG59XG5cbi52b2x0LWhhbGYtd2lkdGgtaW1nIGltZy5hdmlhX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG59XG5cbi52b2x0LW9uZS10aGlyZC13aWR0aC1pbWcgaW1nLmF2aWFfaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbn1cblxuLnNpbmdsZS1wcm9qZWN0IC52b2x0LWNvbnRlbnQgLnZvbHQtZnVsbC13aWR0aC1pbWcgLmF2aWEtaW1hZ2UtY29udGFpbmVyLWlubmVyIGltZyB7XG4gICAgbWF4LWhlaWdodDogNDV2dztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5mcC10YWJsZSAuZnAtdGFibGVDZWxsIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gOTVweCkhaW1wb3J0YW50O1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgaDF7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDcuNSUhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgLmZwLXRhYmxlIC5mcC10YWJsZUNlbGwge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA5NXB4KSFpbXBvcnRhbnQ7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBoMXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy41JSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZnAtdGFibGUgLmZwLXRhYmxlQ2VsbCB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDk1cHgpIWltcG9ydGFudDtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgaDF7XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMTQwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcHJvamVjdGVuIHtcbiAgICAgICAgaDEgYSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDE1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmF2LW1hc29ucnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNmQ7XG59IiwiI3RvcCAuZnVsbHNpemUgLnRlbXBsYXRlLWJsb2cge1xuICAgIG1hcmdpbi10b3A6ICRtZW51LWhlaWdodDtcbn1cbiN0b3AgLmZ1bGxzaXplIC50ZW1wbGF0ZS1ibG9nIC5wb3N0IHtcbiAgICBmb250LXNpemU6IC45ZW07XG59XG5cbiN0b3AgLmZ1bGxzaXplIC50ZW1wbGF0ZS1ibG9nIC5wb3N0IC5lbnRyeS1jb250ZW50LXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiN0b3AgLmZ1bGxzaXplIC50ZW1wbGF0ZS1ibG9nIC5wb3N0IGg0IHtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5ibG9nLW1ldGEgYSBpbWcsIC5ibG9nLW1ldGEgYSAuaWNvbmZvbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxufVxuXG4uYmxvZy1tZXRhIGEgLnJvdW5kZWQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi50ZXh0LXNlcC50ZXh0LXNlcC1jYXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uYmxvZy1jYXRlZ29yaWVzLm1pbm9yLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IC01cHg7XG4gICAgfVxufVxuXG4uYmxvZy1tZXRhIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnBvc3QtdGl0bGUuZW50cnktdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBtYWluLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi5zZWFyY2gge1xuICAjbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDExNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNlYXJjaC5zZWFyY2gtcmVzdWx0cyB7XG5cbiAgLnByb2R1Y3RzLFxuICAucHJvZHVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxufSIsIi5wYWdlLXRlbXBsYXRlLXByb2plY3RlbiB7XG4gICNmcC1uYXYgYTpub3QoLmFjdGl2ZSkgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB9XG4gICNmcC1uYXYgYSBzcGFuIHtcbiAgICBoZWlnaHQ6IDhweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA4cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgIGhlYWRlciNoZWFkZXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAudm9sdC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC52b2x0LWNvbnRlbnQgLnRlbXBsYXRlLXBhZ2Uge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudm9sdC1wcm9qZWN0LWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogLTU3cHghaW1wb3J0YW50O1xuICB9XG59XG5cbi52b2x0LXBob3RvLXN1YnRleHQge1xuICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgZm9udC1zaXplOiAuODVlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAxNSU7XG59IiwiYm9keS50aW52d2wtdGhlbWUtc3R5bGUge1xuICAgIC50aW52LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzVweCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcC5jYXJ0LWVtcHR5IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgIHAucmV0dXJuLXRvLXNob3Age1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgYS5idXR0b24ud2MtYmFja3dhcmQge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC50aW52LXdpc2hsaXN0IHtcbiAgICAgICAgICAgIHRyLndpc2hsaXN0X2l0ZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAucHJvZHVjdC1yZW1vdmUgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAuZnRpbnZ3bC5mdGludndsLXRpbWVzOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxODJcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZGFzaGljb25zJ1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGhlYWQsXG4gICAgdGZvb3QsXG4gICAgLnByb2R1Y3QtY2IsXG4gICAgLnByb2R1Y3QtcHJpY2UsXG4gICAgLnByb2R1Y3QtZGF0ZSxcbiAgICAucHJvZHVjdC1zdG9jayxcbiAgICAucHJvZHVjdC1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50aW52LXdpc2hsaXN0IC5wcm9kdWN0LXRodW1ibmFpbCB7XG4gICAgICAgIG1heC13aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cblxuICAgIC5tYWluX2NvbG9yIHtcblxuICAgICAgICAudGludndsLXRhYmxlLW1hbmFnZS1saXN0IHRyOm50aC1jaGlsZChvZGQpLFxuICAgICAgICB0YWJsZS50aW52d2wtdGFibGUtbWFuYWdlLWxpc3QsXG4gICAgICAgIC50aW52d2wtdGFibGUtbWFuYWdlLWxpc3QgdGJvZHksXG4gICAgICAgIC50aW52d2wtdGFibGUtbWFuYWdlLWxpc3QgdGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGludndsLXRvLWxlZnQsIC50aW52d2wtdG8tcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIHRyLndpc2hsaXN0X2l0ZW0ge1xuICAgICAgICAvLyBQcm9kdWN0XG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1yZW1vdmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcmVtb3ZlPmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogNDBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIC50aW52LXdpc2hsaXN0IHRhYmxlIHRkLCAudGludi13aXNobGlzdCB0YWJsZSB0aCB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDAuNWVtIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5LnRpbnZ3bC10aGVtZS1zdHlsZSAudGludi1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAudGludi13aXNobGlzdCAuc29jaWFsLWJ1dHRvbnMge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGludi13aXNoaWxpc3QgLnNvY2lhbC1idXR0b25zIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50aW52LWhlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgIH1cblxuICAgIHRoZWFkLFxuICAgIHRmb290LFxuICAgIC5wcm9kdWN0LWNiLFxuICAgIC5wcm9kdWN0LXByaWNlLFxuICAgIC5wcm9kdWN0LWRhdGUsXG4gICAgLnByb2R1Y3Qtc3RvY2ssXG4gICAgLnByb2R1Y3QtYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNvY2lhbC1idXR0b25zIHVsIGxpIGEge1xuICAgICAgICB3aWR0aDogMS4yZW0haW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmZvcmNlLXRodW1iLXNpemUge1xuICAgIG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG59XG5cbi5hdi1tYXNvbnJ5LWltYWdlLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNSFpbXBvcnRhbnQ7XG59XG5cbi5wcm9kdWN0IGEgLmltYWdlLW92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDAuNSFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwIWltcG9ydGFudDtcbn0iLCIuZmFxIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5mYXFfdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udG9nZ2xlY29udGFpbmVyIHtcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgLmF2X3RvZ2dsZV9zZWN0aW9uIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gICAgLnRvZ2dsZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHNjYXJsZXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgfVxuICAgICAgJi5hY3RpdmVUaXRsZSB7XG4gICAgICAgIGNvbG9yOiAkc2NhcmxldDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvZ2dsZV93cmFwIHtcbiAgICAgIC50b2dnbGVfY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJi5hY3RpdmVfdGMge1xuXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS10ZW1wbGF0ZS1yZWZlcmVudGllcyB7XG4gICNtYWluIHtcbiAgICBtYXJnaW4tdG9wOiA5NXB4O1xuICB9XG4gIC5ibGFjay1ibG9jayB7XG4gICAgLmF2LW1hc29ucnktaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29yZHVyb3k7XG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZmlnY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBoMy5lbnRyeS10aXRsZSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59IiwiLnBvc3QtdHlwZS1hcmNoaXZlLW1lcmsgI21haW4ge1xuICBtYXJnaW4tdG9wOiA5NXB4O1xufVxuXG4uaGNhX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi53aGl0ZSB7XG4gICAgbGkge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4wKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjE5KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC44NykgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTkpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjg3KSAxMDAlKTtcbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNhNjAwMDAwMCcsIEdyYWRpZW50VHlwZT0wKTtcbiAgICAgIH1cbiAgICB9IFxuICB9XG4gICYud2l0aC1ib3JkZXIge1xuICAgIGxpICB7XG4gICAgICBwLnRpdGxlIHNwYW4ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogNXB4IDQwcHg7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnPidcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBsaSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBoZWlnaHQ6IDI1dnc7IFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyNTI1MjU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA0MCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjE5KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjE5KSA0MCUsIHJnYmEoMCwgMCwgMCwgMC44NykgMTAwJSk7XG4gICAgICB9XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBtZWRpdW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDUwdnc7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdnc7XG4gICAgfVxuICB9XG59XG5cbnVsLmhjYV9saXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmU2ZDtcbn0iLCIucGFnZS10ZW1wbGF0ZS1pbnNwaXJhdGllIHtcbiAgI21haW4ge1xuICAgIG1hcmdpbi10b3A6IDk1cHg7XG4gIH1cbn0iLCIjdG9wIC5mb290ZXJfY29sb3IgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICBib3JkZXItY29sb3I6ICNmMmVlZWQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJlZWVkICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICM0ZDRkNGQgIWltcG9ydGFudDtcbn1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgICBjb2xvcjogIzRkNGQ0ZCAhaW1wb3J0YW50O1xuICAgIC8qIEZpcmVmb3ggKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxudGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICAgIGNvbG9yOiM0ZDRkNGQgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG50ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLyogTWljcm9zb2Z0IEVkZ2UgKi9cbiAgICBjb2xvcjogIzRkNGQ0ZCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI2Zvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMzBweCAhaW1wb3J0YW50O1xuICAgICAgICBoMSxcbiAgICAgICAgaDIsXG4gICAgICAgIGgzLFxuICAgICAgICBoNCxcbiAgICAgICAgaDUsXG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmb290ZXIge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bC5zb2NpYWxfYm9va21hcmtzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jZm9vdGVyIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgNTBweCFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNBM0ExQTU7XG59XG5cbmZvb3RlciAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDUwcHghaW1wb3J0YW50O1xuICAgIGEge1xuICAgICAgICBjb2xvcjogI0EzQTFBNSFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi8qXG5cbkdyYXZpdHkgRm9ybSBmaXhlc1xuXG4qL1xuXG4uZ2ZpZWxkX2xhYmVsLCAuZ2Zvcm1fdGl0bGUsIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuIiwiLnNpbmdsZS1yZWZlcmVudGllcyB7XG4gICAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQ4cHgpIHtcbiAgICAgICAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIzMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgfVxuICAgIC5zbGljay1uZXh0LC5zbGljay1wcmV2OmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gICAgfVxufSIsIiN0b3AudGludndsLXRoZW1lLXN0eWxlIC5wcm9kdWN0LXJlbW92ZSBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG59XG5cbi5mdGludndsLXRpbWVzOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjE4MicgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGU7XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUNBQTs7Ozs7OztFQU9FO0FFTkYsT0FBTyxDQUFQLHlFQUFPO0FERFAsQUFBQSxXQUFXLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDO0VBQzdDLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLGFBQWEsRUFBRSxHQUFHO0NBQ2xCOztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ1AsTUFBTSxFQUFDLElBQUk7RUFDWCxPQUFPLEVBQUMsR0FBRztFQUNYLFVBQVUsRUFBRSxNQUFNO0NBQ2xCOztBQUVELEFBQ0MsWUFEVyxDQUNYLEtBQUssQ0FBQztFQUNMLFVBQVUsRUFBRSxJQUFJO0NBQ2hCOztBQUhGLEFBSUMsWUFKVyxDQUlYLGFBQWEsQ0FBQztFQUNiLE1BQU0sRUFBRSxTQUFTO0VBQ2pCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFNBQVMsRUFBRSxNQUFNO0NBQ2pCOztBQVJGLEFBU0MsWUFUVyxDQVNYLEVBQUUsQUFBQSxTQUFTLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsZ0JBQWdCO0NBeUI1Qjs7QUF0Q0YsQUFjRSxZQWRVLENBU1gsRUFBRSxBQUFBLFNBQVMsQ0FLVixFQUFFLENBQUM7RUFDRixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLE1BQU0sRUFBRSxZQUFZO0VBQ3BCLFFB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 */
