/* $headings-font-weight:    700 !default; */
/**
 * Import component variables
 */
/** elements mixins **/
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/*inline-block
============================================*/
/****/
/****/
/****/
/** elements mixins **/
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/*inline-block
============================================*/
/****/
/****/
/*
 * Global variables
 */
/* main color which will be used for all main block styles... */
/**
 * Import component variables
 */
/**
 *
 */
/* --- SCSS For Accordion --- */
/* --- SCSS For Breadcrumb --- */
/* --- SCSS For Buttons --- */
/* --- SCSS For Call-to-action --- */
/* --- SCSS For Content-slider --- */
/*  */
/* carousel-controls-v1 */
/* carousel-controls-v2 */
/* carousel-controls-v3 */
/* Navigation Styles */
/* carousel-indicators-v1 */
/* carousel-indicators-v2 */
/* carousel-indicators-v3 */
/* carousel-indicators-v4 */
/* carousel-indicators-v5 */
/* carousel-indicators-v6 */
/* --- SCSS For Counters --- */
/* --- SCSS For Heading --- */
/* --- SCSS For Icon-box --- */
/* --- SCSS For Interactive-banner --- */
/* --- SCSS For Latest-posts --- */
/* latest posts */
/* --- SCSS For List --- */
/* variables for list */
/* variables for list light */
/* --- SCSS For Message --- */
/* --- SCSS For Newsletter --- */
/* --- SCSS For Piechart --- */
/* --- SCSS For Pricing --- */
/* --- SCSS For Process-steps --- */
/* process-steps */
/* --- SCSS For Service --- */
/* variables for tab style1 using as base of tab */
/* --- SCSS For Style-icon --- */
/* Variables icons default */
/* Variables icons bodered */
/* Variables icons darker */
/* Variables icons light */
/* Variables icons plain */
/* Variables icons for light style */
/* Variables icons outline */
/* Variables icons inverse */
/* --- SCSS For Table --- */
/* --- SCSS For Tabs --- */
/* variables for tab style1 using as base of tab */
/* tab style version 5 */
/* tab style version 6 */
/* --- SCSS For Testimonials --- */
/* testimonials default */
/* testimonials-v1 */
/* testimonials light */
/* --- SCSS For Typography --- */
/**
 *   Blocks Layout Selectors
 */
/********* LAYOUT **************/
.widget.widget_product_categories ul li,
.widget.widget_categories ul li,
.widget.widget_layered_nav ul li,
.widget.widget_layered_nav_filters ul li,
.widget_nav_menu ul li {
  border-bottom: 1px solid #ededed;
  padding: 10px 0; }
  .widget.widget_product_categories ul li:last-child,
  .widget.widget_categories ul li:last-child,
  .widget.widget_layered_nav ul li:last-child,
  .widget.widget_layered_nav_filters ul li:last-child,
  .widget_nav_menu ul li:last-child {
    border-bottom: none;
    padding-bottom: 0; }

/*------------------------------------*    Widget Price Filter
\*------------------------------------*/
.widget_price_filter .price_slider_wrapper {
  padding-top: 20px; }

.widget_price_filter .ui-slider .ui-slider-handle {
  background-color: #54a9a2 !important; }

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  margin-bottom: 30px;
  background-color: #ededed !important; }

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  background: #000 !important; }

.widget_price_filter .price_slider_amount .button {
  padding: 12px 18px; }

/*------------------------------------*    Product List Widget
\*------------------------------------*/
.woocommerce ul.product_list_widget {
  padding: 0;
  list-style: none; }
  .woocommerce ul.product_list_widget li .review,
  .woocommerce ul.product_list_widget .widget-product .review {
    clear: left; }
  .woocommerce ul.product_list_widget li .price del,
  .woocommerce ul.product_list_widget .widget-product .price del {
    font-size: 14px;
    color: #54a9a2; }
  .woocommerce ul.product_list_widget li .price ins,
  .woocommerce ul.product_list_widget .widget-product .price ins {
    color: #666666;
    font-size: 12px;
    text-decoration: none; }
  .woocommerce ul.product_list_widget li img,
  .woocommerce ul.product_list_widget .widget-product img {
    width: 82px;
    float: left;
    margin-left: 0; }
  .woocommerce ul.product_list_widget li .rating,
  .woocommerce ul.product_list_widget .widget-product .rating {
    margin-bottom: 8px; }
  .woocommerce ul.product_list_widget li .star-rating,
  .woocommerce ul.product_list_widget .widget-product .star-rating {
    margin: 0; }
  .woocommerce ul.product_list_widget li .name,
  .woocommerce ul.product_list_widget .widget-product .name {
    font-weight: 400;
    margin-top: 0;
    text-transform: none;
    height: 42px;
    overflow: hidden;
    line-height: 20px; }
  .woocommerce ul.product_list_widget li span.amount,
  .woocommerce ul.product_list_widget .widget-product span.amount {
    color: #54a9a2; }
  .woocommerce ul.product_list_widget li a,
  .woocommerce ul.product_list_widget .widget-product a {
    font-weight: normal; }

/**
 * Styling special product block.
 */
.products.related, .products.upsells {
  margin-bottom: 20px !important;
  position: relative;
  padding: 0px;
  background: transparent;
  border-width: 0px;
  border-style: solid; }

.products.related h2, .product > #reviews > h3, .products.upsells h2 {
  color: #000000;
  padding: 20px 0;
  margin: 0 0 10px;
  text-transform: none;
  font-size: 30px;
  position: relative;
  text-align: center;
  letter-spacing: 2px;
  z-index: 10;
  line-height: 1.1;
  text-align: left;
  border-bottom: solid 1px #ededed; }
  .products.related h2 > span, .product > #reviews > h3 > span, .products.upsells h2 > span {
    padding: 0 25px;
    display: inline-block; }

.products.related h2, .product.upsell h2 {
  border-bottom: solid 1px #000; }

.product > #reviews {
  border: solid 1px #ededed;
  margin-bottom: 20px; }

/**
 * Deal Modules
 */
.woo-deals .caption {
  padding: 5px 20px 20px !important; }

.woo-deals .carousel-inner {
  overflow: visible; }

.woo-deals .description {
  margin-bottom: 10px;
  font-size: 13px; }

.woo-deals .pts-countdown {
  padding: 5px 0;
  font-family: "Poppins", sans-serif;
  font-size: 10px; }

.woo-deals .deals-information {
  margin-bottom: 20px; }

.woo-deals .rating > * {
  float: none; }

.woo-deals .countdown-times {
  overflow: hidden;
  -webkit-transform: translate(0px, 0px);
  -ms-transform: translate(0px, 0px);
  -o-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease; }
  .woo-deals .countdown-times > div {
    text-align: center;
    float: left;
    margin-right: 5%;
    width: 20%; }
    .woo-deals .countdown-times > div > b {
      display: block;
      font-size: 14px;
      font-weight: 900;
      color: #54a9a2; }
    .woo-deals .countdown-times > div:last-child {
      padding-right: 0;
      float: right; }

.woo-deals .cart {
  left: 0;
  position: absolute;
  right: 0;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: translate(0px, 60px);
  -ms-transform: translate(0px, 60px);
  -o-transform: translate(0px, 60px);
  transform: translate(0px, 60px);
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
  visibility: hidden; }
  .woo-deals .cart .add_to_cart_button {
    color: #000000;
    background: #fff;
    font-weight: 900; }
    .woo-deals .cart .add_to_cart_button.added {
      display: none; }
    .woo-deals .cart .add_to_cart_button:hover, .woo-deals .cart .add_to_cart_button:active, .woo-deals .cart .add_to_cart_button:focus {
      color: #fff;
      background: #54a9a2; }
  .woo-deals .cart .wc-forward {
    margin: 0 auto; }

.woo-deals:hover .cart {
  -webkit-transform: translate(0px, 30px);
  -ms-transform: translate(0px, 30px);
  -o-transform: translate(0px, 30px);
  transform: translate(0px, 30px);
  visibility: visible;
  opacity: 1;
  filter: alpha(opacity=100); }

/**
 * Widget Products Categories Menu 
 */
ul.product-categories {
  padding-left: 0;
  list-style: none; }
  ul.product-categories li.cat-parent .children {
    margin-top: 5px; }
  ul.product-categories li.current-cat > a, ul.product-categories li.current-cat-parent > a {
    color: #54a9a2; }
  ul.product-categories li ul li {
    padding: 0 0 0 20px; }
  ul.product-categories li {
    position: relative; }
    ul.product-categories li .closed, ul.product-categories li .opened {
      position: absolute;
      right: 15px;
      top: 17px;
      content: "";
      font-size: 10px;
      color: #aaa;
      cursor: pointer; }
      ul.product-categories li .closed:hover, ul.product-categories li .opened:hover {
        color: #54a9a2; }
    ul.product-categories li a {
      color: #000; }
      ul.product-categories li a:hover {
        -webkit-transition: all 0.05s ease 0s;
        -o-transition: all 0.05s ease 0s;
        transition: all 0.05s ease 0s;
        color: #54a9a2; }
    ul.product-categories li li:before {
      position: absolute;
      left: 30px;
      content: "\f0da";
      font-family: "FontAwesome";
      color: #54a9a2;
      display: inline-block;
      font-size: 11px;
      line-height: 22px;
      top: 7px; }
    ul.product-categories li li a {
      color: #999999;
      font-size: 12px; }
      ul.product-categories li li a:hover {
        color: #54a9a2; }

/*
**  pbr category list
*/
.pbr-category-list #pbr-accordion-categories .category-title {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 17px 15px;
  padding-right: 20px;
  padding-left: 30px;
  width: 100%;
  background: url(../../../images/list-style.png) no-repeat 15px 25px transparent; }
  .pbr-category-list #pbr-accordion-categories .category-title a {
    text-transform: uppercase;
    font-size: 12px; }
    .pbr-category-list #pbr-accordion-categories .category-title a:hover {
      color: #54a9a2; }
  .pbr-category-list #pbr-accordion-categories .category-title a.dropdown {
    float: right;
    margin-left: 10px; }
  .pbr-category-list #pbr-accordion-categories .category-title .total-product {
    display: inline-block; }

.pbr-category-list #pbr-accordion-categories .panel-collapse .category-title {
  padding-top: 0;
  padding-bottom: 0;
  border: none;
  background-position: 12px 12px; }
  .pbr-category-list #pbr-accordion-categories .panel-collapse .category-title a {
    font-size: 11px; }

/*------------------------------------*    Cart
\*------------------------------------*/
.cart_list > div {
  margin: 10px 0;
  padding: 10px 0;
  position: relative; }

.cart_list .name {
  font-size: 14px;
  font-weight: normal;
  line-height: 20px;
  text-transform: none;
  margin-top: 0;
  font-family: "Poppins", sans-serif; }

.cart_list .image {
  width: 82px;
  height: 82px; }

.cart_list .cart-item {
  line-height: 1.1;
  margin: 0;
  font-size: 14px; }
  .cart_list .cart-item .amount {
    font-size: 14px;
    color: #54a9a2; }

.cart_list .cart-main-content {
  text-align: left; }
  .cart_list .cart-main-content .remove {
    position: absolute;
    right: 0;
    top: 10px;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 18px;
    /* 9 */
    font-size: 1.8rem;
    /* 9 */
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center; }

.cart_list + .total {
  text-align: right;
  margin-top: 10px;
  padding: 0 15px; }
  .cart_list + .total .amount {
    font-size: 15px;
    color: #54a9a2;
    font-weight: 600; }

.widget_shopping_cart .widget_shopping_cart_content .buttons {
  padding: 20px 15px;
  overflow: hidden; }

/** widget-timing-deal  */
.widget-timing-deal {
  background-image: url("../../../images/dont-miss.png");
  background-repeat: no-repeat;
  background-position: left top; }
  .widget-timing-deal .owl-controls {
    display: none !important; }
  .widget-timing-deal .widget-heading {
    padding: 20px 5px 10px 35px; }
    .widget-timing-deal .widget-heading h3 {
      font-size: 30px;
      margin: 0; }
      .widget-timing-deal .widget-heading h3 span {
        color: #000000; }
    .widget-timing-deal .widget-heading p {
      margin-bottom: 0; }
  .widget-timing-deal .woo-products-deals {
    border: 1px solid #ededed;
    position: relative;
    padding-right: 0;
    padding-left: 0; }
    @media (min-width: 991px) {
      .widget-timing-deal .woo-products-deals:before {
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        border-left: 8px solid #e43636;
        content: "";
        position: absolute;
        left: -1px;
        top: 45%;
        z-index: 3; } }
    .widget-timing-deal .woo-products-deals .product-deal {
      padding: 10px;
      text-align: center;
      min-height: 150px;
      margin-bottom: 0; }
  .widget-timing-deal .product-deal .onsale {
    display: none; }
  .widget-timing-deal .product-deal .image .product-image {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transition: all 0.6s ease-out 0s;
    -o-transition: all 0.6s ease-out 0s;
    transition: all 0.6s ease-out 0s; }
  .widget-timing-deal .product-deal .image:hover .product-image {
    opacity: 0.25;
    filter: alpha(opacity=25);
    -webkit-transition: all 0.6s ease-out 0s;
    -o-transition: all 0.6s ease-out 0s;
    transition: all 0.6s ease-out 0s; }
  .widget-timing-deal .product-deal .image .button-action {
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.6s ease-out 0s;
    -o-transition: all 0.6s ease-out 0s;
    transition: all 0.6s ease-out 0s;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 100%;
    height: 85px; }
  .widget-timing-deal .product-deal .image:hover .button-action {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 0.6s ease-out 0s;
    -o-transition: all 0.6s ease-out 0s;
    transition: all 0.6s ease-out 0s;
    background-color: transparent; }
  .widget-timing-deal .countdown-times > div {
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
    position: relative;
    font-size: 12px;
    text-align: left; }
    .widget-timing-deal .countdown-times > div:before {
      content: ":";
      position: absolute;
      right: 0;
      top: 10px; }
    .widget-timing-deal .countdown-times > div > b {
      display: block;
      font-size: 18px;
      font-weight: 500;
      color: #fff; }
    .widget-timing-deal .countdown-times > div:last-child:before {
      content: ""; }

/** widget-products-collection  */
.widget-products-collection .main-posts .product-block:hover {
  box-shadow: none; }
  .widget-products-collection .main-posts .product-block:hover .action-bottom {
    box-shadow: none; }

.widget-products-collection .main-posts .product-block .action-bottom {
  display: none; }

.widget-products-collection .main-posts .product-block .caption-list {
  padding: 0 10px; }
  .widget-products-collection .main-posts .product-block .caption-list .name {
    font-size: 24px;
    padding: 0; }
    .widget-products-collection .main-posts .product-block .caption-list .name a {
      color: #000; }
  .widget-products-collection .main-posts .product-block .caption-list p {
    height: 90px;
    min-height: 90px;
    overflow: hidden; }
  .widget-products-collection .main-posts .product-block .caption-list .price {
    margin-bottom: 20px;
    margin-top: 30px;
    display: block; }
    .widget-products-collection .main-posts .product-block .caption-list .price > del {
      font-size: 24px;
      text-decoration: none;
      position: relative;
      padding-right: 15px;
      color: #54a9a2; }
      .widget-products-collection .main-posts .product-block .caption-list .price > del:after {
        background-color: #ededed;
        content: "";
        display: block;
        height: 1px;
        left: 0;
        position: absolute;
        width: 40px; }
      .widget-products-collection .main-posts .product-block .caption-list .price > del:after {
        top: 45px; }
    .widget-products-collection .main-posts .product-block .caption-list .price > ins {
      font-size: 14px;
      text-decoration: line-through;
      color: #666666; }
  .widget-products-collection .main-posts .product-block .caption-list .add_to_cart_button {
    padding: 0;
    text-align: left; }

/** widget-productcategory  */
.pbr-productcategory .padding-wrap {
  padding: 20px 10px 0; }

.pbr-productcategory .owl-item {
  padding: 0 10px; }

.popupnewsletter .modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle; }

@media screen and (min-width: 992px) {
  .popupnewsletter .modal-body {
    width: 52%;
    margin: 60px 30px; } }

.popupnewsletter .modal-body h3 {
  color: #fff;
  position: relative;
  margin-bottom: 30px; }
  .popupnewsletter .modal-body h3:after {
    color: #757575;
    content: ". . .";
    font-size: 20px;
    left: 0;
    position: absolute;
    right: 0;
    top: 28px; }

.popupnewsletter .modal-body h4 {
  color: #000;
  text-transform: none; }

.popupnewsletter .modal-body .description {
  color: #fff;
  margin-bottom: 25px; }

@media screen and (min-width: 992px) {
  .popupnewsletter .modal-dialog {
    width: 800px; } }

@media screen and (max-width: 599px) {
  .popupnewsletter .modal-dialog {
    width: 100%; } }

.popupnewsletter .modal-content {
  background-image: url("../../../images/bg_popup_newsletter.jpg");
  background-color: #e2ddda;
  background-position: right bottom;
  background-repeat: no-repeat;
  height: auto !important;
  margin: 0;
  padding: 0;
  text-align: center; }
  @media screen and (min-width: 992px) {
    .popupnewsletter .modal-content {
      width: 800px; } }
  @media screen and (max-width: 992px) {
    .popupnewsletter .modal-content {
      width: 100%; } }
  .popupnewsletter .modal-content .close {
    border: none;
    background: #000;
    color: #FFF;
    padding: 0 10px;
    position: absolute;
    top: -15px;
    right: 0; }

.widget_strollik_accessories {
  border-top: 1px solid #ededed;
  margin-bottom: 50px; }
  .widget_strollik_accessories .products-grid div.product .product-block {
    margin-bottom: 0; }

.woocommerce-product-search input.search-field {
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
  color: #555555;
  font-size: 14px;
  height: 46px;
  line-height: 1.62857;
  padding: 9px 20px; }

.woocommerce-product-search input[type="submit"] {
  background-color: #54a9a2;
  height: 46px;
  color: #fff;
  border: 1px solid #54a9a2;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 500;
  font-size: 12px; }

/* widget-product-info */
.widget-product-info .pro-img {
  position: relative; }
  .widget-product-info .pro-img:before {
    bottom: 0;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.2) 30%, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    background: -moz-radial-gradient(ellipse at center, rgba(255, 255, 255, 0.2) 30%, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    background: -webkit-radial-gradient(ellipse at center, rgba(255, 255, 255, 0.2) 30%, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    background: -ms-radial-gradient(ellipse at center, rgba(255, 255, 255, 0.2) 30%, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    transform: scale(2.5);
    content: "";
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1; }
  .widget-product-info .pro-img img {
    z-index: 2;
    position: relative; }

.widget-product-info .description {
  position: relative;
  z-index: 2; }

.widget-product-info .product-info-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-around; }

.widget-product-info.info-light {
  color: #fff; }
  .widget-product-info.info-light h3, .widget-product-info.info-light h4 {
    color: #fff;
    font-size: 20px;
    line-height: 34px; }

/* widget-single-product */
.widget-single-product {
  color: #fff;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px; }
  .widget-single-product .qty {
    line-height: 34px;
    width: 60px;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    text-align: center;
    margin: 0 15px; }
  .widget-single-product .product {
    border: none !important;
    padding: 0 !important;
    margin-top: 10px; }
    .widget-single-product .product .amount {
      font-size: 30px;
      color: #54a9a2;
      font-weight: 700;
      letter-spacing: -2px; }
  .widget-single-product .add-cart .added_to_cart {
    display: none; }

/* widget-single-product-v2  */
.widget-single-product-v2 .product-summary h1.product_title {
  display: block;
  text-transform: normal; }

.widget-single-product-v2 .single-product-review {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  -moz-justify-content: space-between;
  -webkit-justify-content: space-between;
  padding: 15px 0;
  margin-top: 20px;
  margin-bottom: 20px;
  border-top: 1px solid #ededed;
  border-bottom: 1px solid #ededed; }
  .widget-single-product-v2 .single-product-review .woocommerce-product-rating {
    display: inline-block; }

.widget-single-product-v2 .single-product-price {
  border-bottom: 1px solid #ededed;
  margin-bottom: 30px; }
  .widget-single-product-v2 .single-product-price .price {
    font-size: 30px;
    font-weight: 800;
    color: #54a9a2;
    letter-spacing: -2px; }

.widget-single-product-v2 button.button {
  min-height: 52px;
  padding: 0 50px !important;
  background-color: #54a9a2 !important; }

.widget-single-product-v2 .single_variation_wrap {
  margin-top: 40px; }
  .widget-single-product-v2 .single_variation_wrap .woocommerce-variation-price, .widget-single-product-v2 .single_variation_wrap .woocommerce-variation {
    border: 1px solid #ededed;
    background-color: #fafafa;
    padding: 15px 20px;
    font-weight: bold;
    margin-bottom: 30px; }

.widget-single-product-v2 label[for="pa_color"] {
  font-weight: normal;
  font-size: 14px;
  margin-right: 15px;
  margin-top: 10px; }

.widget-single-product-v2 .qty {
  min-height: 52px;
  text-align: center; }

.widget-single-product-v2 .woocommerce-product-rating {
  display: none; }

/*------------------------------------*    Mini Cart
\*------------------------------------*/
.pbr-topcart .dropdown.open .mini-cart:before {
  content: "";
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px; }

.pbr-topcart .dropdown-menu {
  top: 50px;
  padding: 20px;
  min-width: 320px;
  display: block;
  visibility: hidden;
  text-align: left;
  left: auto;
  right: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  -o-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1); }
  .pbr-topcart .dropdown-menu:before, .pbr-topcart .dropdown-menu:after {
    content: "";
    display: inline-block;
    *display: inline;
    zoom: 1;
    position: absolute;
    left: 100%;
    margin-left: -26%; }
  .pbr-topcart .dropdown-menu:before {
    top: -11px;
    border-bottom: 11px solid rgba(0, 0, 0, 0.2);
    border-left: 11px solid transparent;
    border-right: 11px solid transparent; }
  .pbr-topcart .dropdown-menu:after {
    top: -10px;
    border-bottom: 11px solid #FFF;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent; }
  .pbr-topcart .dropdown-menu .quantity {
    font-size: 14px; }

.pbr-topcart .media {
  border-bottom: solid 1px #ededed; }

.pbr-topcart .name {
  font-size: 12px; }
  .pbr-topcart .name a {
    color: #000 !important; }
    .pbr-topcart .name a:hover {
      color: #54a9a2 !important; }

.pbr-topcart .open .dropdown-menu {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform-origin: 29px -50px;
  -moz-transform-origin: 29px -50px;
  -ms-transform-origin: 29px -50px;
  transform-origin: 29px -50px;
  filter: none;
  -webkit-filter: none;
  -moz-filter: none;
  -o-filter: none;
  -ms-filter: none;
  visibility: visible;
  z-index: 99999; }

.pbr-topcart .total {
  padding-top: 20px;
  padding-bottom: 10px; }

.pbr-topcart .buttons {
  margin-bottom: 0;
  padding: 15px 30px;
  margin-right: -20px;
  margin-left: -20px; }

#cart .mini-cart > * {
  text-transform: uppercase;
  font-weight: 300; }

#cart .mini-cart .title-cart {
  /* 3 */
  /* 3 */
  /* 4 */
  /* 6 */
  /* 6 */
  /* 7 */
  font-size: 11px;
  /* 9 */
  font-size: 1.1rem;
  /* 9 */
  font-weight: 400;
  line-height: 24px; }

#cart .cart-icon {
  text-transform: uppercase; }

#cart .title-cart, #cart .dropdown-toggle .amount, #cart .mini-cart-items em {
  display: none; }

#cart .mini-cart-items {
  display: block;
  top: 0;
  right: 0;
  position: absolute;
  color: #FFF;
  font-size: 10px;
  padding: 0 6px;
  z-index: 3;
  font-weight: bold;
  border: 1px solid rgba(255, 255, 255, 0.4);
  line-height: 24px;
  text-align: center;
  width: 24px;
  height: 24px; }

#cart .cart-icon {
  display: inline-block;
  padding: 7px 10px 0 0; }
  #cart .cart-icon i {
    display: block;
    float: left;
    background: url("../../../images/cart-bg.png") no-repeat center top transparent;
    width: 24px;
    height: 24px;
    -webkit-transition: all 0.35s;
    -o-transition: all 0.35s;
    transition: all 0.35s; }

#cart.version-2 {
  background-color: #54a9a2;
  padding: 5px 15px; }
  #cart.version-2 .cart-icon {
    padding: 0 10px 0 0;
    display: inline; }
    #cart.version-2 .cart-icon i {
      background: transparent;
      color: #fff;
      line-height: 24px;
      text-align: center; }
  #cart.version-2 .title-cart {
    display: inline-block;
    color: #fff;
    margin-right: 10px; }
  #cart.version-2 .mini-cart-items {
    position: inherit;
    display: inline-block;
    z-index: 3; }

#cart.version-4 .cart-icon i {
  background: url("../../../images/cart-v4.png") no-repeat center top transparent; }

.woocommerce .product.first {
  clear: both; }

.widget-products .owl-controls {
  display: none !important; }

.widget-products-bg {
  margin: 0 -10px; }
  .widget-products-bg .owl-item {
    padding: 0 10px; }
  .widget-products-bg .product-block .caption::before {
    content: none; }

.productinfo-show-discounts {
  font-size: 12px;
  margin: 20px 0 !important;
  padding-left: 75px;
  position: relative;
  color: #666;
  padding: 0;
  margin-bottom: 22px;
  border-radius: 0px;
  overflow: hidden;
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d; }
  .productinfo-show-discounts:before {
    background: url("../../../images/icon-show-discounts.png") no-repeat center center #70ba28;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    position: absolute;
    left: 20px;
    top: 20px;
    content: ""; }
  .productinfo-show-discounts hr {
    border-top-color: #c9e2b3; }
  .productinfo-show-discounts .alert-link {
    color: #2b542c; }
  .productinfo-show-discounts ul {
    list-style: none;
    margin-left: 40px;
    padding: 15px 30px; }
    .productinfo-show-discounts ul li {
      padding: 3px 0; }
      .productinfo-show-discounts ul li:before {
        content: "\f14a";
        font-family: "FontAwesome";
        color: #70ba28;
        padding-right: 8px; }

#reviews {
  margin-bottom: 0; }
  #reviews .reviews-summary {
    padding: 0 80px; }
    #reviews .reviews-summary h5 {
      font-size: 12px;
      margin-bottom: 20px; }
    #reviews .reviews-summary .review-summary-total {
      text-align: center;
      font-weight: 400;
      margin-right: 50px;
      padding-right: 50px;
      border-right: 1px solid #ededed; }
      #reviews .reviews-summary .review-summary-total .review-summary-result {
        text-align: center;
        color: #54a9a2;
        font-size: 48px; }
    #reviews .reviews-summary .review-summary-detal {
      overflow: hidden;
      display: block;
      margin-top: 0px; }
      #reviews .reviews-summary .review-summary-detal .review-label {
        color: #000;
        font-weight: 400;
        min-width: 60px; }
  #reviews .comments {
    border-top: 1px solid #ededed;
    padding: 40px 0;
    margin-top: 40px; }
    #reviews .comments .commentlist {
      margin: 15px 0; }
      #reviews .comments .commentlist .comment {
        margin-bottom: 30px;
        padding-bottom: 15px;
        border-bottom: 1px solid #ededed; }
        #reviews .comments .commentlist .comment:last-child {
          margin-bottom: 0;
          padding-bottom: 0;
          border-bottom: none; }
      #reviews .comments .commentlist .pbr-avata {
        width: 100px; }
        #reviews .comments .commentlist .pbr-avata > div {
          display: inline-block; }
        #reviews .comments .commentlist .pbr-avata .pbr-image .avatar {
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          -ms-border-radius: 50%;
          -o-border-radius: 50%;
          overflow: hidden; }
        #reviews .comments .commentlist .pbr-avata .pbr-author {
          color: #000;
          font-weight: 900;
          padding-top: 10px;
          text-transform: capitalize; }
      #reviews .comments .commentlist .comment-text {
        padding: 0 20px; }
        #reviews .comments .commentlist .comment-text .meta {
          color: #bbb;
          font-size: 12px; }
        #reviews .comments .commentlist .comment-text > div {
          margin-bottom: 7px;
          float: left; }
        #reviews .comments .commentlist .comment-text .star-rating {
          margin-bottom: 15px; }
  #reviews .review_form_wrapper {
    border-top: 1px solid #ededed;
    padding: 40px 0  0; }
  #reviews .progress {
    margin-bottom: 12px;
    background-color: #f2f2f2;
    -webkit-box-shadow: none;
    box-shadow: none;
    height: 18px; }
    #reviews .progress .progress-bar {
      color: #aaa; }
      #reviews .progress .progress-bar.progress-bared {
        color: #fff; }
  #reviews #reply-title {
    margin-bottom: 20px;
    font-size: 16px;
    font-family: "Poppins", sans-serif; }

/**
 * Product Single Page
 */
.product-block {
  display: block;
  position: relative;
  -webkit-transition: all 400ms ease 0s;
  -o-transition: all 400ms ease 0s;
  transition: all 400ms ease 0s;
  z-index: 0; }
  @media (max-width: 480px) {
    .product-block {
      margin-bottom: 20px; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .product-block {
      margin-bottom: 30px; } }
  .product-block span.onsale {
    top: inherit;
    right: 0;
    left: 0;
    bottom: -15px;
    margin: 0 auto; }
  .product-block .sale-off {
    position: absolute;
    width: 36px;
    height: 36px;
    background-color: #fb4949;
    color: #fff;
    top: 0;
    right: 0;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    line-height: 36px;
    font-size: 12px;
    font-weight: 400; }
  .product-block .image {
    position: relative; }
    .product-block .image img {
      height: auto;
      width: 100%; }
    .product-block .image a, .product-block .image .product-image {
      display: block;
      overflow: hidden;
      position: relative; }
    .product-block .image .image-effect {
      top: 0;
      position: absolute;
      overflow: hidden;
      left: 0;
      opacity: 1;
      filter: alpha(opacity=100);
      -webkit-transform: translate(-100%, 0px);
      -ms-transform: translate(-100%, 0px);
      -o-transform: translate(-100%, 0px);
      transform: translate(-100%, 0px);
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
    .product-block .image .image-hover {
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
    .product-block .image:hover .image-effect {
      -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      -o-transform: translate(0px, 0px);
      transform: translate(0px, 0px); }
    .product-block .image:hover .image-hover {
      -webkit-transform: translate(100%, 0px);
      -ms-transform: translate(100%, 0px);
      -o-transform: translate(100%, 0px);
      transform: translate(100%, 0px); }
  .product-block .caption {
    text-align: center;
    position: relative; }
  .product-block .price > * {
    width: auto;
    display: inline-block;
    display: block;
    text-align: center;
    position: relative;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 24px;
    /* 9 */
    font-size: 2.4rem;
    /* 9 */
    font-weight: 700;
    color: #54a9a2;
    display: inline-block; }
  .product-block .price > ins {
    text-decoration: none; }
  .product-block .price > del {
    color: #666666;
    font-size: 16px;
    text-decoration: line-through;
    font-weight: 300; }
  .product-block .name {
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 18px;
    /* 9 */
    font-size: 1.8rem;
    /* 9 */
    line-height: 20px;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: -1px; }
  .product-block .model {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px; }
  .product-block .category {
    text-transform: none;
    font-weight: 300;
    font-style: italic;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 12px;
    /* 9 */
    font-size: 1.2rem;
    /* 9 */ }
    .product-block .category a {
      color: #999999; }
      .product-block .category a:hover {
        color: #54a9a2; }
  .product-block .price {
    margin-top: 20px;
    display: inline-block; }
  .product-block .add_to_cart_button {
    position: relative;
    margin-top: 35px; }
    .product-block .add_to_cart_button.loading .title-cart {
      visibility: hidden; }
      .product-block .add_to_cart_button.loading .title-cart:after {
        visibility: visible;
        content: "Loading..";
        position: absolute;
        top: 15px;
        left: 5px;
        width: 100%;
        text-align: center; }
  .product-block .added_to_cart {
    display: none !important; }
  .product-block:hover .button-action > div {
    opacity: 1;
    filter: alpha(opacity=100);
    transform: translate3d(0px, 0px, 0px); }
  .product-block:hover .caption:before {
    content: none; }

.button-action {
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  height: 45px;
  z-index: 999;
  -webkit-transition: all 0.4s ease-in-out 0s;
  -o-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s;
  width: 100%; }
  @media (max-width: 768px) {
    .button-action {
      display: none; } }
  .button-action > div {
    display: inline-block;
    text-align: center;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.35s;
    transition-duration: 0.35s;
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
    -webkit-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
    -o-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
    transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; }
    @media (min-width: 991px) {
      .button-action > div {
        opacity: 0;
        filter: alpha(opacity=0);
        -webkit-transform: translate3d(0px, 30px, 0px);
        transform: translate3d(0px, 30px, 0px); } }
    .button-action > div.yith-compare .compare.added {
      overflow: hidden;
      color: transparent !important; }
      .button-action > div.yith-compare .compare.added:before {
        content: "\f0ec";
        font-family: 'FontAwesome';
        position: absolute;
        color: #FFF !important;
        width: 35px;
        height: 35px; }
    .button-action > div .title {
      display: none; }
    .button-action > div a {
      text-align: center !important;
      -webkit-transition: all 0.35s;
      -o-transition: all 0.35s;
      transition: all 0.35s;
      float: left;
      text-align: center;
      overflow: hidden;
      position: relative;
      width: 40px;
      height: 40px;
      border-radius: 0;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      -ms-border-radius: 0;
      -o-border-radius: 0;
      line-height: 40px;
      background-color: rgba(84, 169, 162, 0.6);
      color: #fff; }
      .button-action > div a:hover {
        background-color: #54a9a2; }
      .button-action > div a.add_to_wishlist {
        border-radius: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -ms-border-radius: 0;
        -o-border-radius: 0;
        padding: 0; }
      .button-action > div a.compare {
        margin-left: -4px; }

div[class*="add-to-wishlist"] {
  margin-top: 0;
  position: relative; }
  div[class*="add-to-wishlist"] .ajax-loading {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0; }

.yith-wcwl-add-to-wishlist {
  margin-top: 0; }

/**
 * Products Listing In Grid Style
 */
.products-grid div.product {
  position: relative; }
  .products-grid div.product .product-block {
    margin-bottom: 60px; }
    .products-grid div.product .product-block .name {
      margin-top: 35px; }
    .products-grid div.product .product-block .image {
      border-bottom: 1px solid #ededed;
      margin-bottom: 30px; }
    .products-grid div.product .product-block .rating {
      text-align: center;
      display: none; }
      .products-grid div.product .product-block .rating .star-rating {
        display: inline-block;
        float: none; }
    .products-grid div.product .product-block .button-action > div.yith-wcwl-add-to-wishlist a i {
      margin-right: 0 !important; }
    .products-grid div.product .product-block .button-action > div.yith-wcwl-add-to-wishlist a span {
      display: none; }
    .products-grid div.product .product-block .button-action .yith-wcwl-wishlistaddedbrowse .feedback,
    .products-grid div.product .product-block .button-action .yith-wcwl-wishlistexistsbrowse .feedback {
      overflow: hidden;
      color: transparent;
      width: 40px;
      height: 40px;
      text-indent: -999px;
      background-color: #54a9a2;
      display: block;
      position: relative;
      border-radius: 0;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      -ms-border-radius: 0;
      -o-border-radius: 0; }
      .products-grid div.product .product-block .button-action .yith-wcwl-wishlistaddedbrowse .feedback:before,
      .products-grid div.product .product-block .button-action .yith-wcwl-wishlistexistsbrowse .feedback:before {
        content: "\f08a";
        font-family: FontAwesome;
        position: absolute;
        color: #fff;
        line-height: 40px;
        text-indent: 0px;
        left: 50%;
        margin-left: -7px; }
    .products-grid div.product .product-block .button-action .yith-wcwl-wishlistaddedbrowse a,
    .products-grid div.product .product-block .button-action .yith-wcwl-wishlistexistsbrowse a {
      display: none !important; }
    .products-grid div.product .product-block .button-action .quick-view .quickview span {
      display: none; }

.products-list .rating:before, .products-list .rating:after {
  content: " ";
  display: table; }

.products-list .rating:after {
  clear: both; }

.products-list .rating .star-rating {
  float: right; }

.products-list .clear {
  display: none; }

.products-list .product-block {
  border-bottom: solid 1px #ededed;
  padding-bottom: 30px;
  margin-bottom: 30px; }
  .products-list .product-block .name {
    padding: 0;
    font-weight: bold; }
  .products-list .product-block .product-assets {
    text-align: right; }
  .products-list .product-block .yith-wcwl-wishlistaddedbrowse a,
  .products-list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist,
  .products-list .product-block .yith-wcwl-add-button a,
  .products-list .product-block .yith-wcwl-add-button a.add_to_wishlist,
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a,
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist {
    color: #666;
    font-weight: 400;
    line-height: 30px; }
    .products-list .product-block .yith-wcwl-wishlistaddedbrowse a:hover,
    .products-list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist:hover,
    .products-list .product-block .yith-wcwl-add-button a:hover,
    .products-list .product-block .yith-wcwl-add-button a.add_to_wishlist:hover,
    .products-list .product-block .yith-wcwl-wishlistexistsbrowse a:hover,
    .products-list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist:hover {
      color: #54a9a2; }
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a {
    display: none; }
  .products-list .product-block a.compare, .products-list .product-block a.quickview {
    color: #666;
    font-weight: 400;
    line-height: 30px; }
    .products-list .product-block a.compare:hover, .products-list .product-block a.quickview:hover {
      color: #54a9a2; }
    .products-list .product-block a.compare.added, .products-list .product-block a.quickview.added {
      color: #54a9a2; }
  .products-list .product-block:hover {
    box-shadow: none; }

.products-list .type-product:last-child .product-block {
  border-bottom: none; }

ul.pbr-w-products-list {
  padding: 0;
  margin: 0 !important; }
  ul.pbr-w-products-list .product-block img {
    max-width: 90px;
    margin-right: 15px; }

.woocommerce .product span.onsale,
.products span.onsale {
  min-width: auto;
  max-height: auto;
  background-color: #f0c73b;
  color: #FFF;
  font-size: 14px;
  z-index: 100;
  min-height: 30px;
  line-height: 30px;
  padding: 0 15px;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  font-weight: 400;
  max-width: 135px;
  height: 30px;
  bottom: -15px;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  text-align: center;
  top: inherit; }

.woocommerce .product .star-rating,
.products .star-rating {
  font-size: 10px;
  float: left; }
  .woocommerce .product .star-rating:before,
  .products .star-rating:before {
    content: "\53\53\53\53\53";
    color: #d5d5d5; }
  .woocommerce .product .star-rating span:before,
  .products .star-rating span:before {
    content: "\53\53\53\53\53";
    color: #f0c73b; }

/**
 * Single product
 */
/*------------------------------------*    Quantity inputs
\*------------------------------------*/
.quantity {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
  float: left; }
  .quantity span {
    font-size: 16px;
    margin-right: 5px; }
  .quantity input.qty {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding: 5px;
    width: 45px;
    height: 35px;
    color: #000;
    font-weight: 400;
    border: 1px solid #e5e5e5; }
    .quantity input.qty:focus:focus {
      border-color: #66afe9;
      outline: 0;
      -webkit-box-shadow: none;
      box-shadow: none; }
  .quantity .plus, .quantity .minus {
    background: #FFF;
    float: right;
    clear: right;
    display: block;
    padding: 0;
    margin: 0;
    vertical-align: text-top;
    text-decoration: none;
    overflow: visible;
    text-decoration: none;
    cursor: pointer;
    line-height: 13px;
    font-size: 12px;
    color: #666666;
    border: 1px solid #ededed;
    text-align: center;
    width: 25px;
    height: 19px; }
  .quantity .plus {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    right: 0; }
  .quantity .minus {
    bottom: 0;
    right: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0; }

/* Single > Meta */
.product_meta {
  clear: both;
  margin-top: 20px;
  padding: 15px 0 5px;
  border-top: 1px solid #ededed; }
  .product_meta a {
    color: #a0a0a0; }
    .product_meta a:hover {
      color: #54a9a2;
      text-decoration: none; }
  .product_meta > span {
    display: block;
    color: #000; }
  .product_meta > div {
    margin-bottom: 10px; }
  .product_meta .posted_in, .product_meta .tagged_as {
    font-weight: bold;
    font-weight: 600; }
    .product_meta .posted_in a, .product_meta .tagged_as a {
      font-weight: 400; }

.sku_wrapper {
  font-weight: bold;
  font-weight: 600; }

.sku_wrapper span {
  display: inline;
  font-weight: 400;
  color: #a0a0a0; }

.single-product.woocommerce div.product span.onsale {
  display: none; }

.single-product.woocommerce div.product .products span.onsale {
  display: block; }

.single-product.woocommerce div.product div.images img {
  width: auto;
  margin-bottom: 20px; }

.single-product.woocommerce div.product p.price {
  color: #54a9a2;
  font-size: 30px;
  font-weight: 700; }
  .single-product.woocommerce div.product p.price del {
    font-size: 16px;
    color: #000;
    font-weight: 600; }
  .single-product.woocommerce div.product p.price ins {
    text-decoration: none; }

.single-product.woocommerce div.product form.cart {
  margin-bottom: 10px;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #ededed; }
  .single-product.woocommerce div.product form.cart div.quantity {
    margin-right: 40px;
    margin-bottom: 15px;
    padding: 0px; }
  .single-product.woocommerce div.product form.cart .variations {
    margin-top: 20px;
    margin-bottom: 40px; }
    .single-product.woocommerce div.product form.cart .variations .label {
      font-size: 12px;
      text-transform: uppercase;
      font-weight: normal; }

.single-product.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 30px;
  margin-top: 30px;
  border-bottom: 1px solid #ededed;
  border-top: 1px solid #ededed;
  padding: 15px 0; }
  .single-product.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
    margin-left: 15px;
    padding-left: 15px;
    border-left: 1px solid #ededed; }

.single-product.woocommerce div.product .product_title {
  letter-spacing: -2px;
  display: block !important; }

.single-product.woocommerce div.product .yith-wcwl-wishlistaddedbrowse .feedback,
.single-product.woocommerce div.product .yith-wcwl-wishlistexistsbrowse .feedback {
  color: #54a9a2; }

.single-product.woocommerce div.product .yith-wcwl-wishlistaddedbrowse a,
.single-product.woocommerce div.product .yith-wcwl-wishlistexistsbrowse a {
  display: none !important; }

.single-product.woocommerce .quantity {
  text-transform: uppercase; }
  .single-product.woocommerce .quantity .qty {
    width: 60px;
    margin-left: 10px;
    height: 58px; }

.single-product .summary {
  /* 3 */
  /* 3 */
  /* 4 */
  /* 6 */
  /* 6 */
  /* 7 */
  font-size: 14px;
  /* 9 */
  font-size: 1.4rem;
  /* 9 */ }
  .single-product .summary .star-rating {
    font-size: 11.7px; }
  .single-product .summary .share_social {
    background-color: #f5f5f5;
    border: 1px solid #f0f0f0;
    padding: 15px;
    margin-top: 15px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px; }
    .single-product .summary .share_social span {
      color: #000;
      line-height: 35px; }
  .single-product .summary .clear {
    display: none; }
  .single-product .summary .yith-wcwl-add-to-wishlist {
    position: relative; }
    .single-product .summary .yith-wcwl-add-to-wishlist .ajax-loading {
      position: absolute;
      top: 5px;
      left: 20px; }
  .single-product .summary .yith-wcwl-wishlistaddedbrowse a,
  .single-product .summary .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist,
  .single-product .summary .yith-wcwl-add-button a,
  .single-product .summary .yith-wcwl-add-button a.add_to_wishlist,
  .single-product .summary .yith-wcwl-wishlistexistsbrowse a,
  .single-product .summary .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist {
    text-transform: uppercase;
    color: #bbb;
    font-size: 12px;
    display: inline;
    letter-spacing: 3px;
    font-weight: 400; }
    .single-product .summary .yith-wcwl-wishlistaddedbrowse a:hover,
    .single-product .summary .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist:hover,
    .single-product .summary .yith-wcwl-add-button a:hover,
    .single-product .summary .yith-wcwl-add-button a.add_to_wishlist:hover,
    .single-product .summary .yith-wcwl-wishlistexistsbrowse a:hover,
    .single-product .summary .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist:hover {
      color: #54a9a2; }
  .single-product .summary .yith-wcwl-wishlistexistsbrowse a {
    display: none; }
  .single-product .summary a.compare {
    color: #bbb;
    text-transform: uppercase;
    font-size: 12px;
    padding: 10px 20px;
    margin-top: 3px;
    letter-spacing: 3px;
    font-weight: 400;
    text-decoration: none; }
    .single-product .summary a.compare:hover {
      color: #54a9a2; }
    .single-product .summary a.compare:before {
      position: absolute;
      top: 10px;
      content: "\f021";
      font-family: "FontAwesome";
      display: block;
      width: 30px;
      height: 30px;
      left: 0;
      font-weight: 400; }
    .single-product .summary a.compare.added {
      color: #54a9a2; }

.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: #54a9a2 !important;
  text-decoration: none; }

.woocommerce div.product .woocommerce-tabs {
  margin-bottom: 80px; }
  .woocommerce div.product .woocommerce-tabs ul.nav-tabs {
    background: transparent;
    padding: 0;
    text-align: center;
    border-color: #ededed;
    margin-bottom: 60px; }
    .woocommerce div.product .woocommerce-tabs ul.nav-tabs li {
      background: transparent;
      border: none;
      display: inline-block;
      float: none; }
      @media (min-width: 480px) {
        .woocommerce div.product .woocommerce-tabs ul.nav-tabs li {
          padding: 25px 0;
          margin: 0 20px; } }
      @media (max-width: 480px) {
        .woocommerce div.product .woocommerce-tabs ul.nav-tabs li {
          padding: 0px;
          margin: 0 5px; } }
      .woocommerce div.product .woocommerce-tabs ul.nav-tabs li.active {
        background-color: #4d4d4d;
        position: relative; }
        .woocommerce div.product .woocommerce-tabs ul.nav-tabs li.active:before {
          background-color: #54a9a2;
          width: 100%;
          height: 5px;
          content: "";
          position: absolute;
          bottom: 0;
          left: 0; }
        .woocommerce div.product .woocommerce-tabs ul.nav-tabs li.active a {
          background-color: transparent;
          color: #000; }
      .woocommerce div.product .woocommerce-tabs ul.nav-tabs li:after, .woocommerce div.product .woocommerce-tabs ul.nav-tabs li:before, .woocommerce div.product .woocommerce-tabs ul.nav-tabs li.active:before, .woocommerce div.product .woocommerce-tabs ul.nav-tabs li.active:after {
        box-shadow: 0px 0px 0 #fff !important;
        border: none !important;
        border-radius: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -ms-border-radius: 0;
        -o-border-radius: 0; }
      .woocommerce div.product .woocommerce-tabs ul.nav-tabs li a {
        color: #999;
        text-transform: uppercase;
        font-size: 18px;
        letter-spacing: -1px;
        padding-left: 0;
        padding-right: 0;
        font-weight: 700; }
        .woocommerce div.product .woocommerce-tabs ul.nav-tabs li a:hover {
          color: #000; }
  .woocommerce div.product .woocommerce-tabs .tab-pane .item-description {
    padding-bottom: 60px;
    margin-bottom: 60px;
    border-bottom: 1px solid #ededed; }
    .woocommerce div.product .woocommerce-tabs .tab-pane .item-description:last-child {
      border-bottom: none; }
  .woocommerce div.product .woocommerce-tabs h2 {
    display: none; }

.woocommerce div.product .woocommerce-tabs ul.nav-tabs li.active {
  background: none;
  color: #000; }

.woocommerce div.product .woocommerce-tabs ul.nav-tabs::before {
  border-bottom-color: #ededed; }

.woocommerce-tabs .tab-content {
  overflow: hidden; }
  .woocommerce-tabs .tab-content .owl-carousel-play {
    text-align: center;
    margin: 35px 0; }

/**
 * Category And Listing Page
 */
.products-top-wrap {
  border-bottom: 1px solid #ededed;
  margin-bottom: 30px;
  padding: 10px 0 20px; }
  .products-top-wrap .woocommerce-ordering {
    margin: 0;
    float: right; }
  .products-top-wrap .display-mode {
    float: left;
    margin-top: 0; }
    .products-top-wrap .display-mode .btn {
      border: 1px solid #ededed;
      border-radius: 0;
      background-color: transparent;
      letter-spacing: 0;
      padding: 0;
      font-size: 14px;
      line-height: 32px;
      width: 32px;
      height: 32px;
      text-align: center;
      color: #b5b5b5;
      margin-right: 15px;
      box-shadow: none;
      -webkit-box-shadow: none; }
      .products-top-wrap .display-mode .btn.active {
        color: #54a9a2;
        border-color: #54a9a2; }
    @media (max-width: 400px) {
      .products-top-wrap .display-mode {
        margin-bottom: 10px; } }

.products-bottom-wrap {
  padding: 20px 0; }
  .products-bottom-wrap .woocommerce-pagination {
    float: left; }
  .products-bottom-wrap nav.woocommerce-pagination ul, .products-bottom-wrap nav.woocommerce-pagination ul li {
    border: none; }
    .products-bottom-wrap nav.woocommerce-pagination ul span.current, .products-bottom-wrap nav.woocommerce-pagination ul li span.current {
      background: transparent;
      color: #54a9a2;
      text-decoration: underline; }
    .products-bottom-wrap nav.woocommerce-pagination ul a:hover, .products-bottom-wrap nav.woocommerce-pagination ul li a:hover {
      background: transparent;
      color: #54a9a2; }
  .products-bottom-wrap .woocommerce-result-count {
    float: right;
    margin: 8px 0; }

/*------------------------------------*    Quickview
\*------------------------------------*/
#pbr-quickview-modal .modal-dialog {
  overflow: hidden; }
  #pbr-quickview-modal .modal-dialog del .amount {
    color: #666666; }
  @media (max-width: 991px) {
    #pbr-quickview-modal .modal-dialog.modal-lg {
      width: 90%;
      margin: 15px auto; } }

#pbr-quickview-modal .product-info {
  padding: 0;
  margin: 0; }
  #pbr-quickview-modal .product-info .summary {
    margin-right: 20px;
    width: 95%; }
  #pbr-quickview-modal .product-info .product_title {
    padding-top: 0;
    margin-top: 0;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 30px;
    /* 9 */
    font-size: 3rem;
    /* 9 */ }
  #pbr-quickview-modal .product-info .product_meta {
    margin: 25px 0 0; }
    #pbr-quickview-modal .product-info .product_meta:before, #pbr-quickview-modal .product-info .product_meta:after {
      content: " ";
      display: table; }
    #pbr-quickview-modal .product-info .product_meta:after {
      clear: both; }

#pbr-quickview-modal .close:hover .fa, #pbr-quickview-modal .close:hover .icon {
  color: #54a9a2; }

#pbr-quickview-modal #quickview-carousel {
  overflow: hidden; }
  #pbr-quickview-modal #quickview-carousel:hover .left {
    left: 15px; }
  #pbr-quickview-modal #quickview-carousel:hover .right {
    right: 15px; }

#pbr-quickview-modal .carousel-indicators li {
  border-color: #54a9a2; }

#pbr-quickview-modal .carousel-indicators .active {
  background: #54a9a2;
  border-color: #54a9a2; }

#pbr-quickview-modal .carousel-control {
  top: 0px;
  margin: 34% auto;
  font-weight: normal;
  /* 3 */
  /* 3 */
  /* 4 */
  /* 6 */
  /* 6 */
  /* 7 */
  font-size: 20px;
  /* 9 */
  font-size: 2rem;
  /* 9 */
  -webkit-transition: all 0.45s ease;
  -o-transition: all 0.45s ease;
  transition: all 0.45s ease; }
  #pbr-quickview-modal .carousel-control.left {
    left: -60px; }
  #pbr-quickview-modal .carousel-control.right {
    right: -60px; }

.pbr-owl-thumbs {
  padding: 20px 0 0;
  list-style: none;
  text-align: center; }
  .pbr-owl-thumbs li {
    display: inline-block;
    padding: 0 2px; }
    .pbr-owl-thumbs li img {
      height: 40px;
      width: auto;
      opacity: 0.5;
      filter: alpha(opacity=50); }
    .pbr-owl-thumbs li:hover img {
      opacity: 1;
      filter: alpha(opacity=100); }
    .pbr-owl-thumbs li.active img {
      opacity: 1;
      filter: alpha(opacity=100); }

.qty[type="number"] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
  appearance: textfield; }

.woocommerce form .form-row {
  margin: 22px 0 11px;
  padding: 0; }

.woocommerce-cart table.cart .product-thumbnail img {
  width: 60px; }

.rtl.woocommerce #content div.product div.images,
.rtl.woocommerce div.product div.images,
.rtl.woocommerce-page #content div.product div.images,
.rtl.woocommerce-page div.product div.images {
  float: right; }

.rtl.woocommerce #content div.product div.summary,
.rtl.woocommerce div.product div.summary,
.rtl.woocommerce-page #content div.product div.summary,
.rtl.woocommerce-page div.product div.summary {
  float: left; }

/**
 * Checkout Page
 */
/**
 * Thanks you page
 */
/************************
 * Form Styles
 ************************/
.woocommerce #respond input#submit, .woocommerce button.button, .woocommerce input.button {
  color: #fff;
  background-color: #e43636;
  border-color: #e12020;
  border-radius: 0px;
  padding: 11px 20px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 3px; }
  .woocommerce #respond input#submit:focus, .woocommerce #respond input#submit.focus, .woocommerce button.button:focus, .woocommerce button.button.focus, .woocommerce input.button:focus, .woocommerce input.button.focus {
    color: #fff;
    background-color: #cc1b1b;
    border-color: #ac1717; }
  .woocommerce #respond input#submit:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
    color: #fff;
    background-color: #cc1b1b;
    border-color: #ac1717; }
  .woocommerce #respond input#submit:active, .woocommerce #respond input#submit.active,
  .open > .woocommerce #respond input#submit.dropdown-toggle, .woocommerce button.button:active, .woocommerce button.button.active,
  .open > .woocommerce button.button.dropdown-toggle, .woocommerce input.button:active, .woocommerce input.button.active,
  .open > .woocommerce input.button.dropdown-toggle {
    color: #fff;
    background-color: #cc1b1b;
    border-color: #ac1717; }
    .woocommerce #respond input#submit:active:hover, .woocommerce #respond input#submit:active:focus, .woocommerce #respond input#submit:active.focus, .woocommerce #respond input#submit.active:hover, .woocommerce #respond input#submit.active:focus, .woocommerce #respond input#submit.active.focus,
    .open > .woocommerce #respond input#submit.dropdown-toggle:hover,
    .open > .woocommerce #respond input#submit.dropdown-toggle:focus,
    .open > .woocommerce #respond input#submit.dropdown-toggle.focus, .woocommerce button.button:active:hover, .woocommerce button.button:active:focus, .woocommerce button.button:active.focus, .woocommerce button.button.active:hover, .woocommerce button.button.active:focus, .woocommerce button.button.active.focus,
    .open > .woocommerce button.button.dropdown-toggle:hover,
    .open > .woocommerce button.button.dropdown-toggle:focus,
    .open > .woocommerce button.button.dropdown-toggle.focus, .woocommerce input.button:active:hover, .woocommerce input.button:active:focus, .woocommerce input.button:active.focus, .woocommerce input.button.active:hover, .woocommerce input.button.active:focus, .woocommerce input.button.active.focus,
    .open > .woocommerce input.button.dropdown-toggle:hover,
    .open > .woocommerce input.button.dropdown-toggle:focus,
    .open > .woocommerce input.button.dropdown-toggle.focus {
      color: #fff;
      background-color: #ac1717;
      border-color: #ac1717; }
  .woocommerce #respond input#submit:active, .woocommerce #respond input#submit.active,
  .open > .woocommerce #respond input#submit.dropdown-toggle, .woocommerce button.button:active, .woocommerce button.button.active,
  .open > .woocommerce button.button.dropdown-toggle, .woocommerce input.button:active, .woocommerce input.button.active,
  .open > .woocommerce input.button.dropdown-toggle {
    background-image: none; }
  .woocommerce #respond input#submit.disabled, .woocommerce #respond input#submit.disabled:hover, .woocommerce #respond input#submit.disabled:focus, .woocommerce #respond input#submit.disabled.focus, .woocommerce #respond input#submit.disabled:active, .woocommerce #respond input#submit.disabled.active, .woocommerce #respond input#submit[disabled], .woocommerce #respond input#submit[disabled]:hover, .woocommerce #respond input#submit[disabled]:focus, .woocommerce #respond input#submit[disabled].focus, .woocommerce #respond input#submit[disabled]:active, .woocommerce #respond input#submit[disabled].active,
  fieldset[disabled] .woocommerce #respond input#submit,
  fieldset[disabled] .woocommerce #respond input#submit:hover,
  fieldset[disabled] .woocommerce #respond input#submit:focus,
  fieldset[disabled] .woocommerce #respond input#submit.focus,
  fieldset[disabled] .woocommerce #respond input#submit:active,
  fieldset[disabled] .woocommerce #respond input#submit.active, .woocommerce button.button.disabled, .woocommerce button.button.disabled:hover, .woocommerce button.button.disabled:focus, .woocommerce button.button.disabled.focus, .woocommerce button.button.disabled:active, .woocommerce button.button.disabled.active, .woocommerce button.button[disabled], .woocommerce button.button[disabled]:hover, .woocommerce button.button[disabled]:focus, .woocommerce button.button[disabled].focus, .woocommerce button.button[disabled]:active, .woocommerce button.button[disabled].active,
  fieldset[disabled] .woocommerce button.button,
  fieldset[disabled] .woocommerce button.button:hover,
  fieldset[disabled] .woocommerce button.button:focus,
  fieldset[disabled] .woocommerce button.button.focus,
  fieldset[disabled] .woocommerce button.button:active,
  fieldset[disabled] .woocommerce button.button.active, .woocommerce input.button.disabled, .woocommerce input.button.disabled:hover, .woocommerce input.button.disabled:focus, .woocommerce input.button.disabled.focus, .woocommerce input.button.disabled:active, .woocommerce input.button.disabled.active, .woocommerce input.button[disabled], .woocommerce input.button[disabled]:hover, .woocommerce input.button[disabled]:focus, .woocommerce input.button[disabled].focus, .woocommerce input.button[disabled]:active, .woocommerce input.button[disabled].active,
  fieldset[disabled] .woocommerce input.button,
  fieldset[disabled] .woocommerce input.button:hover,
  fieldset[disabled] .woocommerce input.button:focus,
  fieldset[disabled] .woocommerce input.button.focus,
  fieldset[disabled] .woocommerce input.button:active,
  fieldset[disabled] .woocommerce input.button.active {
    background-color: #e43636;
    border-color: #e12020; }
  .woocommerce #respond input#submit .badge, .woocommerce button.button .badge, .woocommerce input.button .badge {
    color: #e43636;
    background-color: #fff; }

.woocommerce a.button, a.yith-wcwl-add-button {
  background: none;
  padding: 14px 20px;
  font-weight: normal;
  color: #999999;
  text-decoration: underline;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 12px; }
  .woocommerce a.button:hover, a.yith-wcwl-add-button:hover {
    background: none; }

.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  color: #fff;
  background-color: #e43636;
  border-color: #e12020;
  border-radius: 0px;
  padding: 15px 30px;
  text-transform: uppercase;
  line-height: 28px; }
  .woocommerce #respond input#submit.alt:focus, .woocommerce #respond input#submit.alt.focus, .woocommerce a.button.alt:focus, .woocommerce a.button.alt.focus, .woocommerce button.button.alt:focus, .woocommerce button.button.alt.focus, .woocommerce input.button.alt:focus, .woocommerce input.button.alt.focus {
    color: #fff;
    background-color: #cc1b1b;
    border-color: #ac1717; }
  .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
    color: #fff;
    background-color: #cc1b1b;
    border-color: #ac1717; }
  .woocommerce #respond input#submit.alt:active, .woocommerce #respond input#submit.alt.active,
  .open > .woocommerce #respond input#submit.alt.dropdown-toggle, .woocommerce a.button.alt:active, .woocommerce a.button.alt.active,
  .open > .woocommerce a.button.alt.dropdown-toggle, .woocommerce button.button.alt:active, .woocommerce button.button.alt.active,
  .open > .woocommerce button.button.alt.dropdown-toggle, .woocommerce input.button.alt:active, .woocommerce input.button.alt.active,
  .open > .woocommerce input.button.alt.dropdown-toggle {
    color: #fff;
    background-color: #cc1b1b;
    border-color: #ac1717; }
    .woocommerce #respond input#submit.alt:active:hover, .woocommerce #respond input#submit.alt:active:focus, .woocommerce #respond input#submit.alt:active.focus, .woocommerce #respond input#submit.alt.active:hover, .woocommerce #respond input#submit.alt.active:focus, .woocommerce #respond input#submit.alt.active.focus,
    .open > .woocommerce #respond input#submit.alt.dropdown-toggle:hover,
    .open > .woocommerce #respond input#submit.alt.dropdown-toggle:focus,
    .open > .woocommerce #respond input#submit.alt.dropdown-toggle.focus, .woocommerce a.button.alt:active:hover, .woocommerce a.button.alt:active:focus, .woocommerce a.button.alt:active.focus, .woocommerce a.button.alt.active:hover, .woocommerce a.button.alt.active:focus, .woocommerce a.button.alt.active.focus,
    .open > .woocommerce a.button.alt.dropdown-toggle:hover,
    .open > .woocommerce a.button.alt.dropdown-toggle:focus,
    .open > .woocommerce a.button.alt.dropdown-toggle.focus, .woocommerce button.button.alt:active:hover, .woocommerce button.button.alt:active:focus, .woocommerce button.button.alt:active.focus, .woocommerce button.button.alt.active:hover, .woocommerce button.button.alt.active:focus, .woocommerce button.button.alt.active.focus,
    .open > .woocommerce button.button.alt.dropdown-toggle:hover,
    .open > .woocommerce button.button.alt.dropdown-toggle:focus,
    .open > .woocommerce button.button.alt.dropdown-toggle.focus, .woocommerce input.button.alt:active:hover, .woocommerce input.button.alt:active:focus, .woocommerce input.button.alt:active.focus, .woocommerce input.button.alt.active:hover, .woocommerce input.button.alt.active:focus, .woocommerce input.button.alt.active.focus,
    .open > .woocommerce input.button.alt.dropdown-toggle:hover,
    .open > .woocommerce input.button.alt.dropdown-toggle:focus,
    .open > .woocommerce input.button.alt.dropdown-toggle.focus {
      color: #fff;
      background-color: #ac1717;
      border-color: #ac1717; }
  .woocommerce #respond input#submit.alt:active, .woocommerce #respond input#submit.alt.active,
  .open > .woocommerce #respond input#submit.alt.dropdown-toggle, .woocommerce a.button.alt:active, .woocommerce a.button.alt.active,
  .open > .woocommerce a.button.alt.dropdown-toggle, .woocommerce button.button.alt:active, .woocommerce button.button.alt.active,
  .open > .woocommerce button.button.alt.dropdown-toggle, .woocommerce input.button.alt:active, .woocommerce input.button.alt.active,
  .open > .woocommerce input.button.alt.dropdown-toggle {
    background-image: none; }
  .woocommerce #respond input#submit.alt.disabled, .woocommerce #respond input#submit.alt.disabled:hover, .woocommerce #respond input#submit.alt.disabled:focus, .woocommerce #respond input#submit.alt.disabled.focus, .woocommerce #respond input#submit.alt.disabled:active, .woocommerce #respond input#submit.alt.disabled.active, .woocommerce #respond input#submit.alt[disabled], .woocommerce #respond input#submit.alt[disabled]:hover, .woocommerce #respond input#submit.alt[disabled]:focus, .woocommerce #respond input#submit.alt[disabled].focus, .woocommerce #respond input#submit.alt[disabled]:active, .woocommerce #respond input#submit.alt[disabled].active,
  fieldset[disabled] .woocommerce #respond input#submit.alt,
  fieldset[disabled] .woocommerce #respond input#submit.alt:hover,
  fieldset[disabled] .woocommerce #respond input#submit.alt:focus,
  fieldset[disabled] .woocommerce #respond input#submit.alt.focus,
  fieldset[disabled] .woocommerce #respond input#submit.alt:active,
  fieldset[disabled] .woocommerce #respond input#submit.alt.active, .woocommerce a.button.alt.disabled, .woocommerce a.button.alt.disabled:hover, .woocommerce a.button.alt.disabled:focus, .woocommerce a.button.alt.disabled.focus, .woocommerce a.button.alt.disabled:active, .woocommerce a.button.alt.disabled.active, .woocommerce a.button.alt[disabled], .woocommerce a.button.alt[disabled]:hover, .woocommerce a.button.alt[disabled]:focus, .woocommerce a.button.alt[disabled].focus, .woocommerce a.button.alt[disabled]:active, .woocommerce a.button.alt[disabled].active,
  fieldset[disabled] .woocommerce a.button.alt,
  fieldset[disabled] .woocommerce a.button.alt:hover,
  fieldset[disabled] .woocommerce a.button.alt:focus,
  fieldset[disabled] .woocommerce a.button.alt.focus,
  fieldset[disabled] .woocommerce a.button.alt:active,
  fieldset[disabled] .woocommerce a.button.alt.active, .woocommerce button.button.alt.disabled, .woocommerce button.button.alt.disabled:hover, .woocommerce button.button.alt.disabled:focus, .woocommerce button.button.alt.disabled.focus, .woocommerce button.button.alt.disabled:active, .woocommerce button.button.alt.disabled.active, .woocommerce button.button.alt[disabled], .woocommerce button.button.alt[disabled]:hover, .woocommerce button.button.alt[disabled]:focus, .woocommerce button.button.alt[disabled].focus, .woocommerce button.button.alt[disabled]:active, .woocommerce button.button.alt[disabled].active,
  fieldset[disabled] .woocommerce button.button.alt,
  fieldset[disabled] .woocommerce button.button.alt:hover,
  fieldset[disabled] .woocommerce button.button.alt:focus,
  fieldset[disabled] .woocommerce button.button.alt.focus,
  fieldset[disabled] .woocommerce button.button.alt:active,
  fieldset[disabled] .woocommerce button.button.alt.active, .woocommerce input.button.alt.disabled, .woocommerce input.button.alt.disabled:hover, .woocommerce input.button.alt.disabled:focus, .woocommerce input.button.alt.disabled.focus, .woocommerce input.button.alt.disabled:active, .woocommerce input.button.alt.disabled.active, .woocommerce input.button.alt[disabled], .woocommerce input.button.alt[disabled]:hover, .woocommerce input.button.alt[disabled]:focus, .woocommerce input.button.alt[disabled].focus, .woocommerce input.button.alt[disabled]:active, .woocommerce input.button.alt[disabled].active,
  fieldset[disabled] .woocommerce input.button.alt,
  fieldset[disabled] .woocommerce input.button.alt:hover,
  fieldset[disabled] .woocommerce input.button.alt:focus,
  fieldset[disabled] .woocommerce input.button.alt.focus,
  fieldset[disabled] .woocommerce input.button.alt:active,
  fieldset[disabled] .woocommerce input.button.alt.active {
    background-color: #e43636;
    border-color: #e12020; }
  .woocommerce #respond input#submit.alt .badge, .woocommerce a.button.alt .badge, .woocommerce button.button.alt .badge, .woocommerce input.button.alt .badge {
    color: #e43636;
    background-color: #fff; }

.woocommerce a.add_to_cart_button .icon-cart, .woocommerce a.product_type_external .icon-cart, #main-container .woocommerce button.button.single_add_to_cart_button .icon-cart {
  width: 16px;
  height: 16px;
  line-height: 13px;
  text-align: center;
  color: #54a9a2;
  font-size: 8px;
  border: 2px solid #54a9a2;
  border-radius: 50%; }

.woocommerce a.add_to_cart_button:hover, .woocommerce a.product_type_external:hover, #main-container .woocommerce button.button.single_add_to_cart_button:hover {
  color: #fff; }

/**
 * Input Form Styles
 */
.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea, .woocommerce select, .woocommerce-cart table.cart input.input-text {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.62857 !important;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .woocommerce form .form-row .input-text:focus, .woocommerce-page form .form-row .input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce select:focus, .woocommerce-cart table.cart input.input-text:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .woocommerce form .form-row .input-text::-moz-placeholder, .woocommerce-page form .form-row .input-text::-moz-placeholder, .woocommerce form .form-row textarea::-moz-placeholder, .woocommerce select::-moz-placeholder, .woocommerce-cart table.cart input.input-text::-moz-placeholder {
    color: #999;
    opacity: 1; }
  .woocommerce form .form-row .input-text:-ms-input-placeholder, .woocommerce-page form .form-row .input-text:-ms-input-placeholder, .woocommerce form .form-row textarea:-ms-input-placeholder, .woocommerce select:-ms-input-placeholder, .woocommerce-cart table.cart input.input-text:-ms-input-placeholder {
    color: #999; }
  .woocommerce form .form-row .input-text::-webkit-input-placeholder, .woocommerce-page form .form-row .input-text::-webkit-input-placeholder, .woocommerce form .form-row textarea::-webkit-input-placeholder, .woocommerce select::-webkit-input-placeholder, .woocommerce-cart table.cart input.input-text::-webkit-input-placeholder {
    color: #999; }
  .woocommerce form .form-row .input-text[disabled], .woocommerce form .form-row .input-text[readonly],
  fieldset[disabled] .woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text[disabled], .woocommerce-page form .form-row .input-text[readonly],
  fieldset[disabled] .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea[disabled], .woocommerce form .form-row textarea[readonly],
  fieldset[disabled] .woocommerce form .form-row textarea, .woocommerce select[disabled], .woocommerce select[readonly],
  fieldset[disabled] .woocommerce select, .woocommerce-cart table.cart input.input-text[disabled], .woocommerce-cart table.cart input.input-text[readonly],
  fieldset[disabled] .woocommerce-cart table.cart input.input-text {
    background-color: #eeeeee;
    opacity: 1; }
  .woocommerce form .form-row .input-text[disabled],
  fieldset[disabled] .woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text[disabled],
  fieldset[disabled] .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea[disabled],
  fieldset[disabled] .woocommerce form .form-row textarea, .woocommerce select[disabled],
  fieldset[disabled] .woocommerce select, .woocommerce-cart table.cart input.input-text[disabled],
  fieldset[disabled] .woocommerce-cart table.cart input.input-text {
    cursor: not-allowed; }

.woocommerce #content table.cart td.actions .button, .woocommerce #content table.cart td.actions .input-text,
.woocommerce #content table.cart td.actions input, .woocommerce table.cart td.actions .button,
.woocommerce table.cart td.actions .input-text, .woocommerce table.cart td.actions input,
.woocommerce-page #content table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions input, .woocommerce-page table.cart td.actions .button,
.woocommerce-page table.cart td.actions .input-text, .woocommerce-page table.cart td.actions input {
  width: auto !important; }

.woocommerce form .form-row textarea {
  min-height: 100px; }

.woocommerce-cart table.cart input {
  line-height: 1.62857; }
  @media (min-width: 768px) and (max-width: 991px) {
    .woocommerce-cart table.cart input {
      width: auto !important; } }
  @media (max-width: 480px) {
    .woocommerce-cart table.cart input {
      width: auto !important; } }

.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text {
  width: auto !important;
  padding: 9px; }

.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
  border-color: #54a9a2; }

.woocommerce .quantity .qty {
  margin: 0 15px !important; }

@media screen and (max-width: 480px) {
  .woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
    float: none !important;
    width: auto !important; } }

.select2-container .select2-choice {
  padding: 4px !important;
  border-radius: 0 !important; }

body {
  background-color: #f4f0ed;
  background-image: url("../../../images/bg-body.jpg");
  background-repeat: none;
  background-position: top center; }

@media (min-width: 991px) {
  #page {
    max-width: 1400px;
    margin-top: 40px;
    margin-bottom: 40px; } }

#page .pbr-topbar {
  background-color: #42200a; }
  #page .pbr-topbar .container {
    width: 100%; }

@media (max-width: 991px) {
  #pbr-masthead.header-absolute {
    background-color: #fff;
    border-bottom: 1px solid #ededed; } }

#pbr-masthead.pbr-header-default {
  background-color: #ffffff;
  border-bottom: 1px solid #ededed; }

.navbar-mega-light .navbar-mega .navbar-nav > li > a, .navbar-mega-light .navbar-mega .navbar-nav > li > a .caret {
  color: #000; }
  .navbar-mega-light .navbar-mega .navbar-nav > li > a:hover, .navbar-mega-light .navbar-mega .navbar-nav > li > a .caret:hover {
    color: #54a9a2; }

.pbr-footer {
  color: #ccc;
  background-image: url("../../../images/bg-footer-cofeemaker.jpg");
  background-repeat: none;
  background-position: top center; }
  .pbr-footer .pbr-copyright {
    background-color: transparent; }

.widget_recent_entries .widgettitle {
  font-size: 20px;
  color: #fff;
  letter-spacing: 0px; }

.widget_recent_entries ul li {
  border-color: rgba(255, 255, 255, 0.1); }
  .widget_recent_entries ul li a {
    color: #ccc; }
    .widget_recent_entries ul li a:before {
      color: #ccc; }
    .widget_recent_entries ul li a:hover {
      color: #54a9a2; }
      .widget_recent_entries ul li a:hover:before {
        color: #54a9a2; }

.wpb_widgetised_column .wpb_widgetised_column_heading {
  color: #fff; }

.wpb_widgetised_column .widget_mc4wp_form_widget .form-style-1 > p .btn-default {
  background-color: transparent;
  border: 2px solid #54a9a2;
  color: #fff; }

.wpb_widgetised_column .widget_mc4wp_form_widget .form-style-1 > p input[type="email"] {
  border: 2px solid #ededed;
  background-color: transparent; }

.pbr-copyright {
  color: #ccc; }
  .pbr-copyright a {
    color: #fff; }
    .pbr-copyright a:hover {
      color: #54a9a2; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbnMvaG9tZV9jb2ZmZWVtYWtlci93b29jb21tZXJjZS5jc3MiLCJzb3VyY2VzIjpbInNraW5zL2hvbWVfY29mZmVlbWFrZXIvd29vY29tbWVyY2Uuc2NzcyIsImJvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MiLCJza2lucy9ob21lX2NvZmZlZW1ha2VyL3ZhcnMvX3ZhcnMuc2NzcyIsImJvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3NpemUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19hbGVydHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3J0bC5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX2Z1bmN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3RlbXBsYXRlLW1peGlucy5zY3NzIiwiY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvdmFycy9fbmF2LnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy92YXJzL19lbGVtZW50cy5zY3NzIiwiY29tcG9uZW50cy92YXJzL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL192YXJpYWJsZXMuc2NzcyIsIndvb2NvbW1lcmNlL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL19zdHlsZXMuc2NzcyIsIndvb2NvbW1lcmNlL19mb3JtLnNjc3MiLCJza2lucy9ob21lX2NvZmZlZW1ha2VyL2FkZGl0aW9uL19zdHlsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCIuLi8uLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidmFycy92YXJzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm9vdHN0cmFwL21peGluc1wiO1xuXG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL3ZhcmlhYmxlc1wiO1xuXG5AaW1wb3J0IFwiLi4vLi4vd29vY29tbWVyY2UvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vd29vY29tbWVyY2Uvd2lkZ2V0XCI7XG5AaW1wb3J0IFwiLi4vLi4vd29vY29tbWVyY2Uvc3R5bGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vd29vY29tbWVyY2UvZm9ybVwiO1xuXG5AaW1wb3J0IFwiYWRkaXRpb24vc3R5bGVcIjtcblxuXG4iLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRsaWdodC1ncmF5ICAgICAgOiBsaWdodGVuKCMwMDAwMDAsIDYwJSkgIWRlZmF1bHQ7ICAgICAgICAvLyAjOTk5OTk5XG4kdmVyeS1saWdodC1ncmF5IDogI2U1ZTVlNSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gI2U1ZTVlNVxuJHZlcnktZGFyay1ncmF5ICA6IGxpZ2h0ZW4oIzAwMDAwMCwgOSUpICFkZWZhdWx0OyAgICAgICAgIC8vICMxNzE3MTcgXG4kZ3JheS1kYXJrZXIgICAgIDogIzBkMjkyZiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gIzBkMjkyZlxuJGdyYXktZGFyayAgICAgICA6ICM2NjY2NjYgIWRlZmF1bHQ7ICAgICAgICAgICAvLyAjMzMzMzMzXG4kZ3JheSAgICAgICAgICAgIDogbGlnaHRlbigjMDAwLCAzMy41JSkgIWRlZmF1bHQ7ICAgICAgICAgLy8gIzU1NTU1NVxuJGdyYXktbGlnaHQgICAgICA6IGxpZ2h0ZW4oIzAwMCwgNDYuNyUpICFkZWZhdWx0OyAgICAgICAgIC8vICM3Nzc3NzdcbiRncmF5LWxpZ2h0ZXIgICAgOiBsaWdodGVuKCMwMDAsIDkzLjUlKSAhZGVmYXVsdDsgICAgICAgICAvLyAjZWVlZWVlXG5cbiRicmFuZC1wcmltYXJ5ICAgOiAjYjk5NzY3ICFkZWZhdWx0O1xuJGJyYW5kLXN1Y2Nlc3MgICA6ICM3MGJhMjggIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbyAgICAgIDogIzA0YWRmMCAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nICAgOiAjZjBjNzNiICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlciAgICA6ICNlNDM2MzYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmNmY2ZjYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG4kbGluay1ob3Zlci1jb2xvcjogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnUG9wcGlucycsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBcIk1vbnRzZXJyYXRcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAnUG9wcGlucycsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuODU3KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjQyOCkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtd2VpZ2h0LWJhc2VcdDogMzAwICFkZWZhdWx0O1xuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjYyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIFwiUG9wcGluc1wiICFkZWZhdWx0O1xuLyogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA3MDAgIWRlZmF1bHQ7ICovXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDcwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAjMDAwMDAwICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA5cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMjBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDE1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMjBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuOCAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgMHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDBweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAwcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIDUwMCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgNikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MDAgIWRlZmF1bHQ7XG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgNDgwcHggIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHggIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gR3JpZCBzeXN0ZW1cbi8vXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXG5cbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYmV0d2VlbiBjb2x1bW5zLiBHZXRzIGRpdmlkZWQgaW4gaGFsZiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0LlxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4vLyBOYXZiYXIgY29sbGFwc2Vcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBDb250YWluZXIgc2l6ZXNcbi8vXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKCg3NTBweCArICRncmlkLWd1dHRlci13aWR0aCkpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKCg5NzBweCArICRncmlkLWd1dHRlci13aWR0aCkpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiRjb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAoKDExNzBweCArICRncmlkLWd1dHRlci13aWR0aCkgKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcblxuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2YwYzczYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjhkN2RhICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTVweCAyMHB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZWRlZGVkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgNDBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNlZmVmZWYgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIj5cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZSAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuJGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIiRpbWFnZS1mb250cy1wYXRoICAgICAgICAgICA6IFwiLi4vLi4vLi4vZm9udHMvXCI7XHJcbiRmYS1mb250LXBhdGggICAgICAgICAgICAgIDogXCIuLi8uLi8uLi9mb250cy9cIjtcclxuJGltYWdlLXRoZW1lLXBhdGggICAgICAgICAgOiBcIi4uLy4uLy4uL2ltYWdlcy9cIjtcclxuJGltYWdlLXRoZW1lLXNraW5cdFx0XHQ6IFwiLi4vLi4vLi4vaW1hZ2VzL1wiO1xyXG4kdGhlbWUtY29sb3IgICAgICAgICAgICAgICA6ICM1NGE5YTI7XHJcbiR0aGVtZS1jb2xvci1zZWNvbmRhcnkgICAgICA6ICM1NGE5YTI7XHJcbiRsaW5rLWhvdmVyLWNvbG9yXHRcdFx0OiR0aGVtZS1jb2xvcjtcclxuJGJyYW5kLXByaW1hcnkgICAgICAgICAgICAgIDokdGhlbWUtY29sb3I7XHJcblxyXG5cclxuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAkdGhlbWUtY29sb3IgO1xyXG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICR0aGVtZS1jb2xvciA7IiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGFiZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LWZpbHRlclwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LW92ZXJmbG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL3ZlbmRvci1wcmVmaXhlc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0c1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhbmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcHJvZ3Jlc3MtYmFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NlbnRlci1ibG9ja1wiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtdmVydGljYWwtYWxpZ25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cbkBtaXhpbiBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS4gTm90ZSB0aGF0IHRoZVxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0xeH1cIiksIFwiI3skZmlsZS0xeH1cIikpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTJ4fVwiKSwgXCIjeyRmaWxlLTJ4fVwiKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gIEBpbmNsdWRlIHNpemUoJHNpemUsICRzaXplKTtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIi8vIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gUGFuZWxzXG5cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBjb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogIGNlaWwoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvLyBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICAvLyBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpOyBcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoJGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKCRndXR0ZXIgLyAtMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvKipcbiAqIEltcG9ydCBjb21wb25lbnQgdmFyaWFibGVzXG4gKi9cbkBpbXBvcnQgJ21peGlucy9ydGwnOyBcbkBpbXBvcnQgJ21peGlucy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnbWl4aW5zL3RlbXBsYXRlLW1peGlucyc7IiwiLy8gU3VwcG9ydCBmb3IgUlRMIChSaWdodCB0byBMZWZ0KSAmIG5vbi1sYXRpbiBmb250c1xyXG5cclxuJHJ0bC1sZWZ0IDogbGVmdDtcclxuJHJ0bC1yaWdodCA6IHJpZ2h0O1xyXG4kcnRsLWNlbnRlcjogY2VudGVyO1xyXG5cclxuLy8gQkFTSUMgQ09OVkVSVEVSIChpZ25vcmUgdGhlc2UpXHJcblxyXG5AbWl4aW4gcnRsLWJhc2Utc2ltcGxlICgkcHJvcGVydHksICRkaXJlY3Rpb24pIHtcclxuICAjeyRwcm9wZXJ0eX06JGRpcmVjdGlvbjtcclxuICAucnRsICYge1xyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gJHJ0bC1yaWdodCB7XHJcbiAgICAgICN7JHByb3BlcnR5fTokcnRsLWxlZnQ7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICN7JHByb3BlcnR5fTokcnRsLXJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5AbWl4aW4gcnRsLWJhc2UtaW5oZXJpdCAoJHByb3BlcnR5LCAkZGlyZWN0aW9uLCAkdmFsdWUsICRpbmhlcml0IDogaW5oZXJpdCkge1xyXG4gICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIEBpZiAkZGlyZWN0aW9uID09ICRydGwtcmlnaHQge1xyXG4gICAgICAjeyRwcm9wZXJ0eX0tI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICN7JHByb3BlcnR5fS0jeyRydGwtcmlnaHR9OiAkdmFsdWU7XHJcbiAgICB9XHJcbiAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWJhc2UtdG9wcmlnaHRib3R0b21sZWZ0ICgkcHJvcGVydHksICR0LCAkciwgJGIsICRsKSB7XHJcbiAgI3skcHJvcGVydHl9OiAkdCAkciAkYiAkbDtcclxuICAucnRsICYge1xyXG4gICAgI3skcHJvcGVydHl9OiAkdCAkbCAkYiAkcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJPRFkgU1RZTEVTXHJcblxyXG5AbWl4aW4gcnRsLWRpcmVjdGlvbiAoJGZvckJvZHkgOiB0cnVlKSB7XHJcbiAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgQGlmICRmb3JCb2R5IHtcclxuICAgICYucnRsIHtcclxuICAgICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIC5ydGwgJiB7XHJcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1mb250LWZhbWlseSAoJGx0ciwgJHJ0bCwgJGZvckJvZHkgOiBmYWxzZSkge1xyXG4gIGZvbnQtZmFtaWx5OiAkbHRyO1xyXG4gIEBpZiAkZm9yQm9keSB7XHJcbiAgICAmLnJ0bCwgJi5ub24tbGF0aW4ge1xyXG4gICAgICBmb250LWZhbWlseTokcnRsO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAucnRsICYsIC5ub24tbGF0aW4gJiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiRydGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTUFSR0lOXHJcblxyXG5AbWl4aW4gcnRsLW1hcmdpbiAoJHQsICRyLCAkYiwgJGwpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS10b3ByaWdodGJvdHRvbWxlZnQobWFyZ2luLCR0LCAkciwgJGIsICRsKTtcclxufVxyXG5AbWl4aW4gcnRsLW1hcmdpbi1sZWZ0ICgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1pbmhlcml0KG1hcmdpbiwkcnRsLWxlZnQsJHZhbHVlKTtcclxufVxyXG5AbWl4aW4gcnRsLW1hcmdpbi1yaWdodCAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtaW5oZXJpdChtYXJnaW4sJHJ0bC1yaWdodCwkdmFsdWUpO1xyXG59XHJcblxyXG4vLyBQQURESU5HXHJcblxyXG5AbWl4aW4gcnRsLXBhZGRpbmcgKCR0LCAkciwgJGIsICRsKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtdG9wcmlnaHRib3R0b21sZWZ0KHBhZGRpbmcsJHQsICRyLCAkYiwgJGwpO1xyXG59XHJcbkBtaXhpbiBydGwtcGFkZGluZy1sZWZ0ICgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1pbmhlcml0KHBhZGRpbmcsJHJ0bC1sZWZ0LCR2YWx1ZSk7XHJcbn1cclxuQG1peGluIHJ0bC1wYWRkaW5nLXJpZ2h0ICgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1pbmhlcml0KHBhZGRpbmcsJHJ0bC1yaWdodCwkdmFsdWUpO1xyXG59XHJcblxyXG4vLyBCT1JERVJcclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLWxlZnQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQoYm9yZGVyLCRydGwtbGVmdCwkdmFsdWUpO1xyXG59XHJcbkBtaXhpbiBydGwtYm9yZGVyLXJpZ2h0ICgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1pbmhlcml0KGJvcmRlciwkcnRsLXJpZ2h0LCR2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIFBPU0lUSU9OXHJcblxyXG5AbWl4aW4gcnRsLWxlZnQgKCR2YWx1ZSkge1xyXG4gICN7JHJ0bC1sZWZ0fTogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAjeyRydGwtcmlnaHR9OiAkdmFsdWU7XHJcbiAgICAjeyRydGwtbGVmdH06IGF1dG87XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBydGwtcmlnaHQgKCR2YWx1ZSkge1xyXG4gICN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgICAjeyRydGwtcmlnaHR9OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIENMRUFSXHJcblxyXG5AbWl4aW4gcnRsLWNsZWFyLWxlZnQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZShjbGVhciwgJHJ0bC1sZWZ0KTtcclxufVxyXG5AbWl4aW4gcnRsLWNsZWFyLXJpZ2h0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUoY2xlYXIsICRydGwtcmlnaHQpO1xyXG59XHJcblxyXG4vLyBURVhULUFMSUdOXHJcblxyXG5AbWl4aW4gcnRsLXRleHQtYWxpZ24tbGVmdCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKHRleHQtYWxpZ24sICRydGwtbGVmdCk7XHJcbn1cclxuQG1peGluIHJ0bC10ZXh0LWFsaWduLXJpZ2h0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUodGV4dC1hbGlnbiwgJHJ0bC1yaWdodCk7XHJcbn1cclxuQG1peGluIHJ0bC10ZXh0LWFsaWduLWNlbnRlciAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKHRleHQtYWxpZ24sICRydGwtY2VudGVyKTtcclxufVxyXG5cclxuLy8gRkxPQVRcclxuXHJcbkBtaXhpbiBydGwtZmxvYXQtbGVmdCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKGZsb2F0LCAkcnRsLWxlZnQpO1xyXG59XHJcbkBtaXhpbiBydGwtZmxvYXQtcmlnaHQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZShmbG9hdCwgJHJ0bC1yaWdodCk7XHJcbn1cclxuXHJcbi8vIEJBQ0tHUk9VTkQtUE9TSVRJT05cclxuXHJcbkBtaXhpbiBydGwtYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0ICgkdmVydGljYWwpIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRydGwtbGVmdCAkdmVydGljYWw7XHJcbiAgLnJ0bCAmIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246JHJ0bC1yaWdodCAkdmVydGljYWw7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBydGwtYmFja2dyb3VuZC1wb3NpdGlvbi1yaWdodCAoJHZlcnRpY2FsKSB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjokcnRsLXJpZ2h0ICR2ZXJ0aWNhbDtcclxuICAucnRsICYge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjokcnRsLWxlZnQgJHZlcnRpY2FsO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1iYWNrZ3JvdW5kLXBvc2l0aW9uLXBlcmNlbnQgKCR2ZXJ0aWNhbCwgJGhvclBlcmNlbnQpIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRob3JQZXJjZW50ICR2ZXJ0aWNhbDtcclxuICAucnRsICYge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIC0gJGhvclBlcmNlbnQgJHZlcnRpY2FsO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVEVYVC1TSEFET1cgJiBCT1gtU0hBRE9XXHJcblxyXG5AbWl4aW4gcnRsLXRleHQtc2hhZG93ICgkeCwgJHJlc3QpIHtcclxuICB0ZXh0LXNoYWRvdzogJHggJHJlc3Q7XHJcbiAgLnJ0bCAmIHtcclxuICAgIHRleHQtc2hhZG93OiAtMSAqICR4ICRyZXN0O1xyXG4gIH1cclxufVxyXG5AbWl4aW4gcnRsLWJveC1zaGFkb3cgKCR4LCAkcmVzdCkge1xyXG4gIC1tb3otYm94LXNoYWRvdzogJHggJHJlc3Q7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkeCAkcmVzdDtcclxuICBib3gtc2hhZG93OiAkeCAkcmVzdDtcclxuICAucnRsICYge1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAtMSAqICR4ICRyZXN0O1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMSAqICR4ICRyZXN0O1xyXG4gICAgYm94LXNoYWRvdzogLTEgKiAkeCAkcmVzdDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJPUkRFUi1SQURJVVNcclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy10b3ByaWdodCAoJHRsLCAkdHIsICRiciwgJGJsKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkdGwsICR0ciwgJGJyLCAkYmw7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkdGwsICR0ciwgJGJyLCAkYmw7XHJcbiAgYm9yZGVyLXRvcC1yYWRpdXM6ICR0bCwgJHRyLCAkYnIsICRibDtcclxuICAucnRsICYge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkdHIsICR0bCwgJGJsLCAkYnI7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICR0ciwgJHRsLCAkYmwsICRicjtcclxuICAgIGJvcmRlci10b3AtcmFkaXVzOiAkdHIsICR0bCwgJGJsLCAkYnI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWJvcmRlci1yYWRpdXMtdG9wcmlnaHQgKCR2YWx1ZSkge1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtcmlnaHR9OiAkdmFsdWU7XHJcbiAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgICAtd2Via2l0LWJvcmRlci10b3AtI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wI3skcnRsLXJpZ2h0fTogaW5oZXJpdDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogaW5oZXJpdDtcclxuICAgIGJvcmRlci10b3AtI3skcnRsLXJpZ2h0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQgKCR2YWx1ZSkge1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtcmlnaHR9OiAkdmFsdWU7XHJcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgYm9yZGVyLWJvdHRvbS0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgYm9yZGVyLWJvdHRvbS0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLXJpZ2h0fTogaW5oZXJpdDtcclxuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRydGwtcmlnaHR9LXJhZGl1czogaW5oZXJpdDtcclxuICAgIGJvcmRlci1ib3R0b20tI3skcnRsLXJpZ2h0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWJvcmRlci1yYWRpdXMtdG9wbGVmdCAoJHZhbHVlKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1sZWZ0fTogJHZhbHVlO1xyXG4gIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtcmlnaHR9OiAkdmFsdWU7XHJcbiAgICAtd2Via2l0LWJvcmRlci10b3AtI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIGJvcmRlci10b3AtI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtbGVmdH06IGluaGVyaXQ7XHJcbiAgICAtd2Via2l0LWJvcmRlci10b3AtI3skcnRsLWxlZnR9LXJhZGl1czogaW5oZXJpdDtcclxuICAgIGJvcmRlci10b3AtI3skcnRsLWxlZnR9LXJhZGl1czogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0ICgkdmFsdWUpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbSN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgYm9yZGVyLWJvdHRvbS0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbSN7JHJ0bC1sZWZ0fTogaW5oZXJpdDtcclxuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRydGwtbGVmdH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLWJvdHRvbS0jeyRydGwtbGVmdH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFBvc2l0aW9uIG1peGluXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQHBhcmFtIFtzdHJpbmddICRwb3NpdGlvbjogcG9zaXRpb24gdHlwZVxuLy8gQHBhcmFtIFtsaXN0XSAkYXJnczogbGlzdCBvZiBvZmZzZXRzIGFuZCB2YWx1ZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uLCAkYXJncykge1xuICAgIEBlYWNoICRvIGluIHRvcCByaWdodCBib3R0b20gbGVmdCB7XG4gICAgICAgICRpOiBpbmRleCgkYXJncywgJG8pO1xuICAgICAgICBAaWYgJGlcbiAgICAgICAgICAgIGFuZCAkaSArIDEgPD0gbGVuZ3RoKCRhcmdzKVxuICAgICAgICAgICAgYW5kIHR5cGUtb2YoIG50aCgkYXJncywgJGkgKyAxKSApID09IG51bWJlciB7XG4gICAgICAgICAgICAjeyRvfTogbnRoKCRhcmdzLCAkaSArIDEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG59XG5cblxuLy8gQWJzb2x1dGUgcG9zaXRpb25pbmcgbWl4aW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAcGFyYW0gW2xpc3RdICRhcmdzOiBsaXN0IG9mIG9mZnNldHMgYW5kIHZhbHVlc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBhYnNvbHV0ZSgkYXJncykge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAkYXJncyk7XG59XG5cbi8vIEFycm93IG1peGluXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQHBhcmFtIFtzdHJpbmddICRkaXJlY3Rpb246IGFycm93IGRpcmVjdGlvblxuLy8gQHBhcmFtIFtsaXN0XSAkcG9zaXRpb246IGxpc3Qgb2Ygb2Zmc2V0cyBhbmQgdmFsdWVzXG4vLyBAcGFyYW0gW2NvbG9yXSAkY29sb3IgKGluaGVyaXQpOiBhcnJvdyBjb2xvclxuLy8gQHBhcmFtIFtudW1iZXJdICRzaXplICgxZW0pOiBhcnJvdyBzaXplXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHRyaWFuZ2xlKCRkaXJlY3Rpb24sICRwb3NpdGlvbiwgJGNvbG9yOiBjdXJyZW50Q29sb3IsICRzaXplOiAxZW0pIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhlIGRpcmVjdGlvbiBpcyB2YWxpZFxuICAgIEBpZiBub3QgaW5kZXgodG9wIHJpZ2h0IGJvdHRvbSBsZWZ0LCAkZGlyZWN0aW9uKSB7XG4gICAgICAgIEB3YXJuIFwiRGlyZWN0aW9uIG11c3QgYmUgb25lIG9mIHRvcCwgcmlnaHQsIGJvdHRvbSBvciBsZWZ0LlwiO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoJHBvc2l0aW9uKTsgLy8gUG9zaXRpb25cbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDApOyAvLyBTaXplXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgIGJvcmRlci0je29wcG9zaXRlLXBvc2l0aW9uKCRkaXJlY3Rpb24pfTogJHNpemUgKiAxLjUgc29saWQgJGNvbG9yO1xuICAgICAgICAkcGVycGVuZGljdWxhci1ib3JkZXJzOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSB0b3Agb3IgJGRpcmVjdGlvbiA9PSBib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICAgJHBlcnBlbmRpY3VsYXItYm9yZGVycztcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IG9yICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogICAgJHBlcnBlbmRpY3VsYXItYm9yZGVycztcbiAgICAgICAgfVxuICAgIH1cbn1cbiBcbi8vIEZvbnQgc2l6ZSAtIHJlbVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGZ1bmN0aW9uIHBhcnNlSW50KCRuKSB7IC8qIDIgKi9cbiAgQHJldHVybiAkbiAvICgkbiAqIDAgKyAxKTtcbn1cblxuQG1peGluIGZvbnQtc2l6ZSgkcHJvcGVydHksICR2YWx1ZXMpIHtcbiAgJHB4IDogKCk7IC8qIDMgKi9cbiAgJHJlbTogKCk7IC8qIDMgKi9cblxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7IC8qIDQgKi9cblxuICAgIEBpZiAkdmFsdWUgPT0gMCBvciAkdmFsdWUgPT0gYXV0byB7IC8qIDUgKi9cbiAgICAgICRweCA6IGFwcGVuZCgkcHggLCAkdmFsdWUpO1xuICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHVuaXQ6IHVuaXQoJHZhbHVlKTsgICAgLyogNiAqL1xuICAgICAgJHZhbDogcGFyc2VJbnQoJHZhbHVlKTsgLyogNiAqL1xuXG4gICAgICBAaWYgJHVuaXQgPT0gXCJweFwiIHsgIC8qIDcgKi9cbiAgICAgICAgJHB4IDogYXBwZW5kKCRweCwgICR2YWx1ZSk7XG4gICAgICAgICRyZW06IGFwcGVuZCgkcmVtLCAoJHZhbCAvIDEwICsgcmVtKSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBcInJlbVwiIHsgLyogNyAqL1xuICAgICAgICAkcHggOiBhcHBlbmQoJHB4LCAgKCR2YWwgKiAxMCArIHB4KSk7XG4gICAgICAgICRyZW06IGFwcGVuZCgkcmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcHggPT0gJHJlbSB7ICAgICAvKiA4ICovXG4gICAgI3skcHJvcGVydHl9OiAkcHg7ICAvKiA5ICovXG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3BlcnR5fTogJHB4OyAgLyogOSAqL1xuICAgICN7JHByb3BlcnR5fTogJHJlbTsgLyogOSAqL1xuICB9XG59XG5cblxuLy89PSBCb3JkZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gYm9yZGVyKCAkY29vcmRpbmF0ZXM6IDAgMCAwIDAsICRjb2xvdXI6ICRib3JkZXItY29sb3IsICRzdHlsZTogc29saWQgKSB7XG4gICAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICAgJHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcbiAgICAkYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKTtcbiAgICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG4gICAgQGlmIG5vdCh1bml0bGVzcygkdG9wKSkge1xuICAgICAgICBib3JkZXItdG9wOiAkdG9wICRzdHlsZSAkY29sb3VyO1xuICAgIH1cbiAgICBAaWYgbm90KHVuaXRsZXNzKCRyaWdodCkpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkcmlnaHQgJHN0eWxlICRjb2xvdXI7XG4gICAgfVxuICAgIEBpZiBub3QodW5pdGxlc3MoJGJvdHRvbSkpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvdHRvbSAkc3R5bGUgJGNvbG91cjtcbiAgICB9XG4gICAgQGlmIG5vdCh1bml0bGVzcygkbGVmdCkpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRsZWZ0ICRzdHlsZSAkY29sb3VyO1xuICAgIH1cbn1cblxuLy8gU3RhdGUgYW5kIGhvdmVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHN0YXRlLWhvdmVyLWRlZmF1bHQoJHRpbWUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyLWNvbG9yKXtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAkdGltZSk7XG4gICAgJjpob3ZlcntcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIH1cbn1cblxuQG1peGluIHN0YXRlLWhvdmVyKCR0aW1lLCRoZWlnaHQsJGNvbG9yKXtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMCAwIDAgJGNvbG9yKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAkdGltZSBjdWJpYy1iZXppZXIoMC44LDAsMCwxKSk7XG4gICAgJjpob3ZlcntcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgJHRpbWUgY3ViaWMtYmV6aWVyKDAuOCwwLDAsMSkpO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgKC0kaGVpZ2h0KSAwIDAgJGNvbG9yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBzdGF0ZS1ob3Zlci0yKCRiYWNrZ3JvdW5kKXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgJjphZnRlcntcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IC01MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgc2NhbGUoMCk7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcigxMDAlLDEwMCUpO1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWRlbGF5KDAuM3MsMHMpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwcyBjdWJpYy1iZXppZXIoMC4xOSwxLDAuMjIsMSkgMC4zcyxvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTksMSwwLjIyLDEpKTtcbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY2FsZSgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjE5LDEsMC4yMiwxKSxvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuMTksMSwwLjIyLDEpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8vPT0gRmxleGlibGUgTGF5b3V0XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gZmxleGJveCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4lZmxleGJveCB7XG4gICAgQGluY2x1ZGUgZmxleGJveDtcbn1cblxuQG1peGluIGlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuJWlubGluZS1mbGV4IHtcbiAgICBAaW5jbHVkZSBpbmxpbmUtZmxleDtcbn1cblxuXG5cbi8vIFJldGluYSBTcHJpdGUgTWl4aW5zXG5cbkBtaXhpbiByZXRpbmEtc3ByaXRlLWJhY2tncm91bmQoJHVybCwkcG9zaXRpb24sJHdpZHRoLCRoZWlnaHQpe1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR1cmwpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgICB3aWR0aDokd2lkdGg7XG4gICAgaGVpZ2h0OiRoZWlnaHQ7XG59XG5cbi8qKiBlbGVtZW50cyBtaXhpbnMgKiovXG5cbkBtaXhpbiBib3JkZXItZXhjbHVkZS10b3AoJGJvcmRlci1kZWVwLCAkYm9yZGVyLXR5cGUgLCAkYm9yZGVyLWNvbG9yICl7XG4gICBib3JkZXItYm90dG9tOiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItcmlnaHQ6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG59XG5cbkBtaXhpbiBib3JkZXItZXhjbHVkZS1ib3R0b20oJGJvcmRlci1kZWVwLCAkYm9yZGVyLXR5cGUgLCAkYm9yZGVyLWNvbG9yICl7XG4gICBib3JkZXItdG9wOiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItcmlnaHQ6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG59XG5cbkBtaXhpbiBib3JkZXItZXhjbHVkZS1sZWZ0KCRib3JkZXItZGVlcCwgJGJvcmRlci10eXBlICwgJGJvcmRlci1jb2xvciApe1xuICAgYm9yZGVyLXRvcDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1ib3R0b206ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItcmlnaHQ6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG59XG5cbkBtaXhpbiBib3JkZXItZXhjbHVkZS1yaWdodCgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSAsICRib3JkZXItY29sb3IgKXtcbiAgIGJvcmRlci10b3A6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItYm90dG9tOiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG59XG5cbkBtaXhpbiByb3VuZGVkLWNvcm5lcnMgKCRyYWRpdXMpIHtcbiAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgIC1tcy1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgLW8tYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBjbGVhcmJveHN0eWxlKCl7XG4gICBiYWNrZ3JvdW5kOiBub25lO1xuICAgYm9yZGVyOm5vbmU7XG59XG5cbkBtaXhpbiBjbGVhcmZsb2F0KCl7XG4gICBmbG9hdDogbm9uZTtcbiAgIHdpZHRoOiAxMDAlO1xufVxuIFxuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCR0cmFuc2Zvcm0tc3R5bGUpe1xuICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7ICAgICAgICAgICAgICAgICAgICBcbiAgIC1tb3otdHJhbnNmb3JtLXN0eWxlOiAkdHJhbnNmb3JtLXN0eWxlOyAgICAgICAgICAgICAgICAgICAgXG4gICAtbXMtdHJhbnNmb3JtLXN0eWxlOiAkdHJhbnNmb3JtLXN0eWxlOyAgICAgICAgICAgICAgICAgICAgXG4gICAtby10cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7ICAgICAgICAgICAgICAgICAgICBcbiAgIHRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTtcbn1cblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJGJhY2tmYWNlLXZpc2liaWxpdHkpe1xuICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJGJhY2tmYWNlLXZpc2liaWxpdHk7ICAvKiBXM0MgKi9cbiAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogJGJhY2tmYWNlLXZpc2liaWxpdHk7IC8qIFNhZmFyaSAmIENocm9tZSAqL1xuICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgLyogRmlyZWZveCAqL1xuICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6ICRiYWNrZmFjZS12aXNpYmlsaXR5OyAvKiBJbnRlcm5ldCBFeHBsb3JlciAqL1xuICAgLW8tYmFja2ZhY2UtdmlzaWJpbGl0eTogJGJhY2tmYWNlLXZpc2liaWxpdHk7IC8qIE9wZXJhICovXG59XG5cbkBtaXhpbiBhbmltYXRpb24tdGhlbWUoJGFuaW1hdGlvbi1kdXJhdGlvbiwgJGFuaW1hdGlvbi1maWxsLW1vZGUsICRhbmltYXRpb24tbmFtZSl7XG4gICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjsgXG4gICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjsgXG4gICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIC1vLWFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjsgXG4gICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247IFxuXG4gICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiAkYW5pbWF0aW9uLWZpbGwtbW9kZTtcbiAgIC1tcy1hbmltYXRpb24tZmlsbC1tb2RlOiAkYW5pbWF0aW9uLWZpbGwtbW9kZTtcbiAgIC1vLWFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG5cbiAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRhbmltYXRpb24tbmFtZTtcbiAgIC1tb3otYW5pbWF0aW9uLW5hbWU6ICRhbmltYXRpb24tbmFtZTsgXG4gICAtbXMtYW5pbWF0aW9uLW5hbWU6ICRhbmltYXRpb24tbmFtZTsgXG4gICAtby1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lOyBcbiAgIGFuaW1hdGlvbi1uYW1lOiAkYW5pbWF0aW9uLW5hbWU7IFxufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKXtcbiAgIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgIC1tcy1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgLW8tcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7ICAgIFxufVxuXG4vKipcbiogVHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24gcHJvcGVydHlAbWl4aW4gXG4qL1xuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbiBcblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2Upe1xuICAgYXBwZWFyYW5jZTogJGFyZ3VtZW50cztcbiAgIC1tb3otYXBwZWFyYW5jZTogJGFyZ3VtZW50cztcbiAgIC1tcy1hcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLW8tYXBwZWFyYW5jZTogJGFyZ3VtZW50cztcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogJGFyZ3VtZW50czsgXG59XG5cblxuLypiYWNrZ3JvdW5kIFJHQkFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBtaXhpbiByZ2JhKCRjb2xvdXIsICRhbHBoYSlcbntcbiAgICRhbHBoYUNvbG91cjogaHNsYShodWUoJGNvbG91ciksIHNhdHVyYXRpb24oJGNvbG91ciksIGxpZ2h0bmVzcygkY29sb3VyKSwgJGFscGhhKTtcbiAgICRpZUFscGhhQ29sb3VyOiBhcmdiKCRhbHBoYUNvbG91cik7ICAgXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyOyBcbiAgIGJhY2tncm91bmQtY29sb3I6ICRhbHBoYUNvbG91cjsgICAgICAgXG4gICB6b29tOiAxOyBcbiAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50XFw5OyAgIFxuICAgXG4gICBcbn1cblxuXG5AbWl4aW4gYm9yZGVyLXJnYmEoJGNvbG91ciwgJGFscGhhKVxue1xuICAgJGFscGhhQ29sb3VyOiBoc2xhKGh1ZSgkY29sb3VyKSwgc2F0dXJhdGlvbigkY29sb3VyKSwgbGlnaHRuZXNzKCRjb2xvdXIpLCAkYWxwaGEpO1xuICAgJGllQWxwaGFDb2xvdXI6IGFyZ2IoJGFscGhhQ29sb3VyKTsgICBcbiAgIGJvcmRlci1jb2xvcjogJGNvbG91cjsgXG4gICBib3JkZXItY29sb3I6ICRhbHBoYUNvbG91cjsgICAgICAgXG4gICB6b29tOiAxOyBcbiAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRcXDk7XG4gIFxufVxuXG4vL2NvcHlyaWdodFxuXG4vL3N1YiBoZWFkaW5nIChoMixoMykgZGVmaW5lXG5AbWl4aW4gc3ViLWhlYWRpbmcge1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6ICRibG9jay1oZWFkaW5nLWNvbG9yO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250OiA2MDAgMTRweC8yMHB4ICRmb250LWN1c3RvbTtcbiAgcGFkZGluZzogOHB4IDE1cHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIG1pbi13aWR0aDogMTIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJHRoZW1lLWJnLWRlZmF1bHQ7XG59XG5AbWl4aW4gc3ViLWhlYWRpbmctYmVmb3JlIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgcmlnaHQ6IDQ1JTtcbiAgdG9wOiAxMDAlO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiAkdGhlbWUtYmctZGVmYXVsdDtcbn1cblxuLy9iYWNrZ3JvdW5kXG5AbWl4aW4gYmFja2dyb3VuZC1ob3ZlciB7XG4gIGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIyOCwgNTAsIDQwLCAwLjMpO1xufVxuXG4vKmlubGluZS1ibG9ja1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5AbWl4aW4gaW5saW5lLWJsb2NrKCkge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgKmRpc3BsYXk6IGlubGluZTtcbiAgIHpvb206IDE7ICAgXG59XG5cbi8vIFNpemluZyBzaG9ydGN1dHNcbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cblxuXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBib3gtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLmJveC1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgIC5ib3gtY29udGVudCB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuICAmID4gLmJveC1jb250ZW50e1xuICAgICAgYm9yZGVyLWNvbG9yOiRib3JkZXI7XG4gIH1cbiAgJiA+IC5ib3gtZm9vdGVyIHtcbiAgICArIC5ib3gtY29sbGFwc2UgLmJveC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG5AbWl4aW4gYnV0dG9uLTNkKCRzdWZmaXhjbGFzcywgJGhlaWdodDNkICwkY29sb3IzZCl7XG4gIGJvcmRlcjogMDtcbiAgQGlmICgkc3VmZml4Y2xhc3MgPT0gXCJlbXB0eVwiKSB7XG4gICAgICBib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1vLWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW1vei1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtbXMtYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAmLmJ0bi0jeyRzdWZmaXhjbGFzc317XG4gICAgIGJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW8tYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtbW96LWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1tcy1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1pbnZlcnNlKCAkc3VmZml4Y2xhc3MsICAkY29sb3IgLCRiYWNrZ3JvdW5kICl7XG4gXG4gICYuYnRuLSN7JHN1ZmZpeGNsYXNzfXtcbiAgICAgICY6aG92ZXJ7IFxuICAgICAgICBjb2xvcjokY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lKCAkc3VmZml4Y2xhc3MsICRjb2xvciwgJGhvdmVyY29sb3IgKXtcbiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgJi5idG4tI3skc3VmZml4Y2xhc3N9e1xuICAgICAgY29sb3I6JGNvbG9yO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgICBjb2xvcjokaG92ZXJjb2xvcjtcbiAgICAgIH1cbiAgfVxufVxuLy8vIGJ1dHRvbiB2YXJpYW50IG91dGxpbmVcbkBtaXhpbiBidXR0b24tdmFyaWFudC1vdXRsaW5lKCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcmhvdmVyLCAkYmdob3ZlciwgJGJvcmRlcmhvdmVyICkge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRjb2xvcmhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ2hvdmVyO1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXJob3ZlciA7XG4gIH1cbiAgLm9wZW4gJiB7ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnaG92ZXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcmhvdmVyIDtcbiAgfSB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAub3BlbiAmIHsgJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH0gfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cbi8vIGljb24gdmFyaWFudCBpbnZlcnNlXG5cbkBtaXhpbiBpY29ucy1pbnZlcnNlKCAkc3VmZml4Y2xhc3MsICAkY29sb3IgLCRiYWNrZ3JvdW5kICl7XG4gXG4gICYuaWNvbnMtI3skc3VmZml4Y2xhc3N9e1xuICAgICAgJjpob3ZlcnsgXG4gICAgICAgIGNvbG9yOiRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgfVxufVxuLy8gaWNvbiB2YXJpYW50IG91dGxpbmVcblxuQG1peGluIGljb25zLW91dGxpbmUoICRzdWZmaXhjbGFzcywgJGNvbG9yLCAkaG92ZXJjb2xvciApe1xuICAmLmljb25zLSN7JHN1ZmZpeGNsYXNzfXtcbiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiRjb2xvcjtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgY29sb3I6JGhvdmVyY29sb3I7XG4gICAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBibG9jay12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgJiAuI3skYmxvY2staGVhZGluZy1zZWxlY3Rvcn0ge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgICAgPiBzcGFuOmJlZm9yZXtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjokaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgICAgfVxuXG4gIH1cbiAgJiA+IC4jeyRibG9jay1wcmVmaXh9LWZvb3RlciB7XG4gICAgKyAuI3skYmxvY2stcHJlZml4fS1jb2xsYXBzZSAuI3skYmxvY2stcHJlZml4fS1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi8qKioqL1xuLyoqKiovXG5AbWl4aW4gY29udGFpbmVyLWxheW91dC12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRsaW5rY29sb3IgKXtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGF7XG4gICAgICBjb2xvcjokbGlua2NvbG9yOyBcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiRsaW5rLWhvdmVyLWNvbG9yOyBcbiAgICAgIH0gIFxuICAgIH0gICAgICAgICBcbn1cblxuIiwiLy8gQm94IFNpemVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYm94LXNpemUoJGJhY2tncm91bmQsICRwYWRkaW5nLXRvcCwkcGFkZGluZy1ib3R0b20pe1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLWJvdHRvbTtcclxufVxyXG5cclxuLy8gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGJ1dHRvbi1vdXRsaW5lKCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3ItaG92ZXIsICRib3JkZXItaG92ZXIsICRib3JkZXItcmFkaXVzKSB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6ICRib3JkZXI7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjphY3RpdmUsXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgICAgICBib3JkZXI6ICRib3JkZXItaG92ZXI7XHJcbiAgICB9XHJcbiAgICAuZmEsLmljb257XHJcbiAgICAgICAgZm9udC1zaXplOiAkaWNvbi1mb250LXNpemUtYmFzZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEJsb2NrXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGJsb2NrLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgYmFja2dyb3VuZDogJGhlYWRpbmctYmctY29sb3I7XHJcbiAgICAmIC4jeyRibG9jay1oZWFkaW5nLXNlbGVjdG9yfSB7XHJcbiAgICAgICAgJiBzcGFuOmJlZm9yZSwgJiBzcGFuOmFmdGVyeyBiYWNrZ3JvdW5kOiR3aGl0ZTsgfVxyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLWNvbnRlbnQtc2VsZWN0b3J9IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmID4gLiN7JGJsb2NrLXByZWZpeH0tZm9vdGVyIHtcclxuICAgICAgICArIC4jeyRibG9jay1wcmVmaXh9LWNvbGxhcHNlIC4jeyRibG9jay1wcmVmaXh9LWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJsb2NrLWVsZW1lbnRzLXN0eWxlcygkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyLCAkdGV4dC1jb2xvciwgJHRleHQtY29sb3ItcHJpbWFyeSl7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGluZy1iZy1jb2xvcjtcclxuICAgICYgLiN7JGJsb2NrLWhlYWRpbmctc2VsZWN0b3J9IHtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcclxuICAgICAgICArIC4jeyRibG9jay1wcmVmaXh9LWNvbGxhcHNlIC4jeyRibG9jay1jb250ZW50LXNlbGVjdG9yfSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiA+IC4jeyRibG9jay1wcmVmaXh9LWZvb3RlciB7XHJcbiAgICAgICAgKyAuI3skYmxvY2stcHJlZml4fS1jb2xsYXBzZSAuI3skYmxvY2stcHJlZml4fS1ib2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqL1xyXG5AbWl4aW4gY29udGFpbmVyLWxheW91dC12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRsaW5rY29sb3IsICAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXIgKXtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGF7XHJcbiAgICAgICAgY29sb3I6JGxpbmtjb2xvcjtcclxuICAgIH1cclxuICAgIGE6aG92ZXJ7XHJcbiAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcclxuICAgIH1cclxufVxyXG5cclxuLy89PSBJbmxpbmUgYmxvY2tcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQG1peGluIGlubGluZS1ibG9jayAoJGhhc2xheW91dCA6IHRydWUpe1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIEBpZiAkaGFzbGF5b3V0ID09IHRydWUge1xyXG4gICAgICAgIC5sdC1pZTggJiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgem9vbTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vPT0gdmVydGljYWwgYmxvY2tcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQG1peGluIHZlcnRpY2FsLWNlbnRlciggJHdpZHRoOiAxMDBweCwgJGhlaWdodDogMTAwcHgpIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHRvcDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNsYXRlIFggLSBZIC0gWlxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdHJhbnNsYXRlWCgkeCkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7IC8vIElFOSBvbmx5XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR4KTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zbGF0ZVkoJHkpIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpOyAvLyBJRTkgb25seVxyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2xhdGVaKCR6KSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigkeik7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6KTsgLy8gSUU5IG9ubHlcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigkeik7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooJHopO1xyXG59XHJcblxyXG4vLz09IFRyYW5zZm9ybVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdHJhbnNmb3JtKCRhcmd1bWVudCl7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIC1vLXRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbiAgICB0cmFuc2Zvcm06ICgkYXJndW1lbnQpO1xyXG59XHJcblxyXG4vLz09IFRyYW5zZm9ybVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZTEsJHRpbWUyKXtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogKCR0aW1lMSwkdGltZTIpO1xyXG4gICAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICAtbXMtdHJhbnNpdGlvbi1kZWxheTogKCR0aW1lMSwkdGltZTIpO1xyXG4gICAgLW8tdHJhbnNpdGlvbi1kZWxheTogKCR0aW1lMSwkdGltZTIpO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogKCR0aW1lMSwkdGltZTIpO1xyXG59XHJcblxyXG4vLz09IEJhY2tncm91bmQgU2l6ZVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKCRzaXplMSwkc2l6ZTIpIHtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogKCRzaXplMSwkc2l6ZTIpO1xyXG4gICAgLW1zLWJhY2tncm91bmQtc2l6ZTogKCRzaXplMSwkc2l6ZTIpO1xyXG4gICAgLW8tYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICgkc2l6ZTEsJHNpemUyKTtcclxufVxyXG5cclxuLy89PSBCYWNrZ3JvdW5kIG9yaWdpblxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYmFja2dyb3VuZC1vcmlnaW4oJHZhbHVlMSwkdmFsdWUyKXtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW46ICgkdmFsdWUxLCR2YWx1ZTIpO1xyXG4gICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICAtbXMtYmFja2dyb3VuZC1vcmlnaW46ICgkdmFsdWUxLCR2YWx1ZTIpO1xyXG4gICAgLW8tYmFja2dyb3VuZC1vcmlnaW46ICgkdmFsdWUxLCR2YWx1ZTIpO1xyXG4gICAgYmFja2dyb3VuZC1vcmlnaW46ICgkdmFsdWUxLCR2YWx1ZTIpO1xyXG59XHJcblxyXG4vLz09IEJvcmRlciByYWRpdXNcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xyXG4gICAgYm9yZGVyLXJhZGl1cyAgICAgICAgIDogJHJhZGl1cztcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1cyA6ICRyYWRpdXM7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMgICAgOiAkcmFkaXVzO1xyXG4gICAgLW1zLWJvcmRlci1yYWRpdXMgICAgIDogJHJhZGl1cztcclxuICAgIC1vLWJvcmRlci1yYWRpdXMgICAgICA6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8vPT0gVGV4dCBTaGFkb3dcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQG1peGluIHRleHQtc2hhZG93KCRzaGFkb3cpIHtcclxuICAgIHRleHQtc2hhZG93ICAgICAgICAgOiAkc2hhZG93O1xyXG4gICAgLXdlYmtpdC10ZXh0LXNoYWRvdyA6ICRzaGFkb3c7XHJcbiAgICAtbW96LXRleHQtc2hhZG93ICAgIDogJHNoYWRvdztcclxuICAgIC1tcy10ZXh0LXNoYWRvdyAgICAgOiAkc2hhZG93O1xyXG4gICAgLW8tdGV4dC1zaGFkb3cgICAgICA6ICRzaGFkb3c7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNmb3JtIE9yaWdpblxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luWCwkb3JpZ2luWSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luIDogJG9yaWdpblggJG9yaWdpblk7XHJcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW4gICAgOiAkb3JpZ2luWCAkb3JpZ2luWTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luICAgICA6ICRvcmlnaW5YICRvcmlnaW5ZOyAvLyBJRTkgb25seVxyXG4gICAgdHJhbnNmb3JtLW9yaWdpbiAgICAgICAgIDogJG9yaWdpblggJG9yaWdpblk7XHJcbn1cclxuXHJcbi8vPT0gYXBwZWFyYW5jZVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYXBwZWFyYW5jZSgpIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZSA6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2UgICAgOiBub25lO1xyXG4gICAgLW8tYXBwZWFyYW5jZSAgICAgIDogbm9uZTtcclxuICAgIC1tcy1hcHBlYXJhbmNlICAgICA6IG5vbmU7XHJcbiAgICBhcHBlYXJhbmNlICAgICAgICAgOiBub25lO1xyXG59XHJcblxyXG4vLz09IHNlbGVjdGlvblxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4kcHJlZml4ZXM6IChcIi1tb3otXCIsIFwiXCIpO1xyXG5AbWl4aW4gc2VsZWN0aW9uKCRjb2xvciwgJGJhY2tncm91bmQpIHtcclxuICAgIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcclxuICAgICAgICA6OiN7JHByZWZpeH1zZWxlY3Rpb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vPT0gYW5pbWF0aW9uIGZpbGwgbW9kZVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbCkge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbDtcclxuICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGw7XHJcbiAgICAtby1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbDtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG59XHJcblxyXG4vLz09IGZpbHRlclxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gZmlsdGVyKCRhcmd1bWVudCl7XHJcbiAgICBmaWx0ZXIgICAgICAgICA6ICRhcmd1bWVudDtcclxuICAgIC13ZWJraXQtZmlsdGVyIDogJGFyZ3VtZW50O1xyXG4gICAgLW1vei1maWx0ZXIgICAgOiAkYXJndW1lbnQ7XHJcbiAgICAtby1maWx0ZXIgICAgICA6ICRhcmd1bWVudDtcclxuICAgIC1tcy1maWx0ZXIgICAgIDogJGFyZ3VtZW50O1xyXG59XHJcblxyXG4vLyBDbGVhciBMaXN0c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBjbGVhci1saXN0KCl7XHJcbiAgICBwYWRkaW5nICAgIDogMDtcclxuICAgIG1hcmdpbiAgICAgOiAwO1xyXG4gICAgbGlzdC1zdHlsZSA6IG5vbmU7XHJcbn1cclxuXHJcbi8vIEZvcm1hcnQgbGlzdHMgd2lkZ2V0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGxpc3RzLXN0eWxlKCkge1xyXG4gICAgdWwsb2x7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXItbGlzdCgpO1xyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNoaWxkcmVue1xyXG4gICAgICAgICAgICAgICAgPiBsaXtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGltcG9ydCBcImZ1bmN0aW9uc1wiOyIsIi8qXG4gKiBHbG9iYWwgdmFyaWFibGVzXG4gKi9cbiRpbWFnZS10aGVtZS1wYXRoICAgICAgICAgICAgICAgIDogJy4uL2ltYWdlcy8nICFkZWZhdWx0O1xuJGltYWdlLXRoZW1lLXNraW4gICAgICAgICAgICAgICAgOiAnLi4vaW1hZ2VzLycgIWRlZmF1bHQ7XG4vLyBzdGFuZGFyZCBjb2xvcnNcbiR3aGl0ZVx0XHQgICAgOiAjRkZGICFkZWZhdWx0O1xuJGJsYWNrXHRcdFx0OiAjMDAwICFkZWZhdWx0O1xuJG5vY29sb3JcdFx0OiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRsaWdodC1ncmF5XHQ6ICNDQ0MgIWRlZmF1bHQ7IFxuXG5cbi8vIGNvbG9yIGZvciBkZWZhdWx0IHRoZW1lXG4kdGhlbWUtY29sb3IgICAgOiAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0OyAvKiBtYWluIGNvbG9yIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgYWxsIG1haW4gYmxvY2sgc3R5bGVzLi4uICovXG4kYm9yZGVyLWNvbG9yXHQ6ICNlZGVkZWQgIWRlZmF1bHQ7XG5cblxuJHRoZW1lLWNvbG9yLXNlY29uZCAgXHRcdFx0IDogI2YxYmEyNyAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1kZWZhdWx0ICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWhvdmVyICAgICAgICAgICAgICAgOiAjZjFiYTI3ICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeSAgICAgICAgICAgOiAjMjYyYTJlICFkZWZhdWx0O1xuJGxpbmstY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAjZjFiYTI3ICFkZWZhdWx0O1xuXG5cbi8vIFRoZW1lIE1hcmdpbiwgUGFkZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHRoZW1lLW1hcmdpbiAgICA6IDIwcHggIWRlZmF1bHQ7XG4kdGhlbWUtcGFkZGluZyAgIDogMjBweCAhZGVmYXVsdDtcbi8vIGZvbnRzXG4kZm9udC1mYW1pbHktc2Vjb25kIDogICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0OyBcbiR0aGVtZS1wYWRkaW5nIDogMzBweCAhZGVmYXVsdDsgXG4vKipcbiAqIEltcG9ydCBjb21wb25lbnQgdmFyaWFibGVzXG4gKi9cbkBpbXBvcnQgXCJ2YXJzL2Zvcm1cIjtcbkBpbXBvcnQgXCJ2YXJzL25hdlwiO1xuQGltcG9ydCBcInZhcnMvbGF5b3V0XCI7XG5AaW1wb3J0IFwidmFycy9lbGVtZW50c1wiO1xuQGltcG9ydCBcInZhcnMvd2lkZ2V0XCI7XG4iLCIvLyBTZWxlY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzZWxlY3Qtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDMycHggIWRlZmF1bHQ7XG4kc2VsZWN0LWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogNHB4IDZweCAhZGVmYXVsdDtcblxuLy8gSW5wdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRpbnB1dC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICA6IDVweCA2cHggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplLWJhc2UgLSAxO1xuXG4kaW5wdXQtZ3JvdXAtZm9ybS1iZyAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1mb3JtLW1hcmdpbiAgICAgICAgICAgICAgICA6IDAgMCA1cHggMCFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgIDogNnB4IDExcHggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtZm9udC1zaXplICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6IDQycHggIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb3JtLWJnICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRncmF5LWRhcmtlciAhZGVmYXVsdDtcblxuLy8gQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnRuLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctdmVydGljYWwgICAgICAgICAgICAgICAgICAgOiA1cHggIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG5cbiRidG4tbGctcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kYnRuLWxnLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJGJ0bi1sZy1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogMThweCAhZGVmYXVsdDtcbiRidG4tbGctbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRsaW5lLWhlaWdodC1sYXJnZSAhZGVmYXVsdDtcbiRidG4tbGctYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6IDVweCAhZGVmYXVsdDtcblxuJGJ0bi1zbS1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogN3B4ICFkZWZhdWx0O1xuJGJ0bi1zbS1wYWRkaW5nLWhvcml6b250YWwgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tc20tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXNtLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHQtc21hbGwgIWRlZmF1bHQ7XG4kYnRuLXNtLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuJGJ0bi14cy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGJ0bi14cy1wYWRkaW5nLWhvcml6b250YWwgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRidG4teHMtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXhzLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHQtc21hbGwgIWRlZmF1bHQ7XG4kYnRuLXhzLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLWNvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgIDogMzZweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1wYWRkaW5nIFx0XHRcdDogM3B4IDE1cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaG92ZXItYmcgICAgICAgICAgICAgICAgICAgOiR0aGVtZS1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWJvcmRlci1ob3ZlciAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgOiAyOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLXNtLXBhZGRpbmctdmVydGljYWwgICAgICAgIDogOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXNtLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogMThweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1zbS1mb250LXNpemUgICAgICAgICAgICAgICA6IDExcHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAxLjMgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tYm9yZGVyLXJhZGl1cyAgICAgICAgICAgOiAzcHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS14cy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICA6IDVweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS14cy1wYWRkaW5nLWhvcml6b250YWwgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUteHMtZm9udC1zaXplICAgICAgICAgICAgICAgOiAxMXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMS4yICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLWJvcmRlci1yYWRpdXMgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuXG4kYnRuLW91dGxpbmUtbGctcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgOiAyMXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogNDhweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1sZy1mb250LXNpemUgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGctbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAzICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLWJvcmRlci1yYWRpdXMgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuXG4kYnRuLWludmVyc2UtY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtaG92ZXItY29sb3IgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtaG92ZXItYmcgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJ0bi1pbnZlcnNlLWJvcmRlci1ob3Zlci1jb2xvciAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgOiAxMHB4IDE1cHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS1pbnZlcnNlLWNvbG9yICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1iZyAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ib3JkZXItY29sb3IgICAgICAgOiAxcHggc29saWQgJGJ0bi1vdXRsaW5lLWludmVyc2UtYmcgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ob3Zlci1iZyAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ob3Zlci1jb2xvciAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ib3JkZXItaG92ZXItY29sb3IgOiAxcHggc29saWQgJHRoZW1lLWNvbG9yLXNlY29uZCAhZGVmYXVsdDtcblxuLy8gU2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kc2VhcmNoLWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRzZWFyY2gtd2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgICA6IGF1dG8gIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1iZyAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tYmcgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tYm9yZGVyICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLW1haW4tYnV0dG9uLWNvbG9yICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ib3JkZXIgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ob3Zlci1iZyAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1zaXplICAgICAgICAgICAgICAgICAgICAgOiAzNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1idXR0b24taG92ZXItY29sb3IgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJHNlYXJjaC1yYWRpdXMgICAgICAgICAgICAgICAgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuJHNlYXJjaC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIDogNTBweCAhZGVmYXVsdDtcbiRzZWFyY2gtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1ob3Zlci1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRzZWFyY2gtY2F0ZWdvcmllcy1ib3JkZXItcmFkaXVzICAgICAgICA6IDRweCAhaW1wb3J0YW50O1xuIiwiLy8gTWFpbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVnYW1lbnUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lZ2EtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICA6IDc1cHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItbWVnYS1za2luMi1iZyAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1tZWdhLXNraW4yLWJvcmRlciAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1za2luMi1saW5lLWhlaWdodCAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7IFxuXG4kbmF2YmFyLXRleHQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgOiA0MDAgIWRlZmF1bHQ7XG4gXG4kbmF2YmFyLWxpbmstbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgIDogMCAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWhvdmVyLWJnICAgICAgICAgICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstYWN0aXZlLWNvbG9yICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstYWN0aXZlLWJnICAgICAgICAgICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci13aWRnZXQtdGl0bGUtY29sb3IgICAgICAgICAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0O1xuJG5hdmJhci13aWRnZXQtdGl0bGUtbWFyZ2luICAgICAgICAgICAgICAgIDogMCAwIDEwcHggMCAhZGVmYXVsdDtcbiRuYXZiYXItd2lkZ2V0LXRpdGxlLWZvbnQtc2l6ZSAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kbmF2YmFyLXdpZGdldC10aXRsZS1mb250LXdlaWdodFx0XHQgICAgICAgOiA5MDAgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDEwcHggMjBweCAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tc2l6ZSAgICAgICAgICAgICAgICAgICAgICA6IDI1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWNvbG9yICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1ob3Zlci1jb2xvciAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1ob3Zlci1iZyAgICAgICAgICAgICA6ICRub2NvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLXRyYW5zZm9ybSAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1mb250LXNpemUgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstZm9udC13ZWlnaHQgICAgICAgICAgOiAzMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstYm9yZGVyLWNvbG9yICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1saW5rLXNtYWxsLXBhZGRpbmcgICAgICAgICAgICAgICAgIDogMThweCAwICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWxhcmdlLXBhZGRpbmcgICAgICAgICAgICAgICAgIDogNDZweCAwIDQ2cHggIWRlZmF1bHQ7ICBcblxuLy8gVmVydGljYWwgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBUb3AgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1tZW51dG9wLWZvbnQtd2VpZ2h0XHRcdFx0XHQgICAgOiA4MDAgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtZm9udC1zaXplXHRcdFx0XHQgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLXBhZGRpbmctdG9wXHRcdFx0XHQgICAgOiAyMnB4ICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLXBhZGRpbmctYm90dG9tXHRcdFx0ICAgIDogMThweCAhZGVmYXVsdDtcbiRuYXZiYXItbWVudXRvcC1jb2xvclx0XHRcdFx0XHQgICAgICAgOiAjODI4MjgyICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLW1hcmdpblx0XHRcdFx0XHQgICAgICAgOiAwIDEwcHggIWRlZmF1bHQ7XG5cbi8vIE9mZi1DYW52YXMgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtd2lkdGggICAgICAgICAgICAgICAgICAgIDogNjklICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtYmctY2xvc2UgICAgICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1iZyAgICAgICAgICAgICAgICAgICAgICAgOiAjZjVmNWY1ICAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJvcmRlciAgICAgICAgICAgICAgICAgICA6IHJnYmEoMCwgMCwgMCwgMC4xKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWNvbG9yICAgICAgICAgICAgICAgOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstaG92ZXItY29sb3IgICAgICAgICA6ICMwMjgxQUIgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWhvdmVyLWJnICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstYWN0aXZlLWNvbG9yICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWFjdGl2ZS1iZyAgICAgICAgICAgOiBkYXJrZW4oJG5hdmJhci1vZmZjYW52YXMtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWRpc2FibGVkLWNvbG9yICAgICAgOiAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtbGluay1kaXNhYmxlZC1iZyAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWZvbnQtc2l6ZSAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItb2ZmY2FudmFzLWJyYW5kLWNvbG9yICAgICAgICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1icmFuZC1ob3Zlci1jb2xvciAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1icmFuZC1ob3Zlci1iZyAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHNlYXJjaFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLWJnICAgICAgICAgICAgICAgIDogbGlnaHRlbigkbmF2YmFyLW9mZmNhbnZhcy1iZywgMjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXNlYXJjaC1iZy1mb2N1cyAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXNlYXJjaC1ib3JkZXIgICAgICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWJnICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1zZWFyY2gtaW5wdXQtYmcgICAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgkYmxhY2ssIC4xMCkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItb2ZmY2FudmFzLXRvZ2dsZS1ob3Zlci1iZyAgICAgICAgICA6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy10b2dnbGUtaWNvbi1iYXItYmcgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy10b2dnbGUtYm9yZGVyLWNvbG9yICAgICAgOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4kbmF2YmFyLW9mZmNhbnZhcy1idXR0b24tcG9zaXRpb24gICAgICAgICAgOiAtMTcycHggIWRlZmF1bHQ7IiwiXG4vLyBUb3BiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0b3BiYXItYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzI4MjgyOCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstaG92ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiR0b3BiYXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kdG9wYmFyLWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kdG9wYmFyLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDExcHggIWRlZmF1bHQ7XG4kdG9wYmFyLWljb24tY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHRvcGJhci1pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxM3B4ICFkZWZhdWx0O1xuJHRvcGJhci10ZXh0LXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdDogMTZweCAwcHggIWRlZmF1bHQ7XG5cbi8vLy8gSGVhZGVyXG5cbiRoZWFkZXItbWFpbi1wYWRkaW5nIDogMzBweCAwICFkZWZhdWx0OyBcblxuXG5cbiRtYXNzYm90dG9tLWhlYWQtYmdcdFx0IDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG1hc3Nib3R0b20taGVhZC1wYWRkaW5nIDogNnB4IDlweCAhZGVmYXVsdDtcbiRtYXNzYm90dG9tLWhlYWQtY29sb3IgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRtYXNzYm90dG9tLWhlYWQtYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG1hc3Nib3R0b20taGVhZC1iZyw0JSkhZGVmYXVsdDsgXG5cbi8qKlxuICpcbiAqL1xuXG4gJG1haW5tZW51LWJnOiAjMjIyMjIyICFkZWZhdWx0O1xuXG5cblxuXG4vLyBGb290ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIFxuJGZvb3Rlci1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjMGQwYzBjICFkZWZhdWx0O1xuJGZvb3Rlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjOTk5OTk5ICFkZWZhdWx0O1xuJGZvb3Rlci10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0OyBcbiRmb290ZXItYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItcGFkZGluZy10b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogNTBweCAhZGVmYXVsdDtcbiRmb290ZXItcGFkZGluZy1ib3R0b20gICAgICAgICAgICAgICAgICAgICAgICAgIDogNTBweCAhZGVmYXVsdDtcbiRmb290ZXItdGV4dC1oaWdodGxpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rLWZvbnQtc2l6ZVx0XHRcdFx0XHRcdFx0OiAxNHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1jb2x1bW4tbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMjVweCAwICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjOTk5OTk5ICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kZm9vdGVyLWljb24tY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGRhcmtlbigkd2hpdGUsIDIwJSkgIWRlZmF1bHQ7XG4kZm9vdGVyLWljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEzcHggIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDI1cHggIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAyMHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWRpc3BsYXkgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1saXN0LXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1saXN0LWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0OyBcbiRmb290ZXItbGlzdC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDEwcHggIWRlZmF1bHQ7XG4kZm9vdGVyLWxpc3QtbGlnaHQtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICA6IDIuNSAhZGVmYXVsdDsgIFxuJGZvb3Rlci1oZWFkaW5nLWZ3ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgOiA0MDAgIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctZmZhbWlseSAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LWZhbWlseS1zZWNvbmQgIWRlZmF1bHQ7XG5cbiRmb290ZXItbmV3c2xldHRlci1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgIDogMjVweCAhZGVmYXVsdDtcbiRmb290ZXItbmV3c2xldHRlci1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1uZXdzbGV0dGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAjNDg0ODQ4ICFkZWZhdWx0O1xuJGZvb3Rlci1uZXdzbGV0dGVyLWhlYWRpbmctZm9udC1zaXplICAgICAgICAgICAgOiAxOHB4ICFkZWZhdWx0O1xuXG4kZm9vdGVyLXRvcC1iZyBcdFx0XHRcdFx0XHRcdFx0XHQ6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRmb290ZXItdG9wLWNvbG9yICBcdFx0XHRcdFx0XHRcdFx0OiAjZmZmICFkZWZhdWx0O1xuJGZvb3Rlci10b3AtcGFkZGluZy10b3BcdFx0XHRcdFx0XHRcdDogMTJweCAhZGVmYXVsdDsgXG4kZm9vdGVyLXRvcC1wYWRkaW5nLWJvdHRvbVx0XHRcdFx0XHRcdDogMTJweCAhZGVmYXVsdDtcbiRmb290ZXItdG9wLWZvbnQtc2l6ZVx0XHRcdFx0XHRcdFx0OiAxMnB4ICFkZWZhdWx0O1xuJGZvb3Rlci10b3AtbGV0dGVyLXNwYWNpbmdcdFx0XHRcdFx0XHQ6IDJweCAhZGVmYXVsdDtcbiRmb290ZXItdG9wLWJvcmRlci1jb2xvciBcdFx0XHRcdFx0XHQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuJGZvb3Rlci1ib3R0b20tYmcgXHRcdFx0XHRcdFx0XHRcdFx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyLWJvdHRvbS1jb2xvciAgXHRcdFx0XHRcdFx0XHRcdDogI2ZmZiAhZGVmYXVsdDtcbiRmb290ZXItYm90dG9tLXBhZGRpbmctdG9wXHRcdFx0XHRcdFx0XHQ6IDEycHggIWRlZmF1bHQ7IFxuJGZvb3Rlci1ib3R0b20tcGFkZGluZy1ib3R0b21cdFx0XHRcdFx0XHQ6IDEycHggIWRlZmF1bHQ7XG4kZm9vdGVyLWJvdHRvbS1mb250LXNpemVcdFx0XHRcdFx0XHRcdDogMTJweCAhZGVmYXVsdDtcbiRmb290ZXItYm90dG9tLWxldHRlci1zcGFjaW5nXHRcdFx0XHRcdFx0OiAycHggIWRlZmF1bHQ7XG4kZm9vdGVyLWJvdHRvbS1ib3JkZXItY29sb3IgXHRcdFx0XHRcdFx0OiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4vLyBDb3B5cmlnaHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIC8vIENvcHlyaWdodFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvcHlyaWdodC1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuJGNvcHlyaWdodC1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjOTk5ICFkZWZhdWx0O1xuJGNvcHlyaWdodC1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjOTk5ICFkZWZhdWx0O1xuJGNvcHlyaWdodC1wYWRkaW5nLXRvcCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGNvcHlyaWdodC1wYWRkaW5nLWJvdHRvbSAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGNvcHlyaWdodC1mb250LXNpemVcdFx0XHRcdFx0XHRcdCAgICAgICAgIDogMTNweCAhZGVmYXVsdDsgXG4kY29weXJpZ2h0LWZvbnQtd2VpZ2h0XHRcdFx0XHRcdFx0XHQgICAgICA6IDQwMCAhZGVmYXVsdDtcblxuJGRlbC1mb250LXNpemVcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kZGVsLWNvbG9yXHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgICA6ICM5OTk5OTk7IiwiJGJvLXBhcmFsbGF4LWJlZm9yZS1iYWNrZ3JvdW5kIDogdXJsKFwiaHR0cDovL3ZlbnVzZGVtby5jb20vd3BvcGFsL21peC9tb2JpbGUvd3AtY29udGVudC91cGxvYWRzLzIwMTQvMTEvYmctZm9vdGVyLWNkLmpwZ1wiKSFkZWZhdWx0O1xuXG4kZWxlbWVudC1jb2xvci1wcmltYXJ5ICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcblxuIC8qIC0tLSBTQ1NTIEZvciBBY2NvcmRpb24gLS0tICovXG4kYm8tYWNjb3JkaW9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7IFxuJGJvLWFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG4kYm8tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2VlZSAhZGVmYXVsdDtcblxuIC8qIC0tLSBTQ1NTIEZvciBCcmVhZGNydW1iIC0tLSAqL1xuXG4gLyogLS0tIFNDU1MgRm9yIEJ1dHRvbnMgLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgQ2FsbC10by1hY3Rpb24gLS0tICovJHdoaXRlIDogI0ZGRkZGRiAhZGVmYXVsdDtcblxuIC8qIC0tLSBTQ1NTIEZvciBDb250ZW50LXNsaWRlciAtLS0gKi8vKiAgKi9cblxuJGJvLWNhcm91c2VsLW1kLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1tZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1cHggIWRlZmF1bHQ7XG5cbiRiby1jYXJvdXNlbC1zbS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM4cHggIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtc20taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1N3B4ICFkZWZhdWx0O1xuXG4kYm8tY2Fyb3VzZWwteHMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLXhzLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDVweCAhZGVmYXVsdDtcbiBcbi8qIGNhcm91c2VsLWNvbnRyb2xzLXYxICovXG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYxLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgZGFya2VuKCRiby1jYXJvdXNlbC1jb250cm9scy12MS1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1jb250cm9scy12MS1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSAhZGVmYXVsdDtcblxuLyogY2Fyb3VzZWwtY29udHJvbHMtdjIgKi9cbiRiby1jYXJvdXNlbC1jb250cm9scy12Mi1jb2xvcjogICAgICAgICAgICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjItaG92ZXItY29sb3I6ICAgICAgICAgICAgICBkYXJrZW4oJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYyLWNvbG9yLCAyNSUpICFkZWZhdWx0O1xuXG4vKiBjYXJvdXNlbC1jb250cm9scy12MyAqL1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIzk5OSAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1jb250cm9scy12My1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYzLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgJGVsZW1lbnQtY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuXG5cbi8qIE5hdmlnYXRpb24gU3R5bGVzICovXG5cbi8qIGNhcm91c2VsLWluZGljYXRvcnMtdjEgKi9cbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXYxLWJnOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12MS1ob3Zlci1iZzogICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcblxuLyogY2Fyb3VzZWwtaW5kaWNhdG9ycy12MiAqL1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjItYmc6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXYyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG4vKiBjYXJvdXNlbC1pbmRpY2F0b3JzLXYzICovXG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12My1iZzogICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXYzLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG4vKiBjYXJvdXNlbC1pbmRpY2F0b3JzLXY0ICovXG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12NC1iZzogICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXY0LWhvdmVyLWJnOiAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG5cbi8qIGNhcm91c2VsLWluZGljYXRvcnMtdjUgKi9cbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXY1LWJnOiAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjUtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cbi8qIGNhcm91c2VsLWluZGljYXRvcnMtdjYgKi9cbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXY2LWJnOiAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjYtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cbiAvKiAtLS0gU0NTUyBGb3IgQ291bnRlcnMgLS0tICovXG4kYm8tY291bnRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgIzAwMDtcbiRiby1jb3VudGVyLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICA2MDA7XG4kYm8tY291bnRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgMzBweDtcblxuJGJvLWNvdW50ZXItaWNvbi1mb250LXNpemU6ICAgICAgICAgIDM2cHg7XG4kYm8tY291bnRlci1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAgICAgNzAwO1xuXG4gLyogLS0tIFNDU1MgRm9yIEhlYWRpbmcgLS0tICovXG4gJGJvLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgJHRoZW1lLWNvbG9yO1xuXG4gLyogLS0tIFNDU1MgRm9yIEljb24tYm94IC0tLSAqL1xuXG4gLyogLS0tIFNDU1MgRm9yIEludGVyYWN0aXZlLWJhbm5lciAtLS0gKi9cblxuIC8qIC0tLSBTQ1NTIEZvciBMYXRlc3QtcG9zdHMgLS0tICovLyogbGF0ZXN0IHBvc3RzICovXG4kYm8tbGF0ZXN0LXBvc3RzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjNjk2OTY5O1xuJGJvLWxhdGVzdC1wb3N0cy1hLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMDtcbiRiby1sYXRlc3QtcG9zdHMtYS1ob3Zlci1jb2xvcjogICAgICAgICAgIHJlZDtcbiRiby1sYXRlc3QtcG9zdHMtZm9udC1zaXplOiAgICAgICAgICAgICAgIDE0cHg7XG4kYm8tbGF0ZXN0LXBvc3RzLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAxOHB4O1xuXG4kYm8tbGF0ZXN0LXBvc3RzLXByb2ZpbGUtZm9udC1zaXplOiAgICAgICAxM3B4O1xuJGJvLWxhdGVzdC1wb3N0cy1wcm9maWxlLWNvbG9yOiAgICAgICAgICAgIzY5Njk2OTtcblxuIC8qIC0tLSBTQ1NTIEZvciBMaXN0IC0tLSAqLy8qIHZhcmlhYmxlcyBmb3IgbGlzdCAqL1xuJGJvLWxpc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY2NiAhZGVmYXVsdDsgXG4kYm8tbGlzdC1hLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkYm8tbGlzdC1jb2xvciAhZGVmYXVsdDsgXG4kYm8tbGlzdC1hLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAgIWRlZmF1bHQ7XG5cbi8qIHZhcmlhYmxlcyBmb3IgbGlzdCBsaWdodCAqL1xuXG4kYm8tbGlzdC1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjRkZGRkZGICFkZWZhdWx0OyBcbiRiby1saXN0LWxpZ2h0LWEtY29sb3I6ICAgICAgICAgICAgICAgICAgICRiby1saXN0LWxpZ2h0LWNvbG9yICFkZWZhdWx0OyBcbiRiby1saXN0LWxpZ2h0LWEtY29sb3ItaG92ZXI6ICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICAhZGVmYXVsdDtcblxuXG4gLyogLS0tIFNDU1MgRm9yIE1lc3NhZ2UgLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgTmV3c2xldHRlciAtLS0gKi8kbmV3c2xldHRlci12Mi1iZyAgICAgICAgICAgIDogbGlnaHRlbigkZ3JheS1saWdodCwgNTAlKSAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyLXYzLWJnICAgICAgICAgICAgOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG5cbiAvKiAtLS0gU0NTUyBGb3IgUGllY2hhcnQgLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgUHJpY2luZyAtLS0gKi9cblxuIC8qIC0tLSBTQ1NTIEZvciBQcm9jZXNzLXN0ZXBzIC0tLSAqLy8qIHByb2Nlc3Mtc3RlcHMgKi9cbiRiby1wcm9jZXNzLXN0ZXBzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjMDAwO1xuJGJvLXByb2Nlc3Mtc3RlcHMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMwMDA7XG5cbiRiby1wcm9jZXNzLXN0ZXBzLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcztcbiRiby1wcm9jZXNzLXN0ZXBzLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcztcblxuIC8qIC0tLSBTQ1NTIEZvciBTZXJ2aWNlIC0tLSAqLy8qIHZhcmlhYmxlcyBmb3IgdGFiIHN0eWxlMSB1c2luZyBhcyBiYXNlIG9mIHRhYiAqL1xuXG5cbiAvKiAtLS0gU0NTUyBGb3IgU3R5bGUtaWNvbiAtLS0gKi8vKiBWYXJpYWJsZXMgaWNvbnMgZGVmYXVsdCAqL1xuJGJvLXN0eWxlLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkYm8tc3R5bGUtaWNvbi1iZywgNSUpIWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBib2RlcmVkICovXG4kYm8tc3R5bGUtaWNvbi1ib2RlcmVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tYm9kZXJlZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgZGFya2VuKCRiby1zdHlsZS1pY29uLWJvZGVyZWQtY29sb3IsIDEwJSkhZGVmYXVsdDtcblxuLyogVmFyaWFibGVzIGljb25zIGRhcmtlciAqL1xuJGJvLXN0eWxlLWljb24tZGFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLWRhcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAjZmZmIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1kYXJrZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tZGFya2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGJvLXN0eWxlLWljb24tZGFya2VyLWJnLCAzNSUpIWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBsaWdodCAqL1xuJGJvLXN0eWxlLWljb24tbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tbGlnaHQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2YwZjBmMCFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tbGlnaHQtaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRiby1zdHlsZS1pY29uLWxpZ2h0LWJnLCAxMCUpIWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBwbGFpbiAqL1xuJGJvLXN0eWxlLWljb24tcGxhaW4tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLXBsYWluLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICMwMDAhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLXBsYWluLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1wbGFpbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCFkZWZhdWx0O1xuXG4vKiBWYXJpYWJsZXMgaWNvbnMgZm9yIGxpZ2h0IHN0eWxlICovXG4kYm8tbGlnaHQtc3R5bGUtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyFkZWZhdWx0O1xuJGJvLWxpZ2h0LXN0eWxlLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IWRlZmF1bHQ7XG4kYm8tbGlnaHQtc3R5bGUtaWNvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oI2ZmZiwgNSUpIWRlZmF1bHQ7XG5cbiRiby1saWdodC1zdHlsZS1pY29uLWJvZGVyZWQtY29sb3I6ICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWJvZGVyZWQtaG92ZXItY29sb3I6ICAgICAgICAgIGRhcmtlbigjZmZmLCA1JSkhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWJvZGVyZWQtYmc6ICAgICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWJvZGVyZWQtaG92ZXItYmc6ICAgICAgICAgICAgIGRhcmtlbigjZmZmLCA1JSkhZGVmYXVsdDtcblxuLyogVmFyaWFibGVzIGljb25zIG91dGxpbmUgKi9cblxuJGljb25zLW91dGxpbmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2QxZDY0NiFkZWZhdWx0O1xuJGljb25zLW91dGxpbmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQhZGVmYXVsdDtcbiRpY29ucy1vdXRsaW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpY29ucy1vdXRsaW5lLWNvbG9yIWRlZmF1bHQ7XG4kaWNvbnMtb3V0bGluZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjZmZmIWRlZmF1bHQ7XHRcdFxuJGljb25zLW91dGxpbmUtaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGljb25zLW91dGxpbmUtY29sb3IhZGVmYXVsdDtcbiRpY29ucy1vdXRsaW5lLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbnMtb3V0bGluZS1ob3Zlci1iZywgNSUpIWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBpbnZlcnNlICovXG5cbiRpY29ucy1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRpY29ucy1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkMWQ2NDYhZGVmYXVsdDtcbiRpY29ucy1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbnMtaW52ZXJzZS1iZywgNSUpIWRlZmF1bHQ7XG4kaWNvbnMtaW52ZXJzZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjZDFkNjQ2IWRlZmF1bHQ7XHRcbiRpY29ucy1pbnZlcnNlLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCFkZWZhdWx0O1xuJGljb25zLWludmVyc2UtaG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgJGljb25zLWludmVyc2UtYmchZGVmYXVsdDtcblxuXG4gLyogLS0tIFNDU1MgRm9yIFRhYmxlIC0tLSAqL1xuXG4gLyogLS0tIFNDU1MgRm9yIFRhYnMgLS0tICovXG4vKiB2YXJpYWJsZXMgZm9yIHRhYiBzdHlsZTEgdXNpbmcgYXMgYmFzZSBvZiB0YWIgKi9cbiRiby10YWJzLWEtY29sb3I6I0ZGRkZGRiAhZGVmYXVsdDsgXG4kYm8tdGFicy1hLWNvbG9yLWFjdGl2ZTojMDAwMDAwICFkZWZhdWx0O1xuXG4kYm8tdGFicy1wYWRkaW5nOiAxMHB4IDIwcHggIWRlZmF1bHQ7IFxuJGJvLXRhYnMtYmFja2dyb3VuZDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGJvLXRhYnMtYmFja2dyb3VuZC1ob3ZlcjogI2Y2ZjZmNiAhZGVmYXVsdDtcbiRiby10YWJzLWNvbnRlbnQtYmFja2dyb3VuZDojZjZmNmY2ICFkZWZhdWx0O1xuXG4kYm8tdGFicy1ib3JkZXItY29sb3IgOiAjZWVlICFkZWZhdWx0O1xuJGJvLXRhYnMtY29udGVudC1ib3JkZXI6ICAxcHggc29saWQgJGJvLXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJvLXRhYnMtY29udGVudC1wYWRkaW5nOiAxNXB4IDIwcHghZGVmYXVsdDtcblxuXG4vKiB0YWIgc3R5bGUgdmVyc2lvbiA1ICovXG4kYm8tdGFicy1wcmltYXJ5LWJhY2tncm91bmQtaG92ZXI6IzAwMDAwMCFkZWZhdWx0O1xuJGJvLXRhYnMtcHJpbWFyeS1iYWNrZ3JvdW5kOiNGRkZGRkYgIWRlZmF1bHQ7XG5cbi8qIHRhYiBzdHlsZSB2ZXJzaW9uIDYgKi9cbiRiby10YWJzLXY2LWhlYWRpbmctYmFja2dyb3VuZDogI0ZGRkZGRiAhZGVmYXVsdDsgXG5cbiRiby10YWJzLXY2LWEtY29sb3IgOiAjMDAwMDAwICFkZWZhdWx0O1xuJGJvLXRhYnMtdjYtYS1jb2xvci1hY3RpdmU6cmVkICFkZWZhdWx0O1xuJGJvLXRhYnMtdjYtaGVhZGluZy1wYWRkaW5nOiAxMHB4IDIwcHg7XG4kYm8tdGFicy12Ni1oZWFkaW5nLWJvcmRlci10b3AtY29sb3I6IzAwMDAwMCAhZGVmYXVsdDsgXG5cbiRiby10YWJzLXY2LWhlYWRpbmctYm9yZGVyLWNvbG9yOiNlZWUgIWRlZmF1bHQ7ICBcbiRiby10YWJzLXY2LWNvbnRlbnQtYm9yZGVyLWNvbG9yOjFweCBzb2xpZCAkYm8tdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiAvKiAtLS0gU0NTUyBGb3IgVGVzdGltb25pYWxzIC0tLSAqLy8qIHRlc3RpbW9uaWFscyBkZWZhdWx0ICovXG4kYm8tdGVzdGltb25pYWxzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XG4kYm8tdGVzdGltb25pYWxzLWEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XG4kYm8tdGVzdGltb25pYWxzLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XHRcdFx0XHRcdFx0XHRcblxuXG4vKiB0ZXN0aW1vbmlhbHMtdjEgKi9cbiRiby10ZXN0aW1vbmlhbHMtdjEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY5Njk2OTtcbiRiby10ZXN0aW1vbmlhbHMtdjEtYS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY5Njk2OTtcbiRiby10ZXN0aW1vbmlhbHMtdjEtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgI2YzZjNmMztcbiRiby10ZXN0aW1vbmlhbHMtdjEtbGlnaHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgI2YzZjNmMztcbiRiby10ZXN0aW1vbmlhbHMtdjEtbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzU1NTtcblxuLyogdGVzdGltb25pYWxzIGxpZ2h0ICovXG4kYm8tdGVzdGltb25pYWxzLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kYm8tdGVzdGltb25pYWxzLWxpZ2h0LWEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kYm8tdGVzdGltb25pYWxzLWxpZ2h0LWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG5cblxuXG4gLyogLS0tIFNDU1MgRm9yIFR5cG9ncmFwaHkgLS0tICovXG4kYm8tYmxvY2txdW90ZS1pY29uLWJhY2tncm91bmQgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGJvLWJsb2NrcXVvdGUtaWNvbi1jb2xvciAgICAgICA6ICNGRkZGRkYgIWRlZmF1bHQ7XG4kYm8tYmxvY2txdW90ZS1pY29uLWZvbnQtc2l6ZSAgIDogMTdweCAhZGVmYXVsdDtcbiRiby1ibG9ja3F1b3RlLWljb24tbGluZS1oZWlnaHQgOiAyMnB4ICFkZWZhdWx0O1xuXG4kYm8tYmxvY2txdW90ZS1jb2xvciAgICAgICAgICAgIDogIzAwMDAwMCAhZGVmYXVsdDtcbiIsIi8qKlxuICogICBCbG9ja3MgTGF5b3V0IFNlbGVjdG9yc1xuICovXG4kYmxvY2stcHJlZml4ICAgICAgICAgICAgICAgICAgICA6ICd3aWRnZXQnICFkZWZhdWx0O1xuJGJsb2NrLXNlbGVjdG9yICAgICAgICAgICAgICAgICAgOiAnd2lkZ2V0ICcgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1zZWxlY3RvciAgICAgICAgICA6ICd3aWRnZXQtdGl0bGUsIC53aWRnZXR0aXRsZScgIWRlZmF1bHQ7XG4kYmxvY2stY29udGVudC1zZWxlY3RvciAgICAgICAgICA6ICd3aWRnZXQtY29udGVudCcgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1yZXZlcnNlZC1zZWxlY3RvciA6ICd3aWRnZXQtdGl0bGUtcmV2ZXJzZWQnICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wcmVmaXggICAgICAgICAgICAgICAgOiAnd3BiLWNvbnRhaW5lcicgIWRlZmF1bHQ7XG5cblxuXG4vLyBCb3ggTW9kdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJsb2NrLW1vZHVsZS1tYXJnaW4tYm90dG9tICAgICAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG5cbiRibG9jay1tb2R1bGUtaGVhZGluZy1jb2xvclx0XHRcdFx0XHRcdDogIzAwMDAwMCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgOiBub3JtYWwgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctYmcgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgOiAyMHB4IDAgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgICAgICAgICA6IDAgMCAxMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgOiA3MDAgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctZm9udC1mYW1pbHkgICAgICAgICAgICAgICA6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLXNob3ctc2VwYXJhdG9yICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWltYWdlLXBvc2l0aW9uICAgICAgICAgICAgOiAwIDAgIWRlZmF1bHQ7XG5cbiRibG9jay1tb2R1bGUtY29udGVudC1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWNvbnRlbnQtYm9yZGVyICAgICAgICAgICAgICAgICAgICA6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1jb250ZW50LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1jb250ZW50LW1hcmdpbiAgICAgICAgICAgICAgICAgICAgOiAxcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWNvbnRlbnQtcmFkaXVzICAgICAgICAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcblxuJGJsb2NrLW1vZHVsZS1oaWdobGlnaHRlZC1iZyAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhpZ2hsaWdodGVkLWJvcmRlciAgICAgICAgICAgICAgICA6IHNvbGlkIDJweCAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG5cbiRibG9jay1tb2R1bGUtZm9vdGVyLWhlYWRpbmctY29sb3IgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuXG4kYmxvY2stcHJvZHVjdC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1sZXR0ZXItc3BhY2luZyAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG5cbi8vIFNpZGViYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRibG9jay1zaWRlYmFyLW1vZHVsZS1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWJveC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDsgXG4kYmxvY2stc2lkZWJhci1ib3gtbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAzMHB4ICFkZWZhdWx0O1xuXG4kYmxvY2stc2lkZWJhci1saXN0LXBhZGRpbmctdmVydGljYWwgICAgICAgICAgICA6IDEzcHggMHB4IDEzcHggMTNweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1tYXJnaW4gXHRcdFx0XHQ6IDAgMCAyMHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1tYXJnaW4gICAgICAgICAgICBcdFx0OiAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LWJnICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1wYWRkaW5nICAgICAgIDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1tYXJnaW4gICAgXHQ6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtY29sb3IgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1tYXJnaW4tYm90dG9tIDogMHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LWZvbnQtc2l6ZSAgICAgOiAxNHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LWZvbnQtd2VpZ2h0ICAgOiA5MDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWNvbnRlbnQtYmdcdFx0XHQ6ICRub2NvbG9yICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1jb250ZW50LWNvbG9yXHRcdFx0OiAjNjY2NjY2ICFkZWZhdWx0OyBcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtY29udGVudC1wYWRkaW5nXHRcdDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtYm9yZGVyICAgXHRcdFx0XHQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSkgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWZvbnQtc2l6ZSBcdFx0XHQ6IDEycHggIWRlZmF1bHQ7XHRcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtdHJhbnNmb3JtIFx0XHRcdDogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1mb250LXdlaWdodFx0XHRcdDogMzAwICFkZWZhdWx0O1x0XHRcdFx0XHRcdFxuJGJsb2NrLXNpZGViYXItbGluay1oaWdodGxpZ2h0LWNvbG9yICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saW5rLWhpZ2h0bGlnaHQtaG92ZXItY29sb3IgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1ib3JkZXItY29sb3IgICAgIDogIzM5MzkzOSAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1mb250LXNpemUgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1wYWRkaW5nICAgICAgICAgIDogMTdweCAxNXB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGlzdC1oaWdodGxpZ2h0LWltYWdlICAgICAgICAgICAgOiB1cmwoJyN7JGltYWdlLXRoZW1lLXBhdGh9ZG90LmpwZycpIDAgMjJweCBuby1yZXBlYXQgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWltYWdlICAgICAgICAgICAgICAgICAgICAgICA6IHVybCgnI3skaW1hZ2UtdGhlbWUtcGF0aH1kb3QuanBnJykgMCAyMnB4IG5vLXJlcGVhdCAhZGVmYXVsdDtcblxuJGJsb2NrLXNpZGViYXItaGVhZGluZy1wYWRkaW5nICAgICAgICAgICAgICAgICAgOiAwIDAgMzBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctZm9udC1zaXplICAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctY29sb3IgICAgICAgICAgICAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0OyBcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctbGluZS1oZWlnaHQgICAgICAgICAgICAgIDogMjBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctZm9udC13ZWlnaHRcdFx0XHRcdDogOTAwICFkZWZhdWx0O1xuXG4kYmxvY2stc2lkZWJhci13aWRnZXQtYm9yZGVyICAgICAgICAgICAgICAgICAgICA6IDFweCBzb2xpZCBsaWdodGVuKCRib3JkZXItY29sb3IsIDMlKSAhZGVmYXVsdDtcblxuLy8gV2lkZ2V0IHRhZ3MgY2xvdWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR3aWRnZXQtdGFnLWNvbG9yICAgICAgICAgICAgICA6ICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuJHdpZGdldC10YWctY29sb3ItaG92ZXIgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHdpZGdldC10YWctYmcgICAgICAgICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kd2lkZ2V0LXRhZy1iZy1ob3ZlciAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kd2lkZ2V0LXRhZy1mb250LXNpemUgICAgICAgICAgOiAkZm9udC1zaXplLWJhc2UgIWltcG9ydGFudDtcbiR3aWRnZXQtdGFnLXBhZGRpbmcgICAgICAgICAgICA6IDVweCAxMHB4ICFkZWZhdWx0O1xuJHdpZGdldC10YWctbWFyZ2luICAgICAgICAgICAgIDogMnB4IDAgIWRlZmF1bHQ7XG4kd2lkZ2V0LXRhZy1ib3JkZXIgICAgICAgICAgICAgOiAxcHggc29saWQgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR3aWRnZXQtdGFnLWJvcmRlci1jb2xvci1ob3ZlciA6ICR3aWRnZXQtdGFnLWJnLWhvdmVyICFkZWZhdWx0O1xuJHdpZGdldC10YWctYm9yZGVyLXJhZGl1cyAgICAgIDogMHB4ICFkZWZhdWx0O1xuJHdpZGdldC10YWctdHJhbnNmb3JtICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcblxuLyoqKioqKioqKiBMQVlPVVQgKioqKioqKioqKioqKiovIiwiLy8gU3RhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kY29tcGFyZS1wb3NpdGlvbi1pbWFnZVx0XHRcdFx0XHQ6IGNlbnRlciAtNDdweCAhZGVmYXVsdDtcbiR3aXNobGlzdC1wb3NpdGlvbi1pbWFnZVx0XHRcdFx0OiBsZWZ0IC00N3B4ICFkZWZhdWx0O1xuJHF1aWNrdmlldy1wb3NpdGlvbi1pbWFnZVx0XHRcdFx0OiByaWdodCAtNDdweCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZy1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICNGQUNDNjggIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmctYWN0aXZlLWNvbG9yICAgICAgICAgICAgICAgOiAjRkFDQzY4ICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbi8vIFNhbGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzYWxlLWxhYmVsLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1mb250LXdlaWdodCAgICAgICAgICAgICAgICAgOiA1MDAgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtYmcgICAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZiNDk0OSAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLWFsaWduICAgICAgICAgICAgICAgICAgICAgICA6IGNlbnRlciAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4vLyBNaW5pIGNhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtaW5pLWNhcnQtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3Itc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG1pbmktY2FydC1yb3VuZGVkICAgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgOiA4cHggMTNweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICA6IDM2cHggIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWRyb3Bkb3duLXNpemUgICAgICAgICAgICAgICAgOiAzMjBweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICA6IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8gRmlsdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvZHVjdHMtdG9wLXdyYXAtYmcgICAgICAgICAgICAgICA6ICNmYWZhZmEgICFkZWZhdWx0O1xuJHByb2R1Y3RzLXRvcC13cmFwLWNvbG9yXHRcdFx0OiAjRkZGICFkZWZhdWx0O1xuXG4kcHJvZHVjdHMtdG9wLXdyYXAtYm9yZGVyLWNvbG9yXHQgICAgOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vLyBQcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvZHVjdC1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwcm9kdWN0LWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICA6IDBweCBzb2xpZCAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDQwcHggMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWFsaWdubWVudCAgICAgICAgICAgICAgICAgICAgICA6IGNlbnRlciAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtZm9udC1zaXplICAgICAgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgOiA0MDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1tYXJnaW4gICAgICAgICAgICAgICAgICAgIDogMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1wYWRkaW5nICAgICAgICAgICAgICAgICAgIDogMjBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDM2cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1jb2xvciAgICAgICAgICAgICAgICAgOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LWhvdmVyLWNvbG9yICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LWZvbnQtc2l6ZSAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1iZyAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1wYWRkaW5nICAgICAgICAgICAgICAgOiAxOHB4IDEwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1ib3JkZXItY29sb3IgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LWJvcmRlci1ob3Zlci1jb2xvciAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1mb250LXdlaWdodCAgICAgICAgICAgOiAzMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1mb250LXN0eWxlICAgICAgICAgICAgOiBpdGFsaWMgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1tYXJnaW4gICAgICAgICAgICAgICAgOiAwcHggMCA4cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1wcmljZS1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1wcmljZS1vbGQtY29sb3IgICAgICAgICAgICAgICAgOiAjOTk5OTk5ICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2UtZm9udC1zaXplICAgICAgICAgICAgICAgIDogMjRweCAhZGVmYXVsdDtcbiRwcm9kdWN0LXByaWNlLWZvbnQtd2VpZ2h0XHRcdCAgICAgICAgOiA3MDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24tZm9udC1zaXplICAgICAgICAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtYnV0dG9uLWJvcmRlciAgICAgICAgICAgICAgICAgIDogMnB4IHNvbGlkICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24tYmcgICAgICAgICAgICAgICAgICAgICAgOiAjZjFiYTI3ICFkZWZhdWx0O1xuJHByb2R1Y3QtYnV0dG9uLXBhZGRpbmcgICAgICAgICAgICAgICAgIDogMTVweCAzMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtYnV0dG9uLWhvdmVyLWNvbG9yICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHByb2R1Y3QtYnV0dG9uLWhvdmVyLWJvcmRlciAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtYnV0dG9uLWhvdmVyLWJnICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcm9kdWN0LWxpbmstaG92ZXItY29sb3IgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24td2lkdGggICAgICAgICAgICAgICAgICAgICA6IDY5cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLWhlaWdodCAgICAgICAgICAgICAgICAgICAgOiA0MHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtaWNvbi1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHByb2R1Y3QtaWNvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtYnV0dG9uLXdpZHRoICAgICAgICAgICAgICAgICAgIDogMTAzcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1yYXRpbmctbWFyZ2luICAgICAgICAgICAgICAgICAgOiAwIDAgJHRoZW1lLW1hcmdpbiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGh1bWJuYWlsLWdhbGxlcnktc2l6ZSAgICAgICAgIDogMTE1cHggIWltcG9ydGFudDtcblxuLy8gU2luZ2xlIFByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzaW5nbGUtcHJpY2UtZm9udC13ZWlnaHQgICAgICAgICAgICAgICA6IDkwMCAhZGVmYXVsdDtcbiRzaW5nbGUtbmV3LXByaWNlLWNvbG9yICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRzaW5nbGUtbmV3LXByaWNlLWZvbnQtc2l6ZSAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7XG4kc2luZ2xlLW5ldy1wcmljZS1mb250LXdlaWdodCAgICAgICAgICAgOiA5MDAgIWRlZmF1bHQ7XG4kc2luZ2xlLW5ldy1wcmljZS1saW5lLWhlaWdodCAgICAgICAgICAgOiAxLjQgIWRlZmF1bHQ7XG4kc2luZ2xlLXByb2R1Y3QtdGl0bGUtbGluZS1oZWlnaHQgICAgICAgOiAxLjExMTExICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLWZvbnQtc2l6ZSAgICAgICAgIDogMjRweCAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS1mb250LXdlaWdodCAgICAgICA6IDcwMCAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS1tYXJnaW4gICAgICAgICAgICA6IDAgMCAxMHB4IDAgIWRlZmF1bHQ7XG4kc2luZ2xlLXByb2R1Y3QtdGl0bGUtdHJhbnNmb3JtICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuXG4kc2luZ2xlLXByb2R1Y3Qtc3VtbWFyeS1mb250LXNpemUgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbi8vIHdvb2NvbW1lcmNlIHRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR3b29jb21tZXJjZS10YWJzLXBhZGRpbmcgICAgICAgICAgICAgICA6IDEwcHggMCAzMHB4IDAgIWRlZmF1bHQ7XG4kd29vY29tbWVyY2UtdGFicy1ib3JkZXIgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJHdvb2NvbW1lcmNlLXRhYnMtbWFyZ2luICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuLy8gUXVpY2t2aWV3IFByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRxdWlja3ZpZXctcHJvZHVjdC10aXRsZS1mb250LXNpemUgICAgICA6IDMwcHggIWRlZmF1bHQ7XG4kcXVpY2t2aWV3LXByb2R1Y3QtdGl0bGUtdHJhbnNmb3JtICAgICAgOiBub25lICFkZWZhdWx0O1xuJHF1aWNrdmlldy1wcm9kdWN0LWNvbnRlbnQtbWFyZ2luICAgICAgIDogMjBweCAhZGVmYXVsdDtcblxuLy8gV2lkZ2V0IFByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR3aWRnZXQtcHJvZHVjdC1saXN0LXNpemUgICAgICAgICAgICAgICA6IDgycHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1wYWRkaW5nICAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtbWFyZ2luICAgICAgICAgICAgIDogMHB4ICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtYm9yZGVyICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtc2l6ZSAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1jb2xvclx0XHRcdFx0OiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1mb250LXdlaWdodFx0XHQ6IDQwMCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LXRleHQtdHJhbnNmb3JtXHRcdDogbm9uZSAhZGVmYXVsdDs7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1wcmljZS1vbGQtY29sb3JcdDogIzY2NjY2NiAhZGVmYXVsdDtcblxuJHdpZGdldC1wcm9kdWN0LXNwZWNpYWwtbWFyZ2luXHRcdFx0OiAwICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LXNwZWNpYWwtcGFkZGluZ1x0XHRcdDogMCAxMHB4IDEwcHggNDBweCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1zcGVjaWFsLWZvbnQtc2l6ZVx0XHQ6IDE0cHggIWRlZmF1bHQ7XG5cbi8vIFNpZGViYXIgV2lkZ2V0IFByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRibG9jay1zaWRlYmFyLXdpZGdldC1wcm9kdWN0LWxpc3Qtc2l6ZSA6IDgwcHggIWRlZmF1bHQ7XG5cbi8vIFByb2R1Y3QgQ2F0ZWdvcnkgYW5kIFN1YmNhdGVnb3J5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvZHVjdC1jYXRlZ29yeS1jb250ZW50LW1hcmdpbiAgICAgICAgOiAwIDAgJGdyaWQtZ3V0dGVyLXdpZHRoIDA7XG4kcHJvZHVjdC1jYXRlZ29yeS1jb250ZW50LWhlaWdodCAgICAgICAgOiA0NXB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktdGl0bGUtY29sb3IgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktdGl0bGUtbWFyZ2luICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLXBhZGRpbmcgICAgICAgICA6IDE1cHggMTBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLWJnICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLWZvbnQtc2l6ZSAgICAgICA6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLWZvbnQtd2VpZ2h0ICAgICA6ICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuXG5cbi8vIFdpZGdldCBkZWFscyBwcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kZGVhbHMtdGltZXMtcGFkZGluZzpcdFx0XHRcdFx0ICA1cHggMCAhZGVmYXVsdDtcbiRkZWFscy10aW1lcy1iZzpcdFx0XHRcdFx0XHQgIHJlZCAhZGVmYXVsdDsgXG4kZGVhbHMtdGltZXMtY29sb3I6XHRcdFx0XHRcdFx0ICAjZmZmICFkZWZhdWx0OyAgIFxuJGRlYWxzLXRpbWVzLWZvbnQtZmFtaWx5Olx0XHRcdFx0ICAkZm9udC1mYW1pbHktYmFzZSAhZGVmYXVsdDsgIFxuJGRlYWxzLXRpbWVzLWZvbnQtc2l6ZTpcdFx0XHRcdFx0ICAxMHB4ICFkZWZhdWx0O1xuIiwiXG4ud2lkZ2V0LndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwsIFxuLndpZGdldC53aWRnZXRfY2F0ZWdvcmllcyB1bCwgXG4ud2lkZ2V0LndpZGdldF9sYXllcmVkX25hdiB1bCwgXG4ud2lkZ2V0LndpZGdldF9sYXllcmVkX25hdl9maWx0ZXJzIHVsLFxuLndpZGdldF9uYXZfbWVudSB1bHtcbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFdpZGdldCBQcmljZSBGaWx0ZXJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud2lkZ2V0X3ByaWNlX2ZpbHRlciB7XG4gICAgLnByaWNlX3NsaWRlcl93cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxuICAgIC51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiR0aGVtZS1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucHJpY2Vfc2xpZGVyX3dyYXBwZXIgLnVpLXdpZGdldC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wcmljZV9zbGlkZXJfYW1vdW50IC5idXR0b257XG4gICAgICAgIHBhZGRpbmc6MTJweCAxOHB4O1xuICAgIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgUHJvZHVjdCBMaXN0IFdpZGdldFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53b29jb21tZXJjZXtcbiAgICB1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0e1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaSxcbiAgICAgICAgLndpZGdldC1wcm9kdWN0e1xuICAgICAgICAgICAgLnJldmlld3tcbiAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcmljZXtcbiAgICAgICAgICAgICAgICBkZWx7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1zaXplICsgMjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnN7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJHdpZGdldC1wcm9kdWN0LWxpc3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yYXRpbmd7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYW1le1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkd2lkZ2V0LXByb2R1Y3QtbGlzdC1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkd2lkZ2V0LXByb2R1Y3QtbGlzdC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4uYW1vdW50IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFN0eWxpbmcgc3BlY2lhbCBwcm9kdWN0IGJsb2NrLlxuICovXG4ucHJvZHVjdHMucmVsYXRlZCwgLnByb2R1Y3RzLnVwc2VsbHN7XG5cdG1hcmdpbi1ib3R0b206ICRibG9jay1tb2R1bGUtbWFyZ2luLWJvdHRvbSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkYmxvY2stbW9kdWxlLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiBcbn1cblxuLnByb2R1Y3RzLnJlbGF0ZWQgaDIsIC5wcm9kdWN0ID4gI3Jldmlld3MgPiBoMywgLnByb2R1Y3RzLnVwc2VsbHMgaDIge1xuICAgIGNvbG9yOiAkYmxvY2stbW9kdWxlLWhlYWRpbmctY29sb3I7XG4gICAgcGFkZGluZzogJGJsb2NrLW1vZHVsZS1oZWFkaW5nLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAkYmxvY2stbW9kdWxlLWhlYWRpbmctbWFyZ2luO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmxvY2stbW9kdWxlLWhlYWRpbmctdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOjJweDtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgID4gc3BhbntcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgICBkaXNwbGF5OiAgaW5saW5lLWJsb2NrO1xuICAgIH0gICBcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206c29saWQgMXB4ICRib3JkZXItY29sb3I7XG59XG5cbi5wcm9kdWN0cy5yZWxhdGVkIGgyLCAucHJvZHVjdC51cHNlbGwgaDJ7XG4gICAgYm9yZGVyLWJvdHRvbTpzb2xpZCAxcHggIzAwMDtcbn1cblxuLnByb2R1Y3QgPiAjcmV2aWV3cyB7XG5cdGJvcmRlcjpzb2xpZCAxcHggJGJvcmRlci1jb2xvcjtcblx0bWFyZ2luLWJvdHRvbTogICRibG9jay1tb2R1bGUtbWFyZ2luLWJvdHRvbSA7XG59XG5cbi8qKlxuICogRGVhbCBNb2R1bGVzXG4gKi9cblxuIC53b28tZGVhbHN7XG4gICAgLmNhcHRpb257XG4gICAgICAgIHBhZGRpbmc6IDVweCAyMHB4IDIwcHghaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY2Fyb3VzZWwtaW5uZXJ7XG4gICAgICAgIG92ZXJmbG93OnZpc2libGU7XG4gICAgfVxuICAgIC5kZXNjcmlwdGlvbntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRoZW1lLXBhZGRpbmcvMjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgICAucHRzLWNvdW50ZG93bntcbiAgICAgICAgcGFkZGluZzogJGRlYWxzLXRpbWVzLXBhZGRpbmc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZGVhbHMtdGltZXMtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlYWxzLXRpbWVzLWZvbnQtc2l6ZTtcbiAgICB9XG4gICAgLmRlYWxzLWluZm9ybWF0aW9ue1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAucmF0aW5nID4gKntcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvdW50ZG93bi10aW1lc3tcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKDBweCwgMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgIHRyYW5zaXRpb24oYWxsIDAuNHMgZWFzZSk7XG4gICAgICAgID4gZGl2eyBcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgICAgICAgXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgPiBie1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJ0e1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMHB4LCA2MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgIHRyYW5zaXRpb24oYWxsIDAuNHMgZWFzZSk7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLmFkZF90b19jYXJ0X2J1dHRvbntcbiAgICAgICAgICAgICYuYWRkZWR7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICAmOmhvdmVyLCY6YWN0aXZlLCY6Zm9jdXN7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC53Yy1mb3J3YXJke1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICAgLmNhcnR7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMHB4LCAzMHB4KTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFdpZGdldCBQcm9kdWN0cyBDYXRlZ29yaWVzIE1lbnUgXG4gKi9cbnVsLnByb2R1Y3QtY2F0ZWdvcmllc3tcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaXtcbiAgICAgICAgJi5jYXQtcGFyZW50IHtcbiAgICAgICAgICAgIC5jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuY3VycmVudC1jYXQsJi5jdXJyZW50LWNhdC1wYXJlbnQge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5jbG9zZWQgLC5vcGVuZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMDVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7IFxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7IFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MTFweDsgXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjJweDtcbiAgICAgICAgICAgICAgICB0b3A6N3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0gXG5cbi8qXG4qKiAgcGJyIGNhdGVnb3J5IGxpc3RcbiovXG4ucGJyLWNhdGVnb3J5LWxpc3R7XG4gICAgI3Bici1hY2NvcmRpb24tY2F0ZWdvcmllc3tcbiAgICAgICAgLmNhdGVnb3J5LXRpdGxlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtYm9yZGVyO1xuICAgICAgICAgICAgcGFkZGluZzogJGJsb2NrLXNpZGViYXItbGlzdC1oaWdodGxpZ2h0LXBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoI3skaW1hZ2UtdGhlbWUtc2tpbn1saXN0LXN0eWxlLnBuZykgbm8tcmVwZWF0IDE1cHggMjVweCAkbm9jb2xvcjtcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLmRyb3Bkb3due1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50b3RhbC1wcm9kdWN0e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGFuZWwtY29sbGFwc2V7XG4gICAgICAgICAgICAuY2F0ZWdvcnktdGl0bGV7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEycHggMTJweDtcbiAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtZm9udC1zaXplIC0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIENhcnRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uY2FydF9saXN0e1xuICAgID4gZGl2e1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgLm5hbWV7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7ICAgXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICB9XG5cbiAgICAuaW1hZ2V7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoODJweCw4MnB4KTtcbiAgICB9XG4gICAgLmNhcnQtaXRlbXtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAgICAgY29sb3I6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJ0LW1haW4tY29udGVudHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgLnJlbW92ZXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwxOHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMjBweCwgMjBweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICArIC50b3RhbHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMSA7ICBcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwOyAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vL1dpZGdldCBTaG9wcGluZyBDYXJ0XG4ud2lkZ2V0X3Nob3BwaW5nX2NhcnQge1xuICAgIC53aWRnZXRfc2hvcHBpbmdfY2FydF9jb250ZW50e1xuICAgICAgICAuYnV0dG9uc3tcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiB3aWRnZXQtdGltaW5nLWRlYWwgICovXG4ud2lkZ2V0LXRpbWluZy1kZWFsIHtcbiAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS10aGVtZS1wYXRofWRvbnQtbWlzcy5wbmcnKTtcbiAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgLm93bC1jb250cm9sc3tcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAud2lkZ2V0LWhlYWRpbmd7IFxuICAgICAgICBwYWRkaW5nOjIwcHggNXB4IDEwcHggMzVweDtcbiAgICAgICAgaDN7XG4gICAgICAgICAgICBmb250LXNpemU6MzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfSBcbiAgICAud29vLXByb2R1Y3RzLWRlYWxzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20tbWF4KXtcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAkYnJhbmQtZGFuZ2VyO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1kZWFsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2R1Y3QtZGVhbHtcbiAgICAgICAgIC5vbnNhbGV7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7ICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNnMgZWFzZS1vdXQgMHMpO1xuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7IFxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuMjUpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjZzIGVhc2Utb3V0IDBzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uLWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC42cyBlYXNlLW91dCAwcyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUsIDg1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAuYnV0dG9uLWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC42cyBlYXNlLW91dCAwcyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb3VudGRvd24tdGltZXN7XG4gICAgICAgID4gZGl2e1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCI6XCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0IDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4vKiogd2lkZ2V0LXByb2R1Y3RzLWNvbGxlY3Rpb24gICovXG4ud2lkZ2V0LXByb2R1Y3RzLWNvbGxlY3Rpb257XG4gICAgLm1haW4tcG9zdHN7ICAgICAgICAgIFxuICAgICAgICAucHJvZHVjdC1ibG9ja3tcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICAgICAgICAgIC5hY3Rpb24tYm90dG9te1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjdGlvbi1ib3R0b217XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXB0aW9uLWxpc3R7ICBcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjAgMTBweDsgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLm5hbWV7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wcmljZXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7ICBcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7ICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA+IGRlbHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOjQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiBpbnN7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hZGRfdG9fY2FydF9idXR0b257XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyoqIHdpZGdldC1wcm9kdWN0Y2F0ZWdvcnkgICovXG4ucGJyLXByb2R1Y3RjYXRlZ29yeXtcbiAgICAucGFkZGluZy13cmFwe1xuICAgICAgICBwYWRkaW5nOjIwcHggMTBweCAwO1xuICAgIH1cbiAgICAub3dsLWl0ZW17XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG59XG5cbi8vIHBvcHVwbmV3c2xldHRlclxuLnBvcHVwbmV3c2xldHRlcntcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAubW9kYWwtYm9keXtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICAgICAgICAgIHdpZHRoOjUyJTtcbiAgICAgICAgICAgIG1hcmdpbjo2MHB4IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaDN7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiLiAuIC5cIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAyOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGg0e1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAgMjVweDsgIFxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAubW9kYWwtZGlhbG9ne1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICAgICAgd2lkdGg6ODAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tb2RhbC1jb250ZW50e1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGltYWdlLXRoZW1lLXNraW59YmdfcG9wdXBfbmV3c2xldHRlci5qcGcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZTJkZGRhO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICAgICAgICAgIHdpZHRoOjgwMHB4O1xuICAgICAgICB9XG4gICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuY2xvc2V7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGJsYWNrO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6MCAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMTVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL3dpZGdldF9zdHJvbGxpa19hY2Nlc3Nvcmllc1xuLndpZGdldF9zdHJvbGxpa19hY2Nlc3NvcmllcyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAucHJvZHVjdHMtZ3JpZCBkaXYucHJvZHVjdCAucHJvZHVjdC1ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4vL3dvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoXG4ud29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2gge1xuICAgIGlucHV0LnNlYXJjaC1maWVsZHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpIGluc2V0O1xuICAgICAgICBjb2xvcjogIzU1NTU1NTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyODU3O1xuICAgICAgICBwYWRkaW5nOiA5cHggMjBweDtcbiAgICB9XG4gICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgIH1cbn1cblxuXG4vKiB3aWRnZXQtcHJvZHVjdC1pbmZvICovXG4ud2lkZ2V0LXByb2R1Y3QtaW5mb3sgXG4gICAgLnByby1pbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDMwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDMwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDMwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgMzAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMi41KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZGVzY3JpcHRpb257XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgLnByb2R1Y3QtaW5mby1pbm5lcntcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIFxuICAgIH1cbiAgICAmLmluZm8tbGlnaHR7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBoMywgaDQge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogd2lkZ2V0LXNpbmdsZS1wcm9kdWN0ICovXG4ud2lkZ2V0LXNpbmdsZS1wcm9kdWN0e1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAucXR5IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgjZmZmLCAwLjIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIH1cbiAgICAucHJvZHVjdCB7XG4gICAgICAgIGJvcmRlcjogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZC1jYXJ0IC5hZGRlZF90b19jYXJ0e1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuXG4vKiB3aWRnZXQtc2luZ2xlLXByb2R1Y3QtdjIgICovXG5cbi53aWRnZXQtc2luZ2xlLXByb2R1Y3QtdjIge1xuICAgIC5wcm9kdWN0LXN1bW1hcnkgaDEucHJvZHVjdF90aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9ybWFsO1xuICAgIH1cbiAgICAuc2luZ2xlLXByb2R1Y3QtcmV2aWV3e1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogIDE1cHggMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmd7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNpbmdsZS1wcm9kdWN0LXByaWNle1xuICAgICAgICAucHJpY2V7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xuICAgICAgICB9XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBidXR0b24uYnV0dG9ue1xuICAgICAgICBtaW4taGVpZ2h0OiA1MnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHghaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3IhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2luZ2xlX3ZhcmlhdGlvbl93cmFwe1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAud29vY29tbWVyY2UtdmFyaWF0aW9uLXByaWNlLC53b29jb21tZXJjZS12YXJpYXRpb257XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsYWJlbFtmb3I9XCJwYV9jb2xvclwiXXtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIC5xdHl7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5ne1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiAgIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBNaW5pIENhcnRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5wYnItdG9wY2FydHtcbiAgICAuZHJvcGRvd257XG4gICAgICAgICYub3BlbntcbiAgICAgICAgICAgIC5taW5pLWNhcnR7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlLCAyMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5kcm9wZG93bi1tZW51e1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6ICR0aGVtZS1wYWRkaW5nO1xuICAgICAgICBtaW4td2lkdGg6ICRtaW5pLWNhcnQtZHJvcGRvd24tc2l6ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIEBpbmNsdWRlIHNjYWxlKDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS42MSwgMC43LCAxKSk7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGlubGluZS1ibG9jaygpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjYlO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDExcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMik7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCByZ2JhKCRibGFjaywgMCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgcmdiYSgkYmxhY2ssIDApO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCByZ2JhKCRibGFjaywgMCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgcmdiYSgkYmxhY2ssIDApO1xuICAgICAgICB9XG4gICAgICAgIC5xdWFudGl0eXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZWRpYXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpzb2xpZCAxcHggJGJvcmRlci1jb2xvcjtcbiAgICB9XG4gICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgXG4gICAgfVxuICAgIC5vcGVue1xuICAgICAgICAuZHJvcGRvd24tbWVudXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjYWxlKDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oMjlweCwgLTUwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsdGVyKG5vbmUpO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgICB9XG4gICAgfSBcblxuICAgIC50b3RhbHtcbiAgICAgICAgcGFkZGluZy10b3A6MjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MTBweDtcbiAgICB9XG4gICAgLmJ1dHRvbnN7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6MTVweCAzMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgIFxuICAgIH1cbn1cblxuI2NhcnR7XG4gICAgLm1pbmktY2FydHtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZS1jYXJ0e1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgMTFweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcnQtaWNvbntcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgLnRpdGxlLWNhcnQsICAuZHJvcGRvd24tdG9nZ2xlICAuYW1vdW50LCAubWluaS1jYXJ0LWl0ZW1zIGVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1pbmktY2FydC1pdGVtc3sgXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgcGFkZGluZzowIDZweDtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgyNHB4LDI0cHgpO1xuICAgIH0gXG4gICAgLmNhcnQtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogN3B4IDEwcHggMCAwO1xuICAgICAgICBpe1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnI3skaW1hZ2UtdGhlbWUtc2tpbn1jYXJ0LWJnLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgdG9wICRub2NvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyNHB4LCAyNHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnZlcnNpb24tMntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgLmNhcnQtaWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gXG4gICAgICAgIC50aXRsZS1jYXJ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9ICAgICAgICBcbiAgICAgICAgLm1pbmktY2FydC1pdGVtc3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnZlcnNpb24tNHtcbiAgICAgICAgLmNhcnQtaWNvbiB7XG4gICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnI3skaW1hZ2UtdGhlbWUtc2tpbn1jYXJ0LXY0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgdG9wICRub2NvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBcbn1cblxuLy8vLy8gRWxlbWVudHMgU3R5bGVzIC8vLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy9cblxuLndvb2NvbW1lcmNlIC5wcm9kdWN0LmZpcnN0e1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4ud2lkZ2V0LXByb2R1Y3Rze1xuICAgLm93bC1jb250cm9sc3tcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICB9XG59XG5cbi53aWRnZXQtcHJvZHVjdHMtYmd7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgIC5vd2wtd3JhcHBlci1vdXRlcntcbiAgICAgICAgLy9tYXJnaW46IDAgLTEwcHg7XG4gICAgfVxuICAgIC5vd2wtaXRlbXtcbiAgICAgICAgcGFkZGluZzowIDEwcHg7XG4gICB9XG4gICAucHJvZHVjdC1ibG9jayAuY2FwdGlvbjo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gICB9XG59XG4ucHJvZHVjdGluZm8tc2hvdy1kaXNjb3VudHMge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gMjtcbiAgICBtYXJnaW46IDIwcHggMCFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzY2NjtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICB1cmwoJyN7JGltYWdlLXRoZW1lLXBhdGh9aWNvbi1zaG93LWRpc2NvdW50cy5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAkYnJhbmQtc3VjY2VzcztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSAoMzZweCwzNnB4KTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYWxlcnQtYm9yZGVyLXJhZGl1cztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xuIFxuICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nOjE1cHggMzBweDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgIHBhZGRpbmc6ICAzcHggMDtcbiAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxNGFcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtc3VjY2VzcztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vcmV2aWV3c1xuI3Jldmlld3N7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAucmV2aWV3cy1zdW1tYXJ5IHtcbiAgICAgICAgcGFkZGluZzogMCA4MHB4O1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5yZXZpZXctc3VtbWFyeS10b3RhbHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIC5yZXZpZXctc3VtbWFyeS1yZXN1bHQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmV2aWV3LXN1bW1hcnktZGV0YWwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgLnJldmlldy1sYWJlbHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29tbWVudHN7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIC5jb21tZW50bGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgIC5jb21tZW50IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucGJyLWF2YXRhIHsgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGJyLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wYnItYXV0aG9yIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50LXRleHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICAubWV0YSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0YXItcmF0aW5nICB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZXZpZXdfZm9ybV93cmFwcGVyIHsgICAgICBcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAgMDtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3N7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgLnByb2dyZXNzLWJhciB7XG4gICAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgICAgICYucHJvZ3Jlc3MtYmFyZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3JlcGx5LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vIFBhZ2VzIFN0eWxlcyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiBQcm9kdWN0IFNpbmdsZSBQYWdlXG4gKi9cblxuLnByb2R1Y3QtYmxvY2t7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICBcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0MDBtcyBlYXNlIDBzKTtcbiAgICB6LWluZGV4OiAwO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXBob25lKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIHNwYW4ub25zYWxle1xuICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgfVxuICAgIC5zYWxlLW9mZntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDM2cHgsIDM2cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI0OTQ5O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgICAuaW1hZ2V7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7ICBcbiAgICAgICAgfVxuICAgICAgICBhLC5wcm9kdWN0LWltYWdle1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIC5pbWFnZS1lZmZlY3R7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTEwMCUsIDBweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzKTtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UtaG92ZXJ7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5pbWFnZS1lZmZlY3R7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKDBweCwwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlLWhvdmVye1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgxMDAlLCAwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAuY2FwdGlvbntcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfSAgICBcbiAgICAucHJpY2V7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgICAgICAgICAgICBcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoZm9udC1zaXplLCAkcHJvZHVjdC1wcmljZS1mb250LXNpemUpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6JHByb2R1Y3QtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGluc3tcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICB9XG4gICAgICAgICYgPiBkZWx7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5uYW1le1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoZm9udC1zaXplLCAkcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgICB9IFxuICAgIC5tb2RlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB9IFxuICAgIC5jYXRlZ29yeXtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1jYXRlZ29yeS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zdHlsZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zaXplKTtcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1jYXRlZ29yeS1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWNhdGVnb3J5LWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wcmljZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgICBcbiAgICAuYWRkX3RvX2NhcnRfYnV0dG9ue1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgICYubG9hZGluZ3tcbiAgICAgICAgICAgIC50aXRsZS1jYXJ0e1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIkxvYWRpbmcuLlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgICAgICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmFkZGVkX3RvX2NhcnQge1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpob3ZlcnsgXG4gICAgICAgIC5idXR0b24tYWN0aW9ue1xuICAgICAgICAgICAgPiBkaXZ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXB0aW9ue1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuLmJ1dHRvbi1hY3Rpb257XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTowO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjRzIGVhc2UtaW4tb3V0IDBzKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pe1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICB9XG4gICAgPiBkaXZ7ICBcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkoYWxsKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigwLjM1cyk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDAuMzVzIGVhc2UgMHMsIHRyYW5zZm9ybSAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbS1tYXgpe1xuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDBweCwgMzBweCwgMHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmLnlpdGgtY29tcGFyZXtcbiAgICAgICAgICAgIC5jb21wYXJlLmFkZGVkIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGVjXCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDM1cHgsIDM1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBcbiAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBhe1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzKTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgICAgXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgXG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoNDBweCk7ICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRoZW1lLWNvbG9yLCAwLjYpO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRoZW1lLWNvbG9yLCAxKTsgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFkZF90b193aXNobGlzdHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY29tcGFyZXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gXG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZGl2W2NsYXNzKj1cImFkZC10by13aXNobGlzdFwiXXtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuYWpheC1sb2FkaW5ne1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cbmEuYWRkX3RvX3dpc2hsaXN0eyAgXG59XG4ueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLyoqXG4gKiBQcm9kdWN0cyBMaXN0aW5nIEluIEdyaWQgU3R5bGVcbiAqL1xuLnByb2R1Y3RzLWdyaWR7XG4gICAgZGl2LnByb2R1Y3R7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLnByb2R1Y3QtYmxvY2t7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgLm5hbWV7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAuaW1hZ2V7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgLnJhdGluZ3tcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAuc3Rhci1yYXRpbmd7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIC5idXR0b24tYWN0aW9ue1xuICAgICAgICAgICAgICAgID4gZGl2LnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3QgYSB7XG4gICAgICAgICAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNwYW4gIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlLFxuICAgICAgICAgICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2V7IFxuICAgICAgICAgICAgICAgICAgICAuZmVlZGJhY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDBweCwgNDBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwOGFcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5xdWljay12aWV3IHtcbiAgICAgICAgICAgICAgICAgICAgLnF1aWNrdmlld3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIFxuICAgIH0gXG59XG5cbi5wcm9kdWN0cy1saXN0e1xuICAgIFxuICAgIC5yYXRpbmd7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgIC5zdGFyLXJhdGluZ3tcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2xlYXJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICBib3JkZXItYm90dG9tOnNvbGlkIDFweCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTozMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gICAgICAgIC5uYW1le1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtYXNzZXRzIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RhZGRlZGJyb3dzZSxcbiAgICAgICAgLnlpdGgtd2N3bC1hZGQtYnV0dG9uLFxuICAgICAgICAueWl0aC13Y3dsLXdpc2hsaXN0ZXhpc3RzYnJvd3NlIHtcbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBhLmFkZF90b193aXNobGlzdCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEuY29tcGFyZSxhLnF1aWNrdmlld3tcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWRkZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFkZF90b19jYXJ0X2J1dHRvbntcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICB9ICAgICAgICBcbiAgICB9XG4gICAgLnR5cGUtcHJvZHVjdDpsYXN0LWNoaWxkIC5wcm9kdWN0LWJsb2NreyBib3JkZXItYm90dG9tOm5vbmU7IH1cbn1cblxudWwucGJyLXctcHJvZHVjdHMtbGlzdHtcbiAgICBwYWRkaW5nOjA7IG1hcmdpbjowIWltcG9ydGFudDsgIFxuICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICBpbWd7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi53b29jb21tZXJjZSAucHJvZHVjdCxcbi5wcm9kdWN0c3tcbiAgICBzcGFuLm9uc2FsZXtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtd2FybmluZzsgICAgIFxuICAgICAgICBjb2xvcjogJHdoaXRlOyAgICAgICAgICAgICAgICBcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgICAgICAgXG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygyMHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5zdGFyLXJhdGluZ3tcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDUzXFw1M1xcNTNcXDUzXFw1M1wiO1xuICAgICAgICAgICAgY29sb3I6ICNkNWQ1ZDU7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDUzXFw1M1xcNTNcXDUzXFw1M1wiO1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC13YXJuaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8qKlxuICogU2luZ2xlIHByb2R1Y3RcbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBRdWFudGl0eSBpbnB1dHNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucXVhbnRpdHkge1xuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgbWFyZ2luICAgOiAwIGF1dG87XG4gICAgb3ZlcmZsb3cgOiBoaWRkZW47XG4gICAgem9vbSAgICAgOiAxO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHNwYW57XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICAgIGlucHV0LnF0eSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgcGFkZGluZzo1cHg7ICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDVweCwgMzVweCk7ICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wbHVzLCAubWludXMge1xuICAgICAgICBiYWNrZ3JvdW5kICAgICAgOiAkd2hpdGU7XG4gICAgICAgIGZsb2F0ICAgICAgICAgICA6IHJpZ2h0O1xuICAgICAgICBjbGVhciAgICAgICAgICAgOiByaWdodDtcbiAgICAgICAgZGlzcGxheSAgICAgICAgIDogYmxvY2s7XG4gICAgICAgIHBhZGRpbmcgICAgICAgICA6IDA7XG4gICAgICAgIG1hcmdpbiAgICAgICAgICA6IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduICA6IHRleHQtdG9wO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24gOiBub25lO1xuICAgICAgICBvdmVyZmxvdyAgICAgICAgOiB2aXNpYmxlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24gOiBub25lO1xuICAgICAgICBjdXJzb3IgICAgICAgICAgOiBwb2ludGVyO1xuICAgICAgICBsaW5lLWhlaWdodCAgICAgOiAxM3B4O1xuICAgICAgICBmb250LXNpemUgICAgICAgOiAxMnB4O1xuICAgICAgICBjb2xvciAgICAgICAgICAgOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgYm9yZGVyICAgICAgICAgIDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgyNXB4ICwgMTlweCk7XG4gICAgfVxuICAgIC5wbHVzIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAubWludXMge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0IDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxufVxuXG5cbi8qIFNpbmdsZSA+IE1ldGEgKi9cbi5wcm9kdWN0X21ldGF7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDAgNXB4O1xuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgYXtcbiAgICAgICAgY29sb3I6ICNhMGEwYTA7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgID4gc3BhbntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgID4gZGl2e1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAgJHRoZW1lLW1hcmdpbiAvIDI7XG4gICAgfVxuICAgIC5wb3N0ZWRfaW4sLnRhZ2dlZF9hc3tcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxufSBcbi5za3Vfd3JhcHBlciB7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXdlaWdodDogNjAwfVxuLnNrdV93cmFwcGVyIHNwYW4geyBkaXNwbGF5OiBpbmxpbmU7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiAjYTBhMGEwOyB9XG4vLy0tLS0tLS0tLS0tLS0tLVxuLnNpbmdsZS1wcm9kdWN0e1xuICAgICYud29vY29tbWVyY2Uge1xuICAgICAgICBkaXYucHJvZHVjdHtcbiAgICAgICAgICAgICBzcGFuLm9uc2FsZXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAucHJvZHVjdHN7XG4gICAgICAgICAgICAgICAgIHNwYW4ub25zYWxle1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAgYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpdi5pbWFnZXMgaW1ne1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwLnByaWNle1xuICAgICAgICAgICAgICAgIGNvbG9yOiRwcm9kdWN0LXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGRlbHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5ze1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9ybS5jYXJ0e1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBkaXYucXVhbnRpdHl7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudmFyaWF0aW9uc3tcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgLmxhYmVse1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZ3tcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgICAgIC53b29jb21tZXJjZS1yZXZpZXctbGluayB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZHVjdF90aXRsZSB7bGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RhZGRlZGJyb3dzZSxcbiAgICAgICAgICAgICAgICAueWl0aC13Y3dsLXdpc2hsaXN0ZXhpc3RzYnJvd3NleyBcbiAgICAgICAgICAgICAgICAgICAgLmZlZWRiYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnF1YW50aXR5eyAgICBcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgICAgICAgIFxuICAgICAgICAgICAgLnF0eXtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgfSBcbiAgICAuc3VtbWFyeXtcbiAgICAgICBAaW5jbHVkZSBmb250LXNpemUoZm9udC1zaXplLCAkc2luZ2xlLXByb2R1Y3Qtc3VtbWFyeS1mb250LXNpemUpOyAgICAgICBcbiAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgZm9udC1zaXplOjExLjdweDtcbiAgICAgICAgfVxuICAgICAgICAuc2hhcmVfc29jaWFsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICAxNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jbGVhcntcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgICAueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC5hamF4LWxvYWRpbmd7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlLFxuICAgICAgICAueWl0aC13Y3dsLWFkZC1idXR0b24sXG4gICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2Uge1xuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIGEuYWRkX3RvX3dpc2hsaXN0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZSAge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhLmNvbXBhcmV7XG4gICAgICAgICAgICBjb2xvcjogI2JiYjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAyMVwiO1xuICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgzMHB4KTtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWRkZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBwLnByaWNlLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3Qgc3Bhbi5wcmljZSB7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvciFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vLyBwcm9kdWN0IHdvb2NvbW1lcmNlIHRhYnNcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFic3tcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIHVsLm5hdi10YWJze1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiAgaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cy1taW4pe1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1pbil7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oIzAwMDAwMCwgMzAlKTtcbiAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUsIDVweCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUsICYuYWN0aXZlOmJlZm9yZSwgJi5hY3RpdmU6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzowcHggMHB4IDAgI2ZmZiFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXsgXG4gICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5OyAgXG4gICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgZm9udC1zaXplOjE4cHg7IFxuICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzotMXB4O1xuICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYi1wYW5le1xuICAgICAgICAuaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICB9XG4gICAgaDJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLm5hdi10YWJzIGxpLmFjdGl2ZXtcbiAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgY29sb3I6ICRibGFjaztcbn1cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC5uYXYtdGFiczo6YmVmb3Jle1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6JGJvcmRlci1jb2xvcjtcbn1cbi53b29jb21tZXJjZS10YWJzIC50YWItY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAub3dsLWNhcm91c2VsLXBsYXl7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAzNXB4IDA7XG4gICAgfVxufVxuLyoqXG4gKiBDYXRlZ29yeSBBbmQgTGlzdGluZyBQYWdlXG4gKi9cblxuIC8vIHN0eWxpbmcgc29ydG9yZGVyIGFuZCBkaXNwbGF5IG1vZGVcbi5wcm9kdWN0cy10b3Atd3JhcHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgcGFkZGluZzogMTBweCAwIDIwcHg7XG4gICAgLndvb2NvbW1lcmNlLW9yZGVyaW5ne1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgLmRpc3BsYXktbW9kZXtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIC5idG57XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDMycHgsIDMycHgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICNiNWI1YjU7ICAgICAgICAgIFxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfSBcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ib3R0b20td3JhcHtcbiAgICAud29vY29tbWVyY2UtcGFnaW5hdGlvbntcbiAgICAgICAgZmxvYXQ6IGxlZnQ7ICAgICAgICBcbiAgICB9XG4gICAgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb257XG4gICAgICAgIHVsLHVsIGxpe1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBzcGFuLmN1cnJlbnR7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50e1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjo4cHggMDtcbiAgICB9XG4gICAgcGFkZGluZzoyMHB4IDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgUXVpY2t2aWV3XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI3Bici1xdWlja3ZpZXctbW9kYWx7XG4gICAgLm1vZGFsLWRpYWxvZ3tcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGVse1xuICAgICAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5tb2RhbC1sZyB7XG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZHVjdC1pbmZve1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC5zdW1tYXJ5e1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcXVpY2t2aWV3LXByb2R1Y3QtY29udGVudC1tYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0X3RpdGxle1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwkcXVpY2t2aWV3LXByb2R1Y3QtdGl0bGUtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdF9tZXRhe1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNsb3Nle1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgLmZhLC5pY29ue1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgI3F1aWNrdmlldy1jYXJvdXNlbHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5sZWZ0e1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmlnaHR7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcm91c2VsLWluZGljYXRvcnN7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmFjdGl2ZXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJvdXNlbC1jb250cm9se1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbWFyZ2luOiAzNCUgYXV0bztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwyMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40NXMgZWFzZSk7XG4gICAgICAgICYubGVmdHtcbiAgICAgICAgICAgIGxlZnQ6IC02MHB4O1xuICAgICAgICB9XG4gICAgICAgICYucmlnaHR7XG4gICAgICAgICAgICByaWdodDogLTYwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYnItb3dsLXRodW1icyB7XG4gICAgcGFkZGluZzogMjBweCAwIDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGl7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAycHg7XG4gICAgICAgIGltZ3tcblxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpOyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnF0eVt0eXBlPVwibnVtYmVyXCJde1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvd3tcbiAgICBtYXJnaW46IDIycHggMCAxMXB4O1xuICAgIHBhZGRpbmc6IDA7XG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IC5wcm9kdWN0LXRodW1ibmFpbCBpbWd7XG4gICAgd2lkdGg6ICA2MHB4O1xufVxuLnJ0bHtcbiAgICAmLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsIFxuICAgICYud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LmltYWdlcywgXG4gICAgJi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsIFxuICAgICYud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cbi5ydGx7XG4gICAgJi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSwgXG4gICAgJi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSwgXG4gICAgJi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5LCBcbiAgICAmLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi8qKlxuICogQ2hlY2tvdXQgUGFnZVxuICovXG5cbi8qKlxuICogVGhhbmtzIHlvdSBwYWdlXG4gKi9cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEZvcm0gU3R5bGVzXG4gKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vLy8vIG5vcm1hbCBidXR0b25cbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9ue1xuIFx0QGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoICRidG4tZGFuZ2VyLWNvbG9yLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cbiAgICBwYWRkaW5nOiAxMXB4ICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG59XG5cbi53b29jb21tZXJjZSBhLmJ1dHRvbiwgYS55aXRoLXdjd2wtYWRkLWJ1dHRvbntcbiAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgcGFkZGluZzoxNHB4IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDpub25lOyAgICAgICAgXG4gICAgfVxufVxuLy8vIHN1Ym1pc3Npb24gYnV0dG9uc1xuIFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdCwgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHR7XG5cdEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCAkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gICAgcGFkZGluZzokcHJvZHVjdC1idXR0b24tcGFkZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuIFxuLy8vIGFkZCB0byBjYXJ0IGJ1dHRvbiBhbmQgYnV5IHByb2R1Y3QgYnV0dG9uXG4gLndvb2NvbW1lcmNlICBhLmFkZF90b19jYXJ0X2J1dHRvbiwgLndvb2NvbW1lcmNlIGEucHJvZHVjdF90eXBlX2V4dGVybmFsLCAjbWFpbi1jb250YWluZXIgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XG4gICAgLmljb24tY2FydHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNnB4LCAxNnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvci1kZWZhdWx0O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAtIDY7XG4gICAgICAgIGJvcmRlcjoycHggc29saWQgJHRoZW1lLWNvbG9yLWRlZmF1bHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6NTAlO1xuXG4gICAgfVxuICAgIC50aXRsZS1jYXJ0e1xuICAgICAgIFxuICAgIH0gICAgXG4gICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6ICNmZmY7IFxuICAgIH0gXG59XG5cbi8vLyBcblxuXG4vKipcbiAqIElucHV0IEZvcm0gU3R5bGVzXG4gKi9cbi8vLy8gaW5wdXQgYW5kIHRleHRhcmVhLiBzdHlsZXMgZXh0ZW5kZWQgZnJvbSBib290c3RyYXAgZm9ybVxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC5pbnB1dC10ZXh0LCAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhLCAgLndvb2NvbW1lcmNlIHNlbGVjdCwgLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCBpbnB1dC5pbnB1dC10ZXh0IHtcblx0XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UhaW1wb3J0YW50O1xuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcblx0Ym9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcblx0Ym9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG5cdEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG5cdC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cblx0QGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xuXG5cdC8vIFBsYWNlaG9sZGVyXG5cdEBpbmNsdWRlIHBsYWNlaG9sZGVyO1xuXG5cdC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG5cdC8vXG5cdC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG5cdC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG5cdC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cblx0JltkaXNhYmxlZF0sXG5cdCZbcmVhZG9ubHldLFxuXHRmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuXHRcdG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTVcblx0fVxuXG5cdCZbZGlzYWJsZWRdLFxuXHRmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG5cdFx0Y3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuXHR9XG59XG4ud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24sIC53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsIFxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyBpbnB1dCwgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuYnV0dG9uLCBcbi53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXQsIFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24sIC53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXQsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuYnV0dG9uLCBcbi53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIGlucHV0e1xuICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYXtcbiAgIG1pbi1oZWlnaHQ6IDEwMHB4O1x0XG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0e1xuICAgbGluZS1oZWlnaHQ6IDEuNjI4NTc7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCl7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXBob25lKXtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsIFxuLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCB7XG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDlweCA7XG59XG5cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgLnNlbGVjdDItY29udGFpbmVyLCBcbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgaW5wdXQuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIHNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3I7XG59XG5cbi53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eSB7XG4gICAgbWFyZ2luOiAwIDE1cHggIWltcG9ydGFudDtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy1maXJzdCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93LWxhc3QsIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93LWZpcnN0LCAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy1sYXN0e1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWluKSB7XG4gICAgICAgIGZsb2F0OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgIH1cbn1cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2Uge1xuICAgIHBhZGRpbmc6IDRweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuIiwiXHJcbmJvZHl7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmMGVkO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS10aGVtZS1wYXRoIH1iZy1ib2R5LmpwZycpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG59XHJcbiNwYWdlIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1heCl7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLnBici10b3BiYXIge1xyXG4gICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNDIyMDBhO1xyXG4gICAgXHQuY29udGFpbmVye1xyXG4gICAgXHRcdHdpZHRoOiAxMDAlO1xyXG4gICAgXHR9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KXtcclxuICAgICNwYnItbWFzdGhlYWQuaGVhZGVyLWFic29sdXRle1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbn1cclxuI3Bici1tYXN0aGVhZC5wYnItaGVhZGVyLWRlZmF1bHQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbn1cclxuXHJcbi5uYXZiYXItbWVnYS1saWdodHtcclxuICAgIC5uYXZiYXItbWVnYSAubmF2YmFyLW5hdiA+IGxpID4gYSwgLm5hdmJhci1tZWdhIC5uYXZiYXItbmF2ID4gbGkgPiBhIC5jYXJldCB7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG4ucGJyLWZvb3RlcntcclxuICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS10aGVtZS1wYXRoIH1iZy1mb290ZXItY29mZWVtYWtlci5qcGcnKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcclxuICAgIC5wYnItY29weXJpZ2h0e1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ud2lkZ2V0X3JlY2VudF9lbnRyaWVze1xyXG4gICAgLndpZGdldHRpdGxle1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xyXG4gICAgfVxyXG4gICAgdWwgbGkge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgjZmZmLCAwLjEpO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogI2NjYztcclxuICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2NjYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53cGJfd2lkZ2V0aXNlZF9jb2x1bW4ge1xyXG4gICAgLndwYl93aWRnZXRpc2VkX2NvbHVtbl9oZWFkaW5ne1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgLndpZGdldF9tYzR3cF9mb3JtX3dpZGdldCAuZm9ybS1zdHlsZS0xID4gcCB7XHJcbiAgICAgICAgLmJ0bi1kZWZhdWx0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2VkZWRlZDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wYnItY29weXJpZ2h0e1xyXG4gICAgY29sb3I6ICNjY2M7XHJcbiAgICBhe1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ3dFQSw2Q0FBNkM7QWlDeEU3Qzs7R0FFRztBRWtOSCx1QkFBdUI7QUF5RnZCOztFQUVFO0FBa0JGOzhDQUM4QztBQXdEOUM7OENBQzhDO0FBa0s5QyxNQUFNO0FBQ04sTUFBTTtBQzFkTixNQUFNO0FEZ0pOLHVCQUF1QjtBQXlGdkI7O0VBRUU7QUFrQkY7OENBQzhDO0FBd0Q5Qzs4Q0FDOEM7QUFrSzlDLE1BQU07QUFDTixNQUFNO0FFOWhCTjs7R0FFRztBQVd1QyxnRUFBZ0U7QUFrQjFHOztHQUVHO0FHUkg7O0dBRUc7QUN2QkYsZ0NBQWdDO0FBTWhDLGlDQUFpQztBQUVqQyw4QkFBOEI7QUFFOUIscUNBQXFDO0FBRXJDLHFDQUFxQztBQUFBLE1BQU07QUFXNUMsMEJBQTBCO0FBSzFCLDBCQUEwQjtBQUkxQiwwQkFBMEI7QUFRMUIsdUJBQXVCO0FBRXZCLDRCQUE0QjtBQUk1Qiw0QkFBNEI7QUFJNUIsNEJBQTRCO0FBSTVCLDRCQUE0QjtBQUs1Qiw0QkFBNEI7QUFJNUIsNEJBQTRCO0FBSTNCLCtCQUErQjtBQVEvQiw4QkFBOEI7QUFHOUIsK0JBQStCO0FBRS9CLHlDQUF5QztBQUV6QyxtQ0FBbUM7QUFBQSxrQkFBa0I7QUFVckQsMkJBQTJCO0FBQUEsd0JBQXdCO0FBS3BELDhCQUE4QjtBQU83Qiw4QkFBOEI7QUFFOUIsaUNBQWlDO0FBSWpDLCtCQUErQjtBQUUvQiw4QkFBOEI7QUFFOUIsb0NBQW9DO0FBQUEsbUJBQW1CO0FBT3ZELDhCQUE4QjtBQUFBLG1EQUFtRDtBQUdqRixpQ0FBaUM7QUFBQSw2QkFBNkI7QUFNL0QsNkJBQTZCO0FBSTdCLDRCQUE0QjtBQU01QiwyQkFBMkI7QUFNM0IsMkJBQTJCO0FBTTNCLHFDQUFxQztBQVdyQyw2QkFBNkI7QUFTN0IsNkJBQTZCO0FBVTVCLDRCQUE0QjtB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 */
