/*
Theme Name: cpa

WooCommerce styles override
*/
/**
 * WooCommerce color variables
 */
/**
 * Imports
 */
/**
 * Shop tables
 */
/**
 * Shop tables
 */
table.shop_table_responsive thead {
  display: none;
}

table.shop_table_responsive tbody th {
  display: none;
}

table.shop_table_responsive tr td {
  display: block;
  text-align: right;
  clear: both;
}

table.shop_table_responsive tr td:before {
  content: attr(data-title) ": ";
  float: left;
}

table.shop_table_responsive tr td.product-remove a {
  text-align: left;
}

table.shop_table_responsive tr td.product-remove:before {
  display: none;
}

table.shop_table_responsive tr td.actions:before, table.shop_table_responsive tr td.download-actions:before {
  display: none;
}

table.shop_table_responsive tr td.download-actions .button {
  display: block;
  text-align: center;
}

@media screen and (min-width: 48em) {
  table.shop_table_responsive thead {
    display: table-header-group;
  }
  table.shop_table_responsive tbody th {
    display: table-cell;
  }
  table.shop_table_responsive tr th, table.shop_table_responsive tr td {
    text-align: left;
  }
  table.shop_table_responsive tr td {
    display: table-cell;
  }
  table.shop_table_responsive tr td:before {
    display: none;
  }
}

/**
 * Products
 */
/**
 * Products
 */
ul.products {
  content: "";
  display: table;
  table-layout: fixed;
  margin: 0;
  padding: 0;
}

ul.products li.product {
  list-style: none;
  position: relative;
  margin-bottom: 2em;
}

ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
}

ul.products li.product img {
  display: block;
}

ul.products li.product .button {
  display: block;
}

@media screen and (min-width: 48em) {
  ul.products li.product {
    width: 30.79667%;
    float: left;
    margin-right: 3.8%;
  }
  ul.products li.product.first {
    clear: both;
  }
  ul.products li.product.last {
    margin-right: 0;
  }
  .columns-1 ul.products li.product {
    float: none;
    width: 100%;
  }
  .columns-2 ul.products li.product {
    width: 48.1%;
  }
  .columns-3 ul.products li.product {
    width: 30.79667%;
  }
  .columns-4 ul.products li.product {
    width: 22.15%;
  }
  .columns-5 ul.products li.product {
    width: 16.96%;
  }
  .columns-6 ul.products li.product {
    width: 13.49333%;
  }
}

/**
 * Single product
 */
/**
 * Single Product
 */
.single-product div.product {
  content: "";
  display: table;
  table-layout: fixed;
  position: relative;
}

.single-product div.product .woocommerce-product-gallery {
  position: relative;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 1em;
  right: 1em;
  display: block;
  z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
  margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  content: "";
  display: table;
  table-layout: fixed;
  margin: 0;
  padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  list-style: none;
  cursor: pointer;
  float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  opacity: .5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
  opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
  width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
  width: 30.79667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
  width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
  width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
  clear: both;
}

.stock:empty:before {
  display: none;
}

.stock.in-stock {
  color: #0f834d;
}

.stock.out-of-stock {
  color: #e2401c;
}

/**
 * Checkout
 */
/**
 * Checkout
 */
@media screen and (min-width: 768px) {
  .col2-set .form-row-first {
    float: left;
    margin-right: 3.8%;
  }
  .col2-set .form-row-last {
    float: right;
    margin-right: 0;
  }
  .col2-set .form-row-first,
  .col2-set .form-row-last {
    width: 48.1%;
  }
}

/**
 * General WooCommerce components
 */
/**
 * Header cart
 */
.site-header-cart {
  position: relative;
  margin: 0;
  padding: 0;
  content: "";
  display: table;
  table-layout: fixed;
}

.site-header-cart .cart-contents {
  text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
  display: none;
}

.site-header-cart .product_list_widget {
  margin: 0;
  padding: 0;
}

/**
 * Star rating
 */
.star-rating {
  overflow: hidden;
  position: relative;
  height: 1.618em;
  line-height: 1.618;
  font-size: 1em;
  width: 5.3em;
  font-family: 'star';
  font-weight: 400;
}

.star-rating:before {
  content: "\53\53\53\53\53";
  opacity: .25;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.star-rating span:before {
  content: "\53\53\53\53\53";
  top: 0;
  position: absolute;
  left: 0;
  color: royalblue;
}

p.stars a {
  position: relative;
  height: 1em;
  width: 1em;
  text-indent: -999em;
  display: inline-block;
  text-decoration: none;
  margin-right: 1px;
  font-weight: 400;
}

p.stars a:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: "star";
  content: "\53";
  color: #666;
  text-indent: 0;
  opacity: .25;
}

p.stars a:hover ~ a:before {
  content: "\53";
  color: #666;
  opacity: .25;
}

p.stars:hover a:before {
  content: "\53";
  color: royalblue;
  opacity: 1;
}

p.stars.selected a.active:before {
  content: "\53";
  color: royalblue;
  opacity: 1;
}

p.stars.selected a.active ~ a:before {
  content: "\53";
  color: #666;
  opacity: .25;
}

p.stars.selected a:not(.active):before {
  content: "\53";
  color: royalblue;
  opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.woocommerce-tabs ul.tabs li {
  display: block;
  margin: 0;
  position: relative;
}

.woocommerce-tabs ul.tabs li a {
  padding: 1em 0;
  display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
  margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
  text-align: right;
}

.woocommerce-password-strength.strong {
  color: #0f834d;
}

.woocommerce-password-strength.short {
  color: #e2401c;
}

.woocommerce-password-strength.bad {
  color: #e2401c;
}

.woocommerce-password-strength.good {
  color: #3D9CD2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
  -webkit-box-shadow: inset 2px 0 0 #0f834d;
          box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
  -webkit-box-shadow: inset 2px 0 0 #e2401c;
          box-shadow: inset 2px 0 0 #e2401c;
}

.required {
  color: red;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  content: "";
  display: table;
  table-layout: fixed;
  background-color: #0f834d;
  clear: both;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: #3D9CD2;
}

.woocommerce-error {
  background-color: #e2401c;
}

.demo_store {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  padding: 1em;
  background-color: #3D9CD2;
  z-index: 9999;
}

@media screen and (min-width: 48em) {
  /**
	 * Header cart
	 */
  .site-header-cart .widget_shopping_cart {
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 999999;
    left: -999em;
    display: block;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
            box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  }
  .site-header-cart:hover .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart {
    left: 0;
    display: block;
  }
}

/**
 * WooCommerce widgets
 */
/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
  margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
  text-align: right;
  line-height: 2.4em;
}

.widget_price_filter .price_slider_amount .button {
  float: left;
}

.widget_price_filter .ui-slider {
  position: relative;
  text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1em;
  height: 1em;
  cursor: ew-resize;
  outline: none;
  background: royalblue;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: -.25em;
  opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
  margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover, .widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
  -webkit-box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  display: block;
  border: 0;
  background: royalblue;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
  height: .5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  height: 100%;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29vY29tbWVyY2UuY3NzIiwic291cmNlcyI6WyJ3b29jb21tZXJjZS5zY3NzIiwidmFyaWFibGVzLXNpdGUvX3ZhcmlhYmxlcy1zaXRlLnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fY29sb3JzLnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzLXNpdGUvX3N0cnVjdHVyZS5zY3NzIiwidmFyaWFibGVzLXNpdGUvX2NvbHVtbnMuc2NzcyIsIm1peGlucy9fbWl4aW5zLW1hc3Rlci5zY3NzIiwic2hvcC9fdGFibGVzLnNjc3MiLCJzaG9wL19wcm9kdWN0cy5zY3NzIiwic2hvcC9fc2luZ2xlLXByb2R1Y3Quc2NzcyIsInNob3AvX2NoZWNrb3V0LnNjc3MiLCJzaG9wL19jb21wb25lbnRzLnNjc3MiLCJzaG9wL193aWRnZXRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcblRoZW1lIE5hbWU6IGNwYVxuXG5Xb29Db21tZXJjZSBzdHlsZXMgb3ZlcnJpZGVcbiovXG5cbi8qKlxuICogV29vQ29tbWVyY2UgY29sb3IgdmFyaWFibGVzXG4gKi9cbiR3b29jb21tZXJjZV9fY29sb3ItZXJyb3I6ICNlMjQwMWM7XG4kd29vY29tbWVyY2VfX2NvbG9yLXN1Y2Nlc3M6ICMwZjgzNGQ7XG4kd29vY29tbWVyY2VfX2NvbG9yLWluZm86ICMzRDlDRDI7XG5cbi8qKlxuICogSW1wb3J0c1xuICovXG5AaW1wb3J0IFwidmFyaWFibGVzLXNpdGUvdmFyaWFibGVzLXNpdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbWl4aW5zLW1hc3RlclwiO1xuXG4vKipcbiAqIFNob3AgdGFibGVzXG4gKi9cbkBpbXBvcnQgXCJzaG9wL3RhYmxlc1wiO1xuXG4vKipcbiAqIFByb2R1Y3RzXG4gKi9cbkBpbXBvcnQgXCJzaG9wL3Byb2R1Y3RzXCI7XG5cbi8qKlxuICogU2luZ2xlIHByb2R1Y3RcbiAqL1xuQGltcG9ydCBcInNob3Avc2luZ2xlLXByb2R1Y3RcIjtcblxuLyoqXG4gKiBDaGVja291dFxuICovXG5AaW1wb3J0IFwic2hvcC9jaGVja291dFwiO1xuXG4vKipcbiAqIEdlbmVyYWwgV29vQ29tbWVyY2UgY29tcG9uZW50c1xuICovXG5AaW1wb3J0IFwic2hvcC9jb21wb25lbnRzXCI7XG5cbi8qKlxuICogV29vQ29tbWVyY2Ugd2lkZ2V0c1xuICovXG5AaW1wb3J0IFwic2hvcC93aWRnZXRzXCI7XG4iLCJAaW1wb3J0IFwiY29sb3JzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInN0cnVjdHVyZVwiO1xuQGltcG9ydCBcImNvbHVtbnNcIjtcbiIsIiRjb2xvcl9fYmFja2dyb3VuZC1ib2R5OiAjZjRlN2Q0O1xuJGNvbG9yX19iYWNrZ3JvdW5kLXNjcmVlbjogI2YxZjFmMTtcbiRjb2xvcl9fYmFja2dyb3VuZC1ocjogI2NjYztcbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b246ICNlNmU2ZTY7XG4kY29sb3JfX2JhY2tncm91bmQtcHJlOiAjZWVlO1xuJGNvbG9yX19iYWNrZ3JvdW5kLWluczogI2ZmZjljMDtcblxuJGNvbG9yX190ZXh0LXNjcmVlbjogIzIxNzU5YjtcbiRjb2xvcl9fdGV4dC1pbnB1dDogIzY2NjtcbiRjb2xvcl9fdGV4dC1pbnB1dC1mb2N1czogIzExMTtcbiRjb2xvcl9fbGluazogcm95YWxibHVlO1xuJGNvbG9yX19saW5rLXZpc2l0ZWQ6IHB1cnBsZTtcbiRjb2xvcl9fbGluay1ob3ZlcjogbWlkbmlnaHRibHVlO1xuJGNvbG9yX190ZXh0LW1haW46ICM2NjY7XG5cbiRjb2xvcl9fYm9yZGVyLWJ1dHRvbjogI2NjYyAjY2NjICNiYmI7XG4kY29sb3JfX2JvcmRlci1idXR0b24taG92ZXI6ICNjY2MgI2JiYiAjYWFhO1xuJGNvbG9yX19ib3JkZXItYnV0dG9uLWZvY3VzOiAjYWFhICNiYmIgI2JiYjtcbiRjb2xvcl9fYm9yZGVyLWlucHV0OiAjY2NjO1xuJGNvbG9yX19ib3JkZXItYWJicjogIzY2NjtcblxuJHdoaXRlOiAjZmZmO1xuJHJlZDogI2IwMmQyNjtcbiRibGFjazogIzMzMztcbiRhbG1vc3QtYmxhY2s6ICM0ZjUwNTE7XG4kc29mdC1ncmV5OiAjOTU5ODlhO1xuJGxpZ2h0LWdyZXk6ICNjOWM5Yzk7XG4kYnJpZ2h0LWJsdWU6ICMyZWEzZjI7XG5cblxuJGZhY2Vib29rOiAjM0M1OTlGO1xuJHR3aXR0ZXI6ICMzMkNDRkU7XG4kbGlua2VkaW46ICMwMDg1QUU7XG4keW91dHViZTogI0M1MkYzMDtcblxuIiwiJGZvbnRfX21haW46ICdMYXRvJywgc2Fucy1zZXJpZjtcbiRmb250X19jb2RlOiBNb25hY28sIENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2U7XG4kZm9udF9fcHJlOiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuJGZvbnRfX2xpbmUtaGVpZ2h0LWJvZHk6IDEuNTtcbiRmb250X19saW5lLWhlaWdodC1wcmU6IDEuNjtcbiIsIiRzaXplX19zaXRlLW1haW46IDEwMCU7XG4kc2l6ZV9fc2l0ZS1zaWRlYmFyOiAyNSU7XG5cblxuLy8gU2l0ZSB3aWR0aHM7XG4keHM6IDQ4MHB4O1xuJHNtOiA2MDBweDtcbiRtZDogODAwcHg7XG4kbGc6IDExOTBweDtcbiR4bDogMTQ0MHB4O1xuJHh4bDogMTcwMHB4O1xuXG4kZ3V0dGVyOiAyMHB4O1xuXG4kdGltZTogMC4zMnM7IiwiJGNvbHVtbnM6IChcblx0MTogMTAwJSxcblx0MjogNTAlLFxuXHQzOiAzMy4zMyUsXG5cdDQ6IDI1JSxcblx0NTogMjAlLFxuXHQ2OiAxNi42NiUsXG5cdDc6IDE0LjI4JSxcblx0ODogMTIuNSUsXG5cdDk6IDExLjExJVxuKTtcblxuJGNvbHVtbnNfX21hcmdpbjogMy44JTtcbiIsIi8vIFJlbSBvdXRwdXQgd2l0aCBweCBmYWxsYmFja1xuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxKSB7XG5cdGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxNikgKiAxcHg7XG5cdGZvbnQtc2l6ZTogJHNpemVWYWx1ZSAqIDFyZW07XG59XG5cbi8vIENlbnRlciBibG9ja1xuQG1peGluIGNlbnRlci1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBDbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLy8gQ2xlYXIgYWZ0ZXIgKG5vdCBhbGwgY2xlYXJmaXggbmVlZCB0aGlzIGFsc28pXG5AbWl4aW4gY2xlYXJmaXgtYWZ0ZXIoKSB7XG5cdGNsZWFyOiBib3RoO1xufVxuXG4vLyBDb2x1bW4gd2lkdGggd2l0aCBtYXJnaW5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJG51bWJlckNvbHVtbnM6IDMpIHtcblx0d2lkdGg6IG1hcC1nZXQoICRjb2x1bW5zLCAkbnVtYmVyQ29sdW1ucyApIC0gKCAoICRjb2x1bW5zX19tYXJnaW4gKiAoICRudW1iZXJDb2x1bW5zIC0gMSApICkgLyAkbnVtYmVyQ29sdW1ucyApO1xufVxuIiwiLyoqXG4gKiBTaG9wIHRhYmxlc1xuICovXG50YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUge1xuXHR0aGVhZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdHRib2R5IHtcblx0XHR0aCB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdHRyIHtcblx0XHR0ZCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogYXR0cihkYXRhLXRpdGxlKSAnOiAnO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdH1cblxuXHRcdFx0Ji5wcm9kdWN0LXJlbW92ZSB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLmFjdGlvbnMsXG5cdFx0XHQmLmRvd25sb2FkLWFjdGlvbnMge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLmRvd25sb2FkLWFjdGlvbnMge1xuXHRcdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuXHR0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUge1xuXHRcdHRoZWFkIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcblx0XHR9XG5cblx0XHR0Ym9keSB7XG5cdFx0XHR0aCB7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dHIge1xuXHRcdFx0dGgsIHRkIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdH1cblxuXHRcdFx0dGQge1xuXHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFByb2R1Y3RzXG4gKi9cbnVsLnByb2R1Y3RzIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblxuXHRsaS5wcm9kdWN0IHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAyZW07XG5cblx0XHQud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG5cdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC5idXR0b24ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcblx0dWwucHJvZHVjdHMge1xuXHRcdGxpLnByb2R1Y3Qge1xuXHRcdFx0QGluY2x1ZGUgY29sdW1uLXdpZHRoKDMpO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICRjb2x1bW5zX19tYXJnaW47XG5cblx0XHRcdCYuZmlyc3Qge1xuXHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdH1cblxuXHRcdFx0Ji5sYXN0IHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jb2x1bW5zLTEge1xuXHRcdHVsLnByb2R1Y3RzIHtcblx0XHRcdGxpLnByb2R1Y3Qge1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGZvciAkaSBmcm9tIDIgdGhyb3VnaCA2IHtcblx0XHQuY29sdW1ucy0jeyRpfSB7XG5cdFx0XHR1bC5wcm9kdWN0cyB7XG5cdFx0XHRcdGxpLnByb2R1Y3Qge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGNvbHVtbi13aWR0aCggJGkgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBTaW5nbGUgUHJvZHVjdFxuICovXG4uc2luZ2xlLXByb2R1Y3Qge1xuXHRkaXYucHJvZHVjdCB7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3RyaWdnZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMWVtO1xuXHRcdFx0XHRyaWdodDogMWVtO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0ei1pbmRleDogOTk7XG5cdFx0XHR9XG5cblx0XHRcdC5mbGV4LXZpZXdwb3J0IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdFx0fVxuXG5cdFx0XHQuZmxleC1jb250cm9sLXRodW1icyB7XG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IC41O1xuXG5cdFx0XHRcdFx0XHQmLmZsZXgtYWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNSB7XG5cdFx0XHRcdCYud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LS1jb2x1bW5zLSN7JGl9IHtcblx0XHRcdFx0XHQuZmxleC1jb250cm9sLXRodW1icyB7XG5cdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGNvbHVtbi13aWR0aCgkaSk7XG5cblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoI3skaX1uKSB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoI3skaX1uKzEpIHtcblx0XHRcdFx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc3RvY2sge1xuXHQmOmVtcHR5OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdCYuaW4tc3RvY2sge1xuXHRcdGNvbG9yOiAkd29vY29tbWVyY2VfX2NvbG9yLXN1Y2Nlc3M7XG5cdH1cblxuXHQmLm91dC1vZi1zdG9jayB7XG5cdFx0Y29sb3I6ICR3b29jb21tZXJjZV9fY29sb3ItZXJyb3I7XG5cdH1cbn1cbiIsIi8qKlxuICogQ2hlY2tvdXRcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmNvbDItc2V0IHtcblx0XHQuZm9ybS1yb3ctZmlyc3Qge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICRjb2x1bW5zX19tYXJnaW47XG5cdFx0fVxuXG5cdFx0LmZvcm0tcm93LWxhc3Qge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdC5mb3JtLXJvdy1maXJzdCxcblx0XHQuZm9ybS1yb3ctbGFzdCB7XG5cdFx0XHRAaW5jbHVkZSBjb2x1bW4td2lkdGgoMik7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEhlYWRlciBjYXJ0XG4gKi9cbi5zaXRlLWhlYWRlci1jYXJ0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG5cdC5jYXJ0LWNvbnRlbnRzIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHQud2lkZ2V0X3Nob3BwaW5nX2NhcnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQucHJvZHVjdF9saXN0X3dpZGdldCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxuLyoqXG4gKiBTdGFyIHJhdGluZ1xuICovXG4uc3Rhci1yYXRpbmcge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMS42MThlbTtcblx0bGluZS1oZWlnaHQ6IDEuNjE4O1xuXHRmb250LXNpemU6IDFlbTtcblx0d2lkdGg6IDUuM2VtO1xuXHRmb250LWZhbWlseTogJ3N0YXInO1xuXHRmb250LXdlaWdodDogNDAwO1xuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcNTNcXDUzXFw1M1xcNTNcXDUzXCI7XG5cdFx0b3BhY2l0eTogLjI1O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG5cdHNwYW4ge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHBhZGRpbmctdG9wOiAxLjVlbTtcblx0fVxuXG5cdHNwYW46YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcNTNcXDUzXFw1M1xcNTNcXDUzXCI7XG5cdFx0dG9wOiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdGNvbG9yOiAkY29sb3JfX2xpbms7XG5cdH1cbn1cblxucC5zdGFycyB7XG5cdGEge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDFlbTtcblx0XHR3aWR0aDogMWVtO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5ZW07XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRtYXJnaW4tcmlnaHQ6IDFweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDFlbTtcblx0XHRcdGhlaWdodDogMWVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRmb250LWZhbWlseTogXCJzdGFyXCI7XG5cdFx0XHRjb250ZW50OiBcIlxcNTNcIjtcblx0XHRcdGNvbG9yOiAkY29sb3JfX3RleHQtbWFpbjtcblx0XHRcdHRleHQtaW5kZW50OiAwO1xuXHRcdFx0b3BhY2l0eTogLjI1O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0fiBhOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFw1M1wiO1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yX190ZXh0LW1haW47XG5cdFx0XHRcdG9wYWNpdHk6IC4yNTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRhIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcXDUzXCI7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfX2xpbms7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5zZWxlY3RlZCB7XG5cdFx0YS5hY3RpdmUge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcNTNcIjtcblx0XHRcdFx0Y29sb3I6ICRjb2xvcl9fbGluaztcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblxuXHRcdFx0fiBhOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFw1M1wiO1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yX190ZXh0LW1haW47XG5cdFx0XHRcdG9wYWNpdHk6IC4yNTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRhOm5vdCguYWN0aXZlKSB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFw1M1wiO1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yX19saW5rO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIFRhYnNcbiAqL1xuLndvb2NvbW1lcmNlLXRhYnMge1xuXHR1bC50YWJzIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmc6IDFlbSAwO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucGFuZWwge1xuXHRcdGgyOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIFBhc3N3b3JkIHN0cmVuZ3RoIG1ldGVyXG4gKi9cbi53b29jb21tZXJjZS1wYXNzd29yZC1zdHJlbmd0aCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdCYuc3Ryb25nIHtcblx0XHRjb2xvcjogJHdvb2NvbW1lcmNlX19jb2xvci1zdWNjZXNzO1xuXHR9XG5cblx0Ji5zaG9ydCB7XG5cdFx0Y29sb3I6ICR3b29jb21tZXJjZV9fY29sb3ItZXJyb3I7XG5cdH1cblxuXHQmLmJhZCB7XG5cdFx0Y29sb3I6ICR3b29jb21tZXJjZV9fY29sb3ItZXJyb3I7XG5cdH1cblxuXHQmLmdvb2Qge1xuXHRcdGNvbG9yOiAkd29vY29tbWVyY2VfX2NvbG9yLWluZm87XG5cdH1cbn1cblxuLyoqXG4gKiBGb3Jtc1xuICovXG4uZm9ybS1yb3cge1xuXHQmLndvb2NvbW1lcmNlLXZhbGlkYXRlZCB7XG5cdFx0aW5wdXQuaW5wdXQtdGV4dCB7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAycHggMCAwICR3b29jb21tZXJjZV9fY29sb3Itc3VjY2Vzcztcblx0XHR9XG5cdH1cblxuXHQmLndvb2NvbW1lcmNlLWludmFsaWQge1xuXHRcdGlucHV0LmlucHV0LXRleHQge1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMnB4IDAgMCAkd29vY29tbWVyY2VfX2NvbG9yLWVycm9yO1xuXHRcdH1cblx0fVxufVxuXG4ucmVxdWlyZWQge1xuXHRjb2xvcjogcmVkO1xufVxuXG4vKipcbiAqIE5vdGljZXNcbiAqL1xuLndvb2NvbW1lcmNlLW1lc3NhZ2UsXG4ud29vY29tbWVyY2UtaW5mbyxcbi53b29jb21tZXJjZS1lcnJvcixcbi53b29jb21tZXJjZS1ub3Jldmlld3MsXG5wLm5vLWNvbW1lbnRzIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3b29jb21tZXJjZV9fY29sb3Itc3VjY2Vzcztcblx0Y2xlYXI6IGJvdGg7XG59XG5cbi53b29jb21tZXJjZS1pbmZvLFxuLndvb2NvbW1lcmNlLW5vcmV2aWV3cyxcbnAubm8tY29tbWVudHMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd29vY29tbWVyY2VfX2NvbG9yLWluZm87XG59XG5cbi53b29jb21tZXJjZS1lcnJvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3b29jb21tZXJjZV9fY29sb3ItZXJyb3I7XG59XG5cbi5kZW1vX3N0b3JlIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDFlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdvb2NvbW1lcmNlX19jb2xvci1pbmZvO1xuXHR6LWluZGV4OiA5OTk5O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG5cdC8qKlxuXHQgKiBIZWFkZXIgY2FydFxuXHQgKi9cblx0LnNpdGUtaGVhZGVyLWNhcnQge1xuXHRcdC53aWRnZXRfc2hvcHBpbmdfY2FydCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHotaW5kZXg6IDk5OTk5OTtcblx0XHRcdGxlZnQ6IC05OTllbTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCYuZm9jdXMge1xuXHRcdFx0LndpZGdldF9zaG9wcGluZ19jYXJ0IHtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFdvb0NvbW1lcmNlIFByaWNlIEZpbHRlclxuICovXG4ud2lkZ2V0X3ByaWNlX2ZpbHRlciB7XG5cdC5wcmljZV9zbGlkZXIge1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXHR9XG5cblx0LnByaWNlX3NsaWRlcl9hbW91bnQge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdGxpbmUtaGVpZ2h0OiAyLjRlbTtcblxuXHRcdC5idXR0b24ge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0LnVpLXNsaWRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMjtcblx0XHR3aWR0aDogMWVtO1xuXHRcdGhlaWdodDogMWVtO1xuXHRcdGN1cnNvcjogZXctcmVzaXplO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yX19saW5rO1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0bWFyZ2luLXRvcDogLS4yNWVtO1xuXHRcdG9wYWNpdHk6IDE7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xZW07XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmLnVpLXN0YXRlLWFjdGl2ZSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAuMjVlbSByZ2JhKCMwMDAsIDAuMSk7XG5cdFx0fVxuXHR9XG5cblx0LnVpLXNsaWRlciAudWktc2xpZGVyLXJhbmdlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXI6IDA7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yX19saW5rO1xuXHR9XG5cblx0LnByaWNlX3NsaWRlcl93cmFwcGVyIC51aS13aWRnZXQtY29udGVudCB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xuXHR9XG5cblx0LnVpLXNsaWRlci1ob3Jpem9udGFsIHtcblx0XHRoZWlnaHQ6IC41ZW07XG5cdH1cblxuXHQudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7RUFJRTtBQUVGOztHQUVHO0FBS0g7O0dBRUc7QUFJSDs7R0FFRztBT3JCSDs7R0FFRztBQUNILEFBQ0MsS0FESSxBQUFBLHNCQUFzQixDQUMxQixLQUFLLENBQUM7RUFDTCxPQUFPLEVBQUUsSUFB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 */
