/* $headings-font-weight:    700 !default; */
/**
 * Import component variables
 */
/** elements mixins **/
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/*inline-block
============================================*/
/****/
/****/
/****/
@keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Hien thi cho Safari and Chrome */
@-webkit-keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Hien thi cho Firefox */
@-moz-keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Hien thi cho Opera */
@-o-keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/** 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_nav_menu ul li:last-child {
  padding-bottom: 0; }

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

.widget_price_filter .ui-slider .ui-slider-handle {
  background-color: #47b8e0 !important; }

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

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

.widget_price_filter .price_slider_amount .button {
  padding: 15px 30px;
  background: #f6f6f6;
  text-transform: uppercase;
  color: #000; }

/*------------------------------------*    Product List Widget
\*------------------------------------*/
.woocommerce ul.product_list_widget {
  list-style: none; }
  .woocommerce ul.product_list_widget li {
    padding: 15px 0; }
    .woocommerce ul.product_list_widget li del {
      font-size: 14px;
      color: #47b8e0; }
    .woocommerce ul.product_list_widget li ins {
      color: #444444;
      font-size: 13px;
      text-decoration: none;
      font-weight: bold; }
    .woocommerce ul.product_list_widget li img {
      width: 80px;
      float: left;
      margin-left: 0;
      margin-right: 15px; }
      .rtl .woocommerce ul.product_list_widget li img {
        float: right; }
      .rtl .woocommerce ul.product_list_widget li img {
        margin-right: 0;
        margin-left: inherit; }
      .rtl .woocommerce ul.product_list_widget li img {
        margin-left: 15px;
        margin-right: inherit; }
    .woocommerce ul.product_list_widget li .star-rating {
      font-size: 10px;
      margin-bottom: 5px; }
      .woocommerce ul.product_list_widget li .star-rating span:before {
        color: #ffca00; }
    .woocommerce ul.product_list_widget li .product-title {
      margin-bottom: 5px;
      text-transform: uppercase;
      height: 42px;
      overflow: hidden;
      display: block;
      line-height: 20px;
      font-size: 13px;
      font-weight: normal; }
    .woocommerce ul.product_list_widget li a {
      font-weight: normal;
      text-transform: uppercase;
      margin-bottom: 5px;
      font-family: "Montserrat"; }
    .woocommerce ul.product_list_widget li:first-child {
      padding-top: 0; }

/**
 * Styling special product block.
 */
.products-collection .owl-carousel-play .carousel-control {
  top: 30%; }

.products.related h2, .product > #reviews > h3, .products.upsells h2 {
  color: #000000;
  padding: 20px 0 0;
  margin: 0 0 10px;
  font-size: 16px;
  position: relative;
  letter-spacing: 2px;
  z-index: 10; }

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

/**
 * Deal Modules
 */
.woo-deals {
  background: white; }
  .woo-deals .carousel-inner {
    overflow: visible; }
  .woo-deals .owl-carousel-play {
    margin: 0; }
  .woo-deals .owl-carousel .owl-item {
    padding: 0; }
  .woo-deals .product-block .image {
    margin-bottom: 0;
    width: 44%; }
  .woo-deals .deals-information {
    margin-bottom: 30px;
    border-bottom: 1px solid #f4f4f4;
    padding-bottom: 40px; }
    .woo-deals .deals-information .name {
      font-size: 44px;
      height: 95px;
      overflow: hidden;
      line-height: 45px; }
    .woo-deals .deals-information .price {
      font-size: 30px; }
      .woo-deals .deals-information .price ins {
        font-size: 28px;
        font-family: "Open Sans", sans-serif; }
  .woo-deals .caption {
    padding: 35px; }
  .woo-deals .countdown-times > div {
    position: relative;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    color: #999999;
    float: left;
    text-transform: uppercase; }
    .rtl .woo-deals .countdown-times > div {
      float: right; }
    .woo-deals .countdown-times > div:after {
      content: "";
      height: 35px;
      background: #bcbcbc;
      width: 2px;
      position: absolute;
      top: 2px;
      right: -2px; }
      .rtl .woo-deals .countdown-times > div:after {
        left: -2px;
        right: auto; }
    .woo-deals .countdown-times > div > b {
      display: block;
      font-size: 24px;
      font-weight: bold;
      color: #47b8e0;
      width: 70px;
      height: 24px;
      line-height: 24px;
      font-family: "Montserrat"; }
    .woo-deals .countdown-times > div:last-child:after {
      content: none; }

/**
 * Widget Products Categories Menu 
 */
ul.product-categories {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.product-categories li.cat-parent .children {
    background: #f7f7f7;
    padding: 0;
    list-style: none; }
  ul.product-categories li.current-cat > a, ul.product-categories li.current-cat-parent > a {
    color: #47b8e0; }
  ul.product-categories li ul li {
    border-bottom: 0; }
  ul.product-categories li {
    position: relative; }
    ul.product-categories li .closed, ul.product-categories li .opened {
      position: absolute;
      right: 15px;
      top: 10px;
      content: "";
      font-size: 14px;
      color: #aaa;
      cursor: pointer;
      width: 20px;
      height: 20px;
      line-height: 20px;
      text-align: center; }
      .rtl ul.product-categories li .closed, .rtl ul.product-categories li .opened {
        left: 15px;
        right: auto; }
      ul.product-categories li .closed:hover, ul.product-categories li .opened:hover {
        color: #47b8e0; }
    ul.product-categories li a {
      padding: 10px 5px 10px 0;
      display: inline-block;
      color: #000;
      font-size: 12px;
      text-transform: uppercase;
      font-family: "Montserrat"; }
      ul.product-categories li a:hover {
        color: #47b8e0; }
    ul.product-categories li li a {
      font-size: 14px;
      font-family: "Open Sans", sans-serif;
      padding: 5px 5px 5px 20px;
      color: #999999;
      text-transform: none; }
      ul.product-categories li li a:hover {
        color: #47b8e0; }
    ul.product-categories li:first-child {
      padding-top: 0; }

/*
**  opal category list
*/
.opal-category-list #opal-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; }
  .rtl .opal-category-list #opal-accordion-categories .category-title {
    padding-left: 20px;
    padding-right: inherit; }
  .rtl .opal-category-list #opal-accordion-categories .category-title {
    padding-right: 30px;
    padding-left: inherit; }
  .opal-category-list #opal-accordion-categories .category-title a {
    text-transform: uppercase;
    font-size: 12px; }
    .opal-category-list #opal-accordion-categories .category-title a:hover {
      color: #47b8e0; }
  .opal-category-list #opal-accordion-categories .category-title a.dropdown {
    float: right;
    margin-left: 10px; }
    .rtl .opal-category-list #opal-accordion-categories .category-title a.dropdown {
      float: left; }
    .rtl .opal-category-list #opal-accordion-categories .category-title a.dropdown {
      margin-right: 10px;
      margin-left: inherit; }
  .opal-category-list #opal-accordion-categories .category-title .total-product {
    display: inline-block; }

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

/*------------------------------------*    Cart
\*------------------------------------*/
.cart_list {
  list-style: none;
  padding: 0; }
  .cart_list > div {
    margin: 10px 0;
    padding: 10px 0; }
  .cart_list .name {
    font-size: 14px;
    font-weight: normal;
    line-height: 20px;
    text-transform: none;
    margin-top: 0;
    font-family: "Open Sans", 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: #47b8e0; }
  .cart_list .cart-main-content {
    text-align: left;
    position: relative; }
    .rtl .cart_list .cart-main-content {
      text-align: right; }
    .cart_list .cart-main-content .remove {
      position: absolute;
      right: 0;
      top: auto;
      /* 3 */
      /* 3 */
      /* 4 */
      /* 6 */
      /* 6 */
      /* 7 */
      font-size: 25px;
      /* 9 */
      font-size: 2.5rem;
      /* 9 */
      bottom: 10px;
      height: 20px;
      font-weight: normal;
      color: #555555 !important; }
      .rtl .cart_list .cart-main-content .remove {
        left: 0;
        right: auto; }
      .cart_list .cart-main-content .remove:hover {
        background: transparent;
        color: #47b8e0 !important; }
  .cart_list + .total {
    text-align: right;
    margin-top: 10px;
    padding: 0 15px; }
    .rtl .cart_list + .total {
      text-align: left; }
    .cart_list + .total .amount {
      font-size: 15px; }

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

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

.opal-topcart .dropdown-menu {
  color: #202020;
  padding: 30px;
  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);
  margin: 0;
  border: 2px solid #47b8e0; }
  .rtl .opal-topcart .dropdown-menu {
    text-align: right; }
  .rtl .opal-topcart .dropdown-menu {
    right: auto;
    left: auto; }
  .rtl .opal-topcart .dropdown-menu {
    left: 0;
    right: auto; }
  .opal-topcart .dropdown-menu .quantity {
    font-size: 14px; }

.opal-topcart .media {
  border-bottom: solid 1px #f4f4f4;
  padding-bottom: 30px; }

.opal-topcart .name {
  font-size: 12px;
  margin-bottom: 10px; }
  .opal-topcart .name a {
    color: #000 !important; }
    .opal-topcart .name a:hover {
      color: #47b8e0 !important; }

.opal-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; }

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

.opal-topcart .buttons {
  margin-bottom: 0;
  padding: 15px 20px;
  text-transform: uppercase; }
  .opal-topcart .buttons a {
    border-radius: 25px; }

.box-top .box-title .title-cart {
  display: none; }

.box-top .box-title .mini-cart-items {
  background: #47b8e0;
  width: 18px;
  height: 18px;
  border-radius: 100%;
  display: inline-block;
  color: #FFF;
  position: absolute;
  top: -8px;
  text-align: center;
  font-size: 11px;
  left: 10px; }
  .rtl .box-top .box-title .mini-cart-items {
    right: 10px;
    left: auto; }

.box-top .box-amount {
  color: #000;
  font-weight: 600;
  font-size: 16px; }

#cart {
  clear: both; }
  #cart:before, #cart:after {
    content: " ";
    display: table; }
  #cart:after {
    clear: both; }
  #cart .mini-cart .amount {
    color: #000;
    font-weight: 600;
    font-size: 16px;
    display: none; }
  #cart .mini-cart .mini-cart-total {
    float: left;
    margin: 0 10px; }
    .rtl #cart .mini-cart .mini-cart-total {
      float: right; }

/*
 * Product Detail Page
 */
.product-info .product-topinfo .product-nav p {
  float: left;
  margin-left: 5px;
  margin-top: 10px; }
  .rtl .product-info .product-topinfo .product-nav p {
    float: right; }
  .rtl .product-info .product-topinfo .product-nav p {
    margin-right: 5px;
    margin-left: inherit; }

.product-info .product-topinfo .product-nav a {
  font-size: 13px;
  color: #000;
  font-weight: 600;
  line-height: 26px;
  border-width: 2px;
  border-style: solid;
  border-color: rgba(225, 225, 225, 0.7);
  width: 30px;
  height: 30px;
  text-align: center;
  display: block; }
  .product-info .product-topinfo .product-nav a .fa {
    padding: 0 4px; }
  .product-info .product-topinfo .product-nav a:hover {
    background: #47b8e0;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }

.product-info .product-topinfo .product_title {
  color: #000; }

.product-info div.row {
  background: #FFF; }

.product-info .images {
  position: relative;
  width: 100% !important; }

.product-info .price > * {
  text-decoration: none; }

.product-info .price del span {
  margin-right: 5px;
  color: #999 !important;
  font-size: 16px;
  font-weight: 300 !important;
  text-decoration: line-through; }
  .rtl .product-info .price del span {
    margin-left: 5px;
    margin-right: inherit; }

.product-info .image-additional.owl-carousel-play .carousel-controls {
  bottom: 0px;
  top: 25%;
  left: 0;
  width: 100%;
  opacity: 0;
  -webkit-transition: all 300ms;
  -o-transition: all 300ms;
  transition: all 300ms; }
  .rtl .product-info .image-additional.owl-carousel-play .carousel-controls {
    right: 0;
    left: auto; }

.product-info .image-additional:hover .carousel-controls {
  opacity: 1; }

.product-info span.onsale {
  width: 40px;
  height: 25px;
  background-color: #e56363;
  top: 12px;
  left: 8%;
  line-height: 20px;
  font-weight: 400;
  z-index: 1;
  border-radius: 0;
  min-height: 25px; }
  .rtl .product-info span.onsale {
    right: 8%;
    left: auto; }

.single-product-summary .yith-wcwl-add-to-wishlist {
  float: left;
  position: relative;
  margin-right: 20px;
  margin-top: 4px; }
  .rtl .single-product-summary .yith-wcwl-add-to-wishlist {
    float: right; }
  .rtl .single-product-summary .yith-wcwl-add-to-wishlist {
    margin-left: 20px;
    margin-right: inherit; }
  .single-product-summary .yith-wcwl-add-to-wishlist a {
    color: #444444; }
    .single-product-summary .yith-wcwl-add-to-wishlist a:hover {
      color: #47b8e0; }
    .single-product-summary .yith-wcwl-add-to-wishlist a i {
      font-size: 12px; }
  .single-product-summary .yith-wcwl-add-to-wishlist .ajax-loading {
    margin: 0;
    position: absolute;
    top: 10px; }
  .single-product-summary .yith-wcwl-add-to-wishlist .feedback {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
    display: none; }

.single-product-summary .clear {
  display: none; }

.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;
  font-size: 11px;
  display: inline;
  font-weight: 700;
  float: left; }
  .rtl .single-product-summary .yith-wcwl-wishlistaddedbrowse a, .rtl
  .single-product-summary .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist, .rtl
  .single-product-summary .yith-wcwl-add-button a, .rtl
  .single-product-summary .yith-wcwl-add-button a.add_to_wishlist, .rtl
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a, .rtl
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist {
    float: right; }
  .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: #47b8e0;
    text-decoration: none; }
  .single-product-summary .yith-wcwl-wishlistaddedbrowse a i,
  .single-product-summary .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist i,
  .single-product-summary .yith-wcwl-add-button a i,
  .single-product-summary .yith-wcwl-add-button a.add_to_wishlist i,
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a i,
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist i {
    margin: 0 5px; }

.single-product-summary .yith-wcwl-wishlistaddedbrowse > div,
.single-product-summary .yith-wcwl-add-button > div,
.single-product-summary .yith-wcwl-wishlistexistsbrowse > div {
  display: none; }

.single-product-summary .compare {
  color: #444444 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  text-transform: uppercase; }
  .single-product-summary .compare:before {
    content: "\f021";
    font-family: "FontAwesome";
    color: #999999;
    font-size: 12px;
    position: relative;
    right: 5px;
    font-weight: normal; }
    .rtl .single-product-summary .compare:before {
      left: 5px;
      right: auto; }
  .single-product-summary .compare:hover {
    color: #47b8e0; }
    .single-product-summary .compare:hover:before {
      color: #47b8e0; }

.single-product-summary .yith-wcwl-wishlistaddedbrowse .feedback,
.single-product-summary .yith-wcwl-wishlistexistsbrowse .feedback {
  color: #47b8e0;
  line-height: 40px;
  margin-right: 40px; }
  .rtl .single-product-summary .yith-wcwl-wishlistaddedbrowse .feedback, .rtl
  .single-product-summary .yith-wcwl-wishlistexistsbrowse .feedback {
    margin-left: 40px;
    margin-right: inherit; }

.productinfo-show-discounts {
  font-size: 12px;
  padding-left: 75px;
  position: relative;
  color: #666;
  float: left;
  margin-bottom: 20px !important;
  padding: 0;
  margin-bottom: 22px;
  border-radius: 0px;
  overflow: hidden;
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d; }
  .rtl .productinfo-show-discounts {
    padding-right: 75px;
    padding-left: inherit; }
  .rtl .productinfo-show-discounts {
    float: right; }
  .productinfo-show-discounts:before {
    background: url("../images/icon-show-discounts.png") no-repeat center center #62bc6f;
    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: ""; }
    .rtl .productinfo-show-discounts:before {
      right: 20px;
      left: auto; }
  .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; }
    .rtl .productinfo-show-discounts ul {
      margin-right: 40px;
      margin-left: inherit; }
    .productinfo-show-discounts ul li {
      padding: 3px 0; }
      .productinfo-show-discounts ul li:before {
        content: "\f14a";
        font-family: "FontAwesome";
        color: #62bc6f;
        padding-right: 8px; }
        .rtl .productinfo-show-discounts ul li:before {
          padding-left: 8px;
          padding-right: inherit; }

#reviews .reviews-summary {
  padding: 20px 0; }
  #reviews .reviews-summary h5 {
    text-transform: uppercase;
    margin-bottom: 20px; }
  #reviews .reviews-summary .review-summary-total {
    text-align: center;
    font-weight: 400; }
    #reviews .reviews-summary .review-summary-total .review-summary-result {
      width: 90px;
      height: 90px;
      text-align: center;
      border: 2px solid #ffca00;
      color: #ffca00;
      line-height: 90px;
      font-size: 24px;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      margin-bottom: 8px; }
  #reviews .reviews-summary .review-summary-detal {
    overflow: hidden;
    display: block; }
    #reviews .reviews-summary .review-summary-detal .review-label {
      color: #000;
      font-weight: 400; }

#reviews .comments {
  border-top: 1px solid #f4f4f4;
  padding-top: 20px; }
  #reviews .comments h5 {
    margin-bottom: 20px;
    text-transform: uppercase; }
  #reviews .comments .commentlist {
    margin: 15px 0; }
    #reviews .comments .commentlist .comment {
      margin-bottom: 30px; }
    #reviews .comments .commentlist .opal-avata {
      width: 100px;
      text-align: center; }
      #reviews .comments .commentlist .opal-avata > div {
        display: inline-block; }
      #reviews .comments .commentlist .opal-avata .opal-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 .opal-avata .opal-author {
        color: #000;
        font-weight: 900;
        padding-top: 10px;
        text-transform: capitalize; }
    #reviews .comments .commentlist .comment-text {
      border: 1px solid #f4f4f4;
      padding: 15px 20px; }
      #reviews .comments .commentlist .comment-text .meta {
        color: #bbb; }
      #reviews .comments .commentlist .comment-text > div {
        margin-bottom: 7px;
        float: left; }
        .rtl #reviews .comments .commentlist .comment-text > div {
          float: right; }
      #reviews .comments .commentlist .comment-text .star-rating {
        margin-bottom: 15px; }

#reviews .review_form_wrapper {
  border-top: 1px solid #f4f4f4;
  padding: 20px 0; }

#reviews .progress {
  margin-bottom: 15px;
  background-color: #f2f2f2;
  -webkit-box-shadow: none;
  box-shadow: none; }
  #reviews .progress .progress-bar {
    color: #202020; }
    #reviews .progress .progress-bar.progress-bared {
      color: #fff; }

#reviews #reply-title {
  margin-bottom: 20px;
  font-size: 16px;
  font-family: "Open Sans", sans-serif; }

/**
 * Product Single Page
 */
.product-block {
  display: block;
  position: relative;
  z-index: 0;
  margin-bottom: 20px; }
  .product-block span.sale-off, .product-block span.onsale {
    position: absolute;
    width: 40px;
    height: 25px;
    background-color: #e56363;
    color: #fff;
    top: 12px;
    left: 5%;
    line-height: 20px;
    font-size: 12px;
    font-weight: 400;
    z-index: 100;
    border-radius: 0;
    min-height: 25px;
    text-align: center; }
    .rtl .product-block span.sale-off, .rtl .product-block span.onsale {
      right: 5%;
      left: auto; }
  .product-block .image {
    position: relative;
    margin-bottom: 15px; }
    .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; }
      .rtl .product-block .image .image-effect {
        right: 0;
        left: auto; }
    .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 .price {
    line-height: 1.6em;
    display: block;
    min-height: 30px;
    overflow: hidden;
    font-weight: bold; }
    .product-block .price > * {
      color: #202020;
      font-size: 16px;
      display: block;
      overflow: hidden;
      min-height: 30px;
      display: inline-block; }
    .product-block .price del {
      color: #47b8e0;
      font-size: 14px;
      opacity: 1 !important; }
      .product-block .price del span {
        color: #47b8e0; }
    .product-block .price ins {
      text-decoration: none; }
  .product-block .name {
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 13px;
    /* 9 */
    font-size: 1.3rem;
    /* 9 */
    line-height: 18px;
    font-weight: normal;
    height: 20px;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 10px; }
  .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: #47b8e0; }
  .product-block .star-rating {
    font-size: 10px;
    display: inline-block;
    float: none;
    margin-bottom: 5px;
    font-family: star;
    height: 1em;
    line-height: 1;
    overflow: hidden;
    position: relative;
    width: 5.4em; }
    .product-block .star-rating:before {
      content: "\53\53\53\53\53";
      color: #d3ced2;
      float: left;
      left: 0;
      position: absolute;
      top: 0; }
    .product-block .star-rating span {
      float: left;
      left: 0;
      overflow: hidden;
      padding-top: 1.5em;
      position: absolute;
      top: 0; }
      .product-block .star-rating span:before {
        content: "\53\53\53\53\53";
        color: #ffca00;
        left: 0;
        position: absolute;
        top: 0; }
  .product-block p.stars a {
    color: #f0c73b; }
  .product-block .star-rating span {
    color: #f0c73b; }
  .product-block .clear, .product-block .added_to_cart {
    display: none !important; }
  .product-block .add_to_cart_button {
    position: relative; }
    .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: 9px;
        left: 0;
        width: 100%;
        text-align: center; }

.button-action {
  left: 0;
  opacity: 1;
  position: absolute;
  top: 35%;
  height: 0;
  -webkit-transition: all 0.35s ease 0s;
  -o-transition: all 0.35s ease 0s;
  transition: all 0.35s ease 0s;
  width: 100%;
  text-align: center;
  z-index: 2; }
  .rtl .button-action {
    right: 0;
    left: auto; }
  .button-action > div.yith-wcwl-add-to-wishlist, .button-action > div.yith-compare, .button-action > div.quick-view {
    display: inline-block;
    margin-bottom: 15px; }
    .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist, .button-action > div.yith-wcwl-add-to-wishlist a.compare, .button-action > div.yith-wcwl-add-to-wishlist a.quickview, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a, .button-action > div.yith-compare a.add_to_wishlist, .button-action > div.yith-compare a.compare, .button-action > div.yith-compare a.quickview, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a, .button-action > div.quick-view a.add_to_wishlist, .button-action > div.quick-view a.compare, .button-action > div.quick-view a.quickview, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a {
      display: block;
      width: 40px;
      height: 40px;
      border-radius: 0;
      line-height: 40px;
      padding: 0;
      background: #47b8e0; }
      .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist i, .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist em, .button-action > div.yith-wcwl-add-to-wishlist a.compare i, .button-action > div.yith-wcwl-add-to-wishlist a.compare em, .button-action > div.yith-wcwl-add-to-wishlist a.quickview i, .button-action > div.yith-wcwl-add-to-wishlist a.quickview em, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a i, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a em, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a i, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a em, .button-action > div.yith-compare a.add_to_wishlist i, .button-action > div.yith-compare a.add_to_wishlist em, .button-action > div.yith-compare a.compare i, .button-action > div.yith-compare a.compare em, .button-action > div.yith-compare a.quickview i, .button-action > div.yith-compare a.quickview em, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a i, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a em, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a i, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a em, .button-action > div.quick-view a.add_to_wishlist i, .button-action > div.quick-view a.add_to_wishlist em, .button-action > div.quick-view a.compare i, .button-action > div.quick-view a.compare em, .button-action > div.quick-view a.quickview i, .button-action > div.quick-view a.quickview em, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a i, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a em, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a i, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a em {
        color: #FFF;
        font-size: 14px;
        line-height: 32px;
        margin: 0; }
      .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover, .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover, .button-action > div.yith-wcwl-add-to-wishlist a.quickview:hover, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover, .button-action > div.yith-compare a.add_to_wishlist:hover, .button-action > div.yith-compare a.compare:hover, .button-action > div.yith-compare a.quickview:hover, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a:hover, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a:hover, .button-action > div.quick-view a.add_to_wishlist:hover, .button-action > div.quick-view a.compare:hover, .button-action > div.quick-view a.quickview:hover, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a:hover, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a:hover {
        background: #FFF;
        -webkit-transition: all 0.35s ease 0s;
        -o-transition: all 0.35s ease 0s;
        transition: all 0.35s ease 0s; }
        .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover i, .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover em, .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover i, .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover em, .button-action > div.yith-wcwl-add-to-wishlist a.quickview:hover i, .button-action > div.yith-wcwl-add-to-wishlist a.quickview:hover em, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover i, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover em, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover i, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover em, .button-action > div.yith-compare a.add_to_wishlist:hover i, .button-action > div.yith-compare a.add_to_wishlist:hover em, .button-action > div.yith-compare a.compare:hover i, .button-action > div.yith-compare a.compare:hover em, .button-action > div.yith-compare a.quickview:hover i, .button-action > div.yith-compare a.quickview:hover em, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a:hover i, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a:hover em, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a:hover i, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a:hover em, .button-action > div.quick-view a.add_to_wishlist:hover i, .button-action > div.quick-view a.add_to_wishlist:hover em, .button-action > div.quick-view a.compare:hover i, .button-action > div.quick-view a.compare:hover em, .button-action > div.quick-view a.quickview:hover i, .button-action > div.quick-view a.quickview:hover em, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a:hover i, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a:hover em, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a:hover i, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a:hover em {
          color: #000; }
  .button-action > div.yith-compare .compare.added {
    color: transparent !important; }
    .button-action > div.yith-compare .compare.added:before {
      content: "\f0ec";
      font-family: 'FontAwesome';
      position: absolute;
      color: #666;
      width: 40px;
      height: 40px; }
    .button-action > div.yith-compare .compare.added:hover {
      color: #47b8e0; }
  .button-action > div .title {
    display: none; }
  .button-action > div .yith-wcwl-wishlistaddedbrowse .feedback,
  .button-action > div .yith-wcwl-wishlistexistsbrowse .feedback {
    display: none; }
  .button-action > div.clear {
    display: none; }
  .button-action .add-cart a {
    background: #FFF !important;
    color: #000;
    text-align: center;
    text-transform: uppercase;
    height: 42px;
    width: 140px;
    line-height: 24px;
    padding: 10px 15px;
    display: inline;
    font-family: "Montserrat";
    font-weight: none;
    border-radius: 0;
    border: none;
    font-size: 13px; }
  .button-action .yith-wcwl-wishlistexistsbrowse span {
    display: none; }

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; }

a.add_to_wishlist {
  display: block; }

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

/**
 * Products Listing In Grid Style
 */
.products-grid div.product {
  position: relative;
  /*         margin-bottom: $grid-gutter-width; */ }

.products-grid .first {
  clear: both; }

.products-grid .product-block .button-groups > div.yith-wcwl-add-to-wishlist span {
  display: none; }

.products-grid .product-block .button-groups > div.yith-wcwl-add-to-wishlist .ajax-loading {
  position: absolute;
  left: 4px;
  top: 5px; }

.products-grid .product-block .button-groups > div .title {
  display: none; }

.products-grid .product-block .button-groups > div .yith-wcwl-wishlistaddedbrowse .feedback,
.products-grid .product-block .button-groups > div .yith-wcwl-wishlistexistsbrowse .feedback {
  display: none; }

.products-grid .product-block .button-groups > div.clear {
  display: none; }

.grid .add_to_wishlist span, .grid .quickview span {
  display: none; }

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

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

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

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

.products-list .product-block, .list .product-block {
  border-bottom: solid 1px #f4f4f4; }
  .products-list .product-block .name, .list .product-block .name {
    padding: 0;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 10px; }
  .products-list .product-block .image, .list .product-block .image {
    margin-bottom: 20px; }
  .products-list .product-block .product-assets, .list .product-block .product-assets {
    text-align: right; }
    .rtl .products-list .product-block .product-assets, .rtl .list .product-block .product-assets {
      text-align: left; }
  .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, .list .product-block .yith-wcwl-wishlistaddedbrowse a,
  .list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist,
  .list .product-block .yith-wcwl-add-button a,
  .list .product-block .yith-wcwl-add-button a.add_to_wishlist,
  .list .product-block .yith-wcwl-wishlistexistsbrowse a,
  .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, .list .product-block .yith-wcwl-wishlistaddedbrowse a:hover,
    .list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist:hover,
    .list .product-block .yith-wcwl-add-button a:hover,
    .list .product-block .yith-wcwl-add-button a.add_to_wishlist:hover,
    .list .product-block .yith-wcwl-wishlistexistsbrowse a:hover,
    .list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist:hover {
      color: #47b8e0; }
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a, .list .product-block .yith-wcwl-wishlistexistsbrowse a {
    display: none; }
  .products-list .product-block a.compare, .products-list .product-block a.quickview, .list .product-block a.compare, .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, .list .product-block a.compare:hover, .list .product-block a.quickview:hover {
      color: #47b8e0; }
    .products-list .product-block a.compare.added, .products-list .product-block a.quickview.added, .list .product-block a.compare.added, .list .product-block a.quickview.added {
      color: #47b8e0; }
  .products-list .product-block .add-cart a.button, .list .product-block .add-cart a.button {
    color: #FFF;
    background: #47b8e0; }
    .products-list .product-block .add-cart a.button:hover, .list .product-block .add-cart a.button:hover {
      color: #FFF; }

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

/**
 * Single product
 */
/*------------------------------------*    Quantity inputs
\*------------------------------------*/
.quantity {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
  float: left; }
  .quantity span {
    font-size: 16px;
    margin-right: 5px; }
    .rtl .quantity span {
      margin-left: 5px;
      margin-right: inherit; }
  .rtl .quantity {
    float: right; }
  .quantity input.qty {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding: 10px;
    width: 45px;
    height: 35px;
    color: #000;
    font-weight: 400;
    border: 1px solid #e5e5e5; }
    .quantity input.qty:focus:focus {
      border-color: #47b8e0;
      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 #f4f4f4;
    text-align: center;
    width: 25px;
    height: 19px; }
    .rtl .quantity .plus, .rtl .quantity .minus {
      float: left; }
    .rtl .quantity .plus, .rtl .quantity .minus {
      clear: left; }
  .quantity .plus {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    right: 0; }
    .rtl .quantity .plus {
      left: 0;
      right: auto; }
  .quantity .minus {
    bottom: 0;
    right: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0; }
    .rtl .quantity .minus {
      left: 0;
      right: auto; }

/* Single > Meta */
.product_meta {
  clear: both;
  border-top: 1px solid #f4f4f4;
  padding: 20px 0;
  margin-top: 20px; }
  .product_meta a {
    color: #666666;
    font-size: 14px; }
    .product_meta a:hover {
      text-decoration: none; }
  .product_meta > span {
    display: block;
    font-weight: 300;
    color: #000; }
  .product_meta > div {
    margin-bottom: 15px; }
  .product_meta .posted_in a, .product_meta .tagged_as a {
    font-weight: 300; }

.sku_wrapper span {
  color: #666666; }

/* cross-sells */
.woocommerce .cross-sells, .woocommerce .cart_totals {
  padding: 0 20px; }
  .woocommerce .cross-sells .products, .woocommerce .cart_totals .products {
    border: none;
    box-shadow: none; }

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

.single-product.woocommerce div.product p.price {
  color: #202020;
  font-size: 30px;
  font-weight: 700 !important; }

.single-product.woocommerce div.product form.cart {
  margin-bottom: 20px;
  margin-top: 20px; }
  .single-product.woocommerce div.product form.cart div.quantity {
    margin-right: 10px;
    margin-bottom: 5px; }
    .rtl .single-product.woocommerce div.product form.cart div.quantity {
      margin-left: 10px;
      margin-right: inherit; }
  .single-product.woocommerce div.product form.cart .button {
    background: #47b8e0;
    font-weight: 600; }
    .single-product.woocommerce div.product form.cart .button i {
      margin: 0 5px; }
    .single-product.woocommerce div.product form.cart .button:hover {
      background: #23a3d1; }
  .single-product.woocommerce div.product form.cart .variations .label {
    font-size: 12px;
    text-transform: uppercase;
    line-height: 35px; }
  .single-product.woocommerce div.product form.cart .variations tr {
    height: 50px; }
    .single-product.woocommerce div.product form.cart .variations tr label {
      margin-top: 5px; }

.single-product.woocommerce div.product form.variations_form {
  float: none; }

.single-product.woocommerce div.product p.cart {
  margin-top: 20px; }

.single-product.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 10px; }

.single-product.woocommerce .quantity .qty {
  width: 90px; }

.single-product .summary {
  /* 3 */
  /* 3 */
  /* 4 */
  /* 6 */
  /* 6 */
  /* 7 */
  font-size: 14px;
  /* 9 */
  font-size: 1.4rem;
  /* 9 */
  width: 100% !important; }
  .single-product .summary .star-rating {
    font-size: 12px; }
  .single-product .summary .product_meta {
    padding-top: 30px;
    margin-top: 0; }

.woocommerce div.product .woocommerce-tabs {
  margin-bottom: 30px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    border-bottom: 1px solid #f4f4f4;
    margin-top: 30px; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li {
      border: none;
      background: transparent;
      border-radius: 0;
      margin: 0;
      padding: 0; }
      .woocommerce div.product .woocommerce-tabs ul.tabs li > a {
        color: #999999;
        padding: 13px 20px;
        font-size: 16px;
        font-weight: 500;
        text-transform: uppercase;
        font-family: "Montserrat", monospace; }
        .woocommerce div.product .woocommerce-tabs ul.tabs li > a:hover {
          color: #47b8e0; }
      .woocommerce div.product .woocommerce-tabs ul.tabs li.active > a {
        color: #202020; }
      .woocommerce div.product .woocommerce-tabs ul.tabs li:after, .woocommerce div.product .woocommerce-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs ul.tabs li.active:before, .woocommerce div.product .woocommerce-tabs ul.tabs li.active:after {
        content: none; }
      .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
        background: #e5e5e5; }
    .woocommerce div.product .woocommerce-tabs ul.tabs:before {
      border-bottom: none; }
  .woocommerce div.product .woocommerce-tabs .wc-tab {
    font-size: 14px;
    font-weight: 300; }
  .woocommerce div.product .woocommerce-tabs h2, .woocommerce div.product .woocommerce-tabs h3 {
    font-size: 14px;
    font-weight: 300;
    margin-top: 0; }

/**
 * Category And Listing Page
 */
.products-top-wrap {
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f4f4f4; }
  .products-top-wrap .woocommerce-ordering {
    float: right;
    margin-top: 10px; }
    .rtl .products-top-wrap .woocommerce-ordering {
      float: left; }
  .products-top-wrap .display-mode {
    float: left;
    margin-top: 10px; }
    .rtl .products-top-wrap .display-mode {
      float: right; }
    .products-top-wrap .display-mode .btn {
      border-radius: 0;
      background-color: transparent;
      font-size: 14px;
      line-height: 16px;
      padding: 8px;
      color: #cdcdcd;
      box-shadow: none;
      -webkit-box-shadow: none; }
      .products-top-wrap .display-mode .btn.active {
        color: #47b8e0; }
    .products-top-wrap .display-mode button:first-child {
      margin-right: 5px; }
      .rtl .products-top-wrap .display-mode button:first-child {
        margin-left: 5px;
        margin-right: inherit; }
    .products-top-wrap .display-mode button {
      border: 1px solid #f4f4f4; }

.category-banner {
  margin-bottom: 30px; }

.products-bottom-wrap {
  padding: 10px 20px;
  border-top: 1px solid #f4f4f4;
  margin: 30px 0; }
  .products-bottom-wrap .woocommerce-pagination {
    float: left; }
    .rtl .products-bottom-wrap .woocommerce-pagination {
      float: right; }
  .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: #47b8e0;
      text-decoration: underline;
      padding: 10px 15px;
      font-weight: bold; }
    .products-bottom-wrap nav.woocommerce-pagination ul a, .products-bottom-wrap nav.woocommerce-pagination ul li a {
      padding: 10px 15px;
      font-weight: bold;
      color: #000; }
      .products-bottom-wrap nav.woocommerce-pagination ul a:hover, .products-bottom-wrap nav.woocommerce-pagination ul li a:hover {
        background: transparent;
        color: #47b8e0; }
  .products-bottom-wrap .woocommerce-result-count {
    float: right;
    margin: 8px 0; }
    .rtl .products-bottom-wrap .woocommerce-result-count {
      float: left; }

/*------------------------------------*    Quickview
\*------------------------------------*/
#opal-quickview-modal .modal-dialog {
  overflow: hidden; }
  #opal-quickview-modal .modal-dialog del .amount {
    color: #666666; }

#opal-quickview-modal .product-info {
  margin: 0;
  padding: 0; }
  #opal-quickview-modal .product-info .summary {
    margin-right: 20px;
    width: 95%; }
    .rtl #opal-quickview-modal .product-info .summary {
      margin-left: 20px;
      margin-right: inherit; }
  #opal-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 */ }
  #opal-quickview-modal .product-info .product_meta {
    margin: 0; }
    #opal-quickview-modal .product-info .product_meta:before, #opal-quickview-modal .product-info .product_meta:after {
      content: " ";
      display: table; }
    #opal-quickview-modal .product-info .product_meta:after {
      clear: both; }
  #opal-quickview-modal .product-info p.price {
    color: #47b8e0;
    font-weight: bold;
    font-size: 16px; }
  #opal-quickview-modal .product-info a.add_to_cart_button {
    padding: 15px;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 30px;
    border-radius: 0;
    background-color: #47b8e0; }
    #opal-quickview-modal .product-info a.add_to_cart_button span, #opal-quickview-modal .product-info a.add_to_cart_button i {
      color: #FFF;
      margin: 0 5px; }

#opal-quickview-modal .close:hover .fa, #opal-quickview-modal .close:hover .icon {
  color: #47b8e0; }

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

#opal-quickview-modal .carousel-indicators li {
  border-color: #47b8e0; }

#opal-quickview-modal .carousel-indicators .active {
  background: #47b8e0;
  border-color: #47b8e0; }

#opal-quickview-modal .carousel-control {
  top: 0px;
  margin: 45% auto;
  font-weight: normal;
  line-height: 32px;
  -webkit-transition: all 0.45s ease;
  -o-transition: all 0.45s ease;
  transition: all 0.45s ease; }
  #opal-quickview-modal .carousel-control.left {
    left: -45px; }
    .rtl #opal-quickview-modal .carousel-control.left {
      right: -45px;
      left: auto; }
  #opal-quickview-modal .carousel-control.right {
    right: -45px; }
    .rtl #opal-quickview-modal .carousel-control.right {
      left: -45px;
      right: auto; }

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

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

.woocommerce-cart table.cart input {
  line-height: 28px !important; }

.woocommerce div.product form.cart .group_table td.label {
  padding-top: 5px;
  vertical-align: middle; }

.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: #47b8e0;
  border-color: #31b0dc;
  border-radius: 0px;
  padding: 15px 20px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px; }
  .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: #23a3d1;
    border-color: #145f7a; }
  .woocommerce #respond input#submit:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
    color: #fff;
    background-color: #23a3d1;
    border-color: #1e8cb2; }
  .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: #23a3d1;
    border-color: #1e8cb2; }
    .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: #1e8cb2;
      border-color: #145f7a; }
  .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: #47b8e0;
    border-color: #31b0dc; }
  .woocommerce #respond input#submit .badge, .woocommerce button.button .badge, .woocommerce input.button .badge {
    color: #47b8e0;
    background-color: #fff; }

.woocommerce a.button, a.yith-wcwl-add-button {
  font-weight: normal;
  border-radius: 0;
  background: transparent; }
  .woocommerce a.button:hover, a.yith-wcwl-add-button:hover {
    background: #FFF;
    color: #000;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }

.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  color: #fff;
  background-color: #47b8e0;
  border-color: #31b0dc;
  border-radius: 0px;
  padding: 15px 30px;
  text-transform: uppercase; }
  .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: #23a3d1;
    border-color: #145f7a; }
  .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: #23a3d1;
    border-color: #1e8cb2; }
  .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: #23a3d1;
    border-color: #1e8cb2; }
    .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: #1e8cb2;
      border-color: #145f7a; }
  .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: #47b8e0;
    border-color: #31b0dc; }
  .woocommerce #respond input#submit.alt .badge, .woocommerce a.button.alt .badge, .woocommerce button.button.alt .badge, .woocommerce input.button.alt .badge {
    color: #47b8e0;
    background-color: #fff; }

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

.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: #000; }
  .woocommerce a.add_to_cart_button:hover:hover, .woocommerce a.product_type_external:hover:hover, #main-container .woocommerce button.button.single_add_to_cart_button:hover:hover {
    color: #47b8e0; }

.woocommerce .wishlist_table td.product-add-to-cart a {
  background: #47b8e0;
  color: #FFF;
  padding: 15px 0; }
  .woocommerce .wishlist_table td.product-add-to-cart a: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 {
  display: block;
  height: 42px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.62857;
  color: #666666;
  background-color: #fff;
  background-image: none;
  border: 1px solid #e4e4e4;
  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: #47b8e0;
    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;
  text-transform: uppercase; }

.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: #47b8e0; }

.woocommerce-tabs .panel {
  border: none;
  margin: 0 !important;
  -webkit-box-shadow: none;
  box-shadow: none; }

.woocommerce-tabs .shop_attributes {
  border: 0 !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29vY29tbWVyY2UuY3NzIiwic291cmNlcyI6WyJ3b29jb21tZXJjZS5zY3NzIiwiYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsImJvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3NpemUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19hbGVydHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3J0bC5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX2Z1bmN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3RlbXBsYXRlLW1peGlucy5zY3NzIiwiY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvdmFycy9fbmF2LnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy92YXJzL19lbGVtZW50cy5zY3NzIiwiY29tcG9uZW50cy92YXJzL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL192YXJpYWJsZXMuc2NzcyIsIndvb2NvbW1lcmNlL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL19zdHlsZXMuc2NzcyIsIndvb2NvbW1lcmNlL19mb3JtLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcImJvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL21peGluc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJ3b29jb21tZXJjZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS93aWRnZXRcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS9zdHlsZXNcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS9mb3JtXCI7XG4iLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRsaWdodC1ncmF5ICAgICAgOiBsaWdodGVuKCMwMDAwMDAsIDYwJSkgIWRlZmF1bHQ7ICAgICAgICAvLyAjOTk5OTk5XG4kdmVyeS1saWdodC1ncmF5IDogI2U1ZTVlNSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gI2U1ZTVlNVxuJHZlcnktZGFyay1ncmF5ICA6ICMzNzM3MzcgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgLy8gIzM3MzczNyBcbiRncmF5LWRhcmtlciAgICAgOiAjMjAyMDIwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyAjMDAwMDAwXG4kZ3JheS1kYXJrICAgICAgIDogIzQ0NDQ0NCAhZGVmYXVsdDsgICAgICAgICAgIC8vICMzMzMzMzNcbiRncmF5ICAgICAgICAgICAgOiBsaWdodGVuKCMwMDAsIDMzLjUlKSAhZGVmYXVsdDsgICAgICAgICAvLyAjNTU1NTU1XG4kZ3JheS1saWdodCAgICAgIDogIzY2NjY2NiAhZGVmYXVsdDsgICAgICAgICAvLyAjNzc3Nzc3XG4kZ3JheS1saWdodGVyICAgIDogbGlnaHRlbigjMDAwLCA5My41JSkgIWRlZmF1bHQ7ICAgICAgICAgLy8gI2VlZWVlZVxuXG4kYnJhbmQtcHJpbWFyeSAgIDogIzQ3YjhlMCAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzICAgOiAjNjJiYzZmICFkZWZhdWx0O1xuJGJyYW5kLWluZm8gICAgICA6ICM1NDlkZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZyAgIDogI2ZmY2EwMCAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXIgICAgOiAjZTU2MzYzICFkZWZhdWx0O1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmY2EwMCAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJ09wZW4gU2FucycsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgXCJNb250c2VycmF0XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJ09wZW4gU2FucycsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuNikpICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtd2VpZ2h0LWJhc2VcdDogNDAwICFkZWZhdWx0O1xuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjYyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIFwiTW9udHNlcnJhdFwiICFkZWZhdWx0O1xuLyogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA3MDAgIWRlZmF1bHQ7ICovXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDQwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG5cblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXG5cbi8vIFtjb252ZXJ0ZXJdIElmICRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIgaWYgdXNlZCwgcHJvdmlkZSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBhc3NldHMgbG9hZCBwYXRoLlxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBiZWNhdXNlIHNvbWUgYXNzZXQgaGVscGVycywgc3VjaCBhcyBTcHJvY2tldHMsIGRvIG5vdCB3b3JrIHdpdGggZmlsZS1yZWxhdGl2ZSBwYXRocy5cbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiLi4vZm9udHMvYm9vdHN0cmFwL1wiKSAhZGVmYXVsdDtcblxuLy8qKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxuJGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cbiRpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIiAhZGVmYXVsdDtcblxuXG4vLz09IENvbXBvbmVudHNcbi8vXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cblxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDZweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAyMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMzMzMzMzICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAwcHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDNweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdG9yIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjZTRlNGU0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDMpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGN1cnNvciBmb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9ucy5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG5cbi8vPT0gRHJvcGRvd25zXG4vL1xuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxuJGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbi8vKiogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogRGVwcmVjYXRlZCBgJGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cblxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG4vL1xuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICgoNzUwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICgoOTcwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKCgxMTcwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PT0gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZjBjNzNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNlOTM0MzQgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktZGFya2VyICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgIHdoaXRlICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDE1cHggMjBweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2VkZWRlZCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XG5cblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuJGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzNXB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDExcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIEhvcml6b250YWwgbGluZSBjb2xvci5cbiRoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4iLCIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvb3BhY2l0eVwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9sYWJlbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtZmlsdGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNwb25zaXZlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy90YWItZm9jdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtb3ZlcmZsb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmVuZG9yLXByZWZpeGVzXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFuZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy9wcm9ncmVzcy1iYXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2VudGVyLWJsb2NrXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi12ZXJ0aWNhbC1hbGlnblwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKHdpbGwgYmUgcmVtb3ZlZCBpbiB2NClcbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xufVxuIiwiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMnh9XCIpLCBcIiN7JGZpbGUtMnh9XCIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBMYWJlbHNcblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbn1cbiIsIi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG5cbi8vXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZSN7JHBhcmVudH0gIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuIiwiLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5cbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogbm9uZTtcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZS5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVYKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDE3JSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgICB9XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG4iLCIvLyBQYW5lbHNcblxuQG1peGluIHBhbmVsLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmLCBidXR0b24mIHRvIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSwgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX1cbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkdGV4dC1jb2xvcjogIzU1NSwgJGJvcmRlci1jb2xvcjogI2NjYywgJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEjeyRwYXJlbnR9LFxuICBzZWxlY3RbbXVsdGlwbGVdI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbkBtaXhpbiBwcm9ncmVzcy1iYXItdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX0sXG4gICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCxcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9OmhvdmVyLFxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG4iLCIvLyBHcmFkaWVudHNcblxuXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbn1cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuQG1peGluIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGk6IDEsICRsaXN0OiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0OiAgY2VpbCgoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0wIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQtY29sdW1uKCRpLCAkY2xhc3MsICR0eXBlKTtcbiAgfVxufVxuXG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuQG1peGluIG1ha2UtZ3JpZCgkY2xhc3MpIHtcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1bGwpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBJbXBvcnQgY29tcG9uZW50IHZhcmlhYmxlc1xuICovXG5AaW1wb3J0ICdtaXhpbnMvcnRsJzsgXG5AaW1wb3J0ICdtaXhpbnMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ21peGlucy90ZW1wbGF0ZS1taXhpbnMnOyIsIi8vIFN1cHBvcnQgZm9yIFJUTCAoUmlnaHQgdG8gTGVmdCkgJiBub24tbGF0aW4gZm9udHNcclxuXHJcbiRydGwtbGVmdCA6IGxlZnQ7XHJcbiRydGwtcmlnaHQgOiByaWdodDtcclxuJHJ0bC1jZW50ZXI6IGNlbnRlcjtcclxuXHJcbi8vIEJBU0lDIENPTlZFUlRFUiAoaWdub3JlIHRoZXNlKVxyXG5cclxuQG1peGluIHJ0bC1iYXNlLXNpbXBsZSAoJHByb3BlcnR5LCAkZGlyZWN0aW9uKSB7XHJcbiAgI3skcHJvcGVydHl9OiRkaXJlY3Rpb247XHJcbiAgLnJ0bCAmIHtcclxuICAgIEBpZiAkZGlyZWN0aW9uID09ICRydGwtcmlnaHQge1xyXG4gICAgICAjeyRwcm9wZXJ0eX06JHJ0bC1sZWZ0O1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAjeyRwcm9wZXJ0eX06JHJ0bC1yaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuQG1peGluIHJ0bC1iYXNlLWluaGVyaXQgKCRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgJHZhbHVlLCAkaW5oZXJpdCA6IGluaGVyaXQpIHtcclxuICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSAkcnRsLXJpZ2h0IHtcclxuICAgICAgI3skcHJvcGVydHl9LSN7JHJ0bC1sZWZ0fTogJHZhbHVlO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAjeyRwcm9wZXJ0eX0tI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gICAgfVxyXG4gICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1iYXNlLXRvcHJpZ2h0Ym90dG9tbGVmdCAoJHByb3BlcnR5LCAkdCwgJHIsICRiLCAkbCkge1xyXG4gICN7JHByb3BlcnR5fTogJHQgJHIgJGIgJGw7XHJcbiAgLnJ0bCAmIHtcclxuICAgICN7JHByb3BlcnR5fTogJHQgJGwgJGIgJHI7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBCT0RZIFNUWUxFU1xyXG5cclxuQG1peGluIHJ0bC1kaXJlY3Rpb24gKCRmb3JCb2R5IDogdHJ1ZSkge1xyXG4gIGRpcmVjdGlvbjogbHRyO1xyXG4gIEBpZiAkZm9yQm9keSB7XHJcbiAgICAmLnJ0bCB7XHJcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAucnRsICYge1xyXG4gICAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtZm9udC1mYW1pbHkgKCRsdHIsICRydGwsICRmb3JCb2R5IDogZmFsc2UpIHtcclxuICBmb250LWZhbWlseTogJGx0cjtcclxuICBAaWYgJGZvckJvZHkge1xyXG4gICAgJi5ydGwsICYubm9uLWxhdGluIHtcclxuICAgICAgZm9udC1mYW1pbHk6JHJ0bDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgLnJ0bCAmLCAubm9uLWxhdGluICYge1xyXG4gICAgICBmb250LWZhbWlseTokcnRsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIE1BUkdJTlxyXG5cclxuQG1peGluIHJ0bC1tYXJnaW4gKCR0LCAkciwgJGIsICRsKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtdG9wcmlnaHRib3R0b21sZWZ0KG1hcmdpbiwkdCwgJHIsICRiLCAkbCk7XHJcbn1cclxuQG1peGluIHJ0bC1tYXJnaW4tbGVmdCAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtaW5oZXJpdChtYXJnaW4sJHJ0bC1sZWZ0LCR2YWx1ZSk7XHJcbn1cclxuQG1peGluIHJ0bC1tYXJnaW4tcmlnaHQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQobWFyZ2luLCRydGwtcmlnaHQsJHZhbHVlKTtcclxufVxyXG5cclxuLy8gUEFERElOR1xyXG5cclxuQG1peGluIHJ0bC1wYWRkaW5nICgkdCwgJHIsICRiLCAkbCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXRvcHJpZ2h0Ym90dG9tbGVmdChwYWRkaW5nLCR0LCAkciwgJGIsICRsKTtcclxufVxyXG5AbWl4aW4gcnRsLXBhZGRpbmctbGVmdCAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtaW5oZXJpdChwYWRkaW5nLCRydGwtbGVmdCwkdmFsdWUpO1xyXG59XHJcbkBtaXhpbiBydGwtcGFkZGluZy1yaWdodCAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtaW5oZXJpdChwYWRkaW5nLCRydGwtcmlnaHQsJHZhbHVlKTtcclxufVxyXG5cclxuLy8gQk9SREVSXHJcblxyXG5AbWl4aW4gcnRsLWJvcmRlci1sZWZ0ICgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1pbmhlcml0KGJvcmRlciwkcnRsLWxlZnQsJHZhbHVlKTtcclxufVxyXG5AbWl4aW4gcnRsLWJvcmRlci1yaWdodCAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtaW5oZXJpdChib3JkZXIsJHJ0bC1yaWdodCwkdmFsdWUpO1xyXG59XHJcblxyXG4vLyBQT1NJVElPTlxyXG5cclxuQG1peGluIHJ0bC1sZWZ0ICgkdmFsdWUpIHtcclxuICAjeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gICAgI3skcnRsLWxlZnR9OiBhdXRvO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gcnRsLXJpZ2h0ICgkdmFsdWUpIHtcclxuICAjeyRydGwtcmlnaHR9OiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgICN7JHJ0bC1sZWZ0fTogJHZhbHVlO1xyXG4gICAgI3skcnRsLXJpZ2h0fTogYXV0bztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBDTEVBUlxyXG5cclxuQG1peGluIHJ0bC1jbGVhci1sZWZ0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUoY2xlYXIsICRydGwtbGVmdCk7XHJcbn1cclxuQG1peGluIHJ0bC1jbGVhci1yaWdodCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKGNsZWFyLCAkcnRsLXJpZ2h0KTtcclxufVxyXG5cclxuLy8gVEVYVC1BTElHTlxyXG5cclxuQG1peGluIHJ0bC10ZXh0LWFsaWduLWxlZnQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZSh0ZXh0LWFsaWduLCAkcnRsLWxlZnQpO1xyXG59XHJcbkBtaXhpbiBydGwtdGV4dC1hbGlnbi1yaWdodCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKHRleHQtYWxpZ24sICRydGwtcmlnaHQpO1xyXG59XHJcbkBtaXhpbiBydGwtdGV4dC1hbGlnbi1jZW50ZXIgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZSh0ZXh0LWFsaWduLCAkcnRsLWNlbnRlcik7XHJcbn1cclxuXHJcbi8vIEZMT0FUXHJcblxyXG5AbWl4aW4gcnRsLWZsb2F0LWxlZnQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZShmbG9hdCwgJHJ0bC1sZWZ0KTtcclxufVxyXG5AbWl4aW4gcnRsLWZsb2F0LXJpZ2h0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUoZmxvYXQsICRydGwtcmlnaHQpO1xyXG59XHJcblxyXG4vLyBCQUNLR1JPVU5ELVBPU0lUSU9OXHJcblxyXG5AbWl4aW4gcnRsLWJhY2tncm91bmQtcG9zaXRpb24tbGVmdCAoJHZlcnRpY2FsKSB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjokcnRsLWxlZnQgJHZlcnRpY2FsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRydGwtcmlnaHQgJHZlcnRpY2FsO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gcnRsLWJhY2tncm91bmQtcG9zaXRpb24tcmlnaHQgKCR2ZXJ0aWNhbCkge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246JHJ0bC1yaWdodCAkdmVydGljYWw7XHJcbiAgLnJ0bCAmIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246JHJ0bC1sZWZ0ICR2ZXJ0aWNhbDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYmFja2dyb3VuZC1wb3NpdGlvbi1wZXJjZW50ICgkdmVydGljYWwsICRob3JQZXJjZW50KSB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjokaG9yUGVyY2VudCAkdmVydGljYWw7XHJcbiAgLnJ0bCAmIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246MTAwJSAtICRob3JQZXJjZW50ICR2ZXJ0aWNhbDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRFWFQtU0hBRE9XICYgQk9YLVNIQURPV1xyXG5cclxuQG1peGluIHJ0bC10ZXh0LXNoYWRvdyAoJHgsICRyZXN0KSB7XHJcbiAgdGV4dC1zaGFkb3c6ICR4ICRyZXN0O1xyXG4gIC5ydGwgJiB7XHJcbiAgICB0ZXh0LXNoYWRvdzogLTEgKiAkeCAkcmVzdDtcclxuICB9XHJcbn1cclxuQG1peGluIHJ0bC1ib3gtc2hhZG93ICgkeCwgJHJlc3QpIHtcclxuICAtbW96LWJveC1zaGFkb3c6ICR4ICRyZXN0O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHggJHJlc3Q7XHJcbiAgYm94LXNoYWRvdzogJHggJHJlc3Q7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm94LXNoYWRvdzogLTEgKiAkeCAkcmVzdDtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTEgKiAkeCAkcmVzdDtcclxuICAgIGJveC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBCT1JERVItUkFESVVTXHJcblxyXG5AbWl4aW4gcnRsLWJvcmRlci1yYWRpdXMtdG9wcmlnaHQgKCR0bCwgJHRyLCAkYnIsICRibCkge1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHRsLCAkdHIsICRiciwgJGJsO1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHRsLCAkdHIsICRiciwgJGJsO1xyXG4gIGJvcmRlci10b3AtcmFkaXVzOiAkdGwsICR0ciwgJGJyLCAkYmw7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJHRyLCAkdGwsICRibCwgJGJyO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkdHIsICR0bCwgJGJsLCAkYnI7XHJcbiAgICBib3JkZXItdG9wLXJhZGl1czogJHRyLCAkdGwsICRibCwgJGJyO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0ICgkdmFsdWUpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXMtdG9wI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gIGJvcmRlci10b3AtI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1sZWZ0fTogJHZhbHVlO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIGJvcmRlci10b3AtI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1yaWdodH06IGluaGVyaXQ7XHJcbiAgICAtd2Via2l0LWJvcmRlci10b3AtI3skcnRsLXJpZ2h0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0ICgkdmFsdWUpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gIGJvcmRlci1ib3R0b20tI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbSN7JHJ0bC1sZWZ0fTogJHZhbHVlO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIGJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbSN7JHJ0bC1yaWdodH06IGluaGVyaXQ7XHJcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLXJpZ2h0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLXRvcGxlZnQgKCR2YWx1ZSkge1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci10b3AtI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gIGJvcmRlci10b3AtI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wI3skcnRsLWxlZnR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdCAoJHZhbHVlKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbSN7JHJ0bC1sZWZ0fTogJHZhbHVlO1xyXG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgYm9yZGVyLWJvdHRvbS0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtcmlnaHR9OiAkdmFsdWU7XHJcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIGJvcmRlci1ib3R0b20tI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtbGVmdH06IGluaGVyaXQ7XHJcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogaW5oZXJpdDtcclxuICAgIGJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuIiwiLy8gRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBQb3NpdGlvbiBtaXhpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEBwYXJhbSBbc3RyaW5nXSAkcG9zaXRpb246IHBvc2l0aW9uIHR5cGVcbi8vIEBwYXJhbSBbbGlzdF0gJGFyZ3M6IGxpc3Qgb2Ygb2Zmc2V0cyBhbmQgdmFsdWVzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbiwgJGFyZ3MpIHtcbiAgICBAZWFjaCAkbyBpbiB0b3AgcmlnaHQgYm90dG9tIGxlZnQge1xuICAgICAgICAkaTogaW5kZXgoJGFyZ3MsICRvKTtcbiAgICAgICAgQGlmICRpXG4gICAgICAgICAgICBhbmQgJGkgKyAxIDw9IGxlbmd0aCgkYXJncylcbiAgICAgICAgICAgIGFuZCB0eXBlLW9mKCBudGgoJGFyZ3MsICRpICsgMSkgKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgI3skb306IG50aCgkYXJncywgJGkgKyAxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwb3NpdGlvbjogJHBvc2l0aW9uO1xufVxuXG5cbi8vIEFic29sdXRlIHBvc2l0aW9uaW5nIG1peGluXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQHBhcmFtIFtsaXN0XSAkYXJnczogbGlzdCBvZiBvZmZzZXRzIGFuZCB2YWx1ZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gYWJzb2x1dGUoJGFyZ3MpIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgJGFyZ3MpO1xufVxuXG4vLyBBcnJvdyBtaXhpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEBwYXJhbSBbc3RyaW5nXSAkZGlyZWN0aW9uOiBhcnJvdyBkaXJlY3Rpb25cbi8vIEBwYXJhbSBbbGlzdF0gJHBvc2l0aW9uOiBsaXN0IG9mIG9mZnNldHMgYW5kIHZhbHVlc1xuLy8gQHBhcmFtIFtjb2xvcl0gJGNvbG9yIChpbmhlcml0KTogYXJyb3cgY29sb3Jcbi8vIEBwYXJhbSBbbnVtYmVyXSAkc2l6ZSAoMWVtKTogYXJyb3cgc2l6ZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiB0cmlhbmdsZSgkZGlyZWN0aW9uLCAkcG9zaXRpb24sICRjb2xvcjogY3VycmVudENvbG9yLCAkc2l6ZTogMWVtKSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoZSBkaXJlY3Rpb24gaXMgdmFsaWRcbiAgICBAaWYgbm90IGluZGV4KHRvcCByaWdodCBib3R0b20gbGVmdCwgJGRpcmVjdGlvbikge1xuICAgICAgICBAd2FybiBcIkRpcmVjdGlvbiBtdXN0IGJlIG9uZSBvZiB0b3AsIHJpZ2h0LCBib3R0b20gb3IgbGVmdC5cIjtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlKCRwb3NpdGlvbik7IC8vIFBvc2l0aW9uXG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgwKTsgLy8gU2l6ZVxuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBib3JkZXItI3tvcHBvc2l0ZS1wb3NpdGlvbigkZGlyZWN0aW9uKX06ICRzaXplICogMS41IHNvbGlkICRjb2xvcjtcbiAgICAgICAgJHBlcnBlbmRpY3VsYXItYm9yZGVyczogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gdG9wIG9yICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAgICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCBvciAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHBlcnBlbmRpY3VsYXItYm9yZGVycztcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICAgICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG4gICAgICAgIH1cbiAgICB9XG59XG4gXG4vLyBGb250IHNpemUgLSByZW1cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmdW5jdGlvbiBwYXJzZUludCgkbikgeyAvKiAyICovXG4gIEByZXR1cm4gJG4gLyAoJG4gKiAwICsgMSk7XG59XG5cbkBtaXhpbiBmb250LXNpemUoJHByb3BlcnR5LCAkdmFsdWVzKSB7XG4gICRweCA6ICgpOyAvKiAzICovXG4gICRyZW06ICgpOyAvKiAzICovXG5cbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMgeyAvKiA0ICovXG5cbiAgICBAaWYgJHZhbHVlID09IDAgb3IgJHZhbHVlID09IGF1dG8geyAvKiA1ICovXG4gICAgICAkcHggOiBhcHBlbmQoJHB4ICwgJHZhbHVlKTtcbiAgICAgICRyZW06IGFwcGVuZCgkcmVtLCAkdmFsdWUpO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR1bml0OiB1bml0KCR2YWx1ZSk7ICAgIC8qIDYgKi9cbiAgICAgICR2YWw6IHBhcnNlSW50KCR2YWx1ZSk7IC8qIDYgKi9cblxuICAgICAgQGlmICR1bml0ID09IFwicHhcIiB7ICAvKiA3ICovXG4gICAgICAgICRweCA6IGFwcGVuZCgkcHgsICAkdmFsdWUpO1xuICAgICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgKCR2YWwgLyAxMCArIHJlbSkpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHVuaXQgPT0gXCJyZW1cIiB7IC8qIDcgKi9cbiAgICAgICAgJHB4IDogYXBwZW5kKCRweCwgICgkdmFsICogMTAgKyBweCkpO1xuICAgICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHB4ID09ICRyZW0geyAgICAgLyogOCAqL1xuICAgICN7JHByb3BlcnR5fTogJHB4OyAgLyogOSAqL1xuICB9IEBlbHNlIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRweDsgIC8qIDkgKi9cbiAgICAjeyRwcm9wZXJ0eX06ICRyZW07IC8qIDkgKi9cbiAgfVxufVxuXG5cbi8vPT0gQm9yZGVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGJvcmRlciggJGNvb3JkaW5hdGVzOiAwIDAgMCAwLCAkY29sb3VyOiAkYm9yZGVyLWNvbG9yLCAkc3R5bGU6IHNvbGlkICkge1xuICAgICR0b3A6IG50aCgkY29vcmRpbmF0ZXMsIDEpO1xuICAgICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICAgJGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyk7XG4gICAgJGxlZnQ6IG50aCgkY29vcmRpbmF0ZXMsIDQpO1xuICAgIEBpZiBub3QodW5pdGxlc3MoJHRvcCkpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJHRvcCAkc3R5bGUgJGNvbG91cjtcbiAgICB9XG4gICAgQGlmIG5vdCh1bml0bGVzcygkcmlnaHQpKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHJpZ2h0ICRzdHlsZSAkY29sb3VyO1xuICAgIH1cbiAgICBAaWYgbm90KHVuaXRsZXNzKCRib3R0b20pKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3R0b20gJHN0eWxlICRjb2xvdXI7XG4gICAgfVxuICAgIEBpZiBub3QodW5pdGxlc3MoJGxlZnQpKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkbGVmdCAkc3R5bGUgJGNvbG91cjtcbiAgICB9XG59XG5cbi8vIFN0YXRlIGFuZCBob3ZlclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBzdGF0ZS1ob3Zlci1kZWZhdWx0KCR0aW1lLCAkYmFja2dyb3VuZCwgJGJvcmRlci1jb2xvcil7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgJHRpbWUpO1xuICAgICY6aG92ZXJ7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICB9XG59XG5cbkBtaXhpbiBzdGF0ZS1ob3ZlcigkdGltZSwkaGVpZ2h0LCRjb2xvcil7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDAgMCAwICRjb2xvcik7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgJHRpbWUgY3ViaWMtYmV6aWVyKDAuOCwwLDAsMSkpO1xuICAgICY6aG92ZXJ7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICR0aW1lIGN1YmljLWJlemllcigwLjgsMCwwLDEpKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwICgtJGhlaWdodCkgMCAwICRjb2xvcik7XG4gICAgfVxufVxuXG5AbWl4aW4gc3RhdGUtaG92ZXItMigkYmFja2dyb3VuZCl7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB6LWluZGV4OiAtNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIHNjYWxlKDApO1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXIoMTAwJSwxMDAlKTtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kZWxheSgwLjNzLDBzKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMHMgY3ViaWMtYmV6aWVyKDAuMTksMSwwLjIyLDEpIDAuM3Msb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjE5LDEsMC4yMiwxKSk7XG4gICAgfVxuICAgICY6aG92ZXJ7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NhbGUoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC4xOSwxLDAuMjIsMSksb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjE5LDEsMC4yMiwxKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLz09IEZsZXhpYmxlIExheW91dFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGZsZXhib3gge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuJWZsZXhib3gge1xuICAgIEBpbmNsdWRlIGZsZXhib3g7XG59XG5cbkBtaXhpbiBpbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbiVpbmxpbmUtZmxleCB7XG4gICAgQGluY2x1ZGUgaW5saW5lLWZsZXg7XG59XG5cblxuXG4vLyBSZXRpbmEgU3ByaXRlIE1peGluc1xuXG5AbWl4aW4gcmV0aW5hLXNwcml0ZS1iYWNrZ3JvdW5kKCR1cmwsJHBvc2l0aW9uLCR3aWR0aCwkaGVpZ2h0KXtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkdXJsKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgd2lkdGg6JHdpZHRoO1xuICAgIGhlaWdodDokaGVpZ2h0O1xufVxuXG4vKiogZWxlbWVudHMgbWl4aW5zICoqL1xuXG5AbWl4aW4gYm9yZGVyLWV4Y2x1ZGUtdG9wKCRib3JkZXItZGVlcCwgJGJvcmRlci10eXBlICwgJGJvcmRlci1jb2xvciApe1xuICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xufVxuXG5AbWl4aW4gYm9yZGVyLWV4Y2x1ZGUtYm90dG9tKCRib3JkZXItZGVlcCwgJGJvcmRlci10eXBlICwgJGJvcmRlci1jb2xvciApe1xuICAgYm9yZGVyLXRvcDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xufVxuXG5AbWl4aW4gYm9yZGVyLWV4Y2x1ZGUtbGVmdCgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSAsICRib3JkZXItY29sb3IgKXtcbiAgIGJvcmRlci10b3A6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItYm90dG9tOiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xufVxuXG5AbWl4aW4gYm9yZGVyLWV4Y2x1ZGUtcmlnaHQoJGJvcmRlci1kZWVwLCAkYm9yZGVyLXR5cGUgLCAkYm9yZGVyLWNvbG9yICl7XG4gICBib3JkZXItdG9wOiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xufVxuXG5AbWl4aW4gcm91bmRlZC1jb3JuZXJzICgkcmFkaXVzKSB7XG4gICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgIC1vLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gY2xlYXJib3hzdHlsZSgpe1xuICAgYmFja2dyb3VuZDogbm9uZTtcbiAgIGJvcmRlcjpub25lO1xufVxuXG5AbWl4aW4gY2xlYXJmbG9hdCgpe1xuICAgZmxvYXQ6IG5vbmU7XG4gICB3aWR0aDogMTAwJTtcbn1cbiBcblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkdHJhbnNmb3JtLXN0eWxlKXtcbiAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiAkdHJhbnNmb3JtLXN0eWxlOyAgICAgICAgICAgICAgICAgICAgXG4gICAtbW96LXRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTsgICAgICAgICAgICAgICAgICAgIFxuICAgLW1zLXRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTsgICAgICAgICAgICAgICAgICAgIFxuICAgLW8tdHJhbnNmb3JtLXN0eWxlOiAkdHJhbnNmb3JtLXN0eWxlOyAgICAgICAgICAgICAgICAgICAgXG4gICB0cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7XG59XG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCRiYWNrZmFjZS12aXNpYmlsaXR5KXtcbiAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICRiYWNrZmFjZS12aXNpYmlsaXR5OyAgLyogVzNDICovXG4gICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICRiYWNrZmFjZS12aXNpYmlsaXR5OyAvKiBTYWZhcmkgJiBDaHJvbWUgKi9cbiAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogJGJhY2tmYWNlLXZpc2liaWxpdHk7IC8qIEZpcmVmb3ggKi9cbiAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgLyogSW50ZXJuZXQgRXhwbG9yZXIgKi9cbiAgIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6ICRiYWNrZmFjZS12aXNpYmlsaXR5OyAvKiBPcGVyYSAqL1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRoZW1lKCRhbmltYXRpb24tZHVyYXRpb24sICRhbmltYXRpb24tZmlsbC1tb2RlLCAkYW5pbWF0aW9uLW5hbWUpe1xuICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247IFxuICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247IFxuICAgLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjsgXG4gICAtby1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247IFxuICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcblxuICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkYW5pbWF0aW9uLWZpbGwtbW9kZTtcbiAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG4gICAtbXMtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG4gICAtby1hbmltYXRpb24tZmlsbC1tb2RlOiAkYW5pbWF0aW9uLWZpbGwtbW9kZTtcbiAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuXG4gICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkYW5pbWF0aW9uLW5hbWU7XG4gICAtbW96LWFuaW1hdGlvbi1uYW1lOiAkYW5pbWF0aW9uLW5hbWU7IFxuICAgLW1zLWFuaW1hdGlvbi1uYW1lOiAkYW5pbWF0aW9uLW5hbWU7IFxuICAgLW8tYW5pbWF0aW9uLW5hbWU6ICRhbmltYXRpb24tbmFtZTsgXG4gICBhbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lOyBcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSl7XG4gICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAtbXMtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgIC1tb3otcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgIC1vLXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICBwZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlOyAgICBcbn1cblxuLyoqXG4qIFRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uIHByb3BlcnR5QG1peGluIFxuKi9cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG4gXG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlKXtcbiAgIGFwcGVhcmFuY2U6ICRhcmd1bWVudHM7XG4gICAtbW96LWFwcGVhcmFuY2U6ICRhcmd1bWVudHM7XG4gICAtbXMtYXBwZWFyYW5jZTogJGFyZ3VtZW50cztcbiAgIC1vLWFwcGVhcmFuY2U6ICRhcmd1bWVudHM7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcmd1bWVudHM7IFxufVxuXG5cbi8qYmFja2dyb3VuZCBSR0JBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5AbWl4aW4gcmdiYSgkY29sb3VyLCAkYWxwaGEpXG57XG4gICAkYWxwaGFDb2xvdXI6IGhzbGEoaHVlKCRjb2xvdXIpLCBzYXR1cmF0aW9uKCRjb2xvdXIpLCBsaWdodG5lc3MoJGNvbG91ciksICRhbHBoYSk7XG4gICAkaWVBbHBoYUNvbG91cjogYXJnYigkYWxwaGFDb2xvdXIpOyAgIFxuICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjsgXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxwaGFDb2xvdXI7ICAgICAgIFxuICAgem9vbTogMTsgXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudFxcOTsgICBcbiAgIFxuICAgXG59XG5cblxuQG1peGluIGJvcmRlci1yZ2JhKCRjb2xvdXIsICRhbHBoYSlcbntcbiAgICRhbHBoYUNvbG91cjogaHNsYShodWUoJGNvbG91ciksIHNhdHVyYXRpb24oJGNvbG91ciksIGxpZ2h0bmVzcygkY29sb3VyKSwgJGFscGhhKTtcbiAgICRpZUFscGhhQ29sb3VyOiBhcmdiKCRhbHBoYUNvbG91cik7ICAgXG4gICBib3JkZXItY29sb3I6ICRjb2xvdXI7IFxuICAgYm9yZGVyLWNvbG9yOiAkYWxwaGFDb2xvdXI7ICAgICAgIFxuICAgem9vbTogMTsgXG4gICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50XFw5O1xuICBcbn1cblxuLy9jb3B5cmlnaHRcblxuLy9zdWIgaGVhZGluZyAoaDIsaDMpIGRlZmluZVxuQG1peGluIHN1Yi1oZWFkaW5nIHtcbiAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgY29sb3I6ICRibG9jay1oZWFkaW5nLWNvbG9yO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250OiA2MDAgMTRweC8yMHB4ICRmb250LWN1c3RvbTtcbiAgcGFkZGluZzogOHB4IDE1cHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIG1pbi13aWR0aDogMTIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJHRoZW1lLWJnLWRlZmF1bHQ7XG59XG5AbWl4aW4gc3ViLWhlYWRpbmctYmVmb3JlIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgQGluY2x1ZGUgcnRsLXJpZ2h0KDQ1JSk7XG4gIHRvcDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogJHRoZW1lLWJnLWRlZmF1bHQ7XG59XG5cbi8vYmFja2dyb3VuZFxuQG1peGluIGJhY2tncm91bmQtaG92ZXIge1xuICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyMjgsIDUwLCA0MCwgMC4zKTtcbn1cblxuLyppbmxpbmUtYmxvY2tcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQG1peGluIGlubGluZS1ibG9jaygpIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICB6b29tOiAxOyAgIFxufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5cblxuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm94LXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5ib3gtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArICAuYm94LWNvbnRlbnQge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5ib3gtY29udGVudHtcbiAgICAgIGJvcmRlci1jb2xvcjokYm9yZGVyO1xuICB9XG4gICYgPiAuYm94LWZvb3RlciB7XG4gICAgKyAuYm94LWNvbGxhcHNlIC5ib3gtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuQG1peGluIGJ1dHRvbi0zZCgkc3VmZml4Y2xhc3MsICRoZWlnaHQzZCAsJGNvbG9yM2Qpe1xuICBib3JkZXI6IDA7XG4gIEBpZiAoJHN1ZmZpeGNsYXNzID09IFwiZW1wdHlcIikge1xuICAgICAgYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtby1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1tb3otYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW1zLWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgJi5idG4tI3skc3VmZml4Y2xhc3N9e1xuICAgICBib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1vLWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW1vei1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtbXMtYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taW52ZXJzZSggJHN1ZmZpeGNsYXNzLCAgJGNvbG9yICwkYmFja2dyb3VuZCApe1xuIFxuICAmLmJ0bi0jeyRzdWZmaXhjbGFzc317XG4gICAgICAmOmhvdmVyeyBcbiAgICAgICAgY29sb3I6JGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZSggJHN1ZmZpeGNsYXNzLCAkY29sb3IsICRob3ZlcmNvbG9yICl7XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICYuYnRuLSN7JHN1ZmZpeGNsYXNzfXtcbiAgICAgIGNvbG9yOiRjb2xvcjtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgY29sb3I6JGhvdmVyY29sb3I7XG4gICAgICB9XG4gIH1cbn1cbi8vLyBidXR0b24gdmFyaWFudCBvdXRsaW5lXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQtb3V0bGluZSgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3Job3ZlciwgJGJnaG92ZXIsICRib3JkZXJob3ZlciApIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3Job3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdob3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyaG92ZXIgO1xuICB9XG4gIC5vcGVuICYgeyAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcmhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ2hvdmVyO1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXJob3ZlciA7XG4gIH0gfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgLm9wZW4gJiB7ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9IH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG4vLyBpY29uIHZhcmlhbnQgaW52ZXJzZVxuXG5AbWl4aW4gaWNvbnMtaW52ZXJzZSggJHN1ZmZpeGNsYXNzLCAgJGNvbG9yICwkYmFja2dyb3VuZCApe1xuIFxuICAmLmljb25zLSN7JHN1ZmZpeGNsYXNzfXtcbiAgICAgICY6aG92ZXJ7IFxuICAgICAgICBjb2xvcjokY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gIH1cbn1cbi8vIGljb24gdmFyaWFudCBvdXRsaW5lXG5cbkBtaXhpbiBpY29ucy1vdXRsaW5lKCAkc3VmZml4Y2xhc3MsICRjb2xvciwgJGhvdmVyY29sb3IgKXtcbiAgJi5pY29ucy0jeyRzdWZmaXhjbGFzc317XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjokY29sb3I7XG4gICAgICAmOmhvdmVye1xuICAgICAgICAgIGNvbG9yOiRob3ZlcmNvbG9yO1xuICAgICAgfVxuICB9XG59XG5cbi8vIEJsb2NrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYmxvY2stdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gICYgPiAuI3skYmxvY2stcHJlZml4fS1mb290ZXIge1xuICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLXByZWZpeH0tYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vKioqKi9cbi8qKioqL1xuQG1peGluIGNvbnRhaW5lci1sYXlvdXQtdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkbGlua2NvbG9yICl7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBhe1xuICAgICAgY29sb3I6JGxpbmtjb2xvcjsgXG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjokbGluay1ob3Zlci1jb2xvcjsgXG4gICAgICB9ICBcbiAgICB9ICAgICAgICAgXG59XG5cbkBtaXhpbiB3aWRnZXQtc3BlY2ljYWwtc3R5bGUoKXtcbiAgLndpZGdldC1oZWFkaW5ne1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBzcGFue1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBzcGFuLmRlc2NyaXB0aW9ue1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH0gIFxuICAgfSBcbn0iLCIvLyBCb3ggU2l6ZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBib3gtc2l6ZSgkYmFja2dyb3VuZCwgJHBhZGRpbmctdG9wLCRwYWRkaW5nLWJvdHRvbSl7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xyXG59XHJcblxyXG4vLyBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlciwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvci1ob3ZlciwgJGJvcmRlci1ob3ZlciwgJGJvcmRlci1yYWRpdXMpIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogJGJvcmRlcjtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xyXG4gICAgICAgIGJvcmRlcjogJGJvcmRlci1ob3ZlcjtcclxuICAgIH1cclxuICAgIC5mYSwuaWNvbntcclxuICAgICAgICBmb250LXNpemU6ICRpY29uLWZvbnQtc2l6ZS1iYXNlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQmxvY2tcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYmxvY2stdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGluZy1iZy1jb2xvcjtcclxuICAgICYgLiN7JGJsb2NrLWhlYWRpbmctc2VsZWN0b3J9IHtcclxuICAgICAgICAmIHNwYW46YmVmb3JlLCAmIHNwYW46YWZ0ZXJ7IGJhY2tncm91bmQ6JHdoaXRlOyB9XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XHJcbiAgICAgICAgKyAuI3skYmxvY2stcHJlZml4fS1jb2xsYXBzZSAuI3skYmxvY2stY29udGVudC1zZWxlY3Rvcn0ge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgPiAuI3skYmxvY2stcHJlZml4fS1mb290ZXIge1xyXG4gICAgICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLXByZWZpeH0tYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmxvY2stZWxlbWVudHMtc3R5bGVzKCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIsICR0ZXh0LWNvbG9yLCAkdGV4dC1jb2xvci1wcmltYXJ5KXtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgJiAuI3skYmxvY2staGVhZGluZy1zZWxlY3Rvcn0ge1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLWNvbnRlbnQtc2VsZWN0b3J9IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmID4gLiN7JGJsb2NrLXByZWZpeH0tZm9vdGVyIHtcclxuICAgICAgICArIC4jeyRibG9jay1wcmVmaXh9LWNvbGxhcHNlIC4jeyRibG9jay1wcmVmaXh9LWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKiovXHJcbkBtaXhpbiBjb250YWluZXItbGF5b3V0LXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGxpbmtjb2xvciwgICR0b3BiYXItbGluay1jb2xvci1ob3ZlciApe1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYXtcclxuICAgICAgICBjb2xvcjokbGlua2NvbG9yO1xyXG4gICAgfVxyXG4gICAgYTpob3ZlcntcclxuICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLz09IElubGluZSBibG9ja1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gaW5saW5lLWJsb2NrICgkaGFzbGF5b3V0IDogdHJ1ZSl7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgQGlmICRoYXNsYXlvdXQgPT0gdHJ1ZSB7XHJcbiAgICAgICAgLmx0LWllOCAmIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICB6b29tOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy89PSB2ZXJ0aWNhbCBibG9ja1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdmVydGljYWwtY2VudGVyKCAkd2lkdGg6IDEwMHB4LCAkaGVpZ2h0OiAxMDBweCkge1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLy89PSBUcmFuc2xhdGUgWCAtIFkgLSBaXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2xhdGVYKCR4KSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR4KTsgLy8gSUU5IG9ubHlcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNsYXRlWSgkeSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7IC8vIElFOSBvbmx5XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zbGF0ZVooJHopIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooJHopOyAvLyBJRTkgb25seVxyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigkeik7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNmb3JtXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2Zvcm0oJGFyZ3VtZW50KXtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIC1tcy10cmFuc2Zvcm06ICgkYXJndW1lbnQpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIHRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNmb3JtXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lMSwkdGltZTIpe1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICgkdGltZTEsJHRpbWUyKTtcclxuICAgIC1tcy10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICAtby10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbn1cclxuXHJcbi8vPT0gQmFja2dyb3VuZCBTaXplXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoJHNpemUxLCRzaXplMikge1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6ICgkc2l6ZTEsJHNpemUyKTtcclxuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICAtbXMtYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6ICgkc2l6ZTEsJHNpemUyKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogKCRzaXplMSwkc2l6ZTIpO1xyXG59XHJcblxyXG4vLz09IEJhY2tncm91bmQgb3JpZ2luXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBiYWNrZ3JvdW5kLW9yaWdpbigkdmFsdWUxLCR2YWx1ZTIpe1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAoJHZhbHVlMSwkdmFsdWUyKTtcclxuICAgIC1tcy1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICAtby1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbn1cclxuXHJcbi8vPT0gQm9yZGVyIHJhZGl1c1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzICAgICAgICAgOiAkcmFkaXVzO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzIDogJHJhZGl1cztcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cyAgICA6ICRyYWRpdXM7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1cyAgICAgOiAkcmFkaXVzO1xyXG4gICAgLW8tYm9yZGVyLXJhZGl1cyAgICAgIDogJHJhZGl1cztcclxufVxyXG5cclxuLy89PSBUZXh0IFNoYWRvd1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdGV4dC1zaGFkb3coJHNoYWRvdykge1xyXG4gICAgdGV4dC1zaGFkb3cgICAgICAgICA6ICRzaGFkb3c7XHJcbiAgICAtd2Via2l0LXRleHQtc2hhZG93IDogJHNoYWRvdztcclxuICAgIC1tb3otdGV4dC1zaGFkb3cgICAgOiAkc2hhZG93O1xyXG4gICAgLW1zLXRleHQtc2hhZG93ICAgICA6ICRzaGFkb3c7XHJcbiAgICAtby10ZXh0LXNoYWRvdyAgICAgIDogJHNoYWRvdztcclxufVxyXG5cclxuLy89PSBUcmFuc2Zvcm0gT3JpZ2luXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW5YLCRvcmlnaW5ZKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4gOiAkb3JpZ2luWCAkb3JpZ2luWTtcclxuICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbiAgICA6ICRvcmlnaW5YICRvcmlnaW5ZO1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW4gICAgIDogJG9yaWdpblggJG9yaWdpblk7IC8vIElFOSBvbmx5XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luICAgICAgICAgOiAkb3JpZ2luWCAkb3JpZ2luWTtcclxufVxyXG5cclxuLy89PSBhcHBlYXJhbmNlXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBhcHBlYXJhbmNlKCkge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlIDogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZSAgICA6IG5vbmU7XHJcbiAgICAtby1hcHBlYXJhbmNlICAgICAgOiBub25lO1xyXG4gICAgLW1zLWFwcGVhcmFuY2UgICAgIDogbm9uZTtcclxuICAgIGFwcGVhcmFuY2UgICAgICAgICA6IG5vbmU7XHJcbn1cclxuXHJcbi8vPT0gc2VsZWN0aW9uXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiRwcmVmaXhlczogKFwiLW1vei1cIiwgXCJcIik7XHJcbkBtaXhpbiBzZWxlY3Rpb24oJGNvbG9yLCAkYmFja2dyb3VuZCkge1xyXG4gICAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xyXG4gICAgICAgIDo6I3skcHJlZml4fXNlbGVjdGlvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy89PSBhbmltYXRpb24gZmlsbCBtb2RlXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsKSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbDtcclxuICAgIC1vLWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGw7XHJcbn1cclxuXHJcbi8vPT0gZmlsdGVyXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBmaWx0ZXIoJGFyZ3VtZW50KXtcclxuICAgIGZpbHRlciAgICAgICAgIDogJGFyZ3VtZW50O1xyXG4gICAgLXdlYmtpdC1maWx0ZXIgOiAkYXJndW1lbnQ7XHJcbiAgICAtbW96LWZpbHRlciAgICA6ICRhcmd1bWVudDtcclxuICAgIC1vLWZpbHRlciAgICAgIDogJGFyZ3VtZW50O1xyXG4gICAgLW1zLWZpbHRlciAgICAgOiAkYXJndW1lbnQ7XHJcbn1cclxuXHJcbi8vIENsZWFyIExpc3RzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGNsZWFyLWxpc3QoKXtcclxuICAgIHBhZGRpbmcgICAgOiAwO1xyXG4gICAgbWFyZ2luICAgICA6IDA7XHJcbiAgICBsaXN0LXN0eWxlIDogbm9uZTtcclxufVxyXG5cclxuLy8gRm9ybWFydCBsaXN0cyB3aWRnZXRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gbGlzdHMtc3R5bGUoKSB7XHJcbiAgICB1bCxvbHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhci1saXN0KCk7XHJcbiAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2hpbGRyZW57XHJcbiAgICAgICAgICAgICAgICA+IGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVse1xyXG4gICAgICAgICAgICBsaTpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW5Bcm91bmR7XHJcbiAgICBmcm9tIHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxuLW1zLXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1vLXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbnRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7fVxyXG4gICAgdG8gey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4tbW96LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW1zLXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW8tdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG50cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7fVxyXG59XHJcbi8qIEhpZW4gdGhpIGNobyBTYWZhcmkgYW5kIENocm9tZSAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbkFyb3VuZCB7XHJcbiAgICBmcm9tIHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxuLW1zLXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1vLXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbnRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7fVxyXG4gICAgdG8gey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4tbW96LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW1zLXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW8tdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG50cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7fVxyXG59XHJcbi8qIEhpZW4gdGhpIGNobyBGaXJlZm94ICovXHJcbkAtbW96LWtleWZyYW1lcyBzcGluQXJvdW5ke1xyXG4gICAgZnJvbSB7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4tbW96LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1tcy10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4tby10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG50cmFuc2Zvcm06cm90YXRlKDBkZWcpO31cclxuICAgIHRvIHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW1vei10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbi1tcy10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbi1vLXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxudHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO31cclxufVxyXG5cclxuLyogSGllbiB0aGkgY2hvIE9wZXJhICovXHJcbkAtby1rZXlmcmFtZXMgc3BpbkFyb3VuZHtcclxuICAgIGZyb20gey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxuLW1vei10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4tbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxuLW8tdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxudHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt9XHJcbiAgICB0byB7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbi1tb3otdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4tbXMtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4tby10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbnRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt9XHJcbn1cclxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xyXG5cclxuIiwiLypcbiAqIEdsb2JhbCB2YXJpYWJsZXNcbiAqL1xuJGltYWdlLXRoZW1lLXBhdGggICAgICAgICAgICAgICAgOiAnLi4vaW1hZ2VzLycgIWRlZmF1bHQ7XG4kaW1hZ2UtdGhlbWUtc2tpbiAgICAgICAgICAgICAgICA6ICcuLi9pbWFnZXMvJyAhZGVmYXVsdDtcbi8vIHN0YW5kYXJkIGNvbG9yc1xuJHdoaXRlXHRcdCAgICA6ICNGRkYgIWRlZmF1bHQ7XG4kYmxhY2tcdFx0XHQ6ICMwMDAgIWRlZmF1bHQ7XG4kbm9jb2xvclx0XHQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGxpZ2h0LWdyYXlcdDogI0NDQyAhZGVmYXVsdDsgXG4kdHVycXVvaXNlOiAgICM0NzM5NDEgIWRlZmF1bHQ7XG5cblxuLy8gY29sb3IgZm9yIGRlZmF1bHQgdGhlbWVcbiR0aGVtZS1jb2xvciAgICA6ICM0N2I4ZTAgIWRlZmF1bHQ7IC8qIG1haW4gY29sb3Igd2hpY2ggd2lsbCBiZSB1c2VkIGZvciBhbGwgbWFpbiBibG9jayBzdHlsZXMuLi4gKi9cbiRib3JkZXItY29sb3JcdDogI2Y0ZjRmNCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItYmFzZTojZTVlNWU1ICFkZWZhdWx0OyBcblxuJHRoZW1lLWNvbG9yLXNlY29uZCAgXHRcdFx0IDogIzQ3YjhlMCAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1kZWZhdWx0ICAgICAgICAgICAgIDogI2ZmY2EwMCAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1ob3ZlciAgICAgICAgICAgICAgIDogI2ZmY2EwMCAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1zZWNvbmRhcnkgICAgICAgICAgIDogIzI2MmEyZSAhZGVmYXVsdDtcblxuXG4vLyBUaGVtZSBNYXJnaW4sIFBhZGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aGVtZS1tYXJnaW4gICAgOiAzMHB4ICFkZWZhdWx0O1xuJHRoZW1lLXBhZGRpbmcgICA6IDMwcHggIWRlZmF1bHQ7XG4vLyBmb250c1xuJGZvbnQtZmFtaWx5LXNlY29uZCA6ICAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0OyBcbi8qKlxuICogSW1wb3J0IGNvbXBvbmVudCB2YXJpYWJsZXNcbiAqL1xuQGltcG9ydCBcInZhcnMvZm9ybVwiO1xuQGltcG9ydCBcInZhcnMvbmF2XCI7XG5AaW1wb3J0IFwidmFycy9sYXlvdXRcIjtcbkBpbXBvcnQgXCJ2YXJzL2VsZW1lbnRzXCI7XG5AaW1wb3J0IFwidmFycy93aWRnZXRcIjtcbiIsIi8vIFNlbGVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNlbGVjdC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMzJweCAhZGVmYXVsdDtcbiRzZWxlY3QtYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kc2VsZWN0LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgOiA0cHggNnB4ICFkZWZhdWx0O1xuXG4vLyBJbnB1dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGlucHV0LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgIDogNXB4IDZweCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LXNpemUtYmFzZSAtIDE7XG5cbiRpbnB1dC1ncm91cC1mb3JtLWJnICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWZvcm0tbWFyZ2luICAgICAgICAgICAgICAgIDogMCAwIDVweCAwIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgOiA2cHggMTFweCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3IgICAgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWhlaWdodCAgICAgICAgICAgICAgICAgICAgIDogNDJweCAhZGVmYXVsdDtcblxuJGlucHV0LWZvcm0tYmcgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuXG4vLyBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRidG4tdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgICAgICAgICAgICA6IDVweCAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy1ob3Jpem9udGFsICAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcblxuJGJ0bi1sZy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRidG4tbGctcGFkZGluZy1ob3Jpem9udGFsICAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7XG4kYnRuLWxnLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAxOHB4ICFkZWZhdWx0O1xuJGJ0bi1sZy1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgIDogJGxpbmUtaGVpZ2h0LWxhcmdlICFkZWZhdWx0O1xuJGJ0bi1sZy1ib3JkZXItcmFkaXVzICAgICAgICAgICAgICAgICAgIDogNXB4ICFkZWZhdWx0O1xuXG4kYnRuLXNtLXBhZGRpbmctdmVydGljYWwgICAgICAgICAgICAgICAgOiA3cHggIWRlZmF1bHQ7XG4kYnRuLXNtLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGJ0bi1zbS1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRidG4tc20tbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRsaW5lLWhlaWdodC1zbWFsbCAhZGVmYXVsdDtcbiRidG4tc20tYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6ICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG4kYnRuLXhzLXBhZGRpbmctdmVydGljYWwgICAgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG4kYnRuLXhzLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xuJGJ0bi14cy1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRidG4teHMtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRsaW5lLWhlaWdodC1zbWFsbCAhZGVmYXVsdDtcbiRidG4teHMtYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6ICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG4kYnRuLW91dGxpbmUtY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaG92ZXItY29sb3IgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAzNnB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXBhZGRpbmcgXHRcdFx0OiAzcHggMTVweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1iZyAgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1ob3Zlci1iZyAgICAgICAgICAgICAgICAgICA6JHRoZW1lLWNvbG9yLXNlY29uZCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1ib3JkZXIgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYm9yZGVyLWhvdmVyICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1saW5lLWhlaWdodCAgICAgICAgICAgICAgICA6IDI4cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuXG4kYnRuLW91dGxpbmUtc20tcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgOiA4cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tcGFkZGluZy1ob3Jpem9udGFsICAgICAgOiAxOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXNtLWZvbnQtc2l6ZSAgICAgICAgICAgICAgIDogMTFweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1zbS1saW5lLWhlaWdodCAgICAgICAgICAgICA6IDEuMyAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1zbS1ib3JkZXItcmFkaXVzICAgICAgICAgICA6IDNweCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLXhzLXBhZGRpbmctdmVydGljYWwgICAgICAgIDogNXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS14cy1mb250LXNpemUgICAgICAgICAgICAgICA6IDExcHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUteHMtbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAxLjIgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUteHMtYm9yZGVyLXJhZGl1cyAgICAgICAgICAgOiAzcHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS1sZy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICA6IDIxcHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGctcGFkZGluZy1ob3Jpem9udGFsICAgICAgOiA0OHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLWZvbnQtc2l6ZSAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1sZy1saW5lLWhlaWdodCAgICAgICAgICAgICA6IDMgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGctYm9yZGVyLXJhZGl1cyAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG5cbiRidG4taW52ZXJzZS1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1ob3Zlci1jb2xvciAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1iZyAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1ob3Zlci1iZyAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1ib3JkZXItY29sb3IgICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYm9yZGVyLWhvdmVyLWNvbG9yICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJ0bi1pbnZlcnNlLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1wYWRkaW5nICAgICAgICAgICAgICAgICAgICA6IDEwcHggMTVweCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLWludmVyc2UtY29sb3IgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yLXNlY29uZCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1pbnZlcnNlLWJnICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1pbnZlcnNlLWJvcmRlci1jb2xvciAgICAgICA6IDFweCBzb2xpZCAkYnRuLW91dGxpbmUtaW52ZXJzZS1iZyAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1pbnZlcnNlLWhvdmVyLWJnICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1pbnZlcnNlLWhvdmVyLWNvbG9yICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1pbnZlcnNlLWJvcmRlci1ob3Zlci1jb2xvciA6IDFweCBzb2xpZCAkdGhlbWUtY29sb3Itc2Vjb25kICFkZWZhdWx0O1xuXG4vLyBTZWFyY2hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzZWFyY2gtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZWFyY2gtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kc2VhcmNoLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJHNlYXJjaC13aWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYXV0byAhZGVmYXVsdDtcbiRzZWFyY2gtYnV0dG9uLWJnICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1tYWluLWJ1dHRvbi1iZyAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHNlYXJjaC1tYWluLWJ1dHRvbi1ib3JkZXIgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tY29sb3IgICAgICAgICAgICAgICA6ICRncmF5LWRhcmtlciAhZGVmYXVsdDtcbiRzZWFyY2gtYnV0dG9uLWJvcmRlciAgICAgICAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtYnV0dG9uLWhvdmVyLWJnICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZWFyY2gtYnV0dG9uLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZWFyY2gtYnV0dG9uLXNpemUgICAgICAgICAgICAgICAgICAgICA6IDM2cHggIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ob3Zlci1jb2xvciAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4kc2VhcmNoLXJhZGl1cyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAzcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgOiA1MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWhvdmVyLWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1ib3JkZXItcmFkaXVzICAgICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1jYXRlZ29yaWVzLWJvcmRlci1yYWRpdXMgICAgICAgIDogNHB4ICFpbXBvcnRhbnQ7XG4iLCIvLyBNYWluIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtZWdhbWVudS1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1tZWdhLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgIDogNzVweCAhZGVmYXVsdDtcblxuJG5hdmJhci1tZWdhLXNraW4yLWJnICAgICAgICAgICAgICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lZ2Etc2tpbjItYm9yZGVyICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1tZWdhLXNraW4yLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMzBweCAhZGVmYXVsdDsgXG5cbiRuYXZiYXItdGV4dC10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgICA6IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJG5hdmJhci1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRuYXZiYXItZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICA6IDUwMCAhZGVmYXVsdDtcbiRuYXZiYXItZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kbmF2YmFyLWxpbmstbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgIDogMCAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWhvdmVyLWJnICAgICAgICAgICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstYWN0aXZlLWNvbG9yICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstYWN0aXZlLWJnICAgICAgICAgICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci13aWRnZXQtdGl0bGUtY29sb3IgICAgICAgICAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0O1xuJG5hdmJhci13aWRnZXQtdGl0bGUtbWFyZ2luICAgICAgICAgICAgICAgIDogMCAwIDEwcHggMCAhZGVmYXVsdDtcbiRuYXZiYXItd2lkZ2V0LXRpdGxlLWZvbnQtc2l6ZSAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kbmF2YmFyLXdpZGdldC10aXRsZS1mb250LXdlaWdodFx0XHQgICAgICAgOiA5MDAgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDEwcHggMjBweCAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tc2l6ZSAgICAgICAgICAgICAgICAgICAgICA6IDI1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWNvbG9yICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1ob3Zlci1jb2xvciAgICAgICAgICA6ICR0aGVtZS1jb2xvci1kZWZhdWx0ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWhvdmVyLWJnICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstdHJhbnNmb3JtICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWZvbnQtc2l6ZSAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1mb250LXdlaWdodCAgICAgICAgICA6IDMwMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1ib3JkZXItY29sb3IgICAgICAgICA6ICRub2NvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpbmstc21hbGwtcGFkZGluZyAgICAgICAgICAgICAgICAgOiAxOHB4IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstbGFyZ2UtcGFkZGluZyAgICAgICAgICAgICAgICAgOiA0NnB4IDAgNDZweCAhZGVmYXVsdDsgIFxuXG4vLyBWZXJ0aWNhbCBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLXZlcnRpY2FsbWVudS1jb2xvcjogICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbmF2YmFyLXZlcnRpY2FsbWVudS1saW5rLXBhZGRpbmc6IFx0XHRcdDEzcHggMjBweCFkZWZhdWx0O1xuJG5hdmJhci12ZXJ0aWNhbG1lbnUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICNlZWVlZWUgIWRlZmF1bHQ7XG4vLyBUb3AgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1tZW51dG9wLWZvbnQtd2VpZ2h0XHRcdFx0XHQgICAgOiA4MDAgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtZm9udC1zaXplXHRcdFx0XHQgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLXBhZGRpbmctdG9wXHRcdFx0XHQgICAgOiAyMnB4ICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLXBhZGRpbmctYm90dG9tXHRcdFx0ICAgIDogMThweCAhZGVmYXVsdDtcbiRuYXZiYXItbWVudXRvcC1jb2xvclx0XHRcdFx0XHQgICAgICAgOiAjODI4MjgyICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLW1hcmdpblx0XHRcdFx0XHQgICAgICAgOiAwIDEwcHggIWRlZmF1bHQ7XG5cbi8vIE9mZi1DYW52YXMgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtd2lkdGggICAgICAgICAgICAgICAgICAgIDogNjklICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtYmctY2xvc2UgICAgICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1iZyAgICAgICAgICAgICAgICAgICAgICAgOiAjZjVmNWY1ICAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJvcmRlciAgICAgICAgICAgICAgICAgICA6IHJnYmEoMCwgMCwgMCwgMC4xKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWNvbG9yICAgICAgICAgICAgICAgOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstaG92ZXItY29sb3IgICAgICAgICA6ICMwMjgxQUIgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWhvdmVyLWJnICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstYWN0aXZlLWNvbG9yICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWFjdGl2ZS1iZyAgICAgICAgICAgOiBkYXJrZW4oJG5hdmJhci1vZmZjYW52YXMtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWRpc2FibGVkLWNvbG9yICAgICAgOiAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtbGluay1kaXNhYmxlZC1iZyAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWZvbnQtc2l6ZSAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItb2ZmY2FudmFzLWJyYW5kLWNvbG9yICAgICAgICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1icmFuZC1ob3Zlci1jb2xvciAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1icmFuZC1ob3Zlci1iZyAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHNlYXJjaFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLWJnICAgICAgICAgICAgICAgIDogbGlnaHRlbigkbmF2YmFyLW9mZmNhbnZhcy1iZywgMjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXNlYXJjaC1iZy1mb2N1cyAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXNlYXJjaC1ib3JkZXIgICAgICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWJnICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1zZWFyY2gtaW5wdXQtYmcgICAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgkYmxhY2ssIC4xMCkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItb2ZmY2FudmFzLXRvZ2dsZS1ob3Zlci1iZyAgICAgICAgICA6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy10b2dnbGUtaWNvbi1iYXItYmcgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy10b2dnbGUtYm9yZGVyLWNvbG9yICAgICAgOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4kbmF2YmFyLW9mZmNhbnZhcy1idXR0b24tcG9zaXRpb24gICAgICAgICAgOiAtMTcycHggIWRlZmF1bHQ7IiwiXG4vLyBUb3BiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0b3BiYXItYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3ItZGVmYXVsdCAhZGVmYXVsdDtcbiR0b3BiYXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJHRvcGJhci1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxM3B4ICFkZWZhdWx0O1xuJHRvcGJhci1pY29uLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3ItZGVmYXVsdCAhZGVmYXVsdDtcbiR0b3BiYXItaWNvbi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiR0b3BiYXItdGV4dC10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiR0b3BiYXItcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0OiAwIDUwcHggIWRlZmF1bHQ7XG5cbi8vLy8gSGVhZGVyXG5cbiRoZWFkZXItbWFpbi1wYWRkaW5nIDogMTVweCAwICFkZWZhdWx0OyBcblxuXG5cbiRtYXNzYm90dG9tLWhlYWQtYmdcdFx0IDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG1hc3Nib3R0b20taGVhZC1wYWRkaW5nIDogNnB4IDlweCAhZGVmYXVsdDtcbiRtYXNzYm90dG9tLWhlYWQtY29sb3IgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRtYXNzYm90dG9tLWhlYWQtYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG1hc3Nib3R0b20taGVhZC1iZyw0JSkhZGVmYXVsdDsgXG5cbi8qKlxuICpcbiAqL1xuXG4gJG1haW5tZW51LWJnOiAjMjIyMjIyICFkZWZhdWx0O1xuXG5cblxuXG4vLyBGb290ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIFxuJGZvb3Rlci1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4kZm9vdGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJGZvb3Rlci10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0OyBcbiRmb290ZXItYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItcGFkZGluZy10b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogNTBweCAhZGVmYXVsdDtcbiRmb290ZXItcGFkZGluZy1ib3R0b20gICAgICAgICAgICAgICAgICAgICAgICAgIDogNTBweCAhZGVmYXVsdDtcbiRmb290ZXItdGV4dC1oaWdodGxpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rLWZvbnQtc2l6ZVx0XHRcdFx0XHRcdFx0OiAxNHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1jb2x1bW4tbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMjVweCAwICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjOTk5OTk5ICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kZm9vdGVyLWljb24tY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGRhcmtlbigkd2hpdGUsIDIwJSkgIWRlZmF1bHQ7XG4kZm9vdGVyLWljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEzcHggIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDI1cHggIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAyMHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWRpc3BsYXkgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1saXN0LXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1saXN0LWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0OyBcbiRmb290ZXItbGlzdC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDEwcHggIWRlZmF1bHQ7XG4kZm9vdGVyLWxpc3QtbGlnaHQtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICA6IDIuNSAhZGVmYXVsdDsgIFxuJGZvb3Rlci1oZWFkaW5nLWZ3ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgOiA0MDAgIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctZmZhbWlseSAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LWZhbWlseS1zZWNvbmQgIWRlZmF1bHQ7XG5cbiRmb290ZXItbmV3c2xldHRlci1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgIDogMjVweCAhZGVmYXVsdDtcbiRmb290ZXItbmV3c2xldHRlci1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1uZXdzbGV0dGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAjNDg0ODQ4ICFkZWZhdWx0O1xuJGZvb3Rlci1uZXdzbGV0dGVyLWhlYWRpbmctZm9udC1zaXplICAgICAgICAgICAgOiAxOHB4ICFkZWZhdWx0O1xuXG4kZm9vdGVyLXRvcC1iZyBcdFx0XHRcdFx0XHRcdFx0XHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRmb290ZXItdG9wLWNvbG9yICBcdFx0XHRcdFx0XHRcdFx0OiAjOTk5OTk5ICFkZWZhdWx0O1xuJGZvb3Rlci10b3AtcGFkZGluZy10b3BcdFx0XHRcdFx0XHRcdDogMTJweCAhZGVmYXVsdDsgXG4kZm9vdGVyLXRvcC1wYWRkaW5nLWJvdHRvbVx0XHRcdFx0XHRcdDogMTJweCAhZGVmYXVsdDtcbiRmb290ZXItdG9wLWZvbnQtc2l6ZVx0XHRcdFx0XHRcdFx0OiAxMnB4ICFkZWZhdWx0O1xuJGZvb3Rlci10b3AtbGV0dGVyLXNwYWNpbmdcdFx0XHRcdFx0XHQ6IDJweCAhZGVmYXVsdDtcbiRmb290ZXItdG9wLWJvcmRlci1jb2xvciBcdFx0XHRcdFx0XHQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbi8vIENvcHlyaWdodFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gLy8gQ29weXJpZ2h0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY29weXJpZ2h0LWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICMwOTE3MjkgIWRlZmF1bHQ7XG4kY29weXJpZ2h0LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICM5OTkgIWRlZmF1bHQ7XG4kY29weXJpZ2h0LWxpbmstY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICM5OTkgIWRlZmF1bHQ7XG4kY29weXJpZ2h0LXBhZGRpbmctdG9wICAgICAgICAgICAgICAgICAgICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XG4kY29weXJpZ2h0LXBhZGRpbmctYm90dG9tICAgICAgICAgICAgICAgICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XG4kY29weXJpZ2h0LWZvbnQtc2l6ZVx0XHRcdFx0XHRcdFx0ICAgICAgICAgOiAxNHB4ICFkZWZhdWx0OyBcbiRjb3B5cmlnaHQtZm9udC13ZWlnaHRcdFx0XHRcdFx0XHRcdCAgICAgIDogNDAwICFkZWZhdWx0O1xuXG4kZGVsLWZvbnQtc2l6ZVx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRkZWwtY29sb3JcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgIDogIzk5OTk5OTsiLCIkYm8tcGFyYWxsYXgtYmVmb3JlLWJhY2tncm91bmQgOiB1cmwoXCJodHRwOi8vdmVudXNkZW1vLmNvbS93cG9wYWwvbWl4L21vYmlsZS93cC1jb250ZW50L3VwbG9hZHMvMjAxNC8xMS9iZy1mb290ZXItY2QuanBnXCIpIWRlZmF1bHQ7XG5cbiRlbGVtZW50LWNvbG9yLXByaW1hcnkgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGJsdWU6ICAgICAgICAgICAgICAgICAgXHRcdCM4OWQzMDkgIWRlZmF1bHQ7XG4kcmVkOiAgICAgICAgICAgICAgICAgIFx0XHQgICAgI2Y4NDE0MyAhZGVmYXVsdDsgIC8vIFNraW4gc2t5XG4gLyogLS0tIFNDU1MgRm9yIEFjY29yZGlvbiAtLS0gKi9cbiRiby1hY2NvcmRpb24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDsgXG4kYm8tYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cbiRiby1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZWVlICFkZWZhdWx0O1xuXG4gLyogLS0tIFNDU1MgRm9yIEJyZWFkY3J1bWIgLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgQnV0dG9ucyAtLS0gKi9cblxuIC8qIC0tLSBTQ1NTIEZvciBDYWxsLXRvLWFjdGlvbiAtLS0gKi8kd2hpdGUgOiAjRkZGRkZGICFkZWZhdWx0O1xuXG4gLyogLS0tIFNDU1MgRm9yIENvbnRlbnQtc2xpZGVyIC0tLSAqLy8qICAqL1xuXG4kYm8tY2Fyb3VzZWwtbWQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NHB4ICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLW1kLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDRweCAhZGVmYXVsdDtcblxuJGJvLWNhcm91c2VsLXNtLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzRweCAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1zbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM0cHggIWRlZmF1bHQ7XG5cbiRiby1jYXJvdXNlbC14cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI4cHggIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwteHMtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOHB4ICFkZWZhdWx0O1xuIFxuLyogY2Fyb3VzZWwtY29udHJvbHMtdjEgKi9cbiRiby1jYXJvdXNlbC1jb250cm9scy12MS1jb2xvcjogICAgICAgICAgICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjEtaG92ZXItY29sb3I6ICAgICAgICAgICAgICBkYXJrZW4oJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYxLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYxLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpICFkZWZhdWx0O1xuXG4vKiBjYXJvdXNlbC1jb250cm9scy12MiAqL1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIzk5OSAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1jb250cm9scy12Mi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIGRhcmtlbigkYm8tY2Fyb3VzZWwtY29udHJvbHMtdjItY29sb3IsIDI1JSkgIWRlZmF1bHQ7XG5cbi8qIGNhcm91c2VsLWNvbnRyb2xzLXYzICovXG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjMtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1jb250cm9scy12My1ob3Zlci1iZzogICAgICAgICAgICAgICAgICRlbGVtZW50LWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cblxuXG4vKiBOYXZpZ2F0aW9uIFN0eWxlcyAqL1xuXG4vKiBjYXJvdXNlbC1pbmRpY2F0b3JzLXYxICovXG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12MS1iZzogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjEtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cbi8qIGNhcm91c2VsLWluZGljYXRvcnMtdjIgKi9cbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXYyLWJnOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12Mi1ob3Zlci1iZzogICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcblxuLyogY2Fyb3VzZWwtaW5kaWNhdG9ycy12MyAqL1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjMtYmc6ICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12My1ob3Zlci1iZzogICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcblxuLyogY2Fyb3VzZWwtaW5kaWNhdG9ycy12NCAqL1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12NC1ob3Zlci1iZzogICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcblxuXG4vKiBjYXJvdXNlbC1pbmRpY2F0b3JzLXY1ICovXG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12NS1iZzogICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXY1LWhvdmVyLWJnOiAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG4vKiBjYXJvdXNlbC1pbmRpY2F0b3JzLXY2ICovXG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12Ni1iZzogICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXY2LWhvdmVyLWJnOiAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG4gLyogLS0tIFNDU1MgRm9yIENvdW50ZXJzIC0tLSAqLyRiby1jb3VudGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRiby1jb3VudGVyLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICA4MDA7XG4kYm8tY291bnRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgMzZweDtcblxuJGJvLWNvdW50ZXItaWNvbi1mb250LXNpemU6ICAgICAgICAgIDQ2cHg7XG4kYm8tY291bnRlci1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAgICAgNzAwO1xuXG4gLyogLS0tIFNDU1MgRm9yIEhlYWRpbmcgLS0tICovJGJvLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3M7XG5cbiAvKiAtLS0gU0NTUyBGb3IgSWNvbi1ib3ggLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgSW50ZXJhY3RpdmUtYmFubmVyIC0tLSAqL1xuXG4gLyogLS0tIFNDU1MgRm9yIExhdGVzdC1wb3N0cyAtLS0gKi8vKiBsYXRlc3QgcG9zdHMgKi9cbiRiby1sYXRlc3QtcG9zdHMtY29sb3I6ICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XG4kYm8tbGF0ZXN0LXBvc3RzLWEtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwO1xuJGJvLWxhdGVzdC1wb3N0cy1hLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmVkO1xuJGJvLWxhdGVzdC1wb3N0cy1mb250LXNpemU6ICAgICAgICAgICAgICAgMTRweDtcbiRiby1sYXRlc3QtcG9zdHMtdGl0bGUtZm9udC1zaXplOiAgICAgICAgIDE4cHg7XG5cbiRiby1sYXRlc3QtcG9zdHMtcHJvZmlsZS1mb250LXNpemU6ICAgICAgIDEzcHg7XG4kYm8tbGF0ZXN0LXBvc3RzLXByb2ZpbGUtY29sb3I6ICAgICAgICAgICAjNjk2OTY5O1xuXG4gLyogLS0tIFNDU1MgRm9yIExpc3QgLS0tICovLyogdmFyaWFibGVzIGZvciBsaXN0ICovXG4kYm8tbGlzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0OyBcbiRiby1saXN0LWEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRiby1saXN0LWNvbG9yICFkZWZhdWx0OyBcbiRiby1saXN0LWEtY29sb3ItaG92ZXI6ICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICAhZGVmYXVsdDtcblxuLyogdmFyaWFibGVzIGZvciBsaXN0IGxpZ2h0ICovXG5cbiRiby1saXN0LWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNGRkZGRkYgIWRlZmF1bHQ7IFxuJGJvLWxpc3QtbGlnaHQtYS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGJvLWxpc3QtbGlnaHQtY29sb3IgIWRlZmF1bHQ7IFxuJGJvLWxpc3QtbGlnaHQtYS1jb2xvci1ob3ZlcjogICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgICFkZWZhdWx0O1xuXG5cbiAvKiAtLS0gU0NTUyBGb3IgTWVzc2FnZSAtLS0gKi9cblxuIC8qIC0tLSBTQ1NTIEZvciBOZXdzbGV0dGVyIC0tLSAqLyRuZXdzbGV0dGVyLXYyLWJnICAgICAgICAgICAgOiBsaWdodGVuKCRncmF5LWxpZ2h0LCA1MCUpICFkZWZhdWx0O1xuJG5ld3NsZXR0ZXItdjMtYmcgICAgICAgICAgICA6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cblxuIC8qIC0tLSBTQ1NTIEZvciBQaWVjaGFydCAtLS0gKi9cblxuIC8qIC0tLSBTQ1NTIEZvciBQcmljaW5nIC0tLSAqL1xuXG4gLyogLS0tIFNDU1MgRm9yIFByb2Nlc3Mtc3RlcHMgLS0tICovLyogcHJvY2Vzcy1zdGVwcyAqL1xuJGJvLXByb2Nlc3Mtc3RlcHMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICMwMDA7XG4kYm8tcHJvY2Vzcy1zdGVwcy1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzAwMDtcblxuJGJvLXByb2Nlc3Mtc3RlcHMtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzO1xuJGJvLXByb2Nlc3Mtc3RlcHMtYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzO1xuXG4gLyogLS0tIFNDU1MgRm9yIFNlcnZpY2UgLS0tICovLyogdmFyaWFibGVzIGZvciB0YWIgc3R5bGUxIHVzaW5nIGFzIGJhc2Ugb2YgdGFiICovXG5cblxuIC8qIC0tLSBTQ1NTIEZvciBTdHlsZS1pY29uIC0tLSAqLy8qIFZhcmlhYmxlcyBpY29ucyBkZWZhdWx0ICovXG4kYm8tc3R5bGUtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjZmZmIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRiby1zdHlsZS1pY29uLWJnLCA1JSkhZGVmYXVsdDtcblxuLyogVmFyaWFibGVzIGljb25zIGJvZGVyZWQgKi9cbiRiby1zdHlsZS1pY29uLWJvZGVyZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1ib2RlcmVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJvLXN0eWxlLWljb24tYm9kZXJlZC1jb2xvciwgMTAlKSFkZWZhdWx0O1xuXG4vKiBWYXJpYWJsZXMgaWNvbnMgZGFya2VyICovXG4kYm8tc3R5bGUtaWNvbi1kYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tZGFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLWRhcmtlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAjMDAwIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1kYXJrZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkYm8tc3R5bGUtaWNvbi1kYXJrZXItYmcsIDM1JSkhZGVmYXVsdDtcblxuLyogVmFyaWFibGVzIGljb25zIGxpZ2h0ICovXG4kYm8tc3R5bGUtaWNvbi1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjMDAwIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAjZmZmIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1saWdodC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAjZjBmMGYwIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1saWdodC1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGJvLXN0eWxlLWljb24tbGlnaHQtYmcsIDEwJSkhZGVmYXVsdDtcblxuLyogVmFyaWFibGVzIGljb25zIHBsYWluICovXG4kYm8tc3R5bGUtaWNvbi1wbGFpbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tcGxhaW4taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIzAwMCFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tcGxhaW4tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLXBsYWluLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBmb3IgbGlnaHQgc3R5bGUgKi9cbiRiby1saWdodC1zdHlsZS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzIWRlZmF1bHQ7XG4kYm8tbGlnaHQtc3R5bGUtaWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyFkZWZhdWx0O1xuJGJvLWxpZ2h0LXN0eWxlLWljb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigjZmZmLCA1JSkhZGVmYXVsdDtcblxuJGJvLWxpZ2h0LXN0eWxlLWljb24tYm9kZXJlZC1jb2xvcjogICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLWxpZ2h0LXN0eWxlLWljb24tYm9kZXJlZC1ob3Zlci1jb2xvcjogICAgICAgICAgZGFya2VuKCNmZmYsIDUlKSFkZWZhdWx0O1xuJGJvLWxpZ2h0LXN0eWxlLWljb24tYm9kZXJlZC1iZzogICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLWxpZ2h0LXN0eWxlLWljb24tYm9kZXJlZC1ob3Zlci1iZzogICAgICAgICAgICAgZGFya2VuKCNmZmYsIDUlKSFkZWZhdWx0O1xuXG4vKiBWYXJpYWJsZXMgaWNvbnMgb3V0bGluZSAqL1xuXG4kaWNvbnMtb3V0bGluZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZDFkNjQ2IWRlZmF1bHQ7XG4kaWNvbnMtb3V0bGluZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCFkZWZhdWx0O1xuJGljb25zLW91dGxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGljb25zLW91dGxpbmUtY29sb3IhZGVmYXVsdDtcbiRpY29ucy1vdXRsaW5lLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcdFx0XG4kaWNvbnMtb3V0bGluZS1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkaWNvbnMtb3V0bGluZS1jb2xvciFkZWZhdWx0O1xuJGljb25zLW91dGxpbmUtaG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29ucy1vdXRsaW5lLWhvdmVyLWJnLCA1JSkhZGVmYXVsdDtcblxuLyogVmFyaWFibGVzIGljb25zIGludmVyc2UgKi9cblxuJGljb25zLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGljb25zLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2QxZDY0NiFkZWZhdWx0O1xuJGljb25zLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29ucy1pbnZlcnNlLWJnLCA1JSkhZGVmYXVsdDtcbiRpY29ucy1pbnZlcnNlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICNkMWQ2NDYhZGVmYXVsdDtcdFxuJGljb25zLWludmVyc2UtaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IWRlZmF1bHQ7XG4kaWNvbnMtaW52ZXJzZS1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAkaWNvbnMtaW52ZXJzZS1iZyFkZWZhdWx0O1xuXG5cbiAvKiAtLS0gU0NTUyBGb3IgVGFibGUgLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgVGFicyAtLS0gKi9cbi8qIHZhcmlhYmxlcyBmb3IgdGFiIHN0eWxlMSB1c2luZyBhcyBiYXNlIG9mIHRhYiAqL1xuJGJvLXRhYnMtYS1jb2xvcjokbGlnaHQtZ3JheSAhZGVmYXVsdDsgXG4kYm8tdGFicy1hLWNvbG9yLWFjdGl2ZTokZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG5cbiRiby10YWJzLXBhZGRpbmc6IDEwcHggMjBweCAhZGVmYXVsdDsgXG4kYm8tdGFicy1iYWNrZ3JvdW5kOiAjNWQ0ZTU3ICFkZWZhdWx0O1xuJGJvLXRhYnMtYmFja2dyb3VuZC1ob3ZlcjogI2Y2ZjZmNiAhZGVmYXVsdDtcbiRiby10YWJzLWNvbnRlbnQtYmFja2dyb3VuZDojZjZmNmY2ICFkZWZhdWx0O1xuXG4kYm8tdGFicy1ib3JkZXItY29sb3IgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJvLXRhYnMtY29udGVudC1ib3JkZXI6ICAycHggc29saWQgJGJvLXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJvLXRhYnMtY29udGVudC1wYWRkaW5nOiAxNXB4IDIwcHghZGVmYXVsdDtcblxuXG4vKiB0YWIgc3R5bGUgdmVyc2lvbiA1ICovXG4kYm8tdGFicy1wcmltYXJ5LWJhY2tncm91bmQtaG92ZXI6IzAwMDAwMCFkZWZhdWx0O1xuJGJvLXRhYnMtcHJpbWFyeS1iYWNrZ3JvdW5kOiNGRkZGRkYgIWRlZmF1bHQ7XG5cbi8qIHRhYiBzdHlsZSB2ZXJzaW9uIDYgKi9cbiRiby10YWJzLXY2LWhlYWRpbmctYmFja2dyb3VuZDogI0ZGRkZGRiAhZGVmYXVsdDsgXG5cbiRiby10YWJzLXY2LWEtY29sb3IgOiAjMDAwMDAwICFkZWZhdWx0O1xuJGJvLXRhYnMtdjYtYS1jb2xvci1hY3RpdmU6cmVkICFkZWZhdWx0O1xuJGJvLXRhYnMtdjYtaGVhZGluZy1wYWRkaW5nOiAxMHB4IDIwcHg7XG4kYm8tdGFicy12Ni1oZWFkaW5nLWJvcmRlci10b3AtY29sb3I6IzAwMDAwMCAhZGVmYXVsdDsgXG5cbiRiby10YWJzLXY2LWhlYWRpbmctYm9yZGVyLWNvbG9yOiNlZWUgIWRlZmF1bHQ7ICBcbiRiby10YWJzLXY2LWNvbnRlbnQtYm9yZGVyLWNvbG9yOjFweCBzb2xpZCAkYm8tdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiAvKiAtLS0gU0NTUyBGb3IgVGVzdGltb25pYWxzIC0tLSAqLy8qIHRlc3RpbW9uaWFscyBkZWZhdWx0ICovXG4kYm8tdGVzdGltb25pYWxzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XG4kYm8tdGVzdGltb25pYWxzLWEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XG4kYm8tdGVzdGltb25pYWxzLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XHRcdFx0XHRcdFx0XHRcblxuXG4vKiB0ZXN0aW1vbmlhbHMtdjEgKi9cbiRiby10ZXN0aW1vbmlhbHMtdjEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY5Njk2OTtcbiRiby10ZXN0aW1vbmlhbHMtdjEtYS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY5Njk2OTtcbiRiby10ZXN0aW1vbmlhbHMtdjEtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgI2YzZjNmMztcbiRiby10ZXN0aW1vbmlhbHMtdjEtbGlnaHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgI2YzZjNmMztcbiRiby10ZXN0aW1vbmlhbHMtdjEtbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzU1NTtcblxuLyogdGVzdGltb25pYWxzIGxpZ2h0ICovXG4kYm8tdGVzdGltb25pYWxzLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kYm8tdGVzdGltb25pYWxzLWxpZ2h0LWEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kYm8tdGVzdGltb25pYWxzLWxpZ2h0LWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG5cblxuXG4gLyogLS0tIFNDU1MgRm9yIFR5cG9ncmFwaHkgLS0tICovXG4kYm8tYmxvY2txdW90ZS1pY29uLWJhY2tncm91bmQgIDogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYm8tYmxvY2txdW90ZS1pY29uLWNvbG9yICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdDtcbiRiby1ibG9ja3F1b3RlLWljb24tZm9udC1zaXplICAgOiAxN3B4ICFkZWZhdWx0O1xuJGJvLWJsb2NrcXVvdGUtaWNvbi1saW5lLWhlaWdodCA6IDIycHggIWRlZmF1bHQ7XG5cbiRiby1ibG9ja3F1b3RlLWNvbG9yICAgICAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0O1xuIiwiLyoqXG4gKiAgIEJsb2NrcyBMYXlvdXQgU2VsZWN0b3JzXG4gKi9cbiRibG9jay1wcmVmaXggICAgICAgICAgICAgICAgICAgIDogJ3dpZGdldCcgIWRlZmF1bHQ7XG4kYmxvY2stc2VsZWN0b3IgICAgICAgICAgICAgICAgICA6ICd3aWRnZXQgJyAhZGVmYXVsdDtcbiRibG9jay1oZWFkaW5nLXNlbGVjdG9yICAgICAgICAgIDogJ3dpZGdldC10aXRsZSwgLndpZGdldHRpdGxlJyAhZGVmYXVsdDtcbiRibG9jay1jb250ZW50LXNlbGVjdG9yICAgICAgICAgIDogJ3dpZGdldC1jb250ZW50JyAhZGVmYXVsdDtcbiRibG9jay1oZWFkaW5nLXJldmVyc2VkLXNlbGVjdG9yIDogJ3dpZGdldC10aXRsZS1yZXZlcnNlZCcgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXByZWZpeCAgICAgICAgICAgICAgICA6ICd3cGItY29udGFpbmVyJyAhZGVmYXVsdDtcblxuXG5cbi8vIEJveCBNb2R1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmxvY2stbW9kdWxlLW1hcmdpbi1ib3R0b20gICAgICAgICAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvci1iYXNlICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuXG4kYmxvY2stbW9kdWxlLWhlYWRpbmctY29sb3JcdFx0XHRcdFx0XHQ6ICMwMDAwMDAgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctYm9yZGVyICAgICAgICAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy10cmFuc2Zvcm0gICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1saW5lLWhlaWdodCAgICAgICAgICAgICAgIDogbm9ybWFsICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWJnICAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1wYWRkaW5nICAgICAgICAgICAgICAgICAgIDogMjBweCAwICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgOiAwIDAgMTBweCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1mb250LXNpemUgICAgICAgICAgICAgICAgIDogMTZweCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1mb250LXdlaWdodCAgICAgICAgICAgICAgIDogNzAwICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtZmFtaWx5ICAgICAgICAgICAgICAgOiAkZm9udC1mYW1pbHktYmFzZSAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1zaG93LXNlcGFyYXRvciAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1pbWFnZS1wb3NpdGlvbiAgICAgICAgICAgIDogMCAwICFkZWZhdWx0O1xuXG4kYmxvY2stbW9kdWxlLWNvbnRlbnQtYmcgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtY29udGVudC1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogMXB4IHNvbGlkICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWNvbnRlbnQtcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWNvbnRlbnQtbWFyZ2luICAgICAgICAgICAgICAgICAgICA6IDFweCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtY29udGVudC1yYWRpdXMgICAgICAgICAgICAgICAgICAgIDogMHB4ICFkZWZhdWx0O1xuXG4kYmxvY2stbW9kdWxlLWhpZ2hsaWdodGVkLWJnICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGlnaGxpZ2h0ZWQtYm9yZGVyICAgICAgICAgICAgICAgIDogc29saWQgMnB4ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcblxuJGJsb2NrLW1vZHVsZS1mb290ZXItaGVhZGluZy1jb2xvciAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRibG9jay1wcm9kdWN0LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRibG9jay1oZWFkaW5nLWxldHRlci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuLy8gU2lkZWJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJsb2NrLXNpZGViYXItbW9kdWxlLWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItYm94LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0OyBcbiRibG9jay1zaWRlYmFyLWJveC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDMwcHggIWRlZmF1bHQ7XG5cbiRibG9jay1zaWRlYmFyLWxpc3QtcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgICAgIDogMTNweCAwcHggMTNweCAxM3B4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGlzdC1ib3JkZXItY29sb3IgICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LW1hcmdpbiBcdFx0XHRcdDogMCAwIDIwcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLW1hcmdpbiAgICAgICAgICAgIFx0XHQ6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtYmcgICAgICAgICAgICA6ICRub2NvbG9yICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LXBhZGRpbmcgICAgICAgOiAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LW1hcmdpbiAgICBcdDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1jb2xvciAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LW1hcmdpbi1ib3R0b20gOiAwcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtZm9udC1zaXplICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtZm9udC13ZWlnaHQgICA6IDkwMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtY29udGVudC1iZ1x0XHRcdDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWNvbnRlbnQtY29sb3JcdFx0XHQ6ICM2NjY2NjYgIWRlZmF1bHQ7IFxuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1jb250ZW50LXBhZGRpbmdcdFx0OiAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1ib3JkZXIgICBcdFx0XHRcdDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKSAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtZm9udC1zaXplIFx0XHRcdDogMTJweCAhZGVmYXVsdDtcdFxuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC10cmFuc2Zvcm0gXHRcdFx0OiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWZvbnQtd2VpZ2h0XHRcdFx0OiAzMDAgIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XG4kYmxvY2stc2lkZWJhci1saW5rLWhpZ2h0bGlnaHQtY29sb3IgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpbmstaGlnaHRsaWdodC1ob3Zlci1jb2xvciAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGlzdC1oaWdodGxpZ2h0LWJvcmRlci1jb2xvciAgICAgOiAjMzkzOTM5ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGlzdC1oaWdodGxpZ2h0LWZvbnQtc2l6ZSAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGlzdC1oaWdodGxpZ2h0LXBhZGRpbmcgICAgICAgICAgOiAxN3B4IDE1cHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWhpZ2h0bGlnaHQtaW1hZ2UgICAgICAgICAgICA6IHVybCgnI3skaW1hZ2UtdGhlbWUtcGF0aH1kb3QuanBnJykgMCAyMnB4IG5vLXJlcGVhdCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaW1hZ2UgICAgICAgICAgICAgICAgICAgICAgIDogdXJsKCcjeyRpbWFnZS10aGVtZS1wYXRofWRvdC5qcGcnKSAwIDIycHggbm8tcmVwZWF0ICFkZWZhdWx0O1xuXG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLXBhZGRpbmcgICAgICAgICAgICAgICAgICA6IDAgMCAzMHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1tYXJnaW4gICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1mb250LXNpemUgICAgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7IFxuJGJsb2NrLXNpZGViYXItaGVhZGluZy1saW5lLWhlaWdodCAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1mb250LXdlaWdodFx0XHRcdFx0OiA5MDAgIWRlZmF1bHQ7XG5cbiRibG9jay1zaWRlYmFyLXdpZGdldC1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMyUpICFkZWZhdWx0O1xuXG4vKioqKioqKioqIExBWU9VVCAqKioqKioqKioqKioqKi8iLCIvLyBTdGFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjb21wYXJlLXBvc2l0aW9uLWltYWdlXHRcdFx0XHRcdDogY2VudGVyIC00N3B4ICFkZWZhdWx0O1xuJHdpc2hsaXN0LXBvc2l0aW9uLWltYWdlXHRcdFx0XHQ6IGxlZnQgLTQ3cHggIWRlZmF1bHQ7XG4kcXVpY2t2aWV3LXBvc2l0aW9uLWltYWdlXHRcdFx0XHQ6IHJpZ2h0IC00N3B4ICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nLWNvbG9yICAgICAgICAgICAgICAgICAgICAgIDogI0ZBQ0M2OCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZy1hY3RpdmUtY29sb3IgICAgICAgICAgICAgICA6ICNGQUNDNjggIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmctZm9udC1zaXplICAgICAgICAgICAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xuLy8gU2FsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNhbGUtbGFiZWwtZm9udC1zaXplICAgICAgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICA6IDUwMCAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjZmI0OTQ5ICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtY29sb3IgICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtYWxpZ24gICAgICAgICAgICAgICAgICAgICAgIDogY2VudGVyICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbi8vIE1pbmkgY2FydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG1pbmktY2FydC1mb250LXNpemUgICAgICAgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvci1zZWNvbmRhcnkgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LXJvdW5kZWQgICAgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICA6IDhweCAxM3B4ICFkZWZhdWx0O1xuJG1pbmktY2FydC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgIDogMzZweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtY29sb3IgICAgICAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtZHJvcGRvd24tc2l6ZSAgICAgICAgICAgICAgICA6IDMyMHB4ICFkZWZhdWx0O1xuJG1pbmktY2FydC10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgIDogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLyBGaWx0ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm9kdWN0cy10b3Atd3JhcC1iZyAgICAgICAgICAgICAgIDogJHdoaXRlICAhZGVmYXVsdDtcbiRwcm9kdWN0cy10b3Atd3JhcC1jb2xvclx0XHRcdDogI0ZGRiAhZGVmYXVsdDtcblxuJHByb2R1Y3RzLXRvcC13cmFwLWJvcmRlci1jb2xvclx0ICAgIDogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8gUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb2R1Y3QtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgOiAwcHggc29saWQgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCA0MHB4IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1hbGlnbm1lbnQgICAgICAgICAgICAgICAgICAgICAgOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgOiAxM3B4ICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1mb250LXdlaWdodCAgICAgICAgICAgICAgIDogbm9ybWFsICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1saW5lLWhlaWdodCAgICAgICAgICAgICAgIDogMThweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtY29sb3IgICAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtbWFyZ2luICAgICAgICAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgOiAzNnB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1ob3Zlci1jb2xvciAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktY29sb3IgICAgICAgICAgICAgICAgIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1ob3Zlci1jb2xvciAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1mb250LXNpemUgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktYmcgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktcGFkZGluZyAgICAgICAgICAgICAgIDogMThweCAxMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktYm9yZGVyLWNvbG9yICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1ib3JkZXItaG92ZXItY29sb3IgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktZm9udC13ZWlnaHQgICAgICAgICAgIDogMzAwICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zdHlsZSAgICAgICAgICAgIDogaXRhbGljICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktbWFyZ2luICAgICAgICAgICAgICAgIDogMHB4IDAgOHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2UtY29sb3IgICAgICAgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2Utb2xkLWNvbG9yICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2UtZm9udC1zaXplICAgICAgICAgICAgICAgIDogMTZweCAhZGVmYXVsdDtcbiRwcm9kdWN0LXByaWNlLWZvbnQtd2VpZ2h0XHRcdCAgICAgICAgOiBib2xkICFkZWZhdWx0O1xuJHByb2R1Y3QtYnV0dG9uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1ib3JkZXIgICAgICAgICAgICAgICAgICA6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtYnV0dG9uLWJnICAgICAgICAgICAgICAgICAgICAgIDogI2YxYmEyNyAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1wYWRkaW5nICAgICAgICAgICAgICAgICA6IDE1cHggMzBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1ob3Zlci1jb2xvciAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1ob3Zlci1ib3JkZXIgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1ob3Zlci1iZyAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWxpbmstY29sb3IgICAgICAgICAgICAgICAgICAgICA6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJvZHVjdC1saW5rLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLXdpZHRoICAgICAgICAgICAgICAgICAgICAgOiA2OXB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtaWNvbi1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogNDBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24tYmcgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24tY29sb3IgICAgICAgICAgICAgICAgICAgICA6ICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtaWNvbi1mb250LXNpemUgICAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi13aWR0aCAgICAgICAgICAgICAgICAgICA6IDEwM3B4ICFkZWZhdWx0O1xuJHByb2R1Y3QtcmF0aW5nLW1hcmdpbiAgICAgICAgICAgICAgICAgIDogMCAwICR0aGVtZS1tYXJnaW4gMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRodW1ibmFpbC1nYWxsZXJ5LXNpemUgICAgICAgICA6IDExNXB4ICFpbXBvcnRhbnQ7XG5cbi8vIFNpbmdsZSBQcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kc2luZ2xlLXByaWNlLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgOiA5MDAgIWRlZmF1bHQ7XG4kc2luZ2xlLW5ldy1wcmljZS1jb2xvciAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kc2luZ2xlLW5ldy1wcmljZS1mb250LXNpemUgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJHNpbmdsZS1uZXctcHJpY2UtZm9udC13ZWlnaHQgICAgICAgICAgIDogOTAwICFkZWZhdWx0O1xuJHNpbmdsZS1uZXctcHJpY2UtbGluZS1oZWlnaHQgICAgICAgICAgIDogMS40ICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLWxpbmUtaGVpZ2h0ICAgICAgIDogMS4xMTExMSAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS1mb250LXNpemUgICAgICAgICA6IDI0cHggIWRlZmF1bHQ7XG4kc2luZ2xlLXByb2R1Y3QtdGl0bGUtZm9udC13ZWlnaHQgICAgICAgOiA3MDAgIWRlZmF1bHQ7XG4kc2luZ2xlLXByb2R1Y3QtdGl0bGUtbWFyZ2luICAgICAgICAgICAgOiAwIDAgMTBweCAwICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLXRyYW5zZm9ybSAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcblxuJHNpbmdsZS1wcm9kdWN0LXN1bW1hcnktZm9udC1zaXplICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4vLyB3b29jb21tZXJjZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kd29vY29tbWVyY2UtdGFicy1wYWRkaW5nICAgICAgICAgICAgICAgOiAxMHB4IDAgMzBweCAwICFkZWZhdWx0O1xuJHdvb2NvbW1lcmNlLXRhYnMtYm9yZGVyICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiR3b29jb21tZXJjZS10YWJzLW1hcmdpbiAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG5cbi8vIFF1aWNrdmlldyBQcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcXVpY2t2aWV3LXByb2R1Y3QtdGl0bGUtZm9udC1zaXplICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJHF1aWNrdmlldy1wcm9kdWN0LXRpdGxlLXRyYW5zZm9ybSAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRxdWlja3ZpZXctcHJvZHVjdC1jb250ZW50LW1hcmdpbiAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG5cbi8vIFdpZGdldCBQcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1zaXplICAgICAgICAgICAgICAgOiA4MHB4ICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtcGFkZGluZyAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LW1hcmdpbiAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWJvcmRlciAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1mb250LXNpemUgICAgICAgICAgOiAxM3B4ICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1mYXJtaWx5ICAgICAgIDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yXHRcdFx0XHQ6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtd2VpZ2h0XHRcdDogbm9ybWFsICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtdGV4dC10cmFuc2Zvcm1cdFx0OiB1cHBlcmNhc2UgIWRlZmF1bHQ7O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtcHJpY2Utb2xkLWNvbG9yXHQ6ICM2NjY2NjYgIWRlZmF1bHQ7XG5cbiR3aWRnZXQtcHJvZHVjdC1zcGVjaWFsLW1hcmdpblx0XHRcdDogMCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1zcGVjaWFsLXBhZGRpbmdcdFx0XHQ6IDAgMTBweCAxMHB4IDQwcHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3Qtc3BlY2lhbC1mb250LXNpemVcdFx0OiAxNHB4ICFkZWZhdWx0O1xuXG4vLyBTaWRlYmFyIFdpZGdldCBQcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmxvY2stc2lkZWJhci13aWRnZXQtcHJvZHVjdC1saXN0LXNpemUgOiA4MHB4ICFkZWZhdWx0O1xuXG4vLyBQcm9kdWN0IENhdGVnb3J5IGFuZCBTdWJjYXRlZ29yeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb2R1Y3QtY2F0ZWdvcnktY29udGVudC1tYXJnaW4gICAgICAgIDogMCAwICRncmlkLWd1dHRlci13aWR0aCAwO1xuJHByb2R1Y3QtY2F0ZWdvcnktY29udGVudC1oZWlnaHQgICAgICAgIDogNDVweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLWNvbG9yICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLW1hcmdpbiAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1wYWRkaW5nICAgICAgICAgOiAxNXB4IDEwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1iZyAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1mb250LXNpemUgICAgICAgOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1mb250LXdlaWdodCAgICAgOiAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuXG4vLyBXaWRnZXQgZGVhbHMgcHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGRlYWxzLXRpbWVzLXBhZGRpbmc6XHRcdFx0XHRcdCAgNXB4IDAgIWRlZmF1bHQ7XG4kZGVhbHMtdGltZXMtYmc6XHRcdFx0XHRcdFx0ICByZWQgIWRlZmF1bHQ7IFxuJGRlYWxzLXRpbWVzLWNvbG9yOlx0XHRcdFx0XHRcdCAgI2ZmZiAhZGVmYXVsdDsgICBcbiRkZWFscy10aW1lcy1mb250LWZhbWlseTpcdFx0XHRcdCAgJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDsgIFxuJGRlYWxzLXRpbWVzLWZvbnQtc2l6ZTpcdFx0XHRcdFx0ICAxMHB4ICFkZWZhdWx0O1xuIiwiLndpZGdldF9uYXZfbWVudSB1bHtcbiAgICBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgV2lkZ2V0IFByaWNlIEZpbHRlclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53aWRnZXRfcHJpY2VfZmlsdGVyIHtcbiAgICAucHJpY2Vfc2xpZGVyX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbiAgICAudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucHJpY2Vfc2xpZGVyX3dyYXBwZXIgLnVpLXdpZGdldC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wcmljZV9zbGlkZXJfYW1vdW50IC5idXR0b257XG4gICAgICAgIHBhZGRpbmc6MTVweCAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiNmNmY2ZjY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBQcm9kdWN0IExpc3QgV2lkZ2V0XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLndvb2NvbW1lcmNle1xuICAgIHVsLnByb2R1Y3RfbGlzdF93aWRnZXR7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIGRlbHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtc2l6ZSArIDE7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5ze1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICR3aWRnZXQtcHJvZHVjdC1saXN0LXNpemU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLWxlZnQoMCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLW1hcmdpbi1yaWdodCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3Rhci1yYXRpbmd7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZHVjdC10aXRsZXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR3aWRnZXQtcHJvZHVjdC1saXN0LXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogU3R5bGluZyBzcGVjaWFsIHByb2R1Y3QgYmxvY2suXG4gKi9cbi5wcm9kdWN0cy1jb2xsZWN0aW9ue1xuICAgIC5vd2wtY2Fyb3VzZWwtcGxheSAuY2Fyb3VzZWwtY29udHJvbHtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgfVxufVxuLnByb2R1Y3RzLnJlbGF0ZWQgaDIsIC5wcm9kdWN0ID4gI3Jldmlld3MgPiBoMywgLnByb2R1Y3RzLnVwc2VsbHMgaDIge1xuICAgIGNvbG9yOiAkYmxvY2stbW9kdWxlLWhlYWRpbmctY29sb3I7XG4gICAgcGFkZGluZzogJGJsb2NrLW1vZHVsZS1oZWFkaW5nLXBhZGRpbmcgMDtcbiAgICBtYXJnaW46ICRibG9jay1tb2R1bGUtaGVhZGluZy1tYXJnaW47XG4gICAgZm9udC1zaXplOiAkYmxvY2stbW9kdWxlLWhlYWRpbmctZm9udC1zaXplO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZXR0ZXItc3BhY2luZzoycHg7XG4gICAgei1pbmRleDogMTA7IFxufVxuLnByb2R1Y3QgPiAjcmV2aWV3cyB7XG5cdGJvcmRlcjpzb2xpZCAxcHggJGJvcmRlci1jb2xvcjtcblx0bWFyZ2luLWJvdHRvbTogICRibG9jay1tb2R1bGUtbWFyZ2luLWJvdHRvbSA7XG59XG5cbi8qKlxuICogRGVhbCBNb2R1bGVzXG4gKi9cblxuIC53b28tZGVhbHN7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgLmNhcm91c2VsLWlubmVye1xuICAgICAgICBvdmVyZmxvdzp2aXNpYmxlO1xuICAgIH1cbiAgICAub3dsLWNhcm91c2VsLXBsYXl7XG4gICAgICAgIG1hcmdpbjowO1xuICAgIH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbXtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnByb2R1Y3QtYmxvY2t7XG4gICAgICAgIC5pbWFnZXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogNDQlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kZWFscy1pbmZvcm1hdGlvbntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTokZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtZ3V0dGVyLXdpZHRoICsgMTA7XG4gICAgICAgIC5uYW1le1xuICAgICAgICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA5NXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICB9XG4gICAgICAgIC5wcmljZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGluc3tcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXB0aW9ue1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1ndXR0ZXItd2lkdGggKyA1O1xuICAgIH1cbiAgICAuY291bnRkb3duLXRpbWVze1xuICAgICAgICA+IGRpdntcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgICAgIFxuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmNiY2JjO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1yaWdodCgtMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gYntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTsgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IFxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFdpZGdldCBQcm9kdWN0cyBDYXRlZ29yaWVzIE1lbnUgXG4gKi9cbnVsLnByb2R1Y3QtY2F0ZWdvcmllc3tcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpe1xuICAgICAgICAmLmNhdC1wYXJlbnQge1xuICAgICAgICAgICAgLmNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuXHRcdHBhZGRpbmc6MDtcblx0XHRsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jdXJyZW50LWNhdCwmLmN1cnJlbnQtY2F0LXBhcmVudCB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLmNsb3NlZCAsLm9wZW5lZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtcmlnaHQoMTVweCk7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDIwcHgsMjBweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhe1xuICAgICAgICAgICAgcGFkZGluZzoxMHB4IDVweCAxMHB4IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAyMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IFxuXG4vKlxuKiogIG9wYWwgY2F0ZWdvcnkgbGlzdFxuKi9cbi5vcGFsLWNhdGVnb3J5LWxpc3R7XG4gICAgI29wYWwtYWNjb3JkaW9uLWNhdGVnb3JpZXN7XG4gICAgICAgIC5jYXRlZ29yeS10aXRsZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1wYWRkaW5nO1xuICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1wYWRkaW5nLXJpZ2h0KDIwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLXBhZGRpbmctbGVmdCgzMHB4KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCN7JGltYWdlLXRoZW1lLXNraW59bGlzdC1zdHlsZS5wbmcpIG5vLXJlcGVhdCAxNXB4IDI1cHggJG5vY29sb3I7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYS5kcm9wZG93bntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtZmxvYXQtcmlnaHQoKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLWxlZnQoMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudG90YWwtcHJvZHVjdHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsLWNvbGxhcHNle1xuICAgICAgICAgICAgLmNhdGVnb3J5LXRpdGxle1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWZvbnQtc2l6ZSAtIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBDYXJ0XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNhcnRfbGlzdHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgPiBkaXZ7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxuICAgLm5hbWV7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7ICAgXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICB9XG5cbiAgICAuaW1hZ2V7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoODJweCw4MnB4KTtcbiAgICB9XG4gICAgLmNhcnQtaXRlbXtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAgICAgY29sb3I6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJ0LW1haW4tY29udGVudHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXRleHQtYWxpZ24tbGVmdCgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5yZW1vdmV7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtcmlnaHQoMCk7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoZm9udC1zaXplLDI1cHgpO1xuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICArIC50b3RhbHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXRleHQtYWxpZ24tcmlnaHQoKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKyAxIDsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9XaWRnZXQgU2hvcHBpbmcgQ2FydFxuLndpZGdldF9zaG9wcGluZ19jYXJ0IHtcbiAgICAud2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudHtcbiAgICAgICAgLmJ1dHRvbnN7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgTWluaSBDYXJ0XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ub3BhbC10b3BjYXJ0e1xuICAgIC5kcm9wZG93bntcbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgICAgLm1pbmktY2FydHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtbGVmdCgwKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlLCAyMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5kcm9wZG93bi1tZW51e1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICR0aGVtZS1wYWRkaW5nO1xuICAgICAgICBtaW4td2lkdGg6ICRtaW5pLWNhcnQtZHJvcGRvd24tc2l6ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXRleHQtYWxpZ24tbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1yaWdodCgwKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAgICAgQGluY2x1ZGUgc2NhbGUoMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjYxLCAwLjcsIDEpKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgIC5xdWFudGl0eXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZWRpYXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpzb2xpZCAxcHggJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBhe1xuICAgICAgICAgICAgY29sb3I6ICRibGFjayFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3IhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgIFxuICAgIH1cbiAgICAub3BlbntcbiAgICAgICAgLmRyb3Bkb3duLW1lbnV7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY2FsZSgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKDI5cHgsIC01MHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbHRlcihub25lKTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgICAgfVxuICAgIH0gXG5cbiAgICAudG90YWx7XG4gICAgICAgIHBhZGRpbmctdG9wOjIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XG4gICAgfVxuICAgIC5idXR0b25ze1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOjE1cHggMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgXG4gICAgICAgIGF7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICB9ICAgICAgIFxuICAgIH1cbn1cbi5ib3gtdG9we1xuICAgIC5ib3gtdGl0bGV7XG4gICAgICAgIC50aXRsZS1jYXJ0e1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAubWluaS1jYXJ0LWl0ZW1ze1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxOHB4LDE4cHgpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtbGVmdCgxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYm94LWFtb3VudHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuI2NhcnR7XG4gICAgY2xlYXI6Ym90aDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpOyAgICBcbiAgIC5taW5pLWNhcnR7ICAgIFxuICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLm1pbmktY2FydC10b3RhbHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxufVxuLy8vLy8gRWxlbWVudHMgU3R5bGVzIC8vLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy9cbi8qXG4gKiBQcm9kdWN0IERldGFpbCBQYWdlXG4gKi9cbi5wcm9kdWN0LWluZm97XG4gICAgLnByb2R1Y3QtdG9waW5mb3sgICAgICAgICAgXG4gICAgICAgIC5wcm9kdWN0LW5hdntcbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLWxlZnQoNXB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyNSwyMjUsMjI1LDAuNyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMHB4LDMwcHgpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAuZmF7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdF90aXRsZXtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGl2LnJvd3tcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgICAuaW1hZ2Vze1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNleyAgICAgICAgXG4gICAgICAgID4gKnsgICAgICAgICAgIFxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9IFxuICAgICAgICBkZWx7XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1tYXJnaW4tcmlnaHQoNXB4KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzk5OSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7ICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlLWFkZGl0aW9uYWx7XG4gICAgICAgICYub3dsLWNhcm91c2VsLXBsYXl7XG4gICAgICAgICAgICAuY2Fyb3VzZWwtY29udHJvbHN7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoMCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMDBtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5jYXJvdXNlbC1jb250cm9sc3tcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHNwYW4ub25zYWxle1xuICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHgsIDI1cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1sZWZ0KDglKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgfVxufVxuLnNpbmdsZS1wcm9kdWN0LXN1bW1hcnl7ICAgIFxuICAgIC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLXJpZ2h0KDIwcHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjogIzQ0NDQ0NDtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hamF4LWxvYWRpbmd7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZlZWRiYWNre1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH0gICAgICAgIFxuICAgIC5jbGVhcntcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9IFxuICAgIC55aXRoLXdjd2wtd2lzaGxpc3RhZGRlZGJyb3dzZSxcbiAgICAueWl0aC13Y3dsLWFkZC1idXR0b24sXG4gICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZSB7XG4gICAgICAgIGEsXG4gICAgICAgIGEuYWRkX3RvX3dpc2hsaXN0IHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gZGl2e1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxuICAgIC5jb21wYXJle1xuICAgICAgICBjb2xvcjogIzQ0NDQ0NCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMjFcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtcmlnaHQoNXB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlLFxuICAgIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2V7IFxuICAgICAgICAuZmVlZGJhY2sge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLW1hcmdpbi1yaWdodCg0MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiBcbi5wcm9kdWN0aW5mby1zaG93LWRpc2NvdW50cyB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAyO1xuICAgIEBpbmNsdWRlIHJ0bC1wYWRkaW5nLWxlZnQoNzVweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIHVybCgnI3skaW1hZ2UtdGhlbWUtcGF0aH1pY29uLXNob3ctZGlzY291bnRzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICRicmFuZC1zdWNjZXNzO1xuICAgICAgICBAaW5jbHVkZSBzaXplICgzNnB4LDM2cHgpO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoMjBweCk7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYWxlcnQtYm9yZGVyLXJhZGl1cztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xuIFxuICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1tYXJnaW4tbGVmdCg0MHB4KTtcbiAgICAgICAgcGFkZGluZzoxNXB4IDMwcHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICBwYWRkaW5nOiAgM3B4IDA7XG4gICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjE0YVwiO1xuICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1wYWRkaW5nLXJpZ2h0KDhweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vcmV2aWV3c1xuI3Jldmlld3N7XG4gICAgLnJldmlld3Mtc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgaDUge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnJldmlldy1zdW1tYXJ5LXRvdGFse1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIC5yZXZpZXctc3VtbWFyeS1yZXN1bHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoOTBweCwgOTBweCk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZC13YXJuaW5nO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtd2FybmluZztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmV2aWV3LXN1bW1hcnktZGV0YWwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLnJldmlldy1sYWJlbHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb21tZW50c3tcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAuY29tbWVudGxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICAuY29tbWVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5vcGFsLWF2YXRhIHsgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm9wYWwtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAuYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm9wYWwtYXV0aG9yIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50LXRleHQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICAgICAgICAgIC5tZXRhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtZmxvYXQtbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0YXItcmF0aW5nICB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZXZpZXdfZm9ybV93cmFwcGVyIHsgICAgICBcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3N7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgICAgICAgICYucHJvZ3Jlc3MtYmFyZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3JlcGx5LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vIFBhZ2VzIFN0eWxlcyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiBQcm9kdWN0IFNpbmdsZSBQYWdlXG4gKi9cbiBcbi5wcm9kdWN0LWJsb2Nre1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgICAgIFxuICAgIHotaW5kZXg6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBzcGFue1xuICAgICAgICAmLnNhbGUtb2ZmLCYub25zYWxle1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0MHB4LCAyNXB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1kYW5nZXI7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1sZWZ0KDUlKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWFnZXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBpbWd7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgIFxuICAgICAgICB9XG4gICAgICAgIGEsLnByb2R1Y3QtaW1hZ2V7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlLWVmZmVjdHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtbGVmdCgwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTEwMCUsIDBweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzKTtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UtaG92ZXJ7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5pbWFnZS1lZmZlY3R7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKDBweCwwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlLWhvdmVye1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgxMDAlLCAwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBcbiAgICAucHJpY2V7ICAgICAgICBcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtOyAgXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgID4gKntcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICBkZWx7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtcHJpY2Utb2xkLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgc3BhbnsgXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXByaWNlLW9sZC1jb2xvcjsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zeyAgICAgICAgICAgIFxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5uYW1le1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoZm9udC1zaXplLCAkcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfSAgXG4gICAgLmNhdGVnb3J5e1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWNhdGVnb3J5LWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXN0eWxlOiAkcHJvZHVjdC1jYXRlZ29yeS1mb250LXN0eWxlO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoZm9udC1zaXplLCAkcHJvZHVjdC1jYXRlZ29yeS1mb250LXNpemUpO1xuICAgICAgICBhe1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWNhdGVnb3J5LWNvbG9yO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtY2F0ZWdvcnktaG92ZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN0YXItcmF0aW5ne1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHN0YXI7XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNS40ZW07XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFw1M1xcNTNcXDUzXFw1M1xcNTNcIjtcbiAgICAgICAgICAgIGNvbG9yOiAjZDNjZWQyO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIHNwYW57XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuNWVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFw1M1xcNTNcXDUzXFw1M1xcNTNcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHAuc3RhcnMgYXtcbiAgICAgICAgY29sb3I6ICNmMGM3M2I7XG4gICAgfVxuICAgIC5zdGFyLXJhdGluZyBzcGFue1xuICAgICAgICBjb2xvcjogI2YwYzczYjtcbiAgICB9ICAgIFxuICAgIC5jbGVhciwuYWRkZWRfdG9fY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmFkZF90b19jYXJ0X2J1dHRvbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmLmxvYWRpbmd7XG4gICAgICAgICAgICAudGl0bGUtY2FydHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJMb2FkaW5nLi5cIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXG4gICAgICAgICAgICAgICAgfSAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuLmJ1dHRvbi1hY3Rpb257XG4gICAgQGluY2x1ZGUgcnRsLWxlZnQoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzNSU7XG4gICAgaGVpZ2h0OiAwOyAgICBcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMjtcbiAgICA+IGRpdnsgICAgICAgICAgICAgXG4gICAgICAgICYueWl0aC13Y3dsLWFkZC10by13aXNobGlzdCwgJi55aXRoLWNvbXBhcmUsICYucXVpY2stdmlld3tcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBhLmFkZF90b193aXNobGlzdCwgYS5jb21wYXJlLCBhLnF1aWNrdmlldywgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlIGEsIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2UgYXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgICAgICAgICAgaSxlbXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYueWl0aC1jb21wYXJle1xuICAgICAgICAgICAgLmNvbXBhcmUuYWRkZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGVjXCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHgsIDQwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBcbiAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAueWl0aC13Y3dsLXdpc2hsaXN0YWRkZWRicm93c2UsXG4gICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2V7IFxuICAgICAgICAgICAgLmZlZWRiYWNrIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgJi5jbGVhcntcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZC1jYXJ0e1xuICAgICAgICBhe1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2V7XG4gICAgICAgIHNwYW57XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuZGl2W2NsYXNzKj1cImFkZC10by13aXNobGlzdFwiXXtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuYWpheC1sb2FkaW5ne1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cbmEuYWRkX3RvX3dpc2hsaXN0e1xuICAgIGRpc3BsYXk6IGJsb2NrOyAgICBcbn1cbi55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0e1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cblxuLyoqXG4gKiBQcm9kdWN0cyBMaXN0aW5nIEluIEdyaWQgU3R5bGVcbiAqL1xuLnByb2R1Y3RzLWdyaWR7XG4gICAgZGl2LnByb2R1Y3R7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8qICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtZ3V0dGVyLXdpZHRoOyAqL1xuICAgIH1cbiAgICAuZmlyc3R7XG4gICAgICAgIGNsZWFyOmJvdGg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYmxvY2t7ICAgICAgICBcbiAgICAgICAgLmJ1dHRvbi1ncm91cHMge1xuICAgICAgICAgICAgPiBkaXZ7IFxuICAgICAgICAgICAgICAgICYueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICAgICAgICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFqYXgtbG9hZGluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAueWl0aC13Y3dsLXdpc2hsaXN0YWRkZWRicm93c2UsXG4gICAgICAgICAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZXsgXG4gICAgICAgICAgICAgICAgICAgIC5mZWVkYmFjayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmNsZWFye1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gXG59XG4uZ3JpZHtcbiAgICAuYWRkX3RvX3dpc2hsaXN0LC5xdWlja3ZpZXd7XG4gICAgICAgIHNwYW57XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuLnByb2R1Y3RzLWxpc3QsLmxpc3R7ICAgIFxuICAgIC5yYXRpbmd7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgIC5zdGFyLXJhdGluZ3tcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1yaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2xlYXJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICBib3JkZXItYm90dG9tOnNvbGlkIDFweCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAubmFtZXtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5pbWFnZXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtYXNzZXRzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC10ZXh0LWFsaWduLXJpZ2h0KCk7XG4gICAgICAgIH1cbiAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlLFxuICAgICAgICAueWl0aC13Y3dsLWFkZC1idXR0b24sXG4gICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2Uge1xuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIGEuYWRkX3RvX3dpc2hsaXN0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAueWl0aC13Y3dsLXdpc2hsaXN0ZXhpc3RzYnJvd3NlIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYS5jb21wYXJlLGEucXVpY2t2aWV3e1xuICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hZGRlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWRkLWNhcnR7XG4gICAgICAgICAgICBhLmJ1dHRvbntcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgXG4gICAgfVxuICAgIC50eXBlLXByb2R1Y3Q6bGFzdC1jaGlsZCAucHJvZHVjdC1ibG9ja3sgYm9yZGVyLWJvdHRvbTpub25lOyB9XG59XG5cbi8qKlxuICogU2luZ2xlIHByb2R1Y3RcbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBRdWFudGl0eSBpbnB1dHNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucXVhbnRpdHkge1xuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgbWFyZ2luICAgOiAwIGF1dG87XG4gICAgb3ZlcmZsb3cgOiBoaWRkZW47XG4gICAgem9vbSAgICAgOiAxO1xuICAgIHNwYW57XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMjtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1hcmdpbi1yaWdodCg1cHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwtZmxvYXQtbGVmdCgpO1xuICAgIGlucHV0LnF0eSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgcGFkZGluZzoxMHB4OyAgICAgIFxuICAgICAgICBAaW5jbHVkZSBzaXplKDQ1cHgsIDM1cHgpOyAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGx1cywgLm1pbnVzIHtcbiAgICAgICAgYmFja2dyb3VuZCAgICAgIDogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBydGwtZmxvYXQtcmlnaHQoKTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWNsZWFyLXJpZ2h0KCk7XG4gICAgICAgIGRpc3BsYXkgICAgICAgICA6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nICAgICAgICAgOiAwO1xuICAgICAgICBtYXJnaW4gICAgICAgICAgOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbiAgOiB0ZXh0LXRvcDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uIDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3cgICAgICAgIDogdmlzaWJsZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uIDogbm9uZTtcbiAgICAgICAgY3Vyc29yICAgICAgICAgIDogcG9pbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQgICAgIDogMTNweDtcbiAgICAgICAgZm9udC1zaXplICAgICAgIDogMTJweDtcbiAgICAgICAgY29sb3IgICAgICAgICAgIDogJHRleHQtY29sb3I7XG4gICAgICAgIGJvcmRlciAgICAgICAgICA6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMjVweCAsIDE5cHgpO1xuICAgIH1cbiAgICAucGx1cyB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgICAgICAgQGluY2x1ZGUgcnRsLXJpZ2h0ICgwKTtcbiAgICB9XG4gICAgLm1pbnVzIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgQGluY2x1ZGUgcnRsLXJpZ2h0ICgwKTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxufVxuXG5cbi8qIFNpbmdsZSA+IE1ldGEgKi9cbi5wcm9kdWN0X21ldGF7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBwYWRkaW5nOjIwcHggMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGF7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgID4gc3BhbntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgID4gZGl2e1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAgJHRoZW1lLW1hcmdpbiAvIDI7XG4gICAgfVxuICAgIC5wb3N0ZWRfaW4sLnRhZ2dlZF9hc3tcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIH1cbiAgICB9XG59IFxuLnNrdV93cmFwcGVyIHNwYW4ge2NvbG9yOiAkdGV4dC1jb2xvcjsgfVxuXG4vKiBjcm9zcy1zZWxscyAqL1xuLndvb2NvbW1lcmNle1xuICAgIC5jcm9zcy1zZWxscywuY2FydF90b3RhbHN7XG4gICAgICAgIHBhZGRpbmc6MCAyMHB4O1xuICAgICAgICAucHJvZHVjdHN7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vLS0tLS0tLS0tLS0tLS0tXG4uc2luZ2xlLXByb2R1Y3R7XG4gICAgJi53b29jb21tZXJjZSB7XG4gICAgICAgIGRpdi5wcm9kdWN0e1xuICAgICAgICAgICAgZGl2LmltYWdlcyBpbWd7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAucHJpY2V7XG4gICAgICAgICAgICAgICAgY29sb3I6JGdyYXktZGFya2VyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTozMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvcm0uY2FydHsgXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgIFxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7ICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZGl2LnF1YW50aXR5e1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLXJpZ2h0KDEwcHgpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5idXR0b257XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCR0aGVtZS1jb2xvciwgMTAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudmFyaWF0aW9uc3tcbiAgICAgICAgICAgICAgICAgICAgLmxhYmVse1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4OyAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0cntcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVse1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvcm0udmFyaWF0aW9uc19mb3Jte1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcC5jYXJ0e1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmd7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucXVhbnRpdHl7ICAgICAgICAgICAgXG4gICAgICAgICAgICAucXR5e1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgICBcbiAgICAgfSBcbiAgICAuc3VtbWFyeXtcbiAgICAgICBAaW5jbHVkZSBmb250LXNpemUoZm9udC1zaXplLCAkc2luZ2xlLXByb2R1Y3Qtc3VtbWFyeS1mb250LXNpemUpOyAgXG4gICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgICAgIFxuICAgICAgICAuc3Rhci1yYXRpbmd7XG4gICAgICAgICAgICBmb250LXNpemU6MTJweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdF9tZXRhe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6MzBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH0gICAgICAgICAgICBcbiAgICB9XG59XG5cblxuLy8gcHJvZHVjdCB3b29jb21tZXJjZSB0YWJzXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnN7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJsb2NrLW1vZHVsZS1tYXJnaW4tYm90dG9tO1xuICAgIHVsLnRhYnN7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7IFxuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItd2lkdGg7ICAgICBcbiAgICAgICAgbGl7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYm8tdGFicy1hLWNvbG9yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDI7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRiby10YWJzLWEtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUsICYuYWN0aXZlOmJlZm9yZSwgJi5hY3RpdmU6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndjLXRhYntmb250LXNpemU6MTRweDtmb250LXdlaWdodDozMDA7fSAgICBcbiAgICBoMixoM3tcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbi8qKlxuICogQ2F0ZWdvcnkgQW5kIExpc3RpbmcgUGFnZVxuICovXG5cbiAvLyBzdHlsaW5nIHNvcnRvcmRlciBhbmQgZGlzcGxheSBtb2RlXG4ucHJvZHVjdHMtdG9wLXdyYXB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAud29vY29tbWVyY2Utb3JkZXJpbmd7ICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LXJpZ2h0KCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIC5kaXNwbGF5LW1vZGV7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICBjb2xvcjogI2NkY2RjZDsgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgICAgIGJ1dHRvbjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1tYXJnaW4tcmlnaHQoNXB4KTtcbiAgICAgICAgfSBcbiAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhdGVnb3J5LWJhbm5lcntcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ucHJvZHVjdHMtYm90dG9tLXdyYXB7XG4gICAgLndvb2NvbW1lcmNlLXBhZ2luYXRpb257XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7ICAgICAgICBcbiAgICB9XG4gICAgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb257XG4gICAgICAgIHVsLHVsIGxpe1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBzcGFuLmN1cnJlbnR7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzoxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGFkZGluZzoxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50e1xuICAgICAgICBAaW5jbHVkZSBydGwtZmxvYXQtcmlnaHQoKTtcbiAgICAgICAgbWFyZ2luOjhweCAwO1xuICAgIH1cbiAgICBwYWRkaW5nOjEwcHggMjBweDtcbiAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIG1hcmdpbjogMzBweCAwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFF1aWNrdmlld1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiNvcGFsLXF1aWNrdmlldy1tb2RhbHtcbiAgICAubW9kYWwtZGlhbG9ne1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkZWx7XG4gICAgICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZHVjdC1pbmZve1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgLnN1bW1hcnl7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLXJpZ2h0KCRxdWlja3ZpZXctcHJvZHVjdC1jb250ZW50LW1hcmdpbik7XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0X3RpdGxle1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwkcXVpY2t2aWV3LXByb2R1Y3QtdGl0bGUtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdF9tZXRhe1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBwLnByaWNle1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgICAgIGEuYWRkX3RvX2NhcnRfYnV0dG9ue1xuICAgICAgICAgICAgcGFkZGluZzoxNXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgc3Bhbixpe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2xvc2V7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAuZmEsLmljb257XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICNxdWlja3ZpZXctY2Fyb3VzZWx7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAubGVmdHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtbGVmdCgxNXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yaWdodHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtcmlnaHQoMTVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcm91c2VsLWluZGljYXRvcnN7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmFjdGl2ZXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJvdXNlbC1jb250cm9se1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbWFyZ2luOiA0NSUgYXV0bztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNDVzIGVhc2UpO1xuICAgICAgICAmLmxlZnR7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtbGVmdCgtNDVweCk7XG4gICAgICAgIH1cbiAgICAgICAgJi5yaWdodHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1yaWdodCgtNDVweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3d7XG4gICAgbWFyZ2luOiAyMnB4IDAgMTFweDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCAucHJvZHVjdC10aHVtYm5haWwgaW1ne1xuICAgIHdpZHRoOiAgNjBweDtcbn1cbi53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgaW5wdXR7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbn1cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLmdyb3VwX3RhYmxlIHRkLmxhYmVse1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5ydGx7XG4gICAgJi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzLCBcbiAgICAmLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsIFxuICAgICYud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzLCBcbiAgICAmLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG4ucnRse1xuICAgICYud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnksIFxuICAgICYud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnksIFxuICAgICYud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSwgXG4gICAgJi53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuLyoqXG4gKiBDaGVja291dCBQYWdlXG4gKi9cblxuLyoqXG4gKiBUaGFua3MgeW91IHBhZ2VcbiAqL1xuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKlxuICogRm9ybSBTdHlsZXNcbiAqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8vLy8gbm9ybWFsIGJ1dHRvblxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdCwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24sIC53b29jb21tZXJjZSBpbnB1dC5idXR0b257XG4gXHRAaW5jbHVkZSBidXR0b24tdmFyaWFudCggJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuICAgIHBhZGRpbmc6JHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4ud29vY29tbWVyY2UgYS5idXR0b24sIGEueWl0aC13Y3dsLWFkZC1idXR0b257XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAgIFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6JHdoaXRlOyAgICAgICAgXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgIH1cbn1cbi8vLyBzdWJtaXNzaW9uIGJ1dHRvbnNcbiBcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0LCAud29vY29tbWVyY2UgYS5idXR0b24uYWx0LCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQsIC53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0e1xuXHRAaW5jbHVkZSBidXR0b24tdmFyaWFudCggJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gICAgcGFkZGluZzokcHJvZHVjdC1idXR0b24tcGFkZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIFxuLy8vIGFkZCB0byBjYXJ0IGJ1dHRvbiBhbmQgYnV5IHByb2R1Y3QgYnV0dG9uXG4gLndvb2NvbW1lcmNlICBhLmFkZF90b19jYXJ0X2J1dHRvbiwgLndvb2NvbW1lcmNlIGEucHJvZHVjdF90eXBlX2V4dGVybmFsLCAjbWFpbi1jb250YWluZXIgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XG4gICAgaXtcbiAgICAgICAgY29sb3I6ICRncmF5LWRhcms7XG4gICAgfVxuICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgfSBcbn1cbi53b29jb21tZXJjZSAud2lzaGxpc3RfdGFibGUgdGQucHJvZHVjdC1hZGQtdG8tY2FydCBhe1xuICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cbi8vLyBcblxuXG4vKipcbiAqIElucHV0IEZvcm0gU3R5bGVzXG4gKi9cbi8vLy8gaW5wdXQgYW5kIHRleHRhcmVhLiBzdHlsZXMgZXh0ZW5kZWQgZnJvbSBib290c3RyYXAgZm9ybVxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC5pbnB1dC10ZXh0LCAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhLCAgLndvb2NvbW1lcmNlIHNlbGVjdCwgLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCBpbnB1dC5pbnB1dC10ZXh0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG5cdHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcblx0Ym9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcblx0Ym9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG5cdEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG5cdC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cblx0QGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xuXG5cdC8vIFBsYWNlaG9sZGVyXG5cdEBpbmNsdWRlIHBsYWNlaG9sZGVyO1xuXG5cdC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG5cdC8vXG5cdC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG5cdC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG5cdC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cblx0JltkaXNhYmxlZF0sXG5cdCZbcmVhZG9ubHldLFxuXHRmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuXHRcdG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTVcblx0fVxuXG5cdCZbZGlzYWJsZWRdLFxuXHRmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG5cdFx0Y3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuXHR9XG59XG4ud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24sIC53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsIFxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyBpbnB1dCwgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuYnV0dG9uLCBcbi53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXQsIFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24sIC53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXQsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuYnV0dG9uLCBcbi53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIGlucHV0e1xuICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYXtcbiAgIG1pbi1oZWlnaHQ6IDEwMHB4OyAgIFxufVxuLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCBpbnB1dHtcbiAgIGxpbmUtaGVpZ2h0OiAxLjYyODU3O1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0IHtcbiAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOXB4IDtcbn1cblxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93Lndvb2NvbW1lcmNlLXZhbGlkYXRlZCAuc2VsZWN0Mi1jb250YWluZXIsIFxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93Lndvb2NvbW1lcmNlLXZhbGlkYXRlZCBpbnB1dC5pbnB1dC10ZXh0LCBcbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgc2VsZWN0IHtcbiAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvcjtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy1maXJzdCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93LWxhc3QsIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93LWZpcnN0LCAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy1sYXN0e1xufVxuLy8gdGFiXG4ud29vY29tbWVyY2UtdGFic3tcbiAgICAucGFuZWwge1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgbWFyZ2luOjAgIWltcG9ydGFudDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICB9XG4gICAgLnNob3BfYXR0cmlidXRlc3tcbiAgICAgICAgYm9yZGVyOjAgIWltcG9ydGFudDtcbiAgICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ3dFQSw2Q0FBNkM7QWdDeEU3Qzs7R0FFRztBRWtOSCx1QkFBdUI7QUF5RnZCOztFQUVFO0FBa0JGOzhDQUM4QztBQXdEOUM7OENBQzhDO0FBMko5QyxNQUFNO0FBQ04sTUFBTTtBQ25kTixNQUFNO0FBaU5OLFVBQVUsQ0FBVixVQUFVO0VBQ04sQUFBQSxJ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 */
