@charset "UTF-8";
/**
 * Strips the unit from a given number-unit-combination and returns the number.
 * @link: http://stackoverflow.com/a/12335841/1779999
 * @usage: parse-int(10px) => 10
 */
/**
   * Simply adds the em unit to a given number. This is used twice in the
   * function underneath, thus the need for a separate function.
   */
/**
   * Calculates em values for a given list of (px or em) values and a given em
   * base. Multiply base values for nested em structures (last @usage example).
   * @usage: em(10px, 1.125) => .55556em
   *         em(24px, .875em) => 1.71429em
   *         em(12px 0 7em rgba(0, 0, 0, .7), 1.75) => .42857em 0 4em rgba(0, 0, 0, 0.7)
   *         em(12px) + em(3em) => 3.75em
   *         em(23px, em(53px)) => .43396em
   *         em(24px, 1.5 * 1.125) => .88889em
   */
/**
 * Imports
 */
/**
 * _animation.scss
 * Custom WooCommerce Animations.
 */
@-webkit-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

/**
 * _fonts.scss
 * Custom WooCommerce fonts.
 */
@font-face {
  font-family: 'star';
  src: url("../fonts/star.eot");
  src: url("../fonts/star.eot?#iefix") format("embedded-opentype"), url("../fonts/star.woff") format("woff"), url("../fonts/star.ttf") format("truetype"), url("../fonts/star.svg#star") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'WooCommerce';
  src: url("../fonts/WooCommerce.eot");
  src: url("../fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("../fonts/WooCommerce.woff") format("woff"), url("../fonts/WooCommerce.ttf") format("truetype"), url("../fonts/WooCommerce.svg#WooCommerce") format("svg");
  font-weight: normal;
  font-style: normal; }

/**
 * Deprecated
 * Fallback for bourbon equivalent
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Use bourbon mixin instead `@include transform(scale(1.5));`
 */
/**
 * Deprecated
 * Use bourbon mixin instead `@include box-sizing(border-box);`
 */
/**
 * Objects
 */
/**
 * Utility classes
 */
.clear {
  clear: both; }

/**
 * WooCommerce CSS Variables
 */
/**
 * Basic Layout
 */
.woocommerce,
.woocommerce-page {
  /**
	 * General layout styles
	 */ }
  .woocommerce .col2-set,
  .woocommerce-page .col2-set {
    *zoom: 1;
    width: 100%; }
    .woocommerce .col2-set::before, .woocommerce .col2-set::after,
    .woocommerce-page .col2-set::before,
    .woocommerce-page .col2-set::after {
      content: ' ';
      display: table; }
    .woocommerce .col2-set::after,
    .woocommerce-page .col2-set::after {
      clear: both; }
    .woocommerce .col2-set .col-1,
    .woocommerce-page .col2-set .col-1 {
      float: left;
      width: 48%; }
    .woocommerce .col2-set .col-2,
    .woocommerce-page .col2-set .col-2 {
      float: right;
      width: 48%; }

/**
 * Shop tables
 */
/**
	 * Tables
	 */
table.shop_attributes {
  border: 0;
  border-top: 1px dotted rgba(0, 0, 0, 0.1);
  margin-bottom: 1.618em;
  width: 100%; }
  table.shop_attributes th {
    width: 150px;
    font-weight: 700;
    padding: 8px;
    border-top: 0;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
    margin: 0;
    line-height: 1.5; }
  table.shop_attributes td {
    font-style: italic;
    padding: 0;
    border-top: 0;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
    margin: 0;
    line-height: 1.5; }
    table.shop_attributes td p {
      margin: 0;
      padding: 8px 0; }
  table.shop_attributes tr:nth-child(even) td,
  table.shop_attributes tr:nth-child(even) th {
    background: rgba(0, 0, 0, 0.025); }

table.shop_table {
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0 -1px 24px 0;
  text-align: left;
  width: 100%;
  border-collapse: separate;
  border-radius: 5px; }
  table.shop_table th {
    font-weight: 700;
    padding: 9px 12px;
    line-height: 1.5em; }
  table.shop_table td {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding: 9px 12px;
    vertical-align: middle;
    line-height: 1.5em; }
    table.shop_table td small {
      font-weight: normal; }
    table.shop_table td del {
      font-weight: normal; }
  table.shop_table tbody:first-child tr:first-child th,
  table.shop_table tbody:first-child tr:first-child td {
    border-top: 0; }
  table.shop_table tfoot td,
  table.shop_table tfoot th,
  table.shop_table tbody th {
    font-weight: 700;
    border-top: 1px solid rgba(0, 0, 0, 0.1); }

table.my_account_orders {
  font-size: 0.85em; }
  table.my_account_orders th,
  table.my_account_orders td {
    padding: 4px 8px;
    vertical-align: middle; }
  table.my_account_orders .button {
    white-space: nowrap; }

table.woocommerce-MyAccount-downloads td,
table.woocommerce-MyAccount-downloads th {
  vertical-align: top;
  text-align: center; }
  table.woocommerce-MyAccount-downloads td:first-child,
  table.woocommerce-MyAccount-downloads th:first-child {
    text-align: left; }
  table.woocommerce-MyAccount-downloads td:last-child,
  table.woocommerce-MyAccount-downloads th:last-child {
    text-align: left; }
  table.woocommerce-MyAccount-downloads td .woocommerce-MyAccount-downloads-file::before,
  table.woocommerce-MyAccount-downloads th .woocommerce-MyAccount-downloads-file::before {
    content: "\2193";
    display: inline-block; }

td.product-name dl.variation,
td.product-name .wc-item-meta {
  list-style: none outside; }
  td.product-name dl.variation dt,
  td.product-name dl.variation .wc-item-meta-label,
  td.product-name .wc-item-meta dt,
  td.product-name .wc-item-meta .wc-item-meta-label {
    float: left;
    clear: both;
    margin-right: 0.25em;
    display: inline-block;
    list-style: none outside; }
  td.product-name dl.variation dd,
  td.product-name .wc-item-meta dd {
    margin: 0; }
  td.product-name dl.variation p, td.product-name dl.variation:last-child,
  td.product-name .wc-item-meta p,
  td.product-name .wc-item-meta:last-child {
    margin-bottom: 0; }

td.product-name p.backorder_notification {
  font-size: 0.83em; }

td.product-quantity {
  min-width: 80px; }

/**
 * Products
 */
ul.products {
  margin: 0;
  padding: 0; }
  ul.products li.product {
    list-style: none;
    position: relative;
    margin-bottom: 2em; }
    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; }
  ul.products.columns-1 li.product {
    float: none;
    width: 100%; }
  ul.products.columns-2 li.product {
    width: 48.1%; }
  ul.products.columns-3 li.product {
    width: 30.79667%; }
  ul.products.columns-4 li.product {
    width: 22.15%; }
  ul.products.columns-5 li.product {
    width: 16.96%; }
  ul.products.columns-6 li.product {
    width: 13.49333%; } }

/**
 * Single product
 */
/**
* Product Page
*/
div.product {
  margin-bottom: 0;
  position: relative; }
  div.product .product_title {
    clear: none;
    margin-top: 0;
    padding: 0; }
  div.product span.price,
  div.product p.price {
    color: #77a464;
    font-size: 1.25em; }
    div.product span.price ins,
    div.product p.price ins {
      background: inherit;
      font-weight: 700;
      display: inline-block; }
    div.product span.price del,
    div.product p.price del {
      opacity: 0.5;
      display: inline-block; }
  div.product p.stock {
    font-size: 0.92em; }
  div.product .stock {
    color: #77a464; }
  div.product .out-of-stock {
    color: red; }
  div.product .woocommerce-product-rating {
    margin-bottom: 1.618em; }
  div.product div.images {
    margin-bottom: 2em;
    float: left;
    width: 48%; }
    div.product div.images img {
      display: block;
      width: 100%;
      height: auto;
      -webkit-box-shadow: none;
              box-shadow: none; }
    div.product div.images div.thumbnails {
      padding-top: 1em;
      *zoom: 1; }
      div.product div.images div.thumbnails::before, div.product div.images div.thumbnails::after {
        content: ' ';
        display: table; }
      div.product div.images div.thumbnails::after {
        clear: both; }
      div.product div.images div.thumbnails a {
        float: left;
        width: 30.75%;
        margin-right: 3.8%;
        margin-bottom: 1em; }
      div.product div.images div.thumbnails a.last {
        margin-right: 0; }
      div.product div.images div.thumbnails a.first {
        clear: both; }
      div.product div.images div.thumbnails.columns-1 a {
        width: 100%;
        margin-right: 0;
        float: none; }
      div.product div.images div.thumbnails.columns-2 a {
        width: 48%; }
      div.product div.images div.thumbnails.columns-4 a {
        width: 22.05%; }
      div.product div.images div.thumbnails.columns-5 a {
        width: 16.9%; }
    div.product div.images.woocommerce-product-gallery {
      position: relative; }
    div.product div.images .woocommerce-product-gallery__wrapper {
      -webkit-transition: all cubic-bezier(0.795, -0.035, 0, 1) 0.5s;
      transition: all cubic-bezier(0.795, -0.035, 0, 1) 0.5s;
      margin: 0;
      padding: 0; }
    div.product div.images .woocommerce-product-gallery__wrapper .zoomImg {
      background-color: #fff;
      opacity: 0; }
    div.product div.images .woocommerce-product-gallery__image--placeholder {
      border: 1px solid #f2f2f2; }
    div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
      width: 25%;
      display: inline-block; }
    div.product div.images .woocommerce-product-gallery__trigger {
      position: absolute;
      top: 0.5em;
      right: 0.5em;
      font-size: 2em;
      z-index: 9;
      width: 36px;
      height: 36px;
      background: #fff;
      text-indent: -9999px;
      border-radius: 100%;
      -webkit-box-sizing: content-box;
              box-sizing: content-box; }
      div.product div.images .woocommerce-product-gallery__trigger::before {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        border: 2px solid #000;
        border-radius: 100%;
        position: absolute;
        top: 9px;
        left: 9px;
        -webkit-box-sizing: content-box;
                box-sizing: content-box; }
      div.product div.images .woocommerce-product-gallery__trigger::after {
        content: "";
        display: block;
        width: 2px;
        height: 8px;
        background: #000;
        border-radius: 6px;
        position: absolute;
        top: 19px;
        left: 22px;
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg);
        -webkit-box-sizing: content-box;
                box-sizing: content-box; }
    div.product div.images .flex-control-thumbs {
      overflow: hidden;
      zoom: 1;
      margin: 0;
      padding: 0; }
      div.product div.images .flex-control-thumbs li {
        width: 25%;
        float: left;
        margin: 0;
        list-style: none; }
        div.product div.images .flex-control-thumbs li img {
          cursor: pointer;
          opacity: 0.5;
          margin: 0; }
          div.product div.images .flex-control-thumbs li img.flex-active, div.product div.images .flex-control-thumbs li img:hover {
            opacity: 1; }
  div.product .woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
    clear: left; }
  div.product .woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
    clear: left; }
  div.product .woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
    clear: left; }
  div.product div.summary {
    float: right;
    width: 48%;
    clear: none; }
  div.product div.social {
    text-align: right;
    margin: 0 0 1em; }
    div.product div.social span {
      margin: 0 0 0 2px; }
      div.product div.social span span {
        margin: 0; }
      div.product div.social span .stButton .chicklets {
        padding-left: 16px;
        width: 0; }
    div.product div.social iframe {
      float: left;
      margin-top: 3px; }
  div.product .woocommerce-tabs {
    clear: both; }
    div.product .woocommerce-tabs ul.tabs {
      list-style: none;
      padding: 0 0 0 1em;
      margin: 0 0 1.618em;
      overflow: hidden;
      position: relative; }
      div.product .woocommerce-tabs ul.tabs li {
        border: 1px solid #d3ced2;
        background-color: #ebe9eb;
        display: inline-block;
        position: relative;
        z-index: 0;
        border-radius: 4px 4px 0 0;
        margin: 0 -5px;
        padding: 0 1em; }
        div.product .woocommerce-tabs ul.tabs li a {
          display: inline-block;
          padding: 0.5em 0;
          font-weight: 700;
          color: #515151;
          text-decoration: none; }
          div.product .woocommerce-tabs ul.tabs li a:hover {
            text-decoration: none;
            color: #6b6b6b; }
        div.product .woocommerce-tabs ul.tabs li.active {
          background: #fff;
          z-index: 2;
          border-bottom-color: #fff; }
          div.product .woocommerce-tabs ul.tabs li.active a {
            color: inherit;
            text-shadow: inherit; }
          div.product .woocommerce-tabs ul.tabs li.active::before {
            -webkit-box-shadow: 2px 2px 0 #fff;
                    box-shadow: 2px 2px 0 #fff; }
          div.product .woocommerce-tabs ul.tabs li.active::after {
            -webkit-box-shadow: -2px 2px 0 #fff;
                    box-shadow: -2px 2px 0 #fff; }
        div.product .woocommerce-tabs ul.tabs li::before, div.product .woocommerce-tabs ul.tabs li::after {
          border: 1px solid #d3ced2;
          position: absolute;
          bottom: -1px;
          width: 5px;
          height: 5px;
          content: " ";
          -webkit-box-sizing: border-box;
                  box-sizing: border-box; }
        div.product .woocommerce-tabs ul.tabs li::before {
          left: -5px;
          border-bottom-right-radius: 4px;
          border-width: 0 1px 1px 0;
          -webkit-box-shadow: 2px 2px 0 #ebe9eb;
                  box-shadow: 2px 2px 0 #ebe9eb; }
        div.product .woocommerce-tabs ul.tabs li::after {
          right: -5px;
          border-bottom-left-radius: 4px;
          border-width: 0 0 1px 1px;
          -webkit-box-shadow: -2px 2px 0 #ebe9eb;
                  box-shadow: -2px 2px 0 #ebe9eb; }
      div.product .woocommerce-tabs ul.tabs::before {
        position: absolute;
        content: " ";
        width: 100%;
        bottom: 0;
        left: 0;
        border-bottom: 1px solid #d3ced2;
        z-index: 1; }
    div.product .woocommerce-tabs .panel {
      margin: 0 0 2em;
      padding: 0; }
  div.product p.cart {
    margin-bottom: 2em;
    *zoom: 1; }
    div.product p.cart::before, div.product p.cart::after {
      content: ' ';
      display: table; }
    div.product p.cart::after {
      clear: both; }
  div.product form.cart {
    margin-bottom: 2em;
    *zoom: 1; }
    div.product form.cart::before, div.product form.cart::after {
      content: ' ';
      display: table; }
    div.product form.cart::after {
      clear: both; }
    div.product form.cart div.quantity {
      float: left;
      margin: 0 4px 0 0; }
    div.product form.cart table {
      border-width: 0 0 1px; }
      div.product form.cart table td {
        padding-left: 0; }
      div.product form.cart table div.quantity {
        float: none;
        margin: 0; }
      div.product form.cart table small.stock {
        display: block;
        float: none; }
    div.product form.cart .variations {
      margin-bottom: 1em;
      border: 0;
      width: 100%; }
      div.product form.cart .variations td,
      div.product form.cart .variations th {
        border: 0;
        vertical-align: top;
        line-height: 2em; }
      div.product form.cart .variations label {
        font-weight: 700; }
      div.product form.cart .variations select {
        max-width: 100%;
        min-width: 75%;
        display: inline-block;
        margin-right: 1em; }
      div.product form.cart .variations td.label {
        padding-right: 1em; }
    div.product form.cart .woocommerce-variation-description p {
      margin-bottom: 1em; }
    div.product form.cart .reset_variations {
      visibility: hidden;
      font-size: 0.83em; }
    div.product form.cart .wc-no-matching-variations {
      display: none; }
    div.product form.cart .button {
      vertical-align: middle;
      float: left; }
    div.product form.cart .group_table td.woocommerce-grouped-product-list-item__label {
      padding-right: 1em;
      padding-left: 1em; }
    div.product form.cart .group_table td {
      vertical-align: top;
      padding-bottom: 0.5em;
      border: 0; }
    div.product form.cart .group_table td:first-child {
      width: 4em;
      text-align: center; }
    div.product form.cart .group_table .wc-grouped-product-add-to-cart-checkbox {
      display: inline-block;
      width: auto;
      margin: 0 auto;
      -webkit-transform: scale(1.5, 1.5);
              transform: scale(1.5, 1.5); }

/**
 * Checkout
 */
.woocommerce-cart .woocommerce {
  *zoom: 1;
  max-width: 780px;
  margin: 0 auto; }
  .woocommerce-cart .woocommerce::before, .woocommerce-cart .woocommerce::after {
    content: ' ';
    display: table; }
  .woocommerce-cart .woocommerce::after {
    clear: both; }

.woocommerce-cart .product-thumbnail {
  display: none !important; }

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

/**
 * Cart/checkout page
 */
.woocommerce-cart table.cart .product-thumbnail,
.woocommerce-checkout table.cart .product-thumbnail,
#add_payment_method table.cart .product-thumbnail {
  min-width: 32px; }
  .woocommerce-cart table.cart .product-thumbnail img,
  .woocommerce-checkout table.cart .product-thumbnail img,
  #add_payment_method table.cart .product-thumbnail img {
    width: 7em; }

.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img,
#add_payment_method table.cart img {
  width: 32px;
  -webkit-box-shadow: none;
          box-shadow: none; }

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-checkout table.cart th,
.woocommerce-checkout table.cart td,
#add_payment_method table.cart th,
#add_payment_method table.cart td {
  vertical-align: middle; }

.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text,
#add_payment_method table.cart td.actions .coupon .input-text {
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #d3ced2;
  padding: 6px 6px 5px;
  margin: 0 4px 0 0;
  outline: 0; }

.woocommerce-cart table.cart input,
.woocommerce-checkout table.cart input,
#add_payment_method table.cart input {
  margin: 0;
  vertical-align: middle; }

.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-checkout .wc-proceed-to-checkout,
#add_payment_method .wc-proceed-to-checkout {
  *zoom: 1;
  padding: 1em 0; }
  .woocommerce-cart .wc-proceed-to-checkout::before, .woocommerce-cart .wc-proceed-to-checkout::after,
  .woocommerce-checkout .wc-proceed-to-checkout::before,
  .woocommerce-checkout .wc-proceed-to-checkout::after,
  #add_payment_method .wc-proceed-to-checkout::before,
  #add_payment_method .wc-proceed-to-checkout::after {
    content: ' ';
    display: table; }
  .woocommerce-cart .wc-proceed-to-checkout::after,
  .woocommerce-checkout .wc-proceed-to-checkout::after,
  #add_payment_method .wc-proceed-to-checkout::after {
    clear: both; }
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
  .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
  #add_payment_method .wc-proceed-to-checkout a.checkout-button {
    display: block;
    text-align: center;
    margin-bottom: 1em;
    font-size: 1.25em;
    padding: 1em; }

.woocommerce-cart .cart-collaterals .shipping-calculator-button,
.woocommerce-checkout .cart-collaterals .shipping-calculator-button,
#add_payment_method .cart-collaterals .shipping-calculator-button {
  float: none;
  margin-top: 0.5em;
  display: inline-block; }

.woocommerce-cart .cart-collaterals .shipping-calculator-button::after,
.woocommerce-checkout .cart-collaterals .shipping-calculator-button::after,
#add_payment_method .cart-collaterals .shipping-calculator-button::after {
  font-family: 'WooCommerce';
  speak: none;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  margin-left: 0.618em;
  content: "";
  text-decoration: none; }

.woocommerce-cart .cart-collaterals .shipping-calculator-form,
.woocommerce-checkout .cart-collaterals .shipping-calculator-form,
#add_payment_method .cart-collaterals .shipping-calculator-form {
  margin: 1em 0 0 0; }

.woocommerce-cart .cart-collaterals .cart_totals p small,
.woocommerce-checkout .cart-collaterals .cart_totals p small,
#add_payment_method .cart-collaterals .cart_totals p small {
  color: #767676;
  font-size: 0.83em; }

.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-checkout .cart-collaterals .cart_totals table,
#add_payment_method .cart-collaterals .cart_totals table {
  border-collapse: separate;
  margin: 0 0 6px;
  padding: 0; }
  .woocommerce-cart .cart-collaterals .cart_totals table tr:first-child th,
  .woocommerce-cart .cart-collaterals .cart_totals table tr:first-child td,
  .woocommerce-checkout .cart-collaterals .cart_totals table tr:first-child th,
  .woocommerce-checkout .cart-collaterals .cart_totals table tr:first-child td,
  #add_payment_method .cart-collaterals .cart_totals table tr:first-child th,
  #add_payment_method .cart-collaterals .cart_totals table tr:first-child td {
    border-top: 0; }
  .woocommerce-cart .cart-collaterals .cart_totals table th,
  .woocommerce-checkout .cart-collaterals .cart_totals table th,
  #add_payment_method .cart-collaterals .cart_totals table th {
    width: 35%; }
  .woocommerce-cart .cart-collaterals .cart_totals table td,
  .woocommerce-cart .cart-collaterals .cart_totals table th,
  .woocommerce-checkout .cart-collaterals .cart_totals table td,
  .woocommerce-checkout .cart-collaterals .cart_totals table th,
  #add_payment_method .cart-collaterals .cart_totals table td,
  #add_payment_method .cart-collaterals .cart_totals table th {
    vertical-align: top;
    border-left: 0;
    border-right: 0;
    line-height: 1.5em; }
  .woocommerce-cart .cart-collaterals .cart_totals table small,
  .woocommerce-checkout .cart-collaterals .cart_totals table small,
  #add_payment_method .cart-collaterals .cart_totals table small {
    color: #767676; }
  .woocommerce-cart .cart-collaterals .cart_totals table select,
  .woocommerce-checkout .cart-collaterals .cart_totals table select,
  #add_payment_method .cart-collaterals .cart_totals table select {
    width: 100%; }

.woocommerce-cart .cart-collaterals .cart_totals .discount td,
.woocommerce-checkout .cart-collaterals .cart_totals .discount td,
#add_payment_method .cart-collaterals .cart_totals .discount td {
  color: #77a464; }

.woocommerce-cart .cart-collaterals .cart_totals tr td,
.woocommerce-cart .cart-collaterals .cart_totals tr th,
.woocommerce-checkout .cart-collaterals .cart_totals tr td,
.woocommerce-checkout .cart-collaterals .cart_totals tr th,
#add_payment_method .cart-collaterals .cart_totals tr td,
#add_payment_method .cart-collaterals .cart_totals tr th {
  border-top: 1px solid #ebe9eb; }

.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination,
.woocommerce-checkout .cart-collaterals .cart_totals .woocommerce-shipping-destination,
#add_payment_method .cart-collaterals .cart_totals .woocommerce-shipping-destination {
  margin-bottom: 0; }

.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product,
.woocommerce-checkout .cart-collaterals .cross-sells ul.products li.product,
#add_payment_method .cart-collaterals .cross-sells ul.products li.product {
  margin-top: 0; }

.woocommerce-cart .checkout .col-2 h3#ship-to-different-address,
.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address,
#add_payment_method .checkout .col-2 h3#ship-to-different-address {
  float: left;
  clear: none; }

.woocommerce-cart .checkout .col-2 .notes,
.woocommerce-checkout .checkout .col-2 .notes,
#add_payment_method .checkout .col-2 .notes {
  clear: left; }

.woocommerce-cart .checkout .col-2 .form-row-first,
.woocommerce-checkout .checkout .col-2 .form-row-first,
#add_payment_method .checkout .col-2 .form-row-first {
  clear: left; }

.woocommerce-cart .checkout .create-account small,
.woocommerce-checkout .checkout .create-account small,
#add_payment_method .checkout .create-account small {
  font-size: 11px;
  color: #767676;
  font-weight: normal; }

.woocommerce-cart .checkout div.shipping-address,
.woocommerce-checkout .checkout div.shipping-address,
#add_payment_method .checkout div.shipping-address {
  padding: 0;
  clear: left;
  width: 100%; }

.woocommerce-cart .checkout .shipping_address,
.woocommerce-checkout .checkout .shipping_address,
#add_payment_method .checkout .shipping_address {
  clear: both; }

.woocommerce-cart #payment,
.woocommerce-checkout #payment,
#add_payment_method #payment {
  background: #ebe9eb;
  border-radius: 5px; }
  .woocommerce-cart #payment ul.payment_methods,
  .woocommerce-checkout #payment ul.payment_methods,
  #add_payment_method #payment ul.payment_methods {
    *zoom: 1;
    text-align: left;
    padding: 1em;
    border-bottom: 1px solid #d3ced2;
    margin: 0;
    list-style: none outside; }
    .woocommerce-cart #payment ul.payment_methods::before, .woocommerce-cart #payment ul.payment_methods::after,
    .woocommerce-checkout #payment ul.payment_methods::before,
    .woocommerce-checkout #payment ul.payment_methods::after,
    #add_payment_method #payment ul.payment_methods::before,
    #add_payment_method #payment ul.payment_methods::after {
      content: ' ';
      display: table; }
    .woocommerce-cart #payment ul.payment_methods::after,
    .woocommerce-checkout #payment ul.payment_methods::after,
    #add_payment_method #payment ul.payment_methods::after {
      clear: both; }
    .woocommerce-cart #payment ul.payment_methods li,
    .woocommerce-checkout #payment ul.payment_methods li,
    #add_payment_method #payment ul.payment_methods li {
      line-height: 2;
      text-align: left;
      margin: 0;
      font-weight: normal; }
      .woocommerce-cart #payment ul.payment_methods li input,
      .woocommerce-checkout #payment ul.payment_methods li input,
      #add_payment_method #payment ul.payment_methods li input {
        margin: 0 1em 0 0; }
      .woocommerce-cart #payment ul.payment_methods li img,
      .woocommerce-checkout #payment ul.payment_methods li img,
      #add_payment_method #payment ul.payment_methods li img {
        vertical-align: middle;
        margin: -2px 0 0 0.5em;
        padding: 0;
        position: relative;
        -webkit-box-shadow: none;
                box-shadow: none; }
      .woocommerce-cart #payment ul.payment_methods li img + img,
      .woocommerce-checkout #payment ul.payment_methods li img + img,
      #add_payment_method #payment ul.payment_methods li img + img {
        margin-left: 2px; }
    .woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice),
    .woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice),
    #add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice) {
      *zoom: 1; }
      .woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice)::before, .woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice)::after,
      .woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice)::before,
      .woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice)::after,
      #add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice)::before,
      #add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice)::after {
        content: ' ';
        display: table; }
      .woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice)::after,
      .woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice)::after,
      #add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice)::after {
        clear: both; }
  .woocommerce-cart #payment div.form-row,
  .woocommerce-checkout #payment div.form-row,
  #add_payment_method #payment div.form-row {
    padding: 1em; }
  .woocommerce-cart #payment div.payment_box,
  .woocommerce-checkout #payment div.payment_box,
  #add_payment_method #payment div.payment_box {
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 1em;
    margin: 1em 0;
    font-size: 0.92em;
    border-radius: 2px;
    line-height: 1.5;
    background-color: #dfdcde;
    color: #515151; }
    .woocommerce-cart #payment div.payment_box input.input-text,
    .woocommerce-cart #payment div.payment_box textarea,
    .woocommerce-checkout #payment div.payment_box input.input-text,
    .woocommerce-checkout #payment div.payment_box textarea,
    #add_payment_method #payment div.payment_box input.input-text,
    #add_payment_method #payment div.payment_box textarea {
      border-color: #c7c1c6;
      border-top-color: #bbb3b9; }
    .woocommerce-cart #payment div.payment_box ::-webkit-input-placeholder,
    .woocommerce-checkout #payment div.payment_box ::-webkit-input-placeholder,
    #add_payment_method #payment div.payment_box ::-webkit-input-placeholder {
      color: #bbb3b9; }
    .woocommerce-cart #payment div.payment_box :-moz-placeholder,
    .woocommerce-checkout #payment div.payment_box :-moz-placeholder,
    #add_payment_method #payment div.payment_box :-moz-placeholder {
      color: #bbb3b9; }
    .woocommerce-cart #payment div.payment_box :-ms-input-placeholder,
    .woocommerce-checkout #payment div.payment_box :-ms-input-placeholder,
    #add_payment_method #payment div.payment_box :-ms-input-placeholder {
      color: #bbb3b9; }
    .woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods,
    .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods,
    #add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods {
      list-style: none outside;
      margin: 0; }
      .woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token,
      .woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new,
      .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token,
      .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new,
      #add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token,
      #add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new {
        margin: 0 0 0.5em; }
        .woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token label,
        .woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new label,
        .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token label,
        .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new label,
        #add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token label,
        #add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new label {
          cursor: pointer; }
      .woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-tokenInput,
      .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-tokenInput,
      #add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-tokenInput {
        vertical-align: middle;
        margin: -3px 1em 0 0;
        position: relative; }
    .woocommerce-cart #payment div.payment_box .wc-credit-card-form,
    .woocommerce-checkout #payment div.payment_box .wc-credit-card-form,
    #add_payment_method #payment div.payment_box .wc-credit-card-form {
      border: 0;
      padding: 0;
      margin: 1em 0 0; }
    .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number,
    .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry,
    .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc,
    .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number,
    .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry,
    .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc,
    #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number,
    #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry,
    #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc {
      font-size: 1.5em;
      padding: 8px;
      background-repeat: no-repeat;
      background-position: right 0.618em center;
      background-size: 32px 20px; }
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number.visa,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry.visa,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc.visa,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.visa,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.visa,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.visa,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number.visa,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry.visa,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc.visa {
        background-image: url("../images/icons/credit-cards/visa.svg"); }
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number.mastercard,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry.mastercard,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc.mastercard,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.mastercard,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.mastercard,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.mastercard,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number.mastercard,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry.mastercard,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc.mastercard {
        background-image: url("../images/icons/credit-cards/mastercard.svg"); }
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number.laser,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry.laser,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc.laser,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.laser,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.laser,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.laser,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number.laser,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry.laser,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc.laser {
        background-image: url("../images/icons/credit-cards/laser.svg"); }
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number.dinersclub,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry.dinersclub,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc.dinersclub,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.dinersclub,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.dinersclub,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.dinersclub,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number.dinersclub,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry.dinersclub,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc.dinersclub {
        background-image: url("../images/icons/credit-cards/diners.svg"); }
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number.maestro,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry.maestro,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc.maestro,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.maestro,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.maestro,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.maestro,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number.maestro,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry.maestro,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc.maestro {
        background-image: url("../images/icons/credit-cards/maestro.svg"); }
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number.jcb,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry.jcb,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc.jcb,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.jcb,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.jcb,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.jcb,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number.jcb,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry.jcb,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc.jcb {
        background-image: url("../images/icons/credit-cards/jcb.svg"); }
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number.amex,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry.amex,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc.amex,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.amex,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.amex,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.amex,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number.amex,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry.amex,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc.amex {
        background-image: url("../images/icons/credit-cards/amex.svg"); }
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number.discover,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry.discover,
      .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc.discover,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.discover,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.discover,
      .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.discover,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number.discover,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry.discover,
      #add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc.discover {
        background-image: url("../images/icons/credit-cards/discover.svg"); }
    .woocommerce-cart #payment div.payment_box span.help,
    .woocommerce-checkout #payment div.payment_box span.help,
    #add_payment_method #payment div.payment_box span.help {
      font-size: 0.857em;
      color: #767676;
      font-weight: normal; }
    .woocommerce-cart #payment div.payment_box .form-row,
    .woocommerce-checkout #payment div.payment_box .form-row,
    #add_payment_method #payment div.payment_box .form-row {
      margin: 0 0 1em; }
    .woocommerce-cart #payment div.payment_box p:last-child,
    .woocommerce-checkout #payment div.payment_box p:last-child,
    #add_payment_method #payment div.payment_box p:last-child {
      margin-bottom: 0; }
    .woocommerce-cart #payment div.payment_box::before,
    .woocommerce-checkout #payment div.payment_box::before,
    #add_payment_method #payment div.payment_box::before {
      content: "";
      display: block;
      border: 1em solid #dfdcde;
      /* arrow size / color */
      border-right-color: transparent;
      border-left-color: transparent;
      border-top-color: transparent;
      position: absolute;
      top: -0.75em;
      left: 0;
      margin: -1em 0 0 2em; }
  .woocommerce-cart #payment .payment_method_paypal .about_paypal,
  .woocommerce-checkout #payment .payment_method_paypal .about_paypal,
  #add_payment_method #payment .payment_method_paypal .about_paypal {
    float: right;
    line-height: 52px;
    font-size: 0.83em; }
  .woocommerce-cart #payment .payment_method_paypal img,
  .woocommerce-checkout #payment .payment_method_paypal img,
  #add_payment_method #payment .payment_method_paypal img {
    max-height: 52px;
    vertical-align: middle; }

.woocommerce-terms-and-conditions {
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.05); }

.woocommerce-invalid #terms {
  outline: 2px solid red;
  outline-offset: 2px; }

/**
 * Cart
 */
/**
 * Cart page
 */
.woocommerce,
.woocommerce-page {
  /**
   * Forms
   */
  /**
   * oEmbeds
   */ }
  .woocommerce table.cart img,
  .woocommerce #content table.cart img,
  .woocommerce-page table.cart img,
  .woocommerce-page #content table.cart img {
    height: auto; }
  .woocommerce table.cart td.actions,
  .woocommerce #content table.cart td.actions,
  .woocommerce-page table.cart td.actions,
  .woocommerce-page #content table.cart td.actions {
    text-align: right; }
    .woocommerce table.cart td.actions .input-text,
    .woocommerce #content table.cart td.actions .input-text,
    .woocommerce-page table.cart td.actions .input-text,
    .woocommerce-page #content table.cart td.actions .input-text {
      width: 80px; }
    .woocommerce table.cart td.actions .coupon,
    .woocommerce #content table.cart td.actions .coupon,
    .woocommerce-page table.cart td.actions .coupon,
    .woocommerce-page #content table.cart td.actions .coupon {
      float: left; }
      .woocommerce table.cart td.actions .coupon label,
      .woocommerce #content table.cart td.actions .coupon label,
      .woocommerce-page table.cart td.actions .coupon label,
      .woocommerce-page #content table.cart td.actions .coupon label {
        display: none; }
  .woocommerce .cart-collaterals,
  .woocommerce-page .cart-collaterals {
    *zoom: 1;
    width: 100%; }
    .woocommerce .cart-collaterals::before, .woocommerce .cart-collaterals::after,
    .woocommerce-page .cart-collaterals::before,
    .woocommerce-page .cart-collaterals::after {
      content: ' ';
      display: table; }
    .woocommerce .cart-collaterals::after,
    .woocommerce-page .cart-collaterals::after {
      clear: both; }
    .woocommerce .cart-collaterals .related,
    .woocommerce-page .cart-collaterals .related {
      width: 30.75%;
      float: left; }
    .woocommerce .cart-collaterals .cross-sells,
    .woocommerce-page .cart-collaterals .cross-sells {
      width: 48%;
      float: left; }
      .woocommerce .cart-collaterals .cross-sells ul.products,
      .woocommerce-page .cart-collaterals .cross-sells ul.products {
        float: none; }
        .woocommerce .cart-collaterals .cross-sells ul.products li,
        .woocommerce-page .cart-collaterals .cross-sells ul.products li {
          width: 48%; }
    .woocommerce .cart-collaterals .shipping_calculator,
    .woocommerce-page .cart-collaterals .shipping_calculator {
      width: 48%;
      *zoom: 1;
      clear: right;
      float: right; }
      .woocommerce .cart-collaterals .shipping_calculator::before, .woocommerce .cart-collaterals .shipping_calculator::after,
      .woocommerce-page .cart-collaterals .shipping_calculator::before,
      .woocommerce-page .cart-collaterals .shipping_calculator::after {
        content: ' ';
        display: table; }
      .woocommerce .cart-collaterals .shipping_calculator::after,
      .woocommerce-page .cart-collaterals .shipping_calculator::after {
        clear: both; }
      .woocommerce .cart-collaterals .shipping_calculator .col2-set .col-1,
      .woocommerce .cart-collaterals .shipping_calculator .col2-set .col-2,
      .woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-1,
      .woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-2 {
        width: 47%; }
    .woocommerce .cart-collaterals .cart_totals,
    .woocommerce-page .cart-collaterals .cart_totals {
      float: right;
      width: 48%; }
  .woocommerce form .form-row,
  .woocommerce-page form .form-row {
    *zoom: 1; }
    .woocommerce form .form-row::before, .woocommerce form .form-row::after,
    .woocommerce-page form .form-row::before,
    .woocommerce-page form .form-row::after {
      content: ' ';
      display: table; }
    .woocommerce form .form-row::after,
    .woocommerce-page form .form-row::after {
      clear: both; }
    .woocommerce form .form-row label,
    .woocommerce-page form .form-row label {
      display: block; }
      .woocommerce form .form-row label.checkbox,
      .woocommerce-page form .form-row label.checkbox {
        display: inline; }
    .woocommerce form .form-row select,
    .woocommerce-page form .form-row select {
      width: 100%; }
    .woocommerce form .form-row .input-text,
    .woocommerce-page form .form-row .input-text {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 100%; }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last,
  .woocommerce-page form .form-row-first,
  .woocommerce-page form .form-row-last {
    width: 47%;
    overflow: visible; }
  .woocommerce form .form-row-first,
  .woocommerce-page form .form-row-first {
    float: left;
    /*rtl:raw:
      float: right;
      */ }
  .woocommerce form .form-row-last,
  .woocommerce-page form .form-row-last {
    float: right; }
  .woocommerce form .form-row-wide,
  .woocommerce-page form .form-row-wide {
    clear: both; }
  .woocommerce form .password-input,
  .woocommerce-page form .password-input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    /* Hide the Edge "reveal password" native button */ }
    .woocommerce form .password-input input[type="password"],
    .woocommerce-page form .password-input input[type="password"] {
      padding-right: 2.5rem; }
    .woocommerce form .password-input input::-ms-reveal,
    .woocommerce-page form .password-input input::-ms-reveal {
      display: none; }
  .woocommerce form .show-password-input,
  .woocommerce-page form .show-password-input {
    position: absolute;
    right: 0.7em;
    top: 0.7em;
    cursor: pointer; }
  .woocommerce form .show-password-input::after,
  .woocommerce-page form .show-password-input::after {
    font-family: 'WooCommerce';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    margin-left: 0.618em;
    content: "";
    text-decoration: none; }
  .woocommerce form .show-password-input.display-password::after,
  .woocommerce-page form .show-password-input.display-password::after {
    color: #585858; }
  .woocommerce #payment .form-row select,
  .woocommerce-page #payment .form-row select {
    width: auto; }
  .woocommerce #payment .wc-terms-and-conditions,
  .woocommerce #payment .terms,
  .woocommerce-page #payment .wc-terms-and-conditions,
  .woocommerce-page #payment .terms {
    text-align: left;
    padding: 0 1em 0 0;
    float: left; }
  .woocommerce #payment #place_order,
  .woocommerce-page #payment #place_order {
    float: right; }
  .woocommerce .woocommerce-billing-fields,
  .woocommerce .woocommerce-shipping-fields,
  .woocommerce-page .woocommerce-billing-fields,
  .woocommerce-page .woocommerce-shipping-fields {
    *zoom: 1; }
    .woocommerce .woocommerce-billing-fields::before, .woocommerce .woocommerce-billing-fields::after,
    .woocommerce .woocommerce-shipping-fields::before,
    .woocommerce .woocommerce-shipping-fields::after,
    .woocommerce-page .woocommerce-billing-fields::before,
    .woocommerce-page .woocommerce-billing-fields::after,
    .woocommerce-page .woocommerce-shipping-fields::before,
    .woocommerce-page .woocommerce-shipping-fields::after {
      content: ' ';
      display: table; }
    .woocommerce .woocommerce-billing-fields::after,
    .woocommerce .woocommerce-shipping-fields::after,
    .woocommerce-page .woocommerce-billing-fields::after,
    .woocommerce-page .woocommerce-shipping-fields::after {
      clear: both; }
  .woocommerce .woocommerce-terms-and-conditions,
  .woocommerce-page .woocommerce-terms-and-conditions {
    margin-bottom: 1.618em;
    padding: 1.618em; }
  .woocommerce .woocommerce-oembed,
  .woocommerce-page .woocommerce-oembed {
    position: relative; }

/**
 * General WooCommerce components
 */
/**
 * Header cart
 */
.site-header-cart {
  margin: 0;
  padding: 0;
  border: 1px solid #0000004d;
  border-radius: 1.125rem;
  width: 3.625rem;
  height: 2.25rem;
  background-image: url("../icons/cart.svg");
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  cursor: pointer;
  z-index: 2;
  position: absolute !important;
  right: 3.75rem; }
  @media (min-width: 992px) {
    .site-header-cart {
      position: relative !important;
      right: initial; } }
  .site-header-cart.opened .widget_shopping_cart {
    opacity: 1;
    pointer-events: all;
    display: block; }
  .site-header-cart.full {
    background-image: url("../icons/cart-full-hover.svg"); }
    .site-header-cart.full:hover {
      background-image: url("../icons/cart-full.svg"); }
  .site-header-cart a {
    position: relative;
    z-index: 3; }
  .site-header-cart li {
    list-style: none; }
  .site-header-cart .cart-contents {
    text-decoration: none; }
    .site-header-cart .cart-contents .amount, .site-header-cart .cart-contents .count {
      display: none; }
  .site-header-cart .widget_shopping_cart {
    display: none; }
  .site-header-cart .product_list_widget {
    margin: 0;
    padding: 0; }
    .site-header-cart .product_list_widget li {
      position: relative;
      padding-bottom: 12px;
      margin-bottom: 12px;
      border-bottom: 1px solid #f1f1f1; }
      .site-header-cart .product_list_widget li a {
        color: #000; }
      .site-header-cart .product_list_widget li:last-child {
        border-bottom: 0 none; }
      .site-header-cart .product_list_widget li a.remove {
        position: absolute;
        right: 0;
        top: 3px; }
  .site-header-cart .widget_shopping_cart {
    position: absolute;
    top: calc(100% + 1px);
    width: 18.75rem !important;
    z-index: 999999;
    right: 0;
    opacity: 0;
    pointer-events: none;
    display: block;
    padding: 16px 20px 5px;
    background-color: #ffffff;
    border-radius: 3px;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: 1px solid #f2f2f2; }
  .site-header-cart:hover .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart {
    opacity: 1;
    pointer-events: all;
    display: block; }

@media screen and (min-width: 48em) {
  /**
     * Header cart
     */ }

.woocommerce,
.woocommerce-page {
  /**
         * Reviews
         */
  /**
     * Star ratings
     */
  /**
	 * Password strength meter
	 */
  /**
     * Forms
     */
  /**
         * Forms
         */
  /**
     * Notices
     */
  /**
         * Buttons
         */
  /**
	 * Order page
	 */ }
  .woocommerce #reviews h2 small,
  .woocommerce-page #reviews h2 small {
    float: right;
    color: #767676;
    font-size: 15px;
    margin: 10px 0 0; }
    .woocommerce #reviews h2 small a,
    .woocommerce-page #reviews h2 small a {
      text-decoration: none;
      color: #767676; }
  .woocommerce #reviews h3,
  .woocommerce-page #reviews h3 {
    margin: 0; }
  .woocommerce #reviews #respond,
  .woocommerce-page #reviews #respond {
    margin: 0;
    border: 0;
    padding: 0; }
  .woocommerce #reviews #comment,
  .woocommerce-page #reviews #comment {
    height: 75px; }
  .woocommerce #reviews #comments .add_review,
  .woocommerce-page #reviews #comments .add_review {
    *zoom: 1; }
    .woocommerce #reviews #comments .add_review::before, .woocommerce #reviews #comments .add_review::after,
    .woocommerce-page #reviews #comments .add_review::before,
    .woocommerce-page #reviews #comments .add_review::after {
      content: ' ';
      display: table; }
    .woocommerce #reviews #comments .add_review::after,
    .woocommerce-page #reviews #comments .add_review::after {
      clear: both; }
  .woocommerce #reviews #comments h2,
  .woocommerce-page #reviews #comments h2 {
    clear: none; }
  .woocommerce #reviews #comments ol.commentlist,
  .woocommerce-page #reviews #comments ol.commentlist {
    *zoom: 1;
    margin: 0;
    width: 100%;
    background: none;
    list-style: none; }
    .woocommerce #reviews #comments ol.commentlist::before, .woocommerce #reviews #comments ol.commentlist::after,
    .woocommerce-page #reviews #comments ol.commentlist::before,
    .woocommerce-page #reviews #comments ol.commentlist::after {
      content: ' ';
      display: table; }
    .woocommerce #reviews #comments ol.commentlist::after,
    .woocommerce-page #reviews #comments ol.commentlist::after {
      clear: both; }
    .woocommerce #reviews #comments ol.commentlist li,
    .woocommerce-page #reviews #comments ol.commentlist li {
      padding: 0;
      margin: 0 0 20px;
      border: 0;
      position: relative;
      background: 0;
      border: 0; }
      .woocommerce #reviews #comments ol.commentlist li .meta,
      .woocommerce-page #reviews #comments ol.commentlist li .meta {
        color: #767676;
        font-size: 0.75em; }
      .woocommerce #reviews #comments ol.commentlist li img.avatar,
      .woocommerce-page #reviews #comments ol.commentlist li img.avatar {
        float: left;
        position: absolute;
        top: 0;
        left: 0;
        padding: 3px;
        width: 32px;
        height: auto;
        background: #ebe9eb;
        border: 1px solid #e4e1e3;
        margin: 0;
        -webkit-box-shadow: none;
                box-shadow: none; }
      .woocommerce #reviews #comments ol.commentlist li .comment-text,
      .woocommerce-page #reviews #comments ol.commentlist li .comment-text {
        margin: 0 0 0 50px;
        border: 1px solid #e4e1e3;
        border-radius: 4px;
        padding: 1em 1em 0;
        *zoom: 1; }
        .woocommerce #reviews #comments ol.commentlist li .comment-text::before, .woocommerce #reviews #comments ol.commentlist li .comment-text::after,
        .woocommerce-page #reviews #comments ol.commentlist li .comment-text::before,
        .woocommerce-page #reviews #comments ol.commentlist li .comment-text::after {
          content: ' ';
          display: table; }
        .woocommerce #reviews #comments ol.commentlist li .comment-text::after,
        .woocommerce-page #reviews #comments ol.commentlist li .comment-text::after {
          clear: both; }
        .woocommerce #reviews #comments ol.commentlist li .comment-text p,
        .woocommerce-page #reviews #comments ol.commentlist li .comment-text p {
          margin: 0 0 1em; }
        .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta,
        .woocommerce-page #reviews #comments ol.commentlist li .comment-text p.meta {
          font-size: 0.83em; }
    .woocommerce #reviews #comments ol.commentlist ul.children,
    .woocommerce-page #reviews #comments ol.commentlist ul.children {
      list-style: none outside;
      margin: 20px 0 0 50px; }
      .woocommerce #reviews #comments ol.commentlist ul.children .star-rating,
      .woocommerce-page #reviews #comments ol.commentlist ul.children .star-rating {
        display: none; }
    .woocommerce #reviews #comments ol.commentlist #respond,
    .woocommerce-page #reviews #comments ol.commentlist #respond {
      border: 1px solid #e4e1e3;
      border-radius: 4px;
      padding: 1em 1em 0;
      margin: 20px 0 0 50px; }
  .woocommerce #reviews #comments .commentlist > li::before,
  .woocommerce-page #reviews #comments .commentlist > li::before {
    content: ""; }
  .woocommerce .star-rating,
  .woocommerce-page .star-rating {
    float: right;
    overflow: hidden;
    position: relative;
    height: 1em;
    line-height: 1;
    font-size: 1em;
    width: 5.4em;
    font-family: "star"; }
    .woocommerce .star-rating::before,
    .woocommerce-page .star-rating::before {
      content: "\73\73\73\73\73";
      color: #d3ced2;
      float: left;
      top: 0;
      left: 0;
      position: absolute; }
    .woocommerce .star-rating span,
    .woocommerce-page .star-rating span {
      overflow: hidden;
      float: left;
      top: 0;
      left: 0;
      position: absolute;
      padding-top: 1.5em; }
    .woocommerce .star-rating span::before,
    .woocommerce-page .star-rating span::before {
      content: "\53\53\53\53\53";
      top: 0;
      position: absolute;
      left: 0; }
  .woocommerce .woocommerce-product-rating,
  .woocommerce-page .woocommerce-product-rating {
    *zoom: 1;
    line-height: 2;
    display: block; }
    .woocommerce .woocommerce-product-rating::before, .woocommerce .woocommerce-product-rating::after,
    .woocommerce-page .woocommerce-product-rating::before,
    .woocommerce-page .woocommerce-product-rating::after {
      content: ' ';
      display: table; }
    .woocommerce .woocommerce-product-rating::after,
    .woocommerce-page .woocommerce-product-rating::after {
      clear: both; }
    .woocommerce .woocommerce-product-rating .star-rating,
    .woocommerce-page .woocommerce-product-rating .star-rating {
      margin: 0.5em 4px 0 0;
      float: left; }
  .woocommerce .products .star-rating,
  .woocommerce-page .products .star-rating {
    display: block;
    margin: 0 0 0.5em;
    float: none; }
  .woocommerce .hreview-aggregate .star-rating,
  .woocommerce-page .hreview-aggregate .star-rating {
    margin: 10px 0 0; }
  .woocommerce #review_form #respond,
  .woocommerce-page #review_form #respond {
    *zoom: 1;
    position: static;
    margin: 0;
    width: auto;
    padding: 0;
    background: transparent none;
    border: 0; }
    .woocommerce #review_form #respond::before, .woocommerce #review_form #respond::after,
    .woocommerce-page #review_form #respond::before,
    .woocommerce-page #review_form #respond::after {
      content: ' ';
      display: table; }
    .woocommerce #review_form #respond::after,
    .woocommerce-page #review_form #respond::after {
      clear: both; }
    .woocommerce #review_form #respond p,
    .woocommerce-page #review_form #respond p {
      margin: 0 0 10px; }
    .woocommerce #review_form #respond .form-submit input,
    .woocommerce-page #review_form #respond .form-submit input {
      left: auto; }
    .woocommerce #review_form #respond textarea,
    .woocommerce-page #review_form #respond textarea {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 100%; }
  .woocommerce p.stars a,
  .woocommerce-page p.stars a {
    position: relative;
    height: 1em;
    width: 1em;
    text-indent: -999em;
    display: inline-block;
    text-decoration: none; }
    .woocommerce p.stars a::before,
    .woocommerce-page p.stars a::before {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 1em;
      height: 1em;
      line-height: 1;
      font-family: "WooCommerce";
      content: "\e021";
      text-indent: 0; }
    .woocommerce p.stars a:hover ~ a::before,
    .woocommerce-page p.stars a:hover ~ a::before {
      content: "\e021"; }
  .woocommerce p.stars:hover a::before,
  .woocommerce-page p.stars:hover a::before {
    content: "\e020"; }
  .woocommerce p.stars.selected a.active::before,
  .woocommerce-page p.stars.selected a.active::before {
    content: "\e020"; }
  .woocommerce p.stars.selected a.active ~ a::before,
  .woocommerce-page p.stars.selected a.active ~ a::before {
    content: "\e021"; }
  .woocommerce p.stars.selected a:not(.active)::before,
  .woocommerce-page p.stars.selected a:not(.active)::before {
    content: "\e020"; }
  .woocommerce .woocommerce-password-strength,
  .woocommerce-page .woocommerce-password-strength {
    text-align: center;
    font-weight: 600;
    padding: 3px 0.5em;
    font-size: 1em; }
    .woocommerce .woocommerce-password-strength.strong,
    .woocommerce-page .woocommerce-password-strength.strong {
      background-color: #c1e1b9;
      border-color: #83c373; }
    .woocommerce .woocommerce-password-strength.short,
    .woocommerce-page .woocommerce-password-strength.short {
      background-color: #f1adad;
      border-color: #e35b5b; }
    .woocommerce .woocommerce-password-strength.bad,
    .woocommerce-page .woocommerce-password-strength.bad {
      background-color: #fbc5a9;
      border-color: #f78b53; }
    .woocommerce .woocommerce-password-strength.good,
    .woocommerce-page .woocommerce-password-strength.good {
      background-color: #ffe399;
      border-color: #ffc733; }
  .woocommerce .woocommerce-password-hint,
  .woocommerce-page .woocommerce-password-hint {
    margin: 0.5em 0 0;
    display: block; }
  .woocommerce .form-row.woocommerce-validated input.input-text,
  .woocommerce-page .form-row.woocommerce-validated input.input-text {
    -webkit-box-shadow: inset 2px 0 0 #0f834d;
            box-shadow: inset 2px 0 0 #0f834d; }
  .woocommerce .form-row.woocommerce-invalid input.input-text,
  .woocommerce-page .form-row.woocommerce-invalid input.input-text {
    -webkit-box-shadow: inset 2px 0 0 #e2401c;
            box-shadow: inset 2px 0 0 #e2401c; }
  .woocommerce .required,
  .woocommerce-page .required {
    color: #f00; }
  .woocommerce form .form-row,
  .woocommerce-page form .form-row {
    padding: 3px;
    margin: 0 0 6px; }
    .woocommerce form .form-row [placeholder]:focus::-webkit-input-placeholder,
    .woocommerce-page form .form-row [placeholder]:focus::-webkit-input-placeholder {
      -webkit-transition: opacity 0.5s 0.5s ease;
      transition: opacity 0.5s 0.5s ease;
      opacity: 0; }
    .woocommerce form .form-row label,
    .woocommerce-page form .form-row label {
      line-height: 2; }
    .woocommerce form .form-row label.hidden,
    .woocommerce-page form .form-row label.hidden {
      visibility: hidden; }
    .woocommerce form .form-row label.inline,
    .woocommerce-page form .form-row label.inline {
      display: inline; }
    .woocommerce form .form-row .woocommerce-input-wrapper .description,
    .woocommerce-page form .form-row .woocommerce-input-wrapper .description {
      background: #1e85be;
      color: #fff;
      border-radius: 3px;
      padding: 1em;
      margin: 0.5em 0 0;
      clear: both;
      display: none;
      position: relative; }
      .woocommerce form .form-row .woocommerce-input-wrapper .description a,
      .woocommerce-page form .form-row .woocommerce-input-wrapper .description a {
        color: #fff;
        text-decoration: underline;
        border: 0;
        -webkit-box-shadow: none;
                box-shadow: none; }
      .woocommerce form .form-row .woocommerce-input-wrapper .description::before,
      .woocommerce-page form .form-row .woocommerce-input-wrapper .description::before {
        left: 50%;
        top: 0%;
        margin-top: -4px;
        -webkit-transform: translateX(-50%) rotate(180deg);
                transform: translateX(-50%) rotate(180deg);
        content: "";
        position: absolute;
        border-width: 4px 6px 0 6px;
        border-style: solid;
        border-color: #1e85be transparent transparent transparent;
        z-index: 100;
        display: block; }
    .woocommerce form .form-row select,
    .woocommerce-page form .form-row select {
      cursor: pointer;
      margin: 0; }
    .woocommerce form .form-row .required,
    .woocommerce-page form .form-row .required {
      color: red;
      font-weight: 700;
      border: 0 !important;
      text-decoration: none;
      visibility: hidden; }
    .woocommerce form .form-row .optional,
    .woocommerce-page form .form-row .optional {
      visibility: visible; }
    .woocommerce form .form-row .input-checkbox,
    .woocommerce-page form .form-row .input-checkbox {
      display: inline;
      margin: -2px 8px 0 0;
      text-align: center;
      vertical-align: middle; }
    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row textarea,
    .woocommerce-page form .form-row input.input-text,
    .woocommerce-page form .form-row textarea {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 100%;
      margin: 0;
      outline: 0;
      line-height: normal; }
    .woocommerce form .form-row textarea,
    .woocommerce-page form .form-row textarea {
      height: 4em;
      line-height: 1.5;
      display: block;
      -webkit-box-shadow: none;
              box-shadow: none; }
    .woocommerce form .form-row .select2-container,
    .woocommerce-page form .form-row .select2-container {
      width: 100%;
      line-height: 2em; }
    .woocommerce form .form-row.woocommerce-invalid label,
    .woocommerce-page form .form-row.woocommerce-invalid label {
      color: #a00; }
    .woocommerce form .form-row.woocommerce-invalid .select2-container,
    .woocommerce form .form-row.woocommerce-invalid input.input-text,
    .woocommerce form .form-row.woocommerce-invalid select,
    .woocommerce-page form .form-row.woocommerce-invalid .select2-container,
    .woocommerce-page form .form-row.woocommerce-invalid input.input-text,
    .woocommerce-page form .form-row.woocommerce-invalid select {
      border-color: #a00; }
    .woocommerce form .form-row.woocommerce-validated .select2-container,
    .woocommerce form .form-row.woocommerce-validated input.input-text,
    .woocommerce form .form-row.woocommerce-validated select,
    .woocommerce-page form .form-row.woocommerce-validated .select2-container,
    .woocommerce-page form .form-row.woocommerce-validated input.input-text,
    .woocommerce-page form .form-row.woocommerce-validated select {
      border-color: #6dc22e; }
    .woocommerce form .form-row ::-webkit-input-placeholder,
    .woocommerce-page form .form-row ::-webkit-input-placeholder {
      line-height: normal; }
    .woocommerce form .form-row :-moz-placeholder,
    .woocommerce-page form .form-row :-moz-placeholder {
      line-height: normal; }
    .woocommerce form .form-row :-ms-input-placeholder,
    .woocommerce-page form .form-row :-ms-input-placeholder {
      line-height: normal; }
  .woocommerce form.login,
  .woocommerce form.checkout_coupon,
  .woocommerce form.register,
  .woocommerce-page form.login,
  .woocommerce-page form.checkout_coupon,
  .woocommerce-page form.register {
    border: 1px solid #d3ced2;
    padding: 20px;
    margin: 2em 0;
    text-align: left;
    border-radius: 5px; }
  .woocommerce ul#shipping_method,
  .woocommerce-page ul#shipping_method {
    list-style: none outside;
    margin: 0;
    padding: 0; }
    .woocommerce ul#shipping_method li,
    .woocommerce-page ul#shipping_method li {
      margin: 0 0 0.5em;
      line-height: 1.5em;
      list-style: none outside; }
      .woocommerce ul#shipping_method li input,
      .woocommerce-page ul#shipping_method li input {
        margin: 3px 0.4375em 0 0;
        vertical-align: top; }
      .woocommerce ul#shipping_method li label,
      .woocommerce-page ul#shipping_method li label {
        display: inline; }
    .woocommerce ul#shipping_method .amount,
    .woocommerce-page ul#shipping_method .amount {
      font-weight: 700; }
  .woocommerce p.woocommerce-shipping-contents,
  .woocommerce-page p.woocommerce-shipping-contents {
    margin: 0; }
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error,
  .woocommerce .woocommerce-noreviews,
  .woocommerce p.no-comments,
  .woocommerce-page .woocommerce-message,
  .woocommerce-page .woocommerce-info,
  .woocommerce-page .woocommerce-error,
  .woocommerce-page .woocommerce-noreviews,
  .woocommerce-page p.no-comments {
    background-color: #0f834d;
    clear: both; }
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-noreviews,
  .woocommerce p.no-comments,
  .woocommerce-page .woocommerce-info,
  .woocommerce-page .woocommerce-noreviews,
  .woocommerce-page p.no-comments {
    background-color: #3d9cd2; }
  .woocommerce .woocommerce-error,
  .woocommerce-page .woocommerce-error {
    background-color: #e2401c; }
  .woocommerce .demo_store,
  .woocommerce-page .demo_store {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    margin: 0;
    padding: 1em;
    background-color: #3d9cd2;
    z-index: 9999; }
  .woocommerce .woocommerce-breadcrumb,
  .woocommerce-page .woocommerce-breadcrumb {
    *zoom: 1;
    margin: 0 0 1em;
    padding: 0;
    font-size: 0.92em;
    color: #767676; }
    .woocommerce .woocommerce-breadcrumb::before, .woocommerce .woocommerce-breadcrumb::after,
    .woocommerce-page .woocommerce-breadcrumb::before,
    .woocommerce-page .woocommerce-breadcrumb::after {
      content: ' ';
      display: table; }
    .woocommerce .woocommerce-breadcrumb::after,
    .woocommerce-page .woocommerce-breadcrumb::after {
      clear: both; }
    .woocommerce .woocommerce-breadcrumb a,
    .woocommerce-page .woocommerce-breadcrumb a {
      color: #767676; }
  .woocommerce .blockUI.blockOverlay,
  .woocommerce-page .blockUI.blockOverlay {
    position: relative; }
    .woocommerce .blockUI.blockOverlay::before,
    .woocommerce-page .blockUI.blockOverlay::before {
      height: 1em;
      width: 1em;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      margin-left: -0.5em;
      margin-top: -0.5em;
      content: '';
      -webkit-animation: spin 1s ease-in-out infinite;
              animation: spin 1s ease-in-out infinite;
      background: url("../images/icons/loader.svg") center center;
      background-size: cover;
      line-height: 1;
      text-align: center;
      font-size: 2em;
      color: rgba(0, 0, 0, 0.75); }
  .woocommerce .loader::before,
  .woocommerce-page .loader::before {
    height: 1em;
    width: 1em;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -0.5em;
    margin-top: -0.5em;
    content: '';
    -webkit-animation: spin 1s ease-in-out infinite;
            animation: spin 1s ease-in-out infinite;
    background: url("../images/icons/loader.svg") center center;
    background-size: cover;
    line-height: 1;
    text-align: center;
    font-size: 2em;
    color: rgba(0, 0, 0, 0.75); }
  .woocommerce a.remove,
  .woocommerce-page a.remove {
    display: block;
    font-size: 1.2em;
    height: 1em;
    text-align: right;
    line-height: 1;
    border-radius: 100%;
    color: #000 !important;
    text-decoration: none;
    font-weight: 700;
    border: 0;
    cursor: pointer; }
  .woocommerce small.note,
  .woocommerce-page small.note {
    display: block;
    color: #767676;
    font-size: 0.857em;
    margin-top: 10px; }
  .woocommerce .quantity .qty,
  .woocommerce-page .quantity .qty {
    width: 3.631em;
    text-align: center; }
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  .woocommerce-page a.button,
  .woocommerce-page button.button,
  .woocommerce-page input.button,
  .woocommerce-page #respond input#submit {
    font-size: 100%;
    margin: 0;
    line-height: 1;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    overflow: visible;
    padding: 0.618em 1em;
    font-weight: 700;
    border-radius: 3px;
    left: auto;
    color: #515151;
    background-color: #ebe9eb;
    border: 0;
    display: inline-block;
    background-image: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    text-shadow: none; }
    .woocommerce a.button.loading,
    .woocommerce button.button.loading,
    .woocommerce input.button.loading,
    .woocommerce #respond input#submit.loading,
    .woocommerce-page a.button.loading,
    .woocommerce-page button.button.loading,
    .woocommerce-page input.button.loading,
    .woocommerce-page #respond input#submit.loading {
      opacity: 0.25;
      padding-right: 2.618em; }
      .woocommerce a.button.loading::after,
      .woocommerce button.button.loading::after,
      .woocommerce input.button.loading::after,
      .woocommerce #respond input#submit.loading::after,
      .woocommerce-page a.button.loading::after,
      .woocommerce-page button.button.loading::after,
      .woocommerce-page input.button.loading::after,
      .woocommerce-page #respond input#submit.loading::after {
        font-family: "WooCommerce";
        content: "\e01c";
        vertical-align: top;
        font-weight: 400;
        position: absolute;
        top: 0.618em;
        right: 1em;
        -webkit-animation: spin 2s linear infinite;
                animation: spin 2s linear infinite; }
    .woocommerce a.button.added::after,
    .woocommerce button.button.added::after,
    .woocommerce input.button.added::after,
    .woocommerce #respond input#submit.added::after,
    .woocommerce-page a.button.added::after,
    .woocommerce-page button.button.added::after,
    .woocommerce-page input.button.added::after,
    .woocommerce-page #respond input#submit.added::after {
      font-family: "WooCommerce";
      content: "\e017";
      margin-left: 0.53em;
      vertical-align: bottom; }
    .woocommerce a.button:hover,
    .woocommerce button.button:hover,
    .woocommerce input.button:hover,
    .woocommerce #respond input#submit:hover,
    .woocommerce-page a.button:hover,
    .woocommerce-page button.button:hover,
    .woocommerce-page input.button:hover,
    .woocommerce-page #respond input#submit:hover {
      background-color: #dfdcde;
      text-decoration: none;
      background-image: none;
      color: #515151; }
    .woocommerce a.button.alt,
    .woocommerce button.button.alt,
    .woocommerce input.button.alt,
    .woocommerce #respond input#submit.alt,
    .woocommerce-page a.button.alt,
    .woocommerce-page button.button.alt,
    .woocommerce-page input.button.alt,
    .woocommerce-page #respond input#submit.alt {
      background-color: #a46497;
      color: white;
      -webkit-font-smoothing: antialiased; }
      .woocommerce a.button.alt:hover,
      .woocommerce button.button.alt:hover,
      .woocommerce input.button.alt:hover,
      .woocommerce #respond input#submit.alt:hover,
      .woocommerce-page a.button.alt:hover,
      .woocommerce-page button.button.alt:hover,
      .woocommerce-page input.button.alt:hover,
      .woocommerce-page #respond input#submit.alt:hover {
        background-color: #96588a;
        color: white; }
      .woocommerce a.button.alt.disabled, .woocommerce a.button.alt:disabled, .woocommerce a.button.alt:disabled[disabled], .woocommerce a.button.alt.disabled:hover, .woocommerce a.button.alt:disabled:hover, .woocommerce a.button.alt:disabled[disabled]:hover,
      .woocommerce button.button.alt.disabled,
      .woocommerce button.button.alt:disabled,
      .woocommerce button.button.alt:disabled[disabled],
      .woocommerce button.button.alt.disabled:hover,
      .woocommerce button.button.alt:disabled:hover,
      .woocommerce button.button.alt:disabled[disabled]:hover,
      .woocommerce input.button.alt.disabled,
      .woocommerce input.button.alt:disabled,
      .woocommerce input.button.alt:disabled[disabled],
      .woocommerce input.button.alt.disabled:hover,
      .woocommerce input.button.alt:disabled:hover,
      .woocommerce input.button.alt:disabled[disabled]:hover,
      .woocommerce #respond input#submit.alt.disabled,
      .woocommerce #respond input#submit.alt:disabled,
      .woocommerce #respond input#submit.alt:disabled[disabled],
      .woocommerce #respond input#submit.alt.disabled:hover,
      .woocommerce #respond input#submit.alt:disabled:hover,
      .woocommerce #respond input#submit.alt:disabled[disabled]:hover,
      .woocommerce-page a.button.alt.disabled,
      .woocommerce-page a.button.alt:disabled,
      .woocommerce-page a.button.alt:disabled[disabled],
      .woocommerce-page a.button.alt.disabled:hover,
      .woocommerce-page a.button.alt:disabled:hover,
      .woocommerce-page a.button.alt:disabled[disabled]:hover,
      .woocommerce-page button.button.alt.disabled,
      .woocommerce-page button.button.alt:disabled,
      .woocommerce-page button.button.alt:disabled[disabled],
      .woocommerce-page button.button.alt.disabled:hover,
      .woocommerce-page button.button.alt:disabled:hover,
      .woocommerce-page button.button.alt:disabled[disabled]:hover,
      .woocommerce-page input.button.alt.disabled,
      .woocommerce-page input.button.alt:disabled,
      .woocommerce-page input.button.alt:disabled[disabled],
      .woocommerce-page input.button.alt.disabled:hover,
      .woocommerce-page input.button.alt:disabled:hover,
      .woocommerce-page input.button.alt:disabled[disabled]:hover,
      .woocommerce-page #respond input#submit.alt.disabled,
      .woocommerce-page #respond input#submit.alt:disabled,
      .woocommerce-page #respond input#submit.alt:disabled[disabled],
      .woocommerce-page #respond input#submit.alt.disabled:hover,
      .woocommerce-page #respond input#submit.alt:disabled:hover,
      .woocommerce-page #respond input#submit.alt:disabled[disabled]:hover {
        background-color: #a46497;
        color: white; }
    .woocommerce a.button:disabled, .woocommerce a.button.disabled, .woocommerce a.button:disabled[disabled],
    .woocommerce button.button:disabled,
    .woocommerce button.button.disabled,
    .woocommerce button.button:disabled[disabled],
    .woocommerce input.button:disabled,
    .woocommerce input.button.disabled,
    .woocommerce input.button:disabled[disabled],
    .woocommerce #respond input#submit:disabled,
    .woocommerce #respond input#submit.disabled,
    .woocommerce #respond input#submit:disabled[disabled],
    .woocommerce-page a.button:disabled,
    .woocommerce-page a.button.disabled,
    .woocommerce-page a.button:disabled[disabled],
    .woocommerce-page button.button:disabled,
    .woocommerce-page button.button.disabled,
    .woocommerce-page button.button:disabled[disabled],
    .woocommerce-page input.button:disabled,
    .woocommerce-page input.button.disabled,
    .woocommerce-page input.button:disabled[disabled],
    .woocommerce-page #respond input#submit:disabled,
    .woocommerce-page #respond input#submit.disabled,
    .woocommerce-page #respond input#submit:disabled[disabled] {
      color: inherit;
      cursor: not-allowed;
      opacity: 0.5;
      padding: 0.618em 1em; }
      .woocommerce a.button:disabled:hover, .woocommerce a.button.disabled:hover, .woocommerce a.button:disabled[disabled]:hover,
      .woocommerce button.button:disabled:hover,
      .woocommerce button.button.disabled:hover,
      .woocommerce button.button:disabled[disabled]:hover,
      .woocommerce input.button:disabled:hover,
      .woocommerce input.button.disabled:hover,
      .woocommerce input.button:disabled[disabled]:hover,
      .woocommerce #respond input#submit:disabled:hover,
      .woocommerce #respond input#submit.disabled:hover,
      .woocommerce #respond input#submit:disabled[disabled]:hover,
      .woocommerce-page a.button:disabled:hover,
      .woocommerce-page a.button.disabled:hover,
      .woocommerce-page a.button:disabled[disabled]:hover,
      .woocommerce-page button.button:disabled:hover,
      .woocommerce-page button.button.disabled:hover,
      .woocommerce-page button.button:disabled[disabled]:hover,
      .woocommerce-page input.button:disabled:hover,
      .woocommerce-page input.button.disabled:hover,
      .woocommerce-page input.button:disabled[disabled]:hover,
      .woocommerce-page #respond input#submit:disabled:hover,
      .woocommerce-page #respond input#submit.disabled:hover,
      .woocommerce-page #respond input#submit:disabled[disabled]:hover {
        color: inherit;
        background-color: #ebe9eb; }
  .woocommerce .cart .button,
  .woocommerce .cart input.button,
  .woocommerce-page .cart .button,
  .woocommerce-page .cart input.button {
    float: none; }
  .woocommerce a.added_to_cart,
  .woocommerce-page a.added_to_cart {
    padding-top: 0.5em;
    display: inline-block; }
  .woocommerce ul.order_details,
  .woocommerce-page ul.order_details {
    *zoom: 1;
    margin: 0 0 3em;
    list-style: none; }
    .woocommerce ul.order_details::before, .woocommerce ul.order_details::after,
    .woocommerce-page ul.order_details::before,
    .woocommerce-page ul.order_details::after {
      content: ' ';
      display: table; }
    .woocommerce ul.order_details::after,
    .woocommerce-page ul.order_details::after {
      clear: both; }
    .woocommerce ul.order_details li,
    .woocommerce-page ul.order_details li {
      float: left;
      margin-right: 2em;
      text-transform: uppercase;
      font-size: 0.715em;
      line-height: 1;
      border-right: 1px dashed #d3ced2;
      padding-right: 2em;
      margin-left: 0;
      padding-left: 0;
      list-style-type: none; }
      .woocommerce ul.order_details li strong,
      .woocommerce-page ul.order_details li strong {
        display: block;
        font-size: 1.4em;
        text-transform: none;
        line-height: 1.5; }
      .woocommerce ul.order_details li:last-of-type,
      .woocommerce-page ul.order_details li:last-of-type {
        border: none; }
  .woocommerce .wc-bacs-bank-details-account-name,
  .woocommerce-page .wc-bacs-bank-details-account-name {
    font-weight: bold; }
  .woocommerce .woocommerce-order-downloads,
  .woocommerce .woocommerce-customer-details,
  .woocommerce .woocommerce-order-details,
  .woocommerce-page .woocommerce-order-downloads,
  .woocommerce-page .woocommerce-customer-details,
  .woocommerce-page .woocommerce-order-details {
    margin-bottom: 2em; }
    .woocommerce .woocommerce-order-downloads *:last-child,
    .woocommerce .woocommerce-customer-details *:last-child,
    .woocommerce .woocommerce-order-details *:last-child,
    .woocommerce-page .woocommerce-order-downloads *:last-child,
    .woocommerce-page .woocommerce-customer-details *:last-child,
    .woocommerce-page .woocommerce-order-details *:last-child {
      margin-bottom: 0; }
  .woocommerce .woocommerce-customer-details address,
  .woocommerce-page .woocommerce-customer-details address {
    font-style: normal;
    margin-bottom: 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom-width: 2px;
    border-right-width: 2px;
    text-align: left;
    width: 100%;
    border-radius: 5px;
    padding: 6px 12px; }
  .woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone,
  .woocommerce .woocommerce-customer-details .woocommerce-customer-details--email,
  .woocommerce-page .woocommerce-customer-details .woocommerce-customer-details--phone,
  .woocommerce-page .woocommerce-customer-details .woocommerce-customer-details--email {
    margin-bottom: 0;
    padding-left: 1.5em; }
  .woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before,
  .woocommerce-page .woocommerce-customer-details .woocommerce-customer-details--phone::before {
    font-family: 'WooCommerce';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    margin-right: 0.618em;
    content: "";
    text-decoration: none;
    margin-left: -1.5em;
    line-height: 1.75;
    position: absolute; }
  .woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before,
  .woocommerce-page .woocommerce-customer-details .woocommerce-customer-details--email::before {
    font-family: 'WooCommerce';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    margin-right: 0.618em;
    content: "";
    text-decoration: none;
    margin-left: -1.5em;
    line-height: 1.75;
    position: absolute; }
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-error,
  .woocommerce .woocommerce-info,
  .woocommerce-page .woocommerce-message,
  .woocommerce-page .woocommerce-error,
  .woocommerce-page .woocommerce-info {
    padding: 1em 2em 1em 3.5em;
    margin: 0 0 2em;
    position: relative;
    background-color: #f7f6f7;
    color: #515151;
    border-top: 3px solid #a46497;
    list-style: none outside;
    *zoom: 1;
    width: auto;
    word-wrap: break-word; }
    .woocommerce .woocommerce-message::before, .woocommerce .woocommerce-message::after,
    .woocommerce .woocommerce-error::before,
    .woocommerce .woocommerce-error::after,
    .woocommerce .woocommerce-info::before,
    .woocommerce .woocommerce-info::after,
    .woocommerce-page .woocommerce-message::before,
    .woocommerce-page .woocommerce-message::after,
    .woocommerce-page .woocommerce-error::before,
    .woocommerce-page .woocommerce-error::after,
    .woocommerce-page .woocommerce-info::before,
    .woocommerce-page .woocommerce-info::after {
      content: ' ';
      display: table; }
    .woocommerce .woocommerce-message::after,
    .woocommerce .woocommerce-error::after,
    .woocommerce .woocommerce-info::after,
    .woocommerce-page .woocommerce-message::after,
    .woocommerce-page .woocommerce-error::after,
    .woocommerce-page .woocommerce-info::after {
      clear: both; }
    .woocommerce .woocommerce-message::before,
    .woocommerce .woocommerce-error::before,
    .woocommerce .woocommerce-info::before,
    .woocommerce-page .woocommerce-message::before,
    .woocommerce-page .woocommerce-error::before,
    .woocommerce-page .woocommerce-info::before {
      font-family: "WooCommerce";
      content: "\e028";
      display: inline-block;
      position: absolute;
      top: 1em;
      left: 1.5em; }
    .woocommerce .woocommerce-message .button,
    .woocommerce .woocommerce-error .button,
    .woocommerce .woocommerce-info .button,
    .woocommerce-page .woocommerce-message .button,
    .woocommerce-page .woocommerce-error .button,
    .woocommerce-page .woocommerce-info .button {
      float: right; }
    .woocommerce .woocommerce-message li,
    .woocommerce .woocommerce-error li,
    .woocommerce .woocommerce-info li,
    .woocommerce-page .woocommerce-message li,
    .woocommerce-page .woocommerce-error li,
    .woocommerce-page .woocommerce-info li {
      list-style: none outside !important;
      padding-left: 0 !important;
      margin-left: 0 !important; }
  .woocommerce .woocommerce-message,
  .woocommerce-page .woocommerce-message {
    border-top-color: #8fae1b; }
    .woocommerce .woocommerce-message::before,
    .woocommerce-page .woocommerce-message::before {
      content: "\e015";
      color: #8fae1b; }
  .woocommerce .woocommerce-info,
  .woocommerce-page .woocommerce-info {
    border-top-color: #1e85be; }
    .woocommerce .woocommerce-info::before,
    .woocommerce-page .woocommerce-info::before {
      color: #1e85be; }
  .woocommerce .woocommerce-error,
  .woocommerce-page .woocommerce-error {
    border-top-color: #b81c23; }
    .woocommerce .woocommerce-error::before,
    .woocommerce-page .woocommerce-error::before {
      content: "\e016";
      color: #b81c23; }

.abbtype-tabs .kt-tab-svg-icon {
  display: none !important; }

.abbtype-tabs .kt-inner-tab-2, .abbtype-tabs .kt-inner-tab-3 {
  border-top-left-radius: 3.125rem; }

.abbtype-tabs .kt-tab-title {
  background-repeat: no-repeat !important;
  background-size: 3.75rem !important;
  padding-left: 5.625rem !important;
  background-position: 1.25rem center !important;
  margin-bottom: 1.25rem; }
  @media (min-width: 1280px) {
    .abbtype-tabs .kt-tab-title {
      background-size: 5.625rem !important;
      padding-left: 8.75rem !important;
      min-width: 19.4375rem;
      margin-bottom: initial;
      background-position: 1.875rem center !important; } }

.abbtype-tabs .kt-tab-title-active .kt-tab-title {
  margin-bottom: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

.abbtype-tabs .kt-tab-title-active + .wp-block-kadence-tab {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important; }
  @media (min-width: 1280px) {
    .abbtype-tabs .kt-tab-title-active + .wp-block-kadence-tab {
      border-top-left-radius: 3.125rem !important;
      border-top-right-radius: 3.125rem !important; } }
  @media (min-width: 1280px) {
    .abbtype-tabs .kt-tab-title-active + .wp-block-kadence-tab.kt-inner-tab-1 {
      border-top-left-radius: 0 !important; } }

.abbtype-tabs .kt-tab-title-1 {
  background-image: url("/wp-content/uploads/2022/08/AbbType-icon.svg") !important; }

.abbtype-tabs .kt-tab-title-2 {
  background-image: url("/wp-content/uploads/2022/08/AbbStat-icon.svg") !important; }

.abbtype-tabs .kt-tab-title-3 {
  background-image: url("/wp-content/uploads/2022/08/AbbRead-icon.svg") !important; }

.abbtype-tabs .wp-block-kadence-tab {
  margin-bottom: 1.875rem; }
  @media (min-width: 1280px) {
    .abbtype-tabs .wp-block-kadence-tab {
      margin-bottom: 0; } }

.woocommerce-mini-cart__buttons {
  margin-bottom: 0; }
  .woocommerce-mini-cart__buttons a {
    margin-bottom: 0.875rem !important; }

/**
 * 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.4; }
  .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: #0086e6;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: -0.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: #0086e6; }

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: rgba(0, 0, 0, 0.1); }

.widget_price_filter .ui-slider-horizontal {
  height: 0.5em; }

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  height: 100%; }

/**
 * WooCommerce Account pages
 */
/**
 * Account page
 */
.woocommerce-account .woocommerce {
  *zoom: 1;
  max-width: 780px;
  margin: 0 auto; }
  .woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after {
    content: ' ';
    display: table; }
  .woocommerce-account .woocommerce::after {
    clear: both; }

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: left;
  width: 30%; }

.woocommerce-account .woocommerce-MyAccount-content {
  float: right;
  width: 68%; }

.woocommerce-account .addresses .title {
  *zoom: 1; }
  .woocommerce-account .addresses .title::before, .woocommerce-account .addresses .title::after {
    content: ' ';
    display: table; }
  .woocommerce-account .addresses .title::after {
    clear: both; }
  .woocommerce-account .addresses .title h3 {
    float: left; }
  .woocommerce-account .addresses .title .edit {
    float: right; }

.woocommerce-account ol.commentlist.notes li.note p.meta {
  font-weight: 700;
  margin-bottom: 0; }

.woocommerce-account ol.commentlist.notes li.note .description p:last-child {
  margin-bottom: 0; }

.woocommerce-account ul.digital-downloads {
  margin-left: 0;
  padding-left: 0; }
  .woocommerce-account ul.digital-downloads li {
    list-style: none;
    margin-left: 0;
    padding-left: 0; }
    .woocommerce-account ul.digital-downloads li::before {
      font-family: 'WooCommerce';
      speak: none;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      margin-right: 0.618em;
      content: "";
      text-decoration: none; }
    .woocommerce-account ul.digital-downloads li .count {
      float: right; }

/**
 * WooCommerce Product List
 */
.woocommerce,
.woocommerce-page {
  /**
* Product loops
*/ }
  .woocommerce ul.products.columns-1 li.product,
  .woocommerce-page ul.products.columns-1 li.product {
    width: 100%;
    margin-right: 0; }
  .woocommerce ul.products.columns-2 li.product,
  .woocommerce-page ul.products.columns-2 li.product {
    width: 48%; }
  .woocommerce ul.products.columns-3 li.product,
  .woocommerce-page ul.products.columns-3 li.product {
    width: 30.75%; }
  .woocommerce ul.products.columns-5 li.product,
  .woocommerce-page ul.products.columns-5 li.product {
    width: 16.95%; }
  .woocommerce ul.products.columns-6 li.product,
  .woocommerce-page ul.products.columns-6 li.product {
    width: 13.5%; }
  .woocommerce.columns-1 ul.products li.product,
  .woocommerce-page.columns-1 ul.products li.product {
    width: 100%;
    margin-right: 0; }
  .woocommerce.columns-2 ul.products li.product,
  .woocommerce-page.columns-2 ul.products li.product {
    width: 48%; }
  .woocommerce.columns-3 ul.products li.product,
  .woocommerce-page.columns-3 ul.products li.product {
    width: 30.75%; }
  .woocommerce.columns-5 ul.products li.product,
  .woocommerce-page.columns-5 ul.products li.product {
    width: 16.95%; }
  .woocommerce.columns-6 ul.products li.product,
  .woocommerce-page.columns-6 ul.products li.product {
    width: 13.5%; }
  .woocommerce .woocommerce-result-count,
  .woocommerce-page .woocommerce-result-count {
    float: left; }
  .woocommerce .woocommerce-ordering,
  .woocommerce-page .woocommerce-ordering {
    float: right; }
  .woocommerce .woocommerce-pagination ul.page-numbers,
  .woocommerce-page .woocommerce-pagination ul.page-numbers {
    *zoom: 1; }
    .woocommerce .woocommerce-pagination ul.page-numbers::before, .woocommerce .woocommerce-pagination ul.page-numbers::after,
    .woocommerce-page .woocommerce-pagination ul.page-numbers::before,
    .woocommerce-page .woocommerce-pagination ul.page-numbers::after {
      content: ' ';
      display: table; }
    .woocommerce .woocommerce-pagination ul.page-numbers::after,
    .woocommerce-page .woocommerce-pagination ul.page-numbers::after {
      clear: both; }
    .woocommerce .woocommerce-pagination ul.page-numbers li,
    .woocommerce-page .woocommerce-pagination ul.page-numbers li {
      display: inline-block; }
  .woocommerce .products ul,
  .woocommerce ul.products,
  .woocommerce-page .products ul,
  .woocommerce-page ul.products {
    margin: 0 0 1em;
    padding: 0;
    list-style: none outside;
    clear: both;
    *zoom: 1; }
    .woocommerce .products ul::before, .woocommerce .products ul::after,
    .woocommerce ul.products::before,
    .woocommerce ul.products::after,
    .woocommerce-page .products ul::before,
    .woocommerce-page .products ul::after,
    .woocommerce-page ul.products::before,
    .woocommerce-page ul.products::after {
      content: ' ';
      display: table; }
    .woocommerce .products ul::after,
    .woocommerce ul.products::after,
    .woocommerce-page .products ul::after,
    .woocommerce-page ul.products::after {
      clear: both; }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    float: left;
    margin: 0 3.8% 2.992em 0;
    padding: 0;
    position: relative;
    width: 22.05%;
    margin-left: 0;
    list-style: none outside; }
    .woocommerce ul.products li.product.first,
    .woocommerce-page ul.products li.product.first {
      clear: both; }
    .woocommerce ul.products li.product.last,
    .woocommerce-page ul.products li.product.last {
      margin-right: 0; }
    .woocommerce ul.products li.product .onsale,
    .woocommerce-page ul.products li.product .onsale {
      top: 0;
      right: 0;
      left: auto;
      margin: -0.5em -0.5em 0 0; }
    .woocommerce ul.products li.product h3,
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product .woocommerce-loop-category__title,
    .woocommerce-page ul.products li.product h3,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-category__title {
      padding: 0.5em 0;
      margin: 0;
      font-size: 1em; }
    .woocommerce ul.products li.product a,
    .woocommerce-page ul.products li.product a {
      text-decoration: none; }
    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img {
      width: 100%;
      height: auto;
      display: block;
      margin: 0 0 1em;
      -webkit-box-shadow: none;
              box-shadow: none; }
    .woocommerce ul.products li.product strong,
    .woocommerce-page ul.products li.product strong {
      display: block; }
    .woocommerce ul.products li.product .woocommerce-placeholder,
    .woocommerce-page ul.products li.product .woocommerce-placeholder {
      border: 1px solid #f2f2f2; }
    .woocommerce ul.products li.product .star-rating,
    .woocommerce-page ul.products li.product .star-rating {
      font-size: 0.857em; }
    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button {
      margin-top: 1em; }
    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
      color: #77a464;
      display: block;
      font-weight: normal;
      margin-bottom: 0.5em;
      font-size: 0.857em; }
      .woocommerce ul.products li.product .price del,
      .woocommerce-page ul.products li.product .price del {
        color: inherit;
        opacity: 0.5;
        display: inline-block; }
      .woocommerce ul.products li.product .price ins,
      .woocommerce-page ul.products li.product .price ins {
        background: none;
        font-weight: 700;
        display: inline-block; }
      .woocommerce ul.products li.product .price .from,
      .woocommerce-page ul.products li.product .price .from {
        font-size: 0.67em;
        margin: -2px 0 0 0;
        text-transform: uppercase;
        color: rgba(132, 132, 132, 0.5); }
  .woocommerce .woocommerce-result-count,
  .woocommerce-page .woocommerce-result-count {
    margin: 0 0 1em; }
  .woocommerce .woocommerce-ordering,
  .woocommerce-page .woocommerce-ordering {
    margin: 0 0 1em; }
    .woocommerce .woocommerce-ordering select,
    .woocommerce-page .woocommerce-ordering select {
      vertical-align: top; }
  .woocommerce nav.woocommerce-pagination,
  .woocommerce-page nav.woocommerce-pagination {
    text-align: center; }
    .woocommerce nav.woocommerce-pagination ul,
    .woocommerce-page nav.woocommerce-pagination ul {
      display: inline-block;
      white-space: nowrap;
      padding: 0;
      clear: both;
      border: 1px solid #d3ced2;
      border-right: 0;
      margin: 1px; }
      .woocommerce nav.woocommerce-pagination ul li,
      .woocommerce-page nav.woocommerce-pagination ul li {
        border-right: 1px solid #d3ced2;
        padding: 0;
        margin: 0;
        float: left;
        display: inline;
        overflow: hidden; }
        .woocommerce nav.woocommerce-pagination ul li a,
        .woocommerce nav.woocommerce-pagination ul li span,
        .woocommerce-page nav.woocommerce-pagination ul li a,
        .woocommerce-page nav.woocommerce-pagination ul li span {
          margin: 0;
          text-decoration: none;
          padding: 0;
          line-height: 1;
          font-size: 1em;
          font-weight: normal;
          padding: 0.5em;
          min-width: 1em;
          display: block; }
        .woocommerce nav.woocommerce-pagination ul li span.current,
        .woocommerce nav.woocommerce-pagination ul li a:hover,
        .woocommerce nav.woocommerce-pagination ul li a:focus,
        .woocommerce-page nav.woocommerce-pagination ul li span.current,
        .woocommerce-page nav.woocommerce-pagination ul li a:hover,
        .woocommerce-page nav.woocommerce-pagination ul li a:focus {
          background: #ebe9eb;
          color: #8a7e88; }

/**
 * WooCommerce SmallScreen
 */
/**
 * Style begins
 */
@media (max-width: 767px) {
  .woocommerce,
  .woocommerce-page {
    /**
     * General layout
     */
    /**
     * Products
     */
    /**
     * Product Details
     */
    /**
     * Cart
     */
    /**
     * Checkout
     */
    /**
     * Account
     */ }
    .woocommerce table.shop_table_responsive thead,
    .woocommerce-page table.shop_table_responsive thead {
      display: none; }
    .woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,
    .woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child {
      border-top: 0; }
    .woocommerce table.shop_table_responsive tbody th,
    .woocommerce-page table.shop_table_responsive tbody th {
      display: none; }
    .woocommerce table.shop_table_responsive tr,
    .woocommerce-page table.shop_table_responsive tr {
      display: block; }
      .woocommerce table.shop_table_responsive tr td,
      .woocommerce-page table.shop_table_responsive tr td {
        display: block;
        text-align: right !important; }
        .woocommerce table.shop_table_responsive tr td.order-actions,
        .woocommerce-page table.shop_table_responsive tr td.order-actions {
          text-align: left !important; }
        .woocommerce table.shop_table_responsive tr td::before,
        .woocommerce-page table.shop_table_responsive tr td::before {
          content: attr(data-title) ": ";
          font-weight: 700;
          float: left; }
        .woocommerce table.shop_table_responsive tr td.product-remove::before, .woocommerce table.shop_table_responsive tr td.actions::before,
        .woocommerce-page table.shop_table_responsive tr td.product-remove::before,
        .woocommerce-page table.shop_table_responsive tr td.actions::before {
          display: none; }
      .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
      .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
        background-color: rgba(0, 0, 0, 0.025); }
    .woocommerce table.my_account_orders tr td.order-actions,
    .woocommerce-page table.my_account_orders tr td.order-actions {
      text-align: left; }
      .woocommerce table.my_account_orders tr td.order-actions::before,
      .woocommerce-page table.my_account_orders tr td.order-actions::before {
        display: none; }
      .woocommerce table.my_account_orders tr td.order-actions .button,
      .woocommerce-page table.my_account_orders tr td.order-actions .button {
        float: none;
        margin: 0.125em 0.25em 0.125em 0; }
    .woocommerce .col2-set .col-1,
    .woocommerce .col2-set .col-2,
    .woocommerce-page .col2-set .col-1,
    .woocommerce-page .col2-set .col-2 {
      float: none;
      width: 100%; }
    .woocommerce ul.products[class*='columns-'] li.product,
    .woocommerce-page ul.products[class*='columns-'] li.product {
      width: 48%;
      float: left;
      clear: both;
      margin: 0 0 2.992em; }
      .woocommerce ul.products[class*='columns-'] li.product:nth-child(2n),
      .woocommerce-page ul.products[class*='columns-'] li.product:nth-child(2n) {
        float: right;
        clear: none !important; }
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary,
    .woocommerce #content div.product div.images,
    .woocommerce #content div.product div.summary,
    .woocommerce-page div.product div.images,
    .woocommerce-page div.product div.summary,
    .woocommerce-page #content div.product div.images,
    .woocommerce-page #content div.product div.summary {
      float: none;
      width: 100%; }
    .woocommerce table.cart .product-thumbnail,
    .woocommerce #content table.cart .product-thumbnail,
    .woocommerce-page table.cart .product-thumbnail,
    .woocommerce-page #content table.cart .product-thumbnail {
      display: none; }
    .woocommerce table.cart td.actions,
    .woocommerce #content table.cart td.actions,
    .woocommerce-page table.cart td.actions,
    .woocommerce-page #content table.cart td.actions {
      text-align: left; }
      .woocommerce table.cart td.actions .coupon,
      .woocommerce #content table.cart td.actions .coupon,
      .woocommerce-page table.cart td.actions .coupon,
      .woocommerce-page #content table.cart td.actions .coupon {
        float: none;
        *zoom: 1;
        padding-bottom: 0.5em; }
        .woocommerce table.cart td.actions .coupon::before, .woocommerce table.cart td.actions .coupon::after,
        .woocommerce #content table.cart td.actions .coupon::before,
        .woocommerce #content table.cart td.actions .coupon::after,
        .woocommerce-page table.cart td.actions .coupon::before,
        .woocommerce-page table.cart td.actions .coupon::after,
        .woocommerce-page #content table.cart td.actions .coupon::before,
        .woocommerce-page #content table.cart td.actions .coupon::after {
          content: ' ';
          display: table; }
        .woocommerce table.cart td.actions .coupon::after,
        .woocommerce #content table.cart td.actions .coupon::after,
        .woocommerce-page table.cart td.actions .coupon::after,
        .woocommerce-page #content table.cart td.actions .coupon::after {
          clear: both; }
        .woocommerce table.cart td.actions .coupon input,
        .woocommerce table.cart td.actions .coupon .button,
        .woocommerce table.cart td.actions .coupon .input-text,
        .woocommerce #content table.cart td.actions .coupon input,
        .woocommerce #content table.cart td.actions .coupon .button,
        .woocommerce #content table.cart td.actions .coupon .input-text,
        .woocommerce-page table.cart td.actions .coupon input,
        .woocommerce-page table.cart td.actions .coupon .button,
        .woocommerce-page table.cart td.actions .coupon .input-text,
        .woocommerce-page #content table.cart td.actions .coupon input,
        .woocommerce-page #content table.cart td.actions .coupon .button,
        .woocommerce-page #content table.cart td.actions .coupon .input-text {
          width: 48%;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box; }
        .woocommerce table.cart td.actions .coupon .input-text + .button,
        .woocommerce table.cart td.actions .coupon .button.alt,
        .woocommerce #content table.cart td.actions .coupon .input-text + .button,
        .woocommerce #content table.cart td.actions .coupon .button.alt,
        .woocommerce-page table.cart td.actions .coupon .input-text + .button,
        .woocommerce-page table.cart td.actions .coupon .button.alt,
        .woocommerce-page #content table.cart td.actions .coupon .input-text + .button,
        .woocommerce-page #content table.cart td.actions .coupon .button.alt {
          float: right; }
      .woocommerce table.cart td.actions .button,
      .woocommerce #content table.cart td.actions .button,
      .woocommerce-page table.cart td.actions .button,
      .woocommerce-page #content table.cart td.actions .button {
        display: block;
        width: 100%; }
    .woocommerce .cart-collaterals .cart_totals,
    .woocommerce .cart-collaterals .shipping_calculator,
    .woocommerce .cart-collaterals .cross-sells,
    .woocommerce-page .cart-collaterals .cart_totals,
    .woocommerce-page .cart-collaterals .shipping_calculator,
    .woocommerce-page .cart-collaterals .cross-sells {
      width: 100%;
      float: none;
      text-align: left; }
    .woocommerce.woocommerce-checkout form.login .form-row,
    .woocommerce-page.woocommerce-checkout form.login .form-row {
      width: 100%;
      float: none; }
    .woocommerce #payment .terms,
    .woocommerce-page #payment .terms {
      text-align: left;
      padding: 0; }
    .woocommerce #payment #place_order,
    .woocommerce-page #payment #place_order {
      float: none;
      width: 100%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      margin-bottom: 1em; }
    .woocommerce .lost_reset_password .form-row-first,
    .woocommerce .lost_reset_password .form-row-last,
    .woocommerce-page .lost_reset_password .form-row-first,
    .woocommerce-page .lost_reset_password .form-row-last {
      width: 100%;
      float: none;
      margin-right: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%; }
  /**
   * Twenty Thirteen specific styles
   */
  .single-product .twentythirteen .panel {
    padding-left: 20px !important;
    padding-right: 20px !important; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndvb2NvbW1lcmNlLmNzcyIsInZhcmlhYmxlcy9fc2l6aW5nLWZ1bmN0aW9ucy5zY3NzIiwid29vY29tbWVyY2Uuc2NzcyIsIndvb2NvbW1lcmNlL19hbmltYXRpb24uc2NzcyIsIndvb2NvbW1lcmNlL19mb250cy5zY3NzIiwid29vY29tbWVyY2UvX21peGlucy5zY3NzIiwid29vY29tbWVyY2UvX3ZhcmlhYmxlcy5zY3NzIiwid29vY29tbWVyY2UvX2xheW91dC5zY3NzIiwid29vY29tbWVyY2UvX3RhYmxlcy5zY3NzIiwid29vY29tbWVyY2UvX3Byb2R1Y3RzLnNjc3MiLCJtaXhpbnMvX21peGlucy1tYXN0ZXIuc2NzcyIsInZhcmlhYmxlcy9fY29sdW1ucy5zY3NzIiwid29vY29tbWVyY2UvX3NpbmdsZS1wcm9kdWN0LnNjc3MiLCJ2YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwid29vY29tbWVyY2UvX2NoZWNrb3V0LnNjc3MiLCJ3b29jb21tZXJjZS9fY2FydC5zY3NzIiwid29vY29tbWVyY2UvX2NvbXBvbmVudHMuc2NzcyIsInZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsIndvb2NvbW1lcmNlL193aWRnZXRzLnNjc3MiLCJ3b29jb21tZXJjZS9fYWNjb3VudC5zY3NzIiwid29vY29tbWVyY2UvX3Byb2R1Y3RfbGlzdC5zY3NzIiwid29vY29tbWVyY2UvX3dvb2NvbW1lcmNlX3NtYWxsc2NyZWVuLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDSWhCOzs7O0VEQ0U7QUNTQTs7O0lETEU7QUNrQkY7Ozs7Ozs7OztJRFJFO0FFVEo7O0VGWUU7QUd0QkY7OztFSDBCRTtBR3RCRjtFQUNDO0lBQ0MsaUNBQTJCO1lBQTNCLHlCQUEyQixFQUFBLEVBQUE7QUFGN0I7RUFDQztJQUNDLGlDQUEyQjtZQUEzQix5QkFBMkIsRUFBQSxFQUFBOztBQ043Qjs7O0VKa0NFO0FJOUJGO0VBQ0MsbUJBQW1CO0VBQ25CLDZCQUE2QjtF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QUE4QixFQUFBLEVBQy9CIiwiZmlsZSI6Indvb2NvbW1lcmNlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxyXG4gKiBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIGdpdmVuIG51bWJlci11bml0LWNvbWJpbmF0aW9uIGFuZCByZXR1cm5zIHRoZSBudW1iZXIuXHJcbiAqIEBsaW5rOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMjMzNTg0MS8xNzc5OTk5XHJcbiAqIEB1c2FnZTogcGFyc2UtaW50KDEwcHgpID0+IDEwXHJcbiAqL1xuLyoqXHJcbiAgICogU2ltcGx5IGFkZHMgdGhlIGVtIHVuaXQgdG8gYSBnaXZlbiBudW1iZXIuIFRoaXMgaXMgdXNlZCB0d2ljZSBpbiB0aGVcclxuICAgKiBmdW5jdGlvbiB1bmRlcm5lYXRoLCB0aHVzIHRoZSBuZWVkIGZvciBhIHNlcGFyYXRlIGZ1bmN0aW9uLlxyXG4gICAqL1xuLyoqXHJcbiAgICogQ2FsY3VsYXRlcyBlbSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gbGlzdCBvZiAocHggb3IgZW0pIHZhbHVlcyBhbmQgYSBnaXZlbiBlbVxyXG4gICAqIGJhc2UuIE11bHRpcGx5IGJhc2UgdmFsdWVzIGZvciBuZXN0ZWQgZW0gc3RydWN0dXJlcyAobGFzdCBAdXNhZ2UgZXhhbXBsZSkuXHJcbiAgICogQHVzYWdlOiBlbSgxMHB4LCAxLjEyNSkgPT4gLjU1NTU2ZW1cclxuICAgKiAgICAgICAgIGVtKDI0cHgsIC44NzVlbSkgPT4gMS43MTQyOWVtXHJcbiAgICogICAgICAgICBlbSgxMnB4IDAgN2VtIHJnYmEoMCwgMCwgMCwgLjcpLCAxLjc1KSA9PiAuNDI4NTdlbSAwIDRlbSByZ2JhKDAsIDAsIDAsIDAuNylcclxuICAgKiAgICAgICAgIGVtKDEycHgpICsgZW0oM2VtKSA9PiAzLjc1ZW1cclxuICAgKiAgICAgICAgIGVtKDIzcHgsIGVtKDUzcHgpKSA9PiAuNDMzOTZlbVxyXG4gICAqICAgICAgICAgZW0oMjRweCwgMS41ICogMS4xMjUpID0+IC44ODg4OWVtXHJcbiAgICovXG4vKipcclxuICogSW1wb3J0c1xyXG4gKi9cbi8qKlxyXG4gKiBfYW5pbWF0aW9uLnNjc3NcclxuICogQ3VzdG9tIFdvb0NvbW1lcmNlIEFuaW1hdGlvbnMuXHJcbiAqL1xuQGtleWZyYW1lcyBzcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qKlxyXG4gKiBfZm9udHMuc2Nzc1xyXG4gKiBDdXN0b20gV29vQ29tbWVyY2UgZm9udHMuXHJcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnc3Rhcic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc3Rhci5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc3Rhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zdGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvc3Rhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3N0YXIuc3ZnI3N0YXJcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnV29vQ29tbWVyY2UnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1dvb0NvbW1lcmNlLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb29Db21tZXJjZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9Xb29Db21tZXJjZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL1dvb0NvbW1lcmNlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvV29vQ29tbWVyY2Uuc3ZnI1dvb0NvbW1lcmNlXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIEZhbGxiYWNrIGZvciBib3VyYm9uIGVxdWl2YWxlbnRcclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBVc2UgYm91cmJvbiBtaXhpbiBpbnN0ZWFkIGBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS41KSk7YFxyXG4gKi9cbi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIFVzZSBib3VyYm9uIG1peGluIGluc3RlYWQgYEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7YFxyXG4gKi9cbi8qKlxyXG4gKiBPYmplY3RzXHJcbiAqL1xuLyoqXHJcbiAqIFV0aWxpdHkgY2xhc3Nlc1xyXG4gKi9cbi5jbGVhciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qKlxyXG4gKiBXb29Db21tZXJjZSBDU1MgVmFyaWFibGVzXHJcbiAqL1xuLyoqXHJcbiAqIEJhc2ljIExheW91dFxyXG4gKi9cbi53b29jb21tZXJjZSxcbi53b29jb21tZXJjZS1wYWdlIHtcbiAgLyoqXHJcblx0ICogR2VuZXJhbCBsYXlvdXQgc3R5bGVzXHJcblx0ICovIH1cbiAgLndvb2NvbW1lcmNlIC5jb2wyLXNldCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLmNvbDItc2V0IHtcbiAgICAqem9vbTogMTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC53b29jb21tZXJjZSAuY29sMi1zZXQ6OmJlZm9yZSwgLndvb2NvbW1lcmNlIC5jb2wyLXNldDo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLmNvbDItc2V0OjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLmNvbDItc2V0OjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC53b29jb21tZXJjZSAuY29sMi1zZXQ6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5jb2wyLXNldDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAud29vY29tbWVyY2UgLmNvbDItc2V0IC5jb2wtMSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAuY29sMi1zZXQgLmNvbC0xIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDQ4JTsgfVxuICAgIC53b29jb21tZXJjZSAuY29sMi1zZXQgLmNvbC0yLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5jb2wyLXNldCAuY29sLTIge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDQ4JTsgfVxuXG4vKipcclxuICogU2hvcCB0YWJsZXNcclxuICovXG4vKipcclxuXHQgKiBUYWJsZXNcclxuXHQgKi9cbnRhYmxlLnNob3BfYXR0cmlidXRlcyB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG1hcmdpbi1ib3R0b206IDEuNjE4ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0aCB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRkIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRkIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogOHB4IDA7IH1cbiAgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZChldmVuKSB0ZCxcbiAgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZChldmVuKSB0aCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAyNSk7IH1cblxudGFibGUuc2hvcF90YWJsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgbWFyZ2luOiAwIC0xcHggMjRweCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIHRhYmxlLnNob3BfdGFibGUgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogOXB4IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG4gIHRhYmxlLnNob3BfdGFibGUgdGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgcGFkZGluZzogOXB4IDEycHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07IH1cbiAgICB0YWJsZS5zaG9wX3RhYmxlIHRkIHNtYWxsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICB0YWJsZS5zaG9wX3RhYmxlIHRkIGRlbCB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIHRhYmxlLnNob3BfdGFibGUgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIHRhYmxlLnNob3BfdGFibGUgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ZCxcbiAgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0aCxcbiAgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbnRhYmxlLm15X2FjY291bnRfb3JkZXJzIHtcbiAgZm9udC1zaXplOiAwLjg1ZW07IH1cbiAgdGFibGUubXlfYWNjb3VudF9vcmRlcnMgdGgsXG4gIHRhYmxlLm15X2FjY291bnRfb3JkZXJzIHRkIHtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgdGFibGUubXlfYWNjb3VudF9vcmRlcnMgLmJ1dHRvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG50YWJsZS53b29jb21tZXJjZS1NeUFjY291bnQtZG93bmxvYWRzIHRkLFxudGFibGUud29vY29tbWVyY2UtTXlBY2NvdW50LWRvd25sb2FkcyB0aCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICB0YWJsZS53b29jb21tZXJjZS1NeUFjY291bnQtZG93bmxvYWRzIHRkOmZpcnN0LWNoaWxkLFxuICB0YWJsZS53b29jb21tZXJjZS1NeUFjY291bnQtZG93bmxvYWRzIHRoOmZpcnN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRhYmxlLndvb2NvbW1lcmNlLU15QWNjb3VudC1kb3dubG9hZHMgdGQ6bGFzdC1jaGlsZCxcbiAgdGFibGUud29vY29tbWVyY2UtTXlBY2NvdW50LWRvd25sb2FkcyB0aDpsYXN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRhYmxlLndvb2NvbW1lcmNlLU15QWNjb3VudC1kb3dubG9hZHMgdGQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1kb3dubG9hZHMtZmlsZTo6YmVmb3JlLFxuICB0YWJsZS53b29jb21tZXJjZS1NeUFjY291bnQtZG93bmxvYWRzIHRoIC53b29jb21tZXJjZS1NeUFjY291bnQtZG93bmxvYWRzLWZpbGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIxOTNcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxudGQucHJvZHVjdC1uYW1lIGRsLnZhcmlhdGlvbixcbnRkLnByb2R1Y3QtbmFtZSAud2MtaXRlbS1tZXRhIHtcbiAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlOyB9XG4gIHRkLnByb2R1Y3QtbmFtZSBkbC52YXJpYXRpb24gZHQsXG4gIHRkLnByb2R1Y3QtbmFtZSBkbC52YXJpYXRpb24gLndjLWl0ZW0tbWV0YS1sYWJlbCxcbiAgdGQucHJvZHVjdC1uYW1lIC53Yy1pdGVtLW1ldGEgZHQsXG4gIHRkLnByb2R1Y3QtbmFtZSAud2MtaXRlbS1tZXRhIC53Yy1pdGVtLW1ldGEtbGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7IH1cbiAgdGQucHJvZHVjdC1uYW1lIGRsLnZhcmlhdGlvbiBkZCxcbiAgdGQucHJvZHVjdC1uYW1lIC53Yy1pdGVtLW1ldGEgZGQge1xuICAgIG1hcmdpbjogMDsgfVxuICB0ZC5wcm9kdWN0LW5hbWUgZGwudmFyaWF0aW9uIHAsIHRkLnByb2R1Y3QtbmFtZSBkbC52YXJpYXRpb246bGFzdC1jaGlsZCxcbiAgdGQucHJvZHVjdC1uYW1lIC53Yy1pdGVtLW1ldGEgcCxcbiAgdGQucHJvZHVjdC1uYW1lIC53Yy1pdGVtLW1ldGE6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG50ZC5wcm9kdWN0LW5hbWUgcC5iYWNrb3JkZXJfbm90aWZpY2F0aW9uIHtcbiAgZm9udC1zaXplOiAwLjgzZW07IH1cblxudGQucHJvZHVjdC1xdWFudGl0eSB7XG4gIG1pbi13aWR0aDogODBweDsgfVxuXG4vKipcclxuICogUHJvZHVjdHNcclxuICovXG51bC5wcm9kdWN0cyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgICB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAzMC43OTY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjglOyB9XG4gICAgdWwucHJvZHVjdHMgbGkucHJvZHVjdC5maXJzdCB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QubGFzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgdWwucHJvZHVjdHMuY29sdW1ucy0xIGxpLnByb2R1Y3Qge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiBsaS5wcm9kdWN0IHtcbiAgICB3aWR0aDogNDguMSU7IH1cbiAgdWwucHJvZHVjdHMuY29sdW1ucy0zIGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAzMC43OTY2NyU7IH1cbiAgdWwucHJvZHVjdHMuY29sdW1ucy00IGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAyMi4xNSU7IH1cbiAgdWwucHJvZHVjdHMuY29sdW1ucy01IGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAxNi45NiU7IH1cbiAgdWwucHJvZHVjdHMuY29sdW1ucy02IGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAxMy40OTMzMyU7IH0gfVxuXG4vKipcclxuICogU2luZ2xlIHByb2R1Y3RcclxuICovXG4vKipcclxuKiBQcm9kdWN0IFBhZ2VcclxuKi9cbmRpdi5wcm9kdWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGRpdi5wcm9kdWN0IC5wcm9kdWN0X3RpdGxlIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgZGl2LnByb2R1Y3Qgc3Bhbi5wcmljZSxcbiAgZGl2LnByb2R1Y3QgcC5wcmljZSB7XG4gICAgY29sb3I6ICM3N2E0NjQ7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgICBkaXYucHJvZHVjdCBzcGFuLnByaWNlIGlucyxcbiAgICBkaXYucHJvZHVjdCBwLnByaWNlIGlucyB7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIGRpdi5wcm9kdWN0IHNwYW4ucHJpY2UgZGVsLFxuICAgIGRpdi5wcm9kdWN0IHAucHJpY2UgZGVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBkaXYucHJvZHVjdCBwLnN0b2NrIHtcbiAgICBmb250LXNpemU6IDAuOTJlbTsgfVxuICBkaXYucHJvZHVjdCAuc3RvY2sge1xuICAgIGNvbG9yOiAjNzdhNDY0OyB9XG4gIGRpdi5wcm9kdWN0IC5vdXQtb2Ytc3RvY2sge1xuICAgIGNvbG9yOiByZWQ7IH1cbiAgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjYxOGVtOyB9XG4gIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDglOyB9XG4gICAgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIGRpdi50aHVtYm5haWxzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICAqem9vbTogMTsgfVxuICAgICAgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyBkaXYudGh1bWJuYWlsczo6YmVmb3JlLCBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIGRpdi50aHVtYm5haWxzOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgZGl2LnRodW1ibmFpbHM6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgZGl2LnRodW1ibmFpbHMgYSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMzAuNzUlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuOCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgICAgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyBkaXYudGh1bWJuYWlscyBhLmxhc3Qge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgZGl2LnRodW1ibmFpbHMgYS5maXJzdCB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIGRpdi50aHVtYm5haWxzLmNvbHVtbnMtMSBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgZGl2LnRodW1ibmFpbHMuY29sdW1ucy0yIGEge1xuICAgICAgICB3aWR0aDogNDglOyB9XG4gICAgICBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIGRpdi50aHVtYm5haWxzLmNvbHVtbnMtNCBhIHtcbiAgICAgICAgd2lkdGg6IDIyLjA1JTsgfVxuICAgICAgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyBkaXYudGh1bWJuYWlscy5jb2x1bW5zLTUgYSB7XG4gICAgICAgIHdpZHRoOiAxNi45JTsgfVxuICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgY3ViaWMtYmV6aWVyKDAuNzk1LCAtMC4wMzUsIDAsIDEpIDAuNXM7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIC56b29tSW1nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZS0tcGxhY2Vob2xkZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjsgfVxuICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2U6bnRoLWNoaWxkKG4rMikge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fdHJpZ2dlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNWVtO1xuICAgICAgcmlnaHQ6IDAuNWVtO1xuICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICB6LWluZGV4OiA5O1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fdHJpZ2dlcjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgIGxlZnQ6IDlweDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fdHJpZ2dlcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgIGxlZnQ6IDIycHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gICAgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyAuZmxleC1jb250cm9sLXRodW1icyB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgem9vbTogMTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLmZsZXgtY29udHJvbC10aHVtYnMgbGkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLmZsZXgtY29udHJvbC10aHVtYnMgbGkgaW1nIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLmZsZXgtY29udHJvbC10aHVtYnMgbGkgaW1nLmZsZXgtYWN0aXZlLCBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIC5mbGV4LWNvbnRyb2wtdGh1bWJzIGxpIGltZzpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnktLWNvbHVtbnMtMyAuZmxleC1jb250cm9sLXRodW1icyBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnktLWNvbHVtbnMtNCAuZmxleC1jb250cm9sLXRodW1icyBsaTpudGgtY2hpbGQoNG4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnktLWNvbHVtbnMtNSAuZmxleC1jb250cm9sLXRodW1icyBsaTpudGgtY2hpbGQoNW4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDQ4JTtcbiAgICBjbGVhcjogbm9uZTsgfVxuICBkaXYucHJvZHVjdCBkaXYuc29jaWFsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW46IDAgMCAxZW07IH1cbiAgICBkaXYucHJvZHVjdCBkaXYuc29jaWFsIHNwYW4ge1xuICAgICAgbWFyZ2luOiAwIDAgMCAycHg7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGRpdi5zb2NpYWwgc3BhbiBzcGFuIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBkaXYucHJvZHVjdCBkaXYuc29jaWFsIHNwYW4gLnN0QnV0dG9uIC5jaGlja2xldHMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgZGl2LnByb2R1Y3QgZGl2LnNvY2lhbCBpZnJhbWUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7IH1cbiAgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gICAgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMCAwIDAgMWVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS42MThlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNjZWQyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlOWViO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gICAgICAgIG1hcmdpbjogMCAtNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDFlbTsgfVxuICAgICAgICBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgY29sb3I6ICM1MTUxNTE7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjNmI2YjZiOyB9XG4gICAgICAgIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogaW5oZXJpdDsgfVxuICAgICAgICAgIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMnB4IDJweCAwICNmZmY7IH1cbiAgICAgICAgICBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogLTJweCAycHggMCAjZmZmOyB9XG4gICAgICAgIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6OmJlZm9yZSwgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2NlZDI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAgICAgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICAgICAgICBib3gtc2hhZG93OiAycHggMnB4IDAgI2ViZTllYjsgfVxuICAgICAgICBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogLTJweCAycHggMCAjZWJlOWViOyB9XG4gICAgICBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzY2VkMjtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIC5wYW5lbCB7XG4gICAgICBtYXJnaW46IDAgMCAyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIGRpdi5wcm9kdWN0IHAuY2FydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICp6b29tOiAxOyB9XG4gICAgZGl2LnByb2R1Y3QgcC5jYXJ0OjpiZWZvcmUsIGRpdi5wcm9kdWN0IHAuY2FydDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICBkaXYucHJvZHVjdCBwLmNhcnQ6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIGRpdi5wcm9kdWN0IGZvcm0uY2FydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICp6b29tOiAxOyB9XG4gICAgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0OjpiZWZvcmUsIGRpdi5wcm9kdWN0IGZvcm0uY2FydDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICBkaXYucHJvZHVjdCBmb3JtLmNhcnQ6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IGRpdi5xdWFudGl0eSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCA0cHggMCAwOyB9XG4gICAgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IHRhYmxlIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweDsgfVxuICAgICAgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IHRhYmxlIHRkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICBkaXYucHJvZHVjdCBmb3JtLmNhcnQgdGFibGUgZGl2LnF1YW50aXR5IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IHRhYmxlIHNtYWxsLnN0b2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgdGQsXG4gICAgICBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgdGgge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyZW07IH1cbiAgICAgIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBsYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogNzUlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG4gICAgICBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgdGQubGFiZWwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH1cbiAgICBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1kZXNjcmlwdGlvbiBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBmb250LXNpemU6IDAuODNlbTsgfVxuICAgIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAud2Mtbm8tbWF0Y2hpbmctdmFyaWF0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5idXR0b24ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5ncm91cF90YWJsZSB0ZC53b29jb21tZXJjZS1ncm91cGVkLXByb2R1Y3QtbGlzdC1pdGVtX19sYWJlbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTsgfVxuICAgIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAuZ3JvdXBfdGFibGUgdGQge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAuZ3JvdXBfdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDRlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAuZ3JvdXBfdGFibGUgLndjLWdyb3VwZWQtcHJvZHVjdC1hZGQtdG8tY2FydC1jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUsIDEuNSk7IH1cblxuLyoqXHJcbiAqIENoZWNrb3V0XHJcbiAqL1xuLndvb2NvbW1lcmNlLWNhcnQgLndvb2NvbW1lcmNlIHtcbiAgKnpvb206IDE7XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC53b29jb21tZXJjZTo6YmVmb3JlLCAud29vY29tbWVyY2UtY2FydCAud29vY29tbWVyY2U6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLndvb2NvbW1lcmNlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wyLXNldCAuZm9ybS1yb3ctZmlyc3Qge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy44JTsgfVxuICAuY29sMi1zZXQgLmZvcm0tcm93LWxhc3Qge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbDItc2V0IC5mb3JtLXJvdy1maXJzdCxcbiAgLmNvbDItc2V0IC5mb3JtLXJvdy1sYXN0IHtcbiAgICB3aWR0aDogNDguMSU7IH0gfVxuXG4vKipcclxuICogQ2FydC9jaGVja291dCBwYWdlXHJcbiAqL1xuLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCAucHJvZHVjdC10aHVtYm5haWwsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgdGFibGUuY2FydCAucHJvZHVjdC10aHVtYm5haWwsXG4jYWRkX3BheW1lbnRfbWV0aG9kIHRhYmxlLmNhcnQgLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgbWluLXdpZHRoOiAzMnB4OyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgLnByb2R1Y3QtdGh1bWJuYWlsIGltZyxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IHRhYmxlLmNhcnQgLnByb2R1Y3QtdGh1bWJuYWlsIGltZyxcbiAgI2FkZF9wYXltZW50X21ldGhvZCB0YWJsZS5jYXJ0IC5wcm9kdWN0LXRodW1ibmFpbCBpbWcge1xuICAgIHdpZHRoOiA3ZW07IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCBpbWcsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgdGFibGUuY2FydCBpbWcsXG4jYWRkX3BheW1lbnRfbWV0aG9kIHRhYmxlLmNhcnQgaW1nIHtcbiAgd2lkdGg6IDMycHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCB0aCxcbi53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgdGQsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgdGFibGUuY2FydCB0aCxcbi53b29jb21tZXJjZS1jaGVja291dCB0YWJsZS5jYXJ0IHRkLFxuI2FkZF9wYXltZW50X21ldGhvZCB0YWJsZS5jYXJ0IHRoLFxuI2FkZF9wYXltZW50X21ldGhvZCB0YWJsZS5jYXJ0IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1jaGVja291dCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCxcbiNhZGRfcGF5bWVudF9tZXRob2QgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHQge1xuICBmbG9hdDogbGVmdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QzY2VkMjtcbiAgcGFkZGluZzogNnB4IDZweCA1cHg7XG4gIG1hcmdpbjogMCA0cHggMCAwO1xuICBvdXRsaW5lOiAwOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgaW5wdXQsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgdGFibGUuY2FydCBpbnB1dCxcbiNhZGRfcGF5bWVudF9tZXRob2QgdGFibGUuY2FydCBpbnB1dCB7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAud2MtcHJvY2VlZC10by1jaGVja291dCxcbi53b29jb21tZXJjZS1jaGVja291dCAud2MtcHJvY2VlZC10by1jaGVja291dCxcbiNhZGRfcGF5bWVudF9tZXRob2QgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xuICAqem9vbTogMTtcbiAgcGFkZGluZzogMWVtIDA7IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQ6OmJlZm9yZSwgLndvb2NvbW1lcmNlLWNhcnQgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQ6OmFmdGVyLFxuICAud29vY29tbWVyY2UtY2hlY2tvdXQgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQ6OmJlZm9yZSxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0OjphZnRlcixcbiAgI2FkZF9wYXltZW50X21ldGhvZCAud2MtcHJvY2VlZC10by1jaGVja291dDo6YmVmb3JlLFxuICAjYWRkX3BheW1lbnRfbWV0aG9kIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0OjphZnRlcixcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0OjphZnRlcixcbiAgI2FkZF9wYXltZW50X21ldGhvZCAud2MtcHJvY2VlZC10by1jaGVja291dDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGEuY2hlY2tvdXQtYnV0dG9uLFxuICAud29vY29tbWVyY2UtY2hlY2tvdXQgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgYS5jaGVja291dC1idXR0b24sXG4gICNhZGRfcGF5bWVudF9tZXRob2QgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgYS5jaGVja291dC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgcGFkZGluZzogMWVtOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5zaGlwcGluZy1jYWxjdWxhdG9yLWJ1dHRvbixcbi53b29jb21tZXJjZS1jaGVja291dCAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmctY2FsY3VsYXRvci1idXR0b24sXG4jYWRkX3BheW1lbnRfbWV0aG9kIC5jYXJ0LWNvbGxhdGVyYWxzIC5zaGlwcGluZy1jYWxjdWxhdG9yLWJ1dHRvbiB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5zaGlwcGluZy1jYWxjdWxhdG9yLWJ1dHRvbjo6YWZ0ZXIsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNhcnQtY29sbGF0ZXJhbHMgLnNoaXBwaW5nLWNhbGN1bGF0b3ItYnV0dG9uOjphZnRlcixcbiNhZGRfcGF5bWVudF9tZXRob2QgLmNhcnQtY29sbGF0ZXJhbHMgLnNoaXBwaW5nLWNhbGN1bGF0b3ItYnV0dG9uOjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiAnV29vQ29tbWVyY2UnO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjYxOGVtO1xuICBjb250ZW50OiBcIu6AmVwiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtY29sbGF0ZXJhbHMgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSxcbi53b29jb21tZXJjZS1jaGVja291dCAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtLFxuI2FkZF9wYXltZW50X21ldGhvZCAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHtcbiAgbWFyZ2luOiAxZW0gMCAwIDA7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHAgc21hbGwsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHAgc21hbGwsXG4jYWRkX3BheW1lbnRfbWV0aG9kIC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyBwIHNtYWxsIHtcbiAgY29sb3I6ICM3Njc2NzY7XG4gIGZvbnQtc2l6ZTogMC44M2VtOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSxcbi53b29jb21tZXJjZS1jaGVja291dCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUsXG4jYWRkX3BheW1lbnRfbWV0aG9kIC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIG1hcmdpbjogMCAwIDZweDtcbiAgcGFkZGluZzogMDsgfVxuICAud29vY29tbWVyY2UtY2FydCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgI2FkZF9wYXltZW50X21ldGhvZCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gICNhZGRfcGF5bWVudF9tZXRob2QgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHRhYmxlIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSB0aCxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSB0aCxcbiAgI2FkZF9wYXltZW50X21ldGhvZCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUgdGgge1xuICAgIHdpZHRoOiAzNSU7IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHRhYmxlIHRkLFxuICAud29vY29tbWVyY2UtY2FydCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUgdGgsXG4gIC53b29jb21tZXJjZS1jaGVja291dCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUgdGQsXG4gIC53b29jb21tZXJjZS1jaGVja291dCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUgdGgsXG4gICNhZGRfcGF5bWVudF9tZXRob2QgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHRhYmxlIHRkLFxuICAjYWRkX3BheW1lbnRfbWV0aG9kIC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSBzbWFsbCxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSBzbWFsbCxcbiAgI2FkZF9wYXltZW50X21ldGhvZCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUgc21hbGwge1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSBzZWxlY3QsXG4gIC53b29jb21tZXJjZS1jaGVja291dCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdGFibGUgc2VsZWN0LFxuICAjYWRkX3BheW1lbnRfbWV0aG9kIC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0YWJsZSBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyAuZGlzY291bnQgdGQsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIC5kaXNjb3VudCB0ZCxcbiNhZGRfcGF5bWVudF9tZXRob2QgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIC5kaXNjb3VudCB0ZCB7XG4gIGNvbG9yOiAjNzdhNDY0OyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0ciB0ZCxcbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0ciB0aCxcbi53b29jb21tZXJjZS1jaGVja291dCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdHIgdGQsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHRyIHRoLFxuI2FkZF9wYXltZW50X21ldGhvZCAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMgdHIgdGQsXG4jYWRkX3BheW1lbnRfbWV0aG9kIC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB0ciB0aCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlOWViOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyAud29vY29tbWVyY2Utc2hpcHBpbmctZGVzdGluYXRpb24sXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbixcbiNhZGRfcGF5bWVudF9tZXRob2QgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtY29sbGF0ZXJhbHMgLmNyb3NzLXNlbGxzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNhcnQtY29sbGF0ZXJhbHMgLmNyb3NzLXNlbGxzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4jYWRkX3BheW1lbnRfbWV0aG9kIC5jYXJ0LWNvbGxhdGVyYWxzIC5jcm9zcy1zZWxscyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAuY2hlY2tvdXQgLmNvbC0yIGgzI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNoZWNrb3V0IC5jb2wtMiBoMyNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzLFxuI2FkZF9wYXltZW50X21ldGhvZCAuY2hlY2tvdXQgLmNvbC0yIGgzI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3Mge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmNoZWNrb3V0IC5jb2wtMiAubm90ZXMsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNoZWNrb3V0IC5jb2wtMiAubm90ZXMsXG4jYWRkX3BheW1lbnRfbWV0aG9kIC5jaGVja291dCAuY29sLTIgLm5vdGVzIHtcbiAgY2xlYXI6IGxlZnQ7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmNoZWNrb3V0IC5jb2wtMiAuZm9ybS1yb3ctZmlyc3QsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNoZWNrb3V0IC5jb2wtMiAuZm9ybS1yb3ctZmlyc3QsXG4jYWRkX3BheW1lbnRfbWV0aG9kIC5jaGVja291dCAuY29sLTIgLmZvcm0tcm93LWZpcnN0IHtcbiAgY2xlYXI6IGxlZnQ7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmNoZWNrb3V0IC5jcmVhdGUtYWNjb3VudCBzbWFsbCxcbi53b29jb21tZXJjZS1jaGVja291dCAuY2hlY2tvdXQgLmNyZWF0ZS1hY2NvdW50IHNtYWxsLFxuI2FkZF9wYXltZW50X21ldGhvZCAuY2hlY2tvdXQgLmNyZWF0ZS1hY2NvdW50IHNtYWxsIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzc2NzY3NjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAuY2hlY2tvdXQgZGl2LnNoaXBwaW5nLWFkZHJlc3MsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLmNoZWNrb3V0IGRpdi5zaGlwcGluZy1hZGRyZXNzLFxuI2FkZF9wYXltZW50X21ldGhvZCAuY2hlY2tvdXQgZGl2LnNoaXBwaW5nLWFkZHJlc3Mge1xuICBwYWRkaW5nOiAwO1xuICBjbGVhcjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmNoZWNrb3V0IC5zaGlwcGluZ19hZGRyZXNzLFxuLndvb2NvbW1lcmNlLWNoZWNrb3V0IC5jaGVja291dCAuc2hpcHBpbmdfYWRkcmVzcyxcbiNhZGRfcGF5bWVudF9tZXRob2QgLmNoZWNrb3V0IC5zaGlwcGluZ19hZGRyZXNzIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQsXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHtcbiAgYmFja2dyb3VuZDogI2ViZTllYjtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyxcbiAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMge1xuICAgICp6b29tOiAxO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNjZWQyO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHM6OmJlZm9yZSwgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzOjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kczo6YWZ0ZXIsXG4gICAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHM6OmJlZm9yZSxcbiAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kczo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHM6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHM6OmFmdGVyLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSxcbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBpbnB1dCxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGkgaW5wdXQsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMCAxZW0gMCAwOyB9XG4gICAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGkgaW1nLFxuICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBpbWcsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBpbWcge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW46IC0ycHggMCAwIDAuNWVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBpbWcgKyBpbWcsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIGltZyArIGltZyxcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIGltZyArIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGk6bm90KC53b29jb21tZXJjZS1ub3RpY2UpLFxuICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGk6bm90KC53b29jb21tZXJjZS1ub3RpY2UpLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpOm5vdCgud29vY29tbWVyY2Utbm90aWNlKSB7XG4gICAgICAqem9vbTogMTsgfVxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpOm5vdCgud29vY29tbWVyY2Utbm90aWNlKTo6YmVmb3JlLCAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGk6bm90KC53b29jb21tZXJjZS1ub3RpY2UpOjphZnRlcixcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGk6bm90KC53b29jb21tZXJjZS1ub3RpY2UpOjpiZWZvcmUsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpOm5vdCgud29vY29tbWVyY2Utbm90aWNlKTo6YWZ0ZXIsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaTpub3QoLndvb2NvbW1lcmNlLW5vdGljZSk6OmJlZm9yZSxcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpOm5vdCgud29vY29tbWVyY2Utbm90aWNlKTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGk6bm90KC53b29jb21tZXJjZS1ub3RpY2UpOjphZnRlcixcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGk6bm90KC53b29jb21tZXJjZS1ub3RpY2UpOjphZnRlcixcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpOm5vdCgud29vY29tbWVyY2Utbm90aWNlKTo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYuZm9ybS1yb3csXG4gIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYuZm9ybS1yb3csXG4gICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LmZvcm0tcm93IHtcbiAgICBwYWRkaW5nOiAxZW07IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94LFxuICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94LFxuICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgZm9udC1zaXplOiAwLjkyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGNkZTtcbiAgICBjb2xvcjogIzUxNTE1MTsgfVxuICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCBpbnB1dC5pbnB1dC10ZXh0LFxuICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCB0ZXh0YXJlYSxcbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IGlucHV0LmlucHV0LXRleHQsXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCB0ZXh0YXJlYSxcbiAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCBpbnB1dC5pbnB1dC10ZXh0LFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IHRleHRhcmVhIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2M3YzFjNjtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNiYmIzYjk7IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2JiYjNiOTsgfVxuICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCA6LW1vei1wbGFjZWhvbGRlcixcbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IDotbW96LXBsYWNlaG9sZGVyLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjYmJiM2I5OyB9XG4gICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCA6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNiYmIzYjk7IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndvb2NvbW1lcmNlLVNhdmVkUGF5bWVudE1ldGhvZHMsXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyxcbiAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy10b2tlbixcbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy1uZXcsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzIC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLXRva2VuLFxuICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy1uZXcsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy10b2tlbixcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzIC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLW5ldyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNWVtOyB9XG4gICAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy10b2tlbiBsYWJlbCxcbiAgICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzIC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLW5ldyBsYWJlbCxcbiAgICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy10b2tlbiBsYWJlbCxcbiAgICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy1uZXcgbGFiZWwsXG4gICAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzIC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLXRva2VuIGxhYmVsLFxuICAgICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy1uZXcgbGFiZWwge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzIC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLXRva2VuSW5wdXQsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzIC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLXRva2VuSW5wdXQsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcyAud29vY29tbWVyY2UtU2F2ZWRQYXltZW50TWV0aG9kcy10b2tlbklucHV0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAtM3B4IDFlbSAwIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybSxcbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDFlbSAwIDA7IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIsXG4gICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5LFxuICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2YyxcbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLFxuICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnksXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2YyxcbiAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlcixcbiAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeSxcbiAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2YyB7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNjE4ZW0gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMnB4IDIwcHg7IH1cbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlci52aXNhLFxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5LnZpc2EsXG4gICAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMudmlzYSxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIudmlzYSxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnkudmlzYSxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMudmlzYSxcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLnZpc2EsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeS52aXNhLFxuICAgICAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMudmlzYSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jcmVkaXQtY2FyZHMvdmlzYS5zdmdcIik7IH1cbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlci5tYXN0ZXJjYXJkLFxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5Lm1hc3RlcmNhcmQsXG4gICAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMubWFzdGVyY2FyZCxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIubWFzdGVyY2FyZCxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnkubWFzdGVyY2FyZCxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMubWFzdGVyY2FyZCxcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLm1hc3RlcmNhcmQsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeS5tYXN0ZXJjYXJkLFxuICAgICAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMubWFzdGVyY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jcmVkaXQtY2FyZHMvbWFzdGVyY2FyZC5zdmdcIik7IH1cbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlci5sYXNlcixcbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeS5sYXNlcixcbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2Yy5sYXNlcixcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIubGFzZXIsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5Lmxhc2VyLFxuICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2Yy5sYXNlcixcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLmxhc2VyLFxuICAgICAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnkubGFzZXIsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2Yy5sYXNlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jcmVkaXQtY2FyZHMvbGFzZXIuc3ZnXCIpOyB9XG4gICAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIuZGluZXJzY2x1YixcbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeS5kaW5lcnNjbHViLFxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmRpbmVyc2NsdWIsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLmRpbmVyc2NsdWIsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5LmRpbmVyc2NsdWIsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmRpbmVyc2NsdWIsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlci5kaW5lcnNjbHViLFxuICAgICAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnkuZGluZXJzY2x1YixcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmRpbmVyc2NsdWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvY3JlZGl0LWNhcmRzL2RpbmVycy5zdmdcIik7IH1cbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlci5tYWVzdHJvLFxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5Lm1hZXN0cm8sXG4gICAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMubWFlc3RybyxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIubWFlc3RybyxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnkubWFlc3RybyxcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMubWFlc3RybyxcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLm1hZXN0cm8sXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeS5tYWVzdHJvLFxuICAgICAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1jdmMubWFlc3RybyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jcmVkaXQtY2FyZHMvbWFlc3Ryby5zdmdcIik7IH1cbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlci5qY2IsXG4gICAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnkuamNiLFxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmpjYixcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIuamNiLFxuICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeS5qY2IsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmpjYixcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLmpjYixcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5LmpjYixcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmpjYiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jcmVkaXQtY2FyZHMvamNiLnN2Z1wiKTsgfVxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLmFtZXgsXG4gICAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnkuYW1leCxcbiAgICAgIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2Yy5hbWV4LFxuICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlci5hbWV4LFxuICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeS5hbWV4LFxuICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2Yy5hbWV4LFxuICAgICAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIuYW1leCxcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5LmFtZXgsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2Yy5hbWV4IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NyZWRpdC1jYXJkcy9hbWV4LnN2Z1wiKTsgfVxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyLmRpc2NvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5LmRpc2NvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmRpc2NvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlci5kaXNjb3ZlcixcbiAgICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1leHBpcnkuZGlzY292ZXIsXG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmRpc2NvdmVyLFxuICAgICAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIuZGlzY292ZXIsXG4gICAgICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWV4cGlyeS5kaXNjb3ZlcixcbiAgICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtY3ZjLmRpc2NvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NyZWRpdC1jYXJkcy9kaXNjb3Zlci5zdmdcIik7IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggc3Bhbi5oZWxwLFxuICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggc3Bhbi5oZWxwLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IHNwYW4uaGVscCB7XG4gICAgICBmb250LXNpemU6IDAuODU3ZW07XG4gICAgICBjb2xvcjogIzc2NzY3NjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLmZvcm0tcm93LFxuICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggLmZvcm0tcm93LFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IC5mb3JtLXJvdyB7XG4gICAgICBtYXJnaW46IDAgMCAxZW07IH1cbiAgICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggcDpsYXN0LWNoaWxkLFxuICAgIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggcDpsYXN0LWNoaWxkLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94OjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveDo6YmVmb3JlLFxuICAgICNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiAxZW0gc29saWQgI2RmZGNkZTtcbiAgICAgIC8qIGFycm93IHNpemUgLyBjb2xvciAqL1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMC43NWVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogLTFlbSAwIDAgMmVtOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IC5wYXltZW50X21ldGhvZF9wYXlwYWwgLmFib3V0X3BheXBhbCxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IC5wYXltZW50X21ldGhvZF9wYXlwYWwgLmFib3V0X3BheXBhbCxcbiAgI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCAucGF5bWVudF9tZXRob2RfcGF5cGFsIC5hYm91dF9wYXlwYWwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgICBmb250LXNpemU6IDAuODNlbTsgfVxuICAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCAucGF5bWVudF9tZXRob2RfcGF5cGFsIGltZyxcbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IC5wYXltZW50X21ldGhvZF9wYXlwYWwgaW1nLFxuICAjYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IC5wYXltZW50X21ldGhvZF9wYXlwYWwgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA1MnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbi53b29jb21tZXJjZS1pbnZhbGlkICN0ZXJtcyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCByZWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7IH1cblxuLyoqXHJcbiAqIENhcnRcclxuICovXG4vKipcclxuICogQ2FydCBwYWdlXHJcbiAqL1xuLndvb2NvbW1lcmNlLFxuLndvb2NvbW1lcmNlLXBhZ2Uge1xuICAvKipcclxuICAgKiBGb3Jtc1xyXG4gICAqL1xuICAvKipcclxuICAgKiBvRW1iZWRzXHJcbiAgICovIH1cbiAgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgaW1nLFxuICAud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCBpbWcsXG4gIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgaW1nLFxuICAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMsXG4gIC53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMsXG4gIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsXG4gICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbiAgICAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0IHtcbiAgICAgIHdpZHRoOiA4MHB4OyB9XG4gICAgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uLFxuICAgIC53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbixcbiAgICAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbixcbiAgICAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIGxhYmVsLFxuICAgICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIGxhYmVsLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gbGFiZWwsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzLFxuICAud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyB7XG4gICAgKnpvb206IDE7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHM6OmJlZm9yZSwgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFsczo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFsczo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIC5yZWxhdGVkLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5yZWxhdGVkIHtcbiAgICAgIHdpZHRoOiAzMC43NSU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuY3Jvc3Mtc2VsbHMsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgLmNyb3NzLXNlbGxzIHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jcm9zcy1zZWxscyB1bC5wcm9kdWN0cyxcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jcm9zcy1zZWxscyB1bC5wcm9kdWN0cyB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAgIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuY3Jvc3Mtc2VsbHMgdWwucHJvZHVjdHMgbGksXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jcm9zcy1zZWxscyB1bC5wcm9kdWN0cyBsaSB7XG4gICAgICAgICAgd2lkdGg6IDQ4JTsgfVxuICAgIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmdfY2FsY3VsYXRvcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmdfY2FsY3VsYXRvciB7XG4gICAgICB3aWR0aDogNDglO1xuICAgICAgKnpvb206IDE7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmdfY2FsY3VsYXRvcjo6YmVmb3JlLCAud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgLnNoaXBwaW5nX2NhbGN1bGF0b3I6OmFmdGVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgLnNoaXBwaW5nX2NhbGN1bGF0b3I6OmJlZm9yZSxcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5zaGlwcGluZ19jYWxjdWxhdG9yOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmdfY2FsY3VsYXRvcjo6YWZ0ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmdfY2FsY3VsYXRvcjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIC5zaGlwcGluZ19jYWxjdWxhdG9yIC5jb2wyLXNldCAuY29sLTEsXG4gICAgICAud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgLnNoaXBwaW5nX2NhbGN1bGF0b3IgLmNvbDItc2V0IC5jb2wtMixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5zaGlwcGluZ19jYWxjdWxhdG9yIC5jb2wyLXNldCAuY29sLTEsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmdfY2FsY3VsYXRvciAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICAgICAgd2lkdGg6IDQ3JTsgfVxuICAgIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiA0OCU7IH1cbiAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93LFxuICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyB7XG4gICAgKnpvb206IDE7IH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3c6OmJlZm9yZSwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93OjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdzo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93OjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdzo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3c6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IGxhYmVsLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgbGFiZWwuY2hlY2tib3gsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyBsYWJlbC5jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBzZWxlY3QsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC5pbnB1dC10ZXh0LFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IC5pbnB1dC10ZXh0IHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3ctZmlyc3QsXG4gIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy1sYXN0LFxuICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy1maXJzdCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3ctbGFzdCB7XG4gICAgd2lkdGg6IDQ3JTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3ctZmlyc3QsXG4gIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93LWZpcnN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvKnJ0bDpyYXc6XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgKi8gfVxuICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3ctbGFzdCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3ctbGFzdCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy13aWRlLFxuICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy13aWRlIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAud29vY29tbWVyY2UgZm9ybSAucGFzc3dvcmQtaW5wdXQsXG4gIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLnBhc3N3b3JkLWlucHV0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIEhpZGUgdGhlIEVkZ2UgXCJyZXZlYWwgcGFzc3dvcmRcIiBuYXRpdmUgYnV0dG9uICovIH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAucGFzc3dvcmQtaW5wdXQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLnBhc3N3b3JkLWlucHV0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAucGFzc3dvcmQtaW5wdXQgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAucGFzc3dvcmQtaW5wdXQgaW5wdXQ6Oi1tcy1yZXZlYWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAud29vY29tbWVyY2UgZm9ybSAuc2hvdy1wYXNzd29yZC1pbnB1dCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuc2hvdy1wYXNzd29yZC1pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwLjdlbTtcbiAgICB0b3A6IDAuN2VtO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAud29vY29tbWVyY2UgZm9ybSAuc2hvdy1wYXNzd29yZC1pbnB1dDo6YWZ0ZXIsXG4gIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLnNob3ctcGFzc3dvcmQtaW5wdXQ6OmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogJ1dvb0NvbW1lcmNlJztcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYxOGVtO1xuICAgIGNvbnRlbnQ6IFwi7oCQXCI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC53b29jb21tZXJjZSBmb3JtIC5zaG93LXBhc3N3b3JkLWlucHV0LmRpc3BsYXktcGFzc3dvcmQ6OmFmdGVyLFxuICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5zaG93LXBhc3N3b3JkLWlucHV0LmRpc3BsYXktcGFzc3dvcmQ6OmFmdGVyIHtcbiAgICBjb2xvcjogIzU4NTg1ODsgfVxuICAud29vY29tbWVyY2UgI3BheW1lbnQgLmZvcm0tcm93IHNlbGVjdCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgLmZvcm0tcm93IHNlbGVjdCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLndvb2NvbW1lcmNlICNwYXltZW50IC53Yy10ZXJtcy1hbmQtY29uZGl0aW9ucyxcbiAgLndvb2NvbW1lcmNlICNwYXltZW50IC50ZXJtcyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgLndjLXRlcm1zLWFuZC1jb25kaXRpb25zLFxuICAud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAudGVybXMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMCAxZW0gMCAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC53b29jb21tZXJjZSAjcGF5bWVudCAjcGxhY2Vfb3JkZXIsXG4gIC53b29jb21tZXJjZS1wYWdlICNwYXltZW50ICNwbGFjZV9vcmRlciB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMsXG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMge1xuICAgICp6b29tOiAxOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkczo6YmVmb3JlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzOjphZnRlcixcbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkczo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHM6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHM6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHM6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHM6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHM6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42MThlbTtcbiAgICBwYWRkaW5nOiAxLjYxOGVtOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb2VtYmVkLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utb2VtYmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyoqXHJcbiAqIEdlbmVyYWwgV29vQ29tbWVyY2UgY29tcG9uZW50c1xyXG4gKi9cbi8qKlxyXG4gKiBIZWFkZXIgY2FydFxyXG4gKi9cbi5zaXRlLWhlYWRlci1jYXJ0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwNGQ7XG4gIGJvcmRlci1yYWRpdXM6IDEuMTI1cmVtO1xuICB3aWR0aDogMy42MjVyZW07XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaWNvbnMvY2FydC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICByaWdodDogMy43NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2l0ZS1oZWFkZXItY2FydCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiBpbml0aWFsOyB9IH1cbiAgLnNpdGUtaGVhZGVyLWNhcnQub3BlbmVkIC53aWRnZXRfc2hvcHBpbmdfY2FydCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zaXRlLWhlYWRlci1jYXJ0LmZ1bGwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL2NhcnQtZnVsbC1ob3Zlci5zdmdcIik7IH1cbiAgICAuc2l0ZS1oZWFkZXItY2FydC5mdWxsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL2NhcnQtZnVsbC5zdmdcIik7IH1cbiAgLnNpdGUtaGVhZGVyLWNhcnQgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgLnNpdGUtaGVhZGVyLWNhcnQgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnNpdGUtaGVhZGVyLWNhcnQgLmNhcnQtY29udGVudHMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5zaXRlLWhlYWRlci1jYXJ0IC5jYXJ0LWNvbnRlbnRzIC5hbW91bnQsIC5zaXRlLWhlYWRlci1jYXJ0IC5jYXJ0LWNvbnRlbnRzIC5jb3VudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaXRlLWhlYWRlci1jYXJ0IC53aWRnZXRfc2hvcHBpbmdfY2FydCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2l0ZS1oZWFkZXItY2FydCAucHJvZHVjdF9saXN0X3dpZGdldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2l0ZS1oZWFkZXItY2FydCAucHJvZHVjdF9saXN0X3dpZGdldCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTsgfVxuICAgICAgLnNpdGUtaGVhZGVyLWNhcnQgLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAuc2l0ZS1oZWFkZXItY2FydCAucHJvZHVjdF9saXN0X3dpZGdldCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lOyB9XG4gICAgICAuc2l0ZS1oZWFkZXItY2FydCAucHJvZHVjdF9saXN0X3dpZGdldCBsaSBhLnJlbW92ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogM3B4OyB9XG4gIC5zaXRlLWhlYWRlci1jYXJ0IC53aWRnZXRfc2hvcHBpbmdfY2FydCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgMXB4KTtcbiAgICB3aWR0aDogMTguNzVyZW0gIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiA5OTk5OTk7XG4gICAgcmlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHggNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gIC5zaXRlLWhlYWRlci1jYXJ0OmhvdmVyIC53aWRnZXRfc2hvcHBpbmdfY2FydCwgLnNpdGUtaGVhZGVyLWNhcnQuZm9jdXMgLndpZGdldF9zaG9wcGluZ19jYXJ0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAvKipcclxuICAgICAqIEhlYWRlciBjYXJ0XHJcbiAgICAgKi8gfVxuXG4ud29vY29tbWVyY2UsXG4ud29vY29tbWVyY2UtcGFnZSB7XG4gIC8qKlxyXG4gICAgICAgICAqIFJldmlld3NcclxuICAgICAgICAgKi9cbiAgLyoqXHJcbiAgICAgKiBTdGFyIHJhdGluZ3NcclxuICAgICAqL1xuICAvKipcclxuXHQgKiBQYXNzd29yZCBzdHJlbmd0aCBtZXRlclxyXG5cdCAqL1xuICAvKipcclxuICAgICAqIEZvcm1zXHJcbiAgICAgKi9cbiAgLyoqXHJcbiAgICAgICAgICogRm9ybXNcclxuICAgICAgICAgKi9cbiAgLyoqXHJcbiAgICAgKiBOb3RpY2VzXHJcbiAgICAgKi9cbiAgLyoqXHJcbiAgICAgICAgICogQnV0dG9uc1xyXG4gICAgICAgICAqL1xuICAvKipcclxuXHQgKiBPcmRlciBwYWdlXHJcblx0ICovIH1cbiAgLndvb2NvbW1lcmNlICNyZXZpZXdzIGgyIHNtYWxsLFxuICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyBoMiBzbWFsbCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiAjNzY3Njc2O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gICAgLndvb2NvbW1lcmNlICNyZXZpZXdzIGgyIHNtYWxsIGEsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgaDIgc21hbGwgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAud29vY29tbWVyY2UgI3Jldmlld3MgaDMsXG4gIC53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzIGgzIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLndvb2NvbW1lcmNlICNyZXZpZXdzICNyZXNwb25kLFxuICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjcmVzcG9uZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnQge1xuICAgIGhlaWdodDogNzVweDsgfVxuICAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIC5hZGRfcmV2aWV3LFxuICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgLmFkZF9yZXZpZXcge1xuICAgICp6b29tOiAxOyB9XG4gICAgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyAuYWRkX3Jldmlldzo6YmVmb3JlLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIC5hZGRfcmV2aWV3OjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgLmFkZF9yZXZpZXc6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgLmFkZF9yZXZpZXc6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyAuYWRkX3Jldmlldzo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIC5hZGRfcmV2aWV3OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIGgyLFxuICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgaDIge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QsXG4gIC53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCB7XG4gICAgKnpvb206IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3Q6OmJlZm9yZSwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdDo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0OjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0OjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3Q6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLFxuICAgIC53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6IDA7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLm1ldGEsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLm1ldGEge1xuICAgICAgICBjb2xvcjogIzc2NzY3NjtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07IH1cbiAgICAgIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgaW1nLmF2YXRhcixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSBpbWcuYXZhdGFyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICNlYmU5ZWI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGUxZTM7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0LFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDUwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGUxZTM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgcGFkZGluZzogMWVtIDFlbSAwO1xuICAgICAgICAqem9vbTogMTsgfVxuICAgICAgICAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQ6OmJlZm9yZSwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0OjphZnRlcixcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQ6OmJlZm9yZSxcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQ6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0OjphZnRlcixcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQ6OmFmdGVyIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcCxcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMWVtOyB9XG4gICAgICAgIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEsXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjgzZW07IH1cbiAgICAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IHVsLmNoaWxkcmVuLFxuICAgIC53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCB1bC5jaGlsZHJlbiB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7XG4gICAgICBtYXJnaW46IDIwcHggMCAwIDUwcHg7IH1cbiAgICAgIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgdWwuY2hpbGRyZW4gLnN0YXItcmF0aW5nLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IHVsLmNoaWxkcmVuIC5zdGFyLXJhdGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0ICNyZXNwb25kLFxuICAgIC53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCAjcmVzcG9uZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlMWUzO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgcGFkZGluZzogMWVtIDFlbSAwO1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMCA1MHB4OyB9XG4gIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgLmNvbW1lbnRsaXN0ID4gbGk6OmJlZm9yZSxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIC5jb21tZW50bGlzdCA+IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLnN0YXItcmF0aW5nIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgd2lkdGg6IDUuNGVtO1xuICAgIGZvbnQtZmFtaWx5OiBcInN0YXJcIjsgfVxuICAgIC53b29jb21tZXJjZSAuc3Rhci1yYXRpbmc6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAuc3Rhci1yYXRpbmc6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcNzNcXDczXFw3M1xcNzNcXDczXCI7XG4gICAgICBjb2xvcjogI2QzY2VkMjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC53b29jb21tZXJjZSAuc3Rhci1yYXRpbmcgc3BhbixcbiAgICAud29vY29tbWVyY2UtcGFnZSAuc3Rhci1yYXRpbmcgc3BhbiB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcGFkZGluZy10b3A6IDEuNWVtOyB9XG4gICAgLndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyBzcGFuOjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLnN0YXItcmF0aW5nIHNwYW46OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcNTNcXDUzXFw1M1xcNTNcXDUzXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyB7XG4gICAgKnpvb206IDE7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nOjpiZWZvcmUsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmc6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZzo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZzo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmc6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAuc3Rhci1yYXRpbmcsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIC5zdGFyLXJhdGluZyB7XG4gICAgICBtYXJnaW46IDAuNWVtIDRweCAwIDA7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAud29vY29tbWVyY2UgLnByb2R1Y3RzIC5zdGFyLXJhdGluZyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLnByb2R1Y3RzIC5zdGFyLXJhdGluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMC41ZW07XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLndvb2NvbW1lcmNlIC5ocmV2aWV3LWFnZ3JlZ2F0ZSAuc3Rhci1yYXRpbmcsXG4gIC53b29jb21tZXJjZS1wYWdlIC5ocmV2aWV3LWFnZ3JlZ2F0ZSAuc3Rhci1yYXRpbmcge1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld19mb3JtICNyZXNwb25kIHtcbiAgICAqem9vbTogMTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmU7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZDo6YmVmb3JlLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQ6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZDo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld19mb3JtICNyZXNwb25kOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgcCxcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgcCB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gICAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAuZm9ybS1zdWJtaXQgaW5wdXQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld19mb3JtICNyZXNwb25kIC5mb3JtLXN1Ym1pdCBpbnB1dCB7XG4gICAgICBsZWZ0OiBhdXRvOyB9XG4gICAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCB0ZXh0YXJlYSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgdGV4dGFyZWEge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53b29jb21tZXJjZSBwLnN0YXJzIGEsXG4gIC53b29jb21tZXJjZS1wYWdlIHAuc3RhcnMgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHdpZHRoOiAxZW07XG4gICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLndvb2NvbW1lcmNlIHAuc3RhcnMgYTo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIHAuc3RhcnMgYTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1mYW1pbHk6IFwiV29vQ29tbWVyY2VcIjtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlMDIxXCI7XG4gICAgICB0ZXh0LWluZGVudDogMDsgfVxuICAgIC53b29jb21tZXJjZSBwLnN0YXJzIGE6aG92ZXIgfiBhOjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgcC5zdGFycyBhOmhvdmVyIH4gYTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlMDIxXCI7IH1cbiAgLndvb2NvbW1lcmNlIHAuc3RhcnM6aG92ZXIgYTo6YmVmb3JlLFxuICAud29vY29tbWVyY2UtcGFnZSBwLnN0YXJzOmhvdmVyIGE6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMjBcIjsgfVxuICAud29vY29tbWVyY2UgcC5zdGFycy5zZWxlY3RlZCBhLmFjdGl2ZTo6YmVmb3JlLFxuICAud29vY29tbWVyY2UtcGFnZSBwLnN0YXJzLnNlbGVjdGVkIGEuYWN0aXZlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDIwXCI7IH1cbiAgLndvb2NvbW1lcmNlIHAuc3RhcnMuc2VsZWN0ZWQgYS5hY3RpdmUgfiBhOjpiZWZvcmUsXG4gIC53b29jb21tZXJjZS1wYWdlIHAuc3RhcnMuc2VsZWN0ZWQgYS5hY3RpdmUgfiBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDIxXCI7IH1cbiAgLndvb2NvbW1lcmNlIHAuc3RhcnMuc2VsZWN0ZWQgYTpub3QoLmFjdGl2ZSk6OmJlZm9yZSxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgcC5zdGFycy5zZWxlY3RlZCBhOm5vdCguYWN0aXZlKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTAyMFwiOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcGFzc3dvcmQtc3RyZW5ndGgsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wYXNzd29yZC1zdHJlbmd0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogM3B4IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wYXNzd29yZC1zdHJlbmd0aC5zdHJvbmcsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXBhc3N3b3JkLXN0cmVuZ3RoLnN0cm9uZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzFlMWI5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODNjMzczOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wYXNzd29yZC1zdHJlbmd0aC5zaG9ydCxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcGFzc3dvcmQtc3RyZW5ndGguc2hvcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYWRhZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2UzNWI1YjsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcGFzc3dvcmQtc3RyZW5ndGguYmFkLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wYXNzd29yZC1zdHJlbmd0aC5iYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYzVhOTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y3OGI1MzsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcGFzc3dvcmQtc3RyZW5ndGguZ29vZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcGFzc3dvcmQtc3RyZW5ndGguZ29vZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMzk5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZjNzMzOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcGFzc3dvcmQtaGludCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXBhc3N3b3JkLWhpbnQge1xuICAgIG1hcmdpbjogMC41ZW0gMCAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC53b29jb21tZXJjZSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIGlucHV0LmlucHV0LXRleHQsXG4gIC53b29jb21tZXJjZS1wYWdlIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgMCAjMGY4MzRkOyB9XG4gIC53b29jb21tZXJjZSAuZm9ybS1yb3cud29vY29tbWVyY2UtaW52YWxpZCBpbnB1dC5pbnB1dC10ZXh0LFxuICAud29vY29tbWVyY2UtcGFnZSAuZm9ybS1yb3cud29vY29tbWVyY2UtaW52YWxpZCBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAycHggMCAwICNlMjQwMWM7IH1cbiAgLndvb2NvbW1lcmNlIC5yZXF1aXJlZCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLnJlcXVpcmVkIHtcbiAgICBjb2xvcjogI2YwMDsgfVxuICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3csXG4gIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IHtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgbWFyZ2luOiAwIDAgNnB4OyB9XG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IFtwbGFjZWhvbGRlcl06Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgW3BsYWNlaG9sZGVyXTpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgMC41cyBlYXNlO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBsYWJlbCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMjsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBsYWJlbC5oaWRkZW4sXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgbGFiZWwuaGlkZGVuIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBsYWJlbC5pbmxpbmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgbGFiZWwuaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyAud29vY29tbWVyY2UtaW5wdXQtd3JhcHBlciAuZGVzY3JpcHRpb24sXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgLndvb2NvbW1lcmNlLWlucHV0LXdyYXBwZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxZTg1YmU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIG1hcmdpbjogMC41ZW0gMCAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLndvb2NvbW1lcmNlLWlucHV0LXdyYXBwZXIgLmRlc2NyaXB0aW9uIGEsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyAud29vY29tbWVyY2UtaW5wdXQtd3JhcHBlciAuZGVzY3JpcHRpb24gYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLndvb2NvbW1lcmNlLWlucHV0LXdyYXBwZXIgLmRlc2NyaXB0aW9uOjpiZWZvcmUsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyAud29vY29tbWVyY2UtaW5wdXQtd3JhcHBlciAuZGVzY3JpcHRpb246OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci13aWR0aDogNHB4IDZweCAwIDZweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWU4NWJlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyBzZWxlY3Qge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC5yZXF1aXJlZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyAucmVxdWlyZWQge1xuICAgICAgY29sb3I6IHJlZDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyAub3B0aW9uYWwsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgLm9wdGlvbmFsIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LWNoZWNrYm94LFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IC5pbnB1dC1jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBtYXJnaW46IC0ycHggOHB4IDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgaW5wdXQuaW5wdXQtdGV4dCxcbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgdGV4dGFyZWEsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgaW5wdXQuaW5wdXQtdGV4dCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSxcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSB7XG4gICAgICBoZWlnaHQ6IDRlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnNlbGVjdDItY29udGFpbmVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyZW07IH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtaW52YWxpZCBsYWJlbCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS1pbnZhbGlkIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjYTAwOyB9XG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93Lndvb2NvbW1lcmNlLWludmFsaWQgLnNlbGVjdDItY29udGFpbmVyLFxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS1pbnZhbGlkIGlucHV0LmlucHV0LXRleHQsXG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93Lndvb2NvbW1lcmNlLWludmFsaWQgc2VsZWN0LFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93Lndvb2NvbW1lcmNlLWludmFsaWQgLnNlbGVjdDItY29udGFpbmVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93Lndvb2NvbW1lcmNlLWludmFsaWQgaW5wdXQuaW5wdXQtdGV4dCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS1pbnZhbGlkIHNlbGVjdCB7XG4gICAgICBib3JkZXItY29sb3I6ICNhMDA7IH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIGlucHV0LmlucHV0LXRleHQsXG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93Lndvb2NvbW1lcmNlLXZhbGlkYXRlZCBzZWxlY3QsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgaW5wdXQuaW5wdXQtdGV4dCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgc2VsZWN0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkYzIyZTsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgOi1tb3otcGxhY2Vob2xkZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyA6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAud29vY29tbWVyY2UgZm9ybS5sb2dpbixcbiAgLndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXRfY291cG9uLFxuICAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlcixcbiAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybS5sb2dpbixcbiAgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybS5jaGVja291dF9jb3Vwb24sXG4gIC53b29jb21tZXJjZS1wYWdlIGZvcm0ucmVnaXN0ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2NlZDI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW46IDJlbSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC53b29jb21tZXJjZSB1bCNzaGlwcGluZ19tZXRob2QsXG4gIC53b29jb21tZXJjZS1wYWdlIHVsI3NoaXBwaW5nX21ldGhvZCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsI3NoaXBwaW5nX21ldGhvZCBsaSxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bCNzaGlwcGluZ19tZXRob2QgbGkge1xuICAgICAgbWFyZ2luOiAwIDAgMC41ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7IH1cbiAgICAgIC53b29jb21tZXJjZSB1bCNzaGlwcGluZ19tZXRob2QgbGkgaW5wdXQsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSB1bCNzaGlwcGluZ19tZXRob2QgbGkgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDNweCAwLjQzNzVlbSAwIDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgIC53b29jb21tZXJjZSB1bCNzaGlwcGluZ19tZXRob2QgbGkgbGFiZWwsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSB1bCNzaGlwcGluZ19tZXRob2QgbGkgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAud29vY29tbWVyY2UgdWwjc2hpcHBpbmdfbWV0aG9kIC5hbW91bnQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwjc2hpcHBpbmdfbWV0aG9kIC5hbW91bnQge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAud29vY29tbWVyY2UgcC53b29jb21tZXJjZS1zaGlwcGluZy1jb250ZW50cyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgcC53b29jb21tZXJjZS1zaGlwcGluZy1jb250ZW50cyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSxcbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvLFxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yLFxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW5vcmV2aWV3cyxcbiAgLndvb2NvbW1lcmNlIHAubm8tY29tbWVudHMsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utbm9yZXZpZXdzLFxuICAud29vY29tbWVyY2UtcGFnZSBwLm5vLWNvbW1lbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY4MzRkO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbyxcbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1ub3Jldmlld3MsXG4gIC53b29jb21tZXJjZSBwLm5vLWNvbW1lbnRzLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW5vcmV2aWV3cyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgcC5uby1jb21tZW50cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkOWNkMjsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjQwMWM7IH1cbiAgLndvb2NvbW1lcmNlIC5kZW1vX3N0b3JlLFxuICAud29vY29tbWVyY2UtcGFnZSAuZGVtb19zdG9yZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkOWNkMjtcbiAgICB6LWluZGV4OiA5OTk5OyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYixcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIge1xuICAgICp6b29tOiAxO1xuICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45MmVtO1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1icmVhZGNydW1iOjpiZWZvcmUsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYjo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWI6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWI6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1icmVhZGNydW1iOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgLndvb2NvbW1lcmNlIC5ibG9ja1VJLmJsb2NrT3ZlcmxheSxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAud29vY29tbWVyY2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5OjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5OjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9sb2FkZXIuc3ZnXCIpIGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG4gIC53b29jb21tZXJjZSAubG9hZGVyOjpiZWZvcmUsXG4gIC53b29jb21tZXJjZS1wYWdlIC5sb2FkZXI6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgd2lkdGg6IDFlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbG9hZGVyLnN2Z1wiKSBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG4gIC53b29jb21tZXJjZSBhLnJlbW92ZSxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgYS5yZW1vdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLndvb2NvbW1lcmNlIHNtYWxsLm5vdGUsXG4gIC53b29jb21tZXJjZS1wYWdlIHNtYWxsLm5vdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNzY3Njc2O1xuICAgIGZvbnQtc2l6ZTogMC44NTdlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eSxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLnF1YW50aXR5IC5xdHkge1xuICAgIHdpZHRoOiAzLjYzMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAud29vY29tbWVyY2UgYS5idXR0b24sXG4gIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLFxuICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLFxuICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LFxuICAud29vY29tbWVyY2UtcGFnZSBhLmJ1dHRvbixcbiAgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbixcbiAgLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uLFxuICAud29vY29tbWVyY2UtcGFnZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMC42MThlbSAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzUxNTE1MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlOWViO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lOyB9XG4gICAgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmxvYWRpbmcsXG4gICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24ubG9hZGluZyxcbiAgICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmxvYWRpbmcsXG4gICAgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5sb2FkaW5nLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGEuYnV0dG9uLmxvYWRpbmcsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbi5sb2FkaW5nLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGlucHV0LmJ1dHRvbi5sb2FkaW5nLFxuICAgIC53b29jb21tZXJjZS1wYWdlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5sb2FkaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjYxOGVtOyB9XG4gICAgICAud29vY29tbWVyY2UgYS5idXR0b24ubG9hZGluZzo6YWZ0ZXIsXG4gICAgICAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5sb2FkaW5nOjphZnRlcixcbiAgICAgIC53b29jb21tZXJjZSBpbnB1dC5idXR0b24ubG9hZGluZzo6YWZ0ZXIsXG4gICAgICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmxvYWRpbmc6OmFmdGVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYS5idXR0b24ubG9hZGluZzo6YWZ0ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnV0dG9uLmxvYWRpbmc6OmFmdGVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uLmxvYWRpbmc6OmFmdGVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmxvYWRpbmc6OmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiV29vQ29tbWVyY2VcIjtcbiAgICAgICAgY29udGVudDogXCJcXGUwMWNcIjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuNjE4ZW07XG4gICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7IH1cbiAgICAud29vY29tbWVyY2UgYS5idXR0b24uYWRkZWQ6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFkZGVkOjphZnRlcixcbiAgICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFkZGVkOjphZnRlcixcbiAgICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFkZGVkOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSBhLmJ1dHRvbi5hZGRlZDo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbi5hZGRlZDo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uLmFkZGVkOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWRkZWQ6OmFmdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIldvb0NvbW1lcmNlXCI7XG4gICAgICBjb250ZW50OiBcIlxcZTAxN1wiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNTNlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgICAud29vY29tbWVyY2UgYS5idXR0b246aG92ZXIsXG4gICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246aG92ZXIsXG4gICAgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbjpob3ZlcixcbiAgICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmhvdmVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGEuYnV0dG9uOmhvdmVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b246aG92ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uOmhvdmVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlICNyZXNwb25kIGlucHV0I3N1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkY2RlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIGNvbG9yOiAjNTE1MTUxOyB9XG4gICAgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdCxcbiAgICAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQsXG4gICAgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQsXG4gICAgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgYS5idXR0b24uYWx0LFxuICAgIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b24uYWx0LFxuICAgIC53b29jb21tZXJjZS1wYWdlIGlucHV0LmJ1dHRvbi5hbHQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTQ2NDk3O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cbiAgICAgIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYS5idXR0b24uYWx0OmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbi5hbHQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b24uYWx0OmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5NjU4OGE7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdC5kaXNhYmxlZCwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZCwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQuZGlzYWJsZWQ6aG92ZXIsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQ6aG92ZXIsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkLFxuICAgICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkLFxuICAgICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAgIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdC5kaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdC5kaXNhYmxlZCxcbiAgICAgIC53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0OmRpc2FibGVkLFxuICAgICAgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgICAgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQuZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdDpkaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0LmRpc2FibGVkLFxuICAgICAgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQ6ZGlzYWJsZWQsXG4gICAgICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdC5kaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmRpc2FibGVkOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYS5idXR0b24uYWx0LmRpc2FibGVkLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYS5idXR0b24uYWx0OmRpc2FibGVkLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYS5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGEuYnV0dG9uLmFsdC5kaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnV0dG9uLmFsdC5kaXNhYmxlZCxcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbi5hbHQuZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGlucHV0LmJ1dHRvbi5hbHQuZGlzYWJsZWQsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b24uYWx0OmRpc2FibGVkLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b24uYWx0LmRpc2FibGVkOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uLmFsdDpkaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGlucHV0LmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdC5kaXNhYmxlZCxcbiAgICAgIC53b29jb21tZXJjZS1wYWdlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQ6ZGlzYWJsZWQsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAgIC53b29jb21tZXJjZS1wYWdlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQuZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmRpc2FibGVkOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTQ2NDk3O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5kaXNhYmxlZCwgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbjpkaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmRpc2FibGVkLFxuICAgIC53b29jb21tZXJjZSBpbnB1dC5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6ZGlzYWJsZWQsXG4gICAgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5kaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAud29vY29tbWVyY2UtcGFnZSBhLmJ1dHRvbjpkaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBhLmJ1dHRvbi5kaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnV0dG9uLmRpc2FibGVkLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGlucHV0LmJ1dHRvbjpkaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b24uZGlzYWJsZWQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6ZGlzYWJsZWQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmRpc2FibGVkLFxuICAgIC53b29jb21tZXJjZS1wYWdlICNyZXNwb25kIGlucHV0I3N1Ym1pdDpkaXNhYmxlZFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgcGFkZGluZzogMC42MThlbSAxZW07IH1cbiAgICAgIC53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSBpbnB1dC5idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5kaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYS5idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBhLmJ1dHRvbi5kaXNhYmxlZDpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGEuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmRpc2FibGVkOmhvdmVyLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlOWViOyB9XG4gIC53b29jb21tZXJjZSAuY2FydCAuYnV0dG9uLFxuICAud29vY29tbWVyY2UgLmNhcnQgaW5wdXQuYnV0dG9uLFxuICAud29vY29tbWVyY2UtcGFnZSAuY2FydCAuYnV0dG9uLFxuICAud29vY29tbWVyY2UtcGFnZSAuY2FydCBpbnB1dC5idXR0b24ge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC53b29jb21tZXJjZSBhLmFkZGVkX3RvX2NhcnQsXG4gIC53b29jb21tZXJjZS1wYWdlIGEuYWRkZWRfdG9fY2FydCB7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAud29vY29tbWVyY2UgdWwub3JkZXJfZGV0YWlscyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgdWwub3JkZXJfZGV0YWlscyB7XG4gICAgKnpvb206IDE7XG4gICAgbWFyZ2luOiAwIDAgM2VtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UgdWwub3JkZXJfZGV0YWlsczo6YmVmb3JlLCAud29vY29tbWVyY2UgdWwub3JkZXJfZGV0YWlsczo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwub3JkZXJfZGV0YWlsczo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIHVsLm9yZGVyX2RldGFpbHM6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLm9yZGVyX2RldGFpbHM6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIHVsLm9yZGVyX2RldGFpbHM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLm9yZGVyX2RldGFpbHMgbGksXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwub3JkZXJfZGV0YWlscyBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC43MTVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICNkM2NlZDI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgICAgLndvb2NvbW1lcmNlIHVsLm9yZGVyX2RldGFpbHMgbGkgc3Ryb25nLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwub3JkZXJfZGV0YWlscyBsaSBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIC53b29jb21tZXJjZSB1bC5vcmRlcl9kZXRhaWxzIGxpOmxhc3Qtb2YtdHlwZSxcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIHVsLm9yZGVyX2RldGFpbHMgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gIC53b29jb21tZXJjZSAud2MtYmFjcy1iYW5rLWRldGFpbHMtYWNjb3VudC1uYW1lLFxuICAud29vY29tbWVyY2UtcGFnZSAud2MtYmFjcy1iYW5rLWRldGFpbHMtYWNjb3VudC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyLWRvd25sb2FkcyxcbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLFxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1vcmRlci1kb3dubG9hZHMsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlci1kb3dubG9hZHMgKjpsYXN0LWNoaWxkLFxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAqOmxhc3QtY2hpbGQsXG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzICo6bGFzdC1jaGlsZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utb3JkZXItZG93bmxvYWRzICo6bGFzdC1jaGlsZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAqOmxhc3QtY2hpbGQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMgKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3Mge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLS1waG9uZSxcbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLS1lbWFpbCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMtLXBob25lLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscy0tZW1haWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVlbTsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMtLXBob25lOjpiZWZvcmUsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLS1waG9uZTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ1dvb0NvbW1lcmNlJztcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIG1hcmdpbi1yaWdodDogMC42MThlbTtcbiAgICBjb250ZW50OiBcIu6At1wiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMtLWVtYWlsOjpiZWZvcmUsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLS1lbWFpbDo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ1dvb0NvbW1lcmNlJztcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIG1hcmdpbi1yaWdodDogMC42MThlbTtcbiAgICBjb250ZW50OiBcIu6ArVwiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UsXG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IsXG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1lcnJvcixcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgIHBhZGRpbmc6IDFlbSAyZW0gMWVtIDMuNWVtO1xuICAgIG1hcmdpbjogMCAwIDJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjZmNztcbiAgICBjb2xvcjogIzUxNTE1MTtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgI2E0NjQ5NztcbiAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7XG4gICAgKnpvb206IDE7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1tZXNzYWdlOjpiZWZvcmUsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZTo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvcjo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3I6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZTo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yOjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZTo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvcjo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZTo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbzo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yOjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtZXJyb3I6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIldvb0NvbW1lcmNlXCI7XG4gICAgICBjb250ZW50OiBcIlxcZTAyOFwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxZW07XG4gICAgICBsZWZ0OiAxLjVlbTsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSAuYnV0dG9uLFxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IgLmJ1dHRvbixcbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8gLmJ1dHRvbixcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZSAuYnV0dG9uLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1lcnJvciAuYnV0dG9uLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvIC5idXR0b24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1tZXNzYWdlIGxpLFxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IgbGksXG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvIGxpLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlIGxpLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1lcnJvciBsaSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbyBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGUgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjOGZhZTFiOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1tZXNzYWdlOjpiZWZvcmUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTAxNVwiO1xuICAgICAgY29sb3I6ICM4ZmFlMWI7IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzFlODViZTsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxZTg1YmU7IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvcixcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYjgxYzIzOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvcjo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1lcnJvcjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlMDE2XCI7XG4gICAgICBjb2xvcjogI2I4MWMyMzsgfVxuXG4uYWJidHlwZS10YWJzIC5rdC10YWItc3ZnLWljb24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmFiYnR5cGUtdGFicyAua3QtaW5uZXItdGFiLTIsIC5hYmJ0eXBlLXRhYnMgLmt0LWlubmVyLXRhYi0zIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMy4xMjVyZW07IH1cblxuLmFiYnR5cGUtdGFicyAua3QtdGFiLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiA1LjYyNXJlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjI1cmVtIGNlbnRlciAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuYWJidHlwZS10YWJzIC5rdC10YWItdGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1LjYyNXJlbSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4Ljc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6IDE5LjQzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiBpbml0aWFsO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS44NzVyZW0gY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWJidHlwZS10YWJzIC5rdC10YWItdGl0bGUtYWN0aXZlIC5rdC10YWItdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuXG4uYWJidHlwZS10YWJzIC5rdC10YWItdGl0bGUtYWN0aXZlICsgLndwLWJsb2NrLWthZGVuY2UtdGFiIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuYWJidHlwZS10YWJzIC5rdC10YWItdGl0bGUtYWN0aXZlICsgLndwLWJsb2NrLWthZGVuY2UtdGFiIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDMuMTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMy4xMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuYWJidHlwZS10YWJzIC5rdC10YWItdGl0bGUtYWN0aXZlICsgLndwLWJsb2NrLWthZGVuY2UtdGFiLmt0LWlubmVyLXRhYi0xIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDsgfSB9XG5cbi5hYmJ0eXBlLXRhYnMgLmt0LXRhYi10aXRsZS0xIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzA4L0FiYlR5cGUtaWNvbi5zdmdcIikgIWltcG9ydGFudDsgfVxuXG4uYWJidHlwZS10YWJzIC5rdC10YWItdGl0bGUtMiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8wOC9BYmJTdGF0LWljb24uc3ZnXCIpICFpbXBvcnRhbnQ7IH1cblxuLmFiYnR5cGUtdGFicyAua3QtdGFiLXRpdGxlLTMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDgvQWJiUmVhZC1pY29uLnN2Z1wiKSAhaW1wb3J0YW50OyB9XG5cbi5hYmJ0eXBlLXRhYnMgLndwLWJsb2NrLWthZGVuY2UtdGFiIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5hYmJ0eXBlLXRhYnMgLndwLWJsb2NrLWthZGVuY2UtdGFiIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4ud29vY29tbWVyY2UtbWluaS1jYXJ0X19idXR0b25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAud29vY29tbWVyY2UtbWluaS1jYXJ0X19idXR0b25zIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuODc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLyoqXHJcbiAqIFdvb0NvbW1lcmNlIHdpZGdldHNcclxuICovXG4vKipcclxuICogV29vQ29tbWVyY2UgUHJpY2UgRmlsdGVyXHJcbiAqL1xuLndpZGdldF9wcmljZV9maWx0ZXIgLnByaWNlX3NsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbi53aWRnZXRfcHJpY2VfZmlsdGVyIC5wcmljZV9zbGlkZXJfYW1vdW50IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAyLjQ7IH1cbiAgLndpZGdldF9wcmljZV9maWx0ZXIgLnByaWNlX3NsaWRlcl9hbW91bnQgLmJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLndpZGdldF9wcmljZV9maWx0ZXIgLnVpLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ud2lkZ2V0X3ByaWNlX2ZpbHRlciAudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgY3Vyc29yOiBldy1yZXNpemU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMwMDg2ZTY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi10b3A6IC0wLjI1ZW07XG4gIG9wYWNpdHk6IDE7IH1cbiAgLndpZGdldF9wcmljZV9maWx0ZXIgLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgfVxuICAud2lkZ2V0X3ByaWNlX2ZpbHRlciAudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlOmhvdmVyLCAud2lkZ2V0X3ByaWNlX2ZpbHRlciAudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4yNWVtIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ud2lkZ2V0X3ByaWNlX2ZpbHRlciAudWktc2xpZGVyIC51aS1zbGlkZXItcmFuZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDg2ZTY7IH1cblxuLndpZGdldF9wcmljZV9maWx0ZXIgLnByaWNlX3NsaWRlcl93cmFwcGVyIC51aS13aWRnZXQtY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ud2lkZ2V0X3ByaWNlX2ZpbHRlciAudWktc2xpZGVyLWhvcml6b250YWwge1xuICBoZWlnaHQ6IDAuNWVtOyB9XG5cbi53aWRnZXRfcHJpY2VfZmlsdGVyIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qKlxyXG4gKiBXb29Db21tZXJjZSBBY2NvdW50IHBhZ2VzXHJcbiAqL1xuLyoqXHJcbiAqIEFjY291bnQgcGFnZVxyXG4gKi9cbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSB7XG4gICp6b29tOiAxO1xuICBtYXgtd2lkdGg6IDc4MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2U6OmJlZm9yZSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzAlOyB9XG5cbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDY4JTsgfVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC50aXRsZSB7XG4gICp6b29tOiAxOyB9XG4gIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLnRpdGxlOjpiZWZvcmUsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLnRpdGxlOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLnRpdGxlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAudGl0bGUgaDMge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLnRpdGxlIC5lZGl0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgb2wuY29tbWVudGxpc3Qubm90ZXMgbGkubm90ZSBwLm1ldGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi53b29jb21tZXJjZS1hY2NvdW50IG9sLmNvbW1lbnRsaXN0Lm5vdGVzIGxpLm5vdGUgLmRlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgdWwuZGlnaXRhbC1kb3dubG9hZHMge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC53b29jb21tZXJjZS1hY2NvdW50IHVsLmRpZ2l0YWwtZG93bmxvYWRzIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC53b29jb21tZXJjZS1hY2NvdW50IHVsLmRpZ2l0YWwtZG93bmxvYWRzIGxpOjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdXb29Db21tZXJjZSc7XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MThlbTtcbiAgICAgIGNvbnRlbnQ6IFwi7oCKXCI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UtYWNjb3VudCB1bC5kaWdpdGFsLWRvd25sb2FkcyBsaSAuY291bnQge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qKlxyXG4gKiBXb29Db21tZXJjZSBQcm9kdWN0IExpc3RcclxuICovXG4ud29vY29tbWVyY2UsXG4ud29vY29tbWVyY2UtcGFnZSB7XG4gIC8qKlxyXG4qIFByb2R1Y3QgbG9vcHNcclxuKi8gfVxuICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0xIGxpLnByb2R1Y3QsXG4gIC53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMSBsaS5wcm9kdWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiBsaS5wcm9kdWN0LFxuICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgbGkucHJvZHVjdCB7XG4gICAgd2lkdGg6IDQ4JTsgfVxuICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zIGxpLnByb2R1Y3QsXG4gIC53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyBsaS5wcm9kdWN0IHtcbiAgICB3aWR0aDogMzAuNzUlOyB9XG4gIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTUgbGkucHJvZHVjdCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy01IGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAxNi45NSU7IH1cbiAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNiBsaS5wcm9kdWN0LFxuICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTYgbGkucHJvZHVjdCB7XG4gICAgd2lkdGg6IDEzLjUlOyB9XG4gIC53b29jb21tZXJjZS5jb2x1bW5zLTEgdWwucHJvZHVjdHMgbGkucHJvZHVjdCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UuY29sdW1ucy0xIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAud29vY29tbWVyY2UuY29sdW1ucy0yIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4gIC53b29jb21tZXJjZS1wYWdlLmNvbHVtbnMtMiB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICB3aWR0aDogNDglOyB9XG4gIC53b29jb21tZXJjZS5jb2x1bW5zLTMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCxcbiAgLndvb2NvbW1lcmNlLXBhZ2UuY29sdW1ucy0zIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAzMC43NSU7IH1cbiAgLndvb2NvbW1lcmNlLmNvbHVtbnMtNSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuICAud29vY29tbWVyY2UtcGFnZS5jb2x1bW5zLTUgdWwucHJvZHVjdHMgbGkucHJvZHVjdCB7XG4gICAgd2lkdGg6IDE2Ljk1JTsgfVxuICAud29vY29tbWVyY2UuY29sdW1ucy02IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4gIC53b29jb21tZXJjZS1wYWdlLmNvbHVtbnMtNiB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICB3aWR0aDogMTMuNSU7IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1vcmRlcmluZyB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyB7XG4gICAgKnpvb206IDE7IH1cbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzOjpiZWZvcmUsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnM6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVyczo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVyczo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzOjphZnRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSxcbiAgICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC53b29jb21tZXJjZSAucHJvZHVjdHMgdWwsXG4gIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgLnByb2R1Y3RzIHVsLFxuICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyB7XG4gICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgICp6b29tOiAxOyB9XG4gICAgLndvb2NvbW1lcmNlIC5wcm9kdWN0cyB1bDo6YmVmb3JlLCAud29vY29tbWVyY2UgLnByb2R1Y3RzIHVsOjphZnRlcixcbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHM6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHM6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0cyB1bDo6YmVmb3JlLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0cyB1bDo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHM6OmJlZm9yZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0czo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAud29vY29tbWVyY2UgLnByb2R1Y3RzIHVsOjphZnRlcixcbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHM6OmFmdGVyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0cyB1bDo6YWZ0ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgMy44JSAyLjk5MmVtIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDIyLjA1JTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7IH1cbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdC5maXJzdCxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LmZpcnN0IHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QubGFzdCxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0Lmxhc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLm9uc2FsZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5vbnNhbGUge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAtMC41ZW0gLTAuNWVtIDAgMDsgfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgzLFxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLFxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgzLFxuICAgIC53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUge1xuICAgICAgcGFkZGluZzogMC41ZW0gMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYSxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYSBpbWcsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBhIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHN0cm9uZyxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1wbGFjZWhvbGRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1wbGFjZWhvbGRlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnN0YXItcmF0aW5nLFxuICAgIC53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnN0YXItcmF0aW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NTdlbTsgfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5idXR0b24sXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSxcbiAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSB7XG4gICAgICBjb2xvcjogIzc3YTQ2NDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgZm9udC1zaXplOiAwLjg1N2VtOyB9XG4gICAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgZGVsLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgZGVsIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgaW5zLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgaW5zIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgLmZyb20sXG4gICAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSAuZnJvbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42N2VtO1xuICAgICAgICBtYXJnaW46IC0ycHggMCAwIDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEzMiwgMTMyLCAxMzIsIDAuNSk7IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsXG4gIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQge1xuICAgIG1hcmdpbjogMCAwIDFlbTsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nLFxuICAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICAgIG1hcmdpbjogMCAwIDFlbTsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LFxuICAgIC53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24sXG4gIC53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2NlZDI7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDFweDsgfVxuICAgICAgLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDNjZWQyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGEsXG4gICAgICAgIC53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBzcGFuLFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhLFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICAgICAgICBtaW4td2lkdGg6IDFlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3Bhbi5jdXJyZW50LFxuICAgICAgICAud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYTpob3ZlcixcbiAgICAgICAgLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGE6Zm9jdXMsXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHNwYW4uY3VycmVudCxcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYTpob3ZlcixcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ViZTllYjtcbiAgICAgICAgICBjb2xvcjogIzhhN2U4ODsgfVxuXG4vKipcclxuICogV29vQ29tbWVyY2UgU21hbGxTY3JlZW5cclxuICovXG4vKipcclxuICogU3R5bGUgYmVnaW5zXHJcbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC53b29jb21tZXJjZSxcbiAgLndvb2NvbW1lcmNlLXBhZ2Uge1xuICAgIC8qKlxyXG4gICAgICogR2VuZXJhbCBsYXlvdXRcclxuICAgICAqL1xuICAgIC8qKlxyXG4gICAgICogUHJvZHVjdHNcclxuICAgICAqL1xuICAgIC8qKlxyXG4gICAgICogUHJvZHVjdCBEZXRhaWxzXHJcbiAgICAgKi9cbiAgICAvKipcclxuICAgICAqIENhcnRcclxuICAgICAqL1xuICAgIC8qKlxyXG4gICAgICogQ2hlY2tvdXRcclxuICAgICAqL1xuICAgIC8qKlxyXG4gICAgICogQWNjb3VudFxyXG4gICAgICovIH1cbiAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRoZWFkLFxuICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCxcbiAgICAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdGJvZHkgdGgsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRib2R5IHRoIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLFxuICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ciB0ZCxcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIgdGQub3JkZXItYWN0aW9ucyxcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyIHRkLm9yZGVyLWFjdGlvbnMge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyIHRkOjpiZWZvcmUsXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ciB0ZDo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpIFwiOiBcIjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIgdGQucHJvZHVjdC1yZW1vdmU6OmJlZm9yZSwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ciB0ZC5hY3Rpb25zOjpiZWZvcmUsXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ciB0ZC5wcm9kdWN0LXJlbW92ZTo6YmVmb3JlLFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIgdGQuYWN0aW9uczo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyOm50aC1jaGlsZCgybikgdGQsXG4gICAgICAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHI6bnRoLWNoaWxkKDJuKSB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMjUpOyB9XG4gICAgLndvb2NvbW1lcmNlIHRhYmxlLm15X2FjY291bnRfb3JkZXJzIHRyIHRkLm9yZGVyLWFjdGlvbnMsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUubXlfYWNjb3VudF9vcmRlcnMgdHIgdGQub3JkZXItYWN0aW9ucyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAud29vY29tbWVyY2UgdGFibGUubXlfYWNjb3VudF9vcmRlcnMgdHIgdGQub3JkZXItYWN0aW9uczo6YmVmb3JlLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUubXlfYWNjb3VudF9vcmRlcnMgdHIgdGQub3JkZXItYWN0aW9uczo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLm15X2FjY291bnRfb3JkZXJzIHRyIHRkLm9yZGVyLWFjdGlvbnMgLmJ1dHRvbixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLm15X2FjY291bnRfb3JkZXJzIHRyIHRkLm9yZGVyLWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IDAuMTI1ZW0gMC4yNWVtIDAuMTI1ZW0gMDsgfVxuICAgIC53b29jb21tZXJjZSAuY29sMi1zZXQgLmNvbC0xLFxuICAgIC53b29jb21tZXJjZSAuY29sMi1zZXQgLmNvbC0yLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5jb2wyLXNldCAuY29sLTEsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzW2NsYXNzKj0nY29sdW1ucy0nXSBsaS5wcm9kdWN0LFxuICAgIC53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzW2NsYXNzKj0nY29sdW1ucy0nXSBsaS5wcm9kdWN0IHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgbWFyZ2luOiAwIDAgMi45OTJlbTsgfVxuICAgICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzW2NsYXNzKj0nY29sdW1ucy0nXSBsaS5wcm9kdWN0Om50aC1jaGlsZCgybiksXG4gICAgICAud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0c1tjbGFzcyo9J2NvbHVtbnMtJ10gbGkucHJvZHVjdDpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsXG4gICAgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5LFxuICAgIC53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzLFxuICAgIC53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSxcbiAgICAud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzLFxuICAgIC53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5LFxuICAgIC53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IC5wcm9kdWN0LXRodW1ibmFpbCxcbiAgICAud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCAucHJvZHVjdC10aHVtYm5haWwsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCAucHJvZHVjdC10aHVtYm5haWwsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCAucHJvZHVjdC10aHVtYm5haWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMsXG4gICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyxcbiAgICAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbixcbiAgICAgIC53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgKnpvb206IDE7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTsgfVxuICAgICAgICAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb246OmJlZm9yZSwgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uOjphZnRlcixcbiAgICAgICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uOjpiZWZvcmUsXG4gICAgICAgIC53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbjo6YWZ0ZXIsXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uOjpiZWZvcmUsXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uOjphZnRlcixcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb246OmJlZm9yZSxcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb246OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uOjphZnRlcixcbiAgICAgICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uOjphZnRlcixcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb246OmFmdGVyLFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbjo6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiBpbnB1dCxcbiAgICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5idXR0b24sXG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCxcbiAgICAgICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIGlucHV0LFxuICAgICAgICAud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmJ1dHRvbixcbiAgICAgICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5pbnB1dC10ZXh0LFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiBpbnB1dCxcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmJ1dHRvbixcbiAgICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHQsXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIGlucHV0LFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuYnV0dG9uLFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCArIC5idXR0b24sXG4gICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuYnV0dG9uLmFsdCxcbiAgICAgICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5pbnB1dC10ZXh0ICsgLmJ1dHRvbixcbiAgICAgICAgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5idXR0b24uYWx0LFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCArIC5idXR0b24sXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5idXR0b24uYWx0LFxuICAgICAgICAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCArIC5idXR0b24sXG4gICAgICAgIC53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5idXR0b24uYWx0IHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmJ1dHRvbixcbiAgICAgIC53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmJ1dHRvbixcbiAgICAgIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuYnV0dG9uLFxuICAgICAgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzLFxuICAgIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmdfY2FsY3VsYXRvcixcbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgLmNyb3NzLXNlbGxzLFxuICAgIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyxcbiAgICAud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyAuc2hpcHBpbmdfY2FsY3VsYXRvcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyAuY3Jvc3Mtc2VsbHMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAud29vY29tbWVyY2Uud29vY29tbWVyY2UtY2hlY2tvdXQgZm9ybS5sb2dpbiAuZm9ybS1yb3csXG4gICAgLndvb2NvbW1lcmNlLXBhZ2Uud29vY29tbWVyY2UtY2hlY2tvdXQgZm9ybS5sb2dpbiAuZm9ybS1yb3cge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgIC53b29jb21tZXJjZSAjcGF5bWVudCAudGVybXMsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgLnRlcm1zIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLndvb2NvbW1lcmNlICNwYXltZW50ICNwbGFjZV9vcmRlcixcbiAgICAud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAjcGxhY2Vfb3JkZXIge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAud29vY29tbWVyY2UgLmxvc3RfcmVzZXRfcGFzc3dvcmQgLmZvcm0tcm93LWZpcnN0LFxuICAgIC53b29jb21tZXJjZSAubG9zdF9yZXNldF9wYXNzd29yZCAuZm9ybS1yb3ctbGFzdCxcbiAgICAud29vY29tbWVyY2UtcGFnZSAubG9zdF9yZXNldF9wYXNzd29yZCAuZm9ybS1yb3ctZmlyc3QsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgLmxvc3RfcmVzZXRfcGFzc3dvcmQgLmZvcm0tcm93LWxhc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24sXG4gIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyoqXHJcbiAgICogVHdlbnR5IFRoaXJ0ZWVuIHNwZWNpZmljIHN0eWxlc1xyXG4gICAqL1xuICAuc2luZ2xlLXByb2R1Y3QgLnR3ZW50eXRoaXJ0ZWVuIC5wYW5lbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9IH1cbiIsIi8vIFBYIHRvIEVNL1JFTSAtIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2lzZWxsc29hcC84Mjk5NzI2XHJcblxyXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XHJcblxyXG4vKipcclxuICogU3RyaXBzIHRoZSB1bml0IGZyb20gYSBnaXZlbiBudW1iZXItdW5pdC1jb21iaW5hdGlvbiBhbmQgcmV0dXJucyB0aGUgbnVtYmVyLlxyXG4gKiBAbGluazogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTIzMzU4NDEvMTc3OTk5OVxyXG4gKiBAdXNhZ2U6IHBhcnNlLWludCgxMHB4KSA9PiAxMFxyXG4gKi9cclxuXHJcbiBAZnVuY3Rpb24gcGFyc2UtaW50KCRudW1iZXIpIHtcclxuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBTaW1wbHkgYWRkcyB0aGUgZW0gdW5pdCB0byBhIGdpdmVuIG51bWJlci4gVGhpcyBpcyB1c2VkIHR3aWNlIGluIHRoZVxyXG4gICAqIGZ1bmN0aW9uIHVuZGVybmVhdGgsIHRodXMgdGhlIG5lZWQgZm9yIGEgc2VwYXJhdGUgZnVuY3Rpb24uXHJcbiAgICovXHJcbiAgXHJcbiAgQGZ1bmN0aW9uIGFkZC1lbS11bml0KCRudW1iZXIpIHtcclxuICAgIEByZXR1cm4gJG51bWJlciAqIDFlbTtcclxuICB9XHJcbiAgXHJcbiAgQGZ1bmN0aW9uIGFkZC1yZW0tdW5pdCgkbnVtYmVyKSB7XHJcbiAgICBAcmV0dXJuICRudW1iZXIgKiAxcmVtO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDYWxjdWxhdGVzIGVtIHZhbHVlcyBmb3IgYSBnaXZlbiBsaXN0IG9mIChweCBvciBlbSkgdmFsdWVzIGFuZCBhIGdpdmVuIGVtXHJcbiAgICogYmFzZS4gTXVsdGlwbHkgYmFzZSB2YWx1ZXMgZm9yIG5lc3RlZCBlbSBzdHJ1Y3R1cmVzIChsYXN0IEB1c2FnZSBleGFtcGxlKS5cclxuICAgKiBAdXNhZ2U6IGVtKDEwcHgsIDEuMTI1KSA9PiAuNTU1NTZlbVxyXG4gICAqICAgICAgICAgZW0oMjRweCwgLjg3NWVtKSA9PiAxLjcxNDI5ZW1cclxuICAgKiAgICAgICAgIGVtKDEycHggMCA3ZW0gcmdiYSgwLCAwLCAwLCAuNyksIDEuNzUpID0+IC40Mjg1N2VtIDAgNGVtIHJnYmEoMCwgMCwgMCwgMC43KVxyXG4gICAqICAgICAgICAgZW0oMTJweCkgKyBlbSgzZW0pID0+IDMuNzVlbVxyXG4gICAqICAgICAgICAgZW0oMjNweCwgZW0oNTNweCkpID0+IC40MzM5NmVtXHJcbiAgICogICAgICAgICBlbSgyNHB4LCAxLjUgKiAxLjEyNSkgPT4gLjg4ODg5ZW1cclxuICAgKi9cclxuICBcclxuICBAZnVuY3Rpb24gZW0oJHZhbHVlcywgJGVtLWJhc2U6IDEpIHtcclxuICAgICRiYXNlLWZvbnQtc2l6ZTogcGFyc2UtaW50KCRiYXNlLWZvbnQtc2l6ZSk7XHJcbiAgICAkZW0tYmFzZTogcGFyc2UtaW50KCRlbS1iYXNlKTtcclxuICAgICRyZXN1bHQ6ICgpO1xyXG4gIFxyXG4gICAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xyXG4gICAgICBAaWYgJHZhbHVlID09IDAgb3IgdHlwZS1vZigkdmFsdWUpICE9IFwibnVtYmVyXCIge1xyXG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkdW5pdDogdW5pdCgkdmFsdWUpO1xyXG4gICAgICAgICR2YWx1ZTogcGFyc2UtaW50KCR2YWx1ZSk7XHJcbiAgXHJcbiAgICAgICAgQGlmICR1bml0ID09IFwicHhcIiB7XHJcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgYWRkLWVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJlbVwiIHtcclxuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtZW0tdW5pdCgkdmFsdWUgLyAkZW0tYmFzZSkpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJcIiB7XHJcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgYWRkLWVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwcm92aWRlZCwgb3V0cHV0IHRoZSBpbnN0YW5jZSBvZiB0aGF0IG9iamVjdCBpbnN0ZWFkXHJcbiAgICAgKiBvZiB0aGUgd2hvbGUgbGlzdC4gVGhpcyBlbmFibGVzIHVzZSBjYXNlcyBsaWtlIG5lc3RlZCBmdW5jdGlvbiBpbnZvY2F0aW9uc1xyXG4gICAgICogKGUuZy4gYGVtKDJweCwgZW0oMTVweCkpYCkgb3IgYWRkaXRpb25zL3N1YnRyYWN0aW9ucyAoZS5nLiBgZW0oNXB4KSArIGVtKDMycHgpYCkuXHJcbiAgICAgKi9cclxuICAgIEBpZiBsZW5ndGgoJHJlc3VsdCkgPT0gMSB7XHJcbiAgICAgIEByZXR1cm4gbnRoKCRyZXN1bHQsIDEpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gJHJlc3VsdDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgQGZ1bmN0aW9uIHJlbSgkdmFsdWVzLCAkZW0tYmFzZTogMSkge1xyXG4gICAgJGJhc2UtZm9udC1zaXplOiBwYXJzZS1pbnQoJGJhc2UtZm9udC1zaXplKTtcclxuICAgICRlbS1iYXNlOiBwYXJzZS1pbnQoJGVtLWJhc2UpO1xyXG4gICAgJHJlc3VsdDogKCk7XHJcbiAgXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcbiAgICAgIEBpZiAkdmFsdWUgPT0gMCBvciB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudW1iZXJcIiB7XHJcbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR1bml0OiB1bml0KCR2YWx1ZSk7XHJcbiAgICAgICAgJHZhbHVlOiBwYXJzZS1pbnQoJHZhbHVlKTtcclxuICBcclxuICAgICAgICBAaWYgJHVuaXQgPT0gXCJweFwiIHtcclxuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtcmVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJlbVwiIHtcclxuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtcmVtLXVuaXQoJHZhbHVlIC8gJGVtLWJhc2UpKTtcclxuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiXCIge1xyXG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1yZW0tdW5pdCgkdmFsdWUgLyAoJGJhc2UtZm9udC1zaXplICogJGVtLWJhc2UpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIElmIG9ubHkgb25lIHZhbHVlIGlzIHByb3ZpZGVkLCBvdXRwdXQgdGhlIGluc3RhbmNlIG9mIHRoYXQgb2JqZWN0IGluc3RlYWRcclxuICAgICAqIG9mIHRoZSB3aG9sZSBsaXN0LiBUaGlzIGVuYWJsZXMgdXNlIGNhc2VzIGxpa2UgbmVzdGVkIGZ1bmN0aW9uIGludm9jYXRpb25zXHJcbiAgICAgKiAoZS5nLiBgZW0oMnB4LCBlbSgxNXB4KSlgKSBvciBhZGRpdGlvbnMvc3VidHJhY3Rpb25zIChlLmcuIGBlbSg1cHgpICsgZW0oMzJweClgKS5cclxuICAgICAqL1xyXG4gICAgQGlmIGxlbmd0aCgkcmVzdWx0KSA9PSAxIHtcclxuICAgICAgQHJldHVybiBudGgoJHJlc3VsdCwgMSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQHJldHVybiAkcmVzdWx0O1xyXG4gICAgfVxyXG4gIH0iLCJcclxuLy8gV29vQ29tbWVyY2UgY29sb3IgdmFyaWFibGVzXHJcbiR3b29jb21tZXJjZV9fY29sb3ItZXJyb3I6ICNlMjQwMWM7XHJcbiR3b29jb21tZXJjZV9fY29sb3Itc3VjY2VzczogIzBmODM0ZDtcclxuJHdvb2NvbW1lcmNlX19jb2xvci1pbmZvOiAjM2Q5Y2QyO1xyXG5cclxuLy8gSW1wb3J0IHZhcmlhYmxlcyBhbmQgbWl4aW5zXHJcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvdmFyaWFibGVzLXNpdGVcIjtcclxuQGltcG9ydCBcIm1peGlucy9taXhpbnMtbWFzdGVyXCI7XHJcblxyXG4vKipcclxuICogSW1wb3J0c1xyXG4gKi9cclxuQGltcG9ydCBcIndvb2NvbW1lcmNlL2FuaW1hdGlvblwiO1xyXG5AaW1wb3J0IFwid29vY29tbWVyY2UvZm9udHNcIjtcclxuQGltcG9ydCBcIndvb2NvbW1lcmNlL21peGluc1wiO1xyXG5AaW1wb3J0IFwid29vY29tbWVyY2UvdmFyaWFibGVzXCI7XHJcblxyXG4vKipcclxuICogQmFzaWMgTGF5b3V0XHJcbiAqL1xyXG5AaW1wb3J0IFwid29vY29tbWVyY2UvbGF5b3V0XCI7XHJcblxyXG4vKipcclxuICogU2hvcCB0YWJsZXNcclxuICovXHJcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS90YWJsZXNcIjtcclxuXHJcbi8qKlxyXG4gKiBQcm9kdWN0c1xyXG4gKi9cclxuQGltcG9ydCBcIndvb2NvbW1lcmNlL3Byb2R1Y3RzXCI7XHJcblxyXG4vKipcclxuICogU2luZ2xlIHByb2R1Y3RcclxuICovXHJcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS9zaW5nbGUtcHJvZHVjdFwiO1xyXG5cclxuLyoqXHJcbiAqIENoZWNrb3V0XHJcbiAqL1xyXG5AaW1wb3J0IFwid29vY29tbWVyY2UvY2hlY2tvdXRcIjtcclxuXHJcbi8qKlxyXG4gKiBDYXJ0XHJcbiAqL1xyXG5AaW1wb3J0IFwid29vY29tbWVyY2UvY2FydFwiO1xyXG5cclxuLyoqXHJcbiAqIEdlbmVyYWwgV29vQ29tbWVyY2UgY29tcG9uZW50c1xyXG4gKi9cclxuQGltcG9ydCBcIndvb2NvbW1lcmNlL2NvbXBvbmVudHNcIjtcclxuXHJcbi8qKlxyXG4gKiBXb29Db21tZXJjZSB3aWRnZXRzXHJcbiAqL1xyXG5AaW1wb3J0IFwid29vY29tbWVyY2Uvd2lkZ2V0c1wiO1xyXG5cclxuLyoqXHJcbiAqIFdvb0NvbW1lcmNlIEFjY291bnQgcGFnZXNcclxuICovXHJcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS9hY2NvdW50XCI7XHJcblxyXG4vKipcclxuICogV29vQ29tbWVyY2UgUHJvZHVjdCBMaXN0XHJcbiAqL1xyXG5AaW1wb3J0IFwid29vY29tbWVyY2UvcHJvZHVjdF9saXN0XCI7XHJcblxyXG4vKipcclxuICogV29vQ29tbWVyY2UgU21hbGxTY3JlZW5cclxuICovXHJcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS93b29jb21tZXJjZV9zbWFsbHNjcmVlblwiO1xyXG4iLCIvKipcclxuICogX2FuaW1hdGlvbi5zY3NzXHJcbiAqIEN1c3RvbSBXb29Db21tZXJjZSBBbmltYXRpb25zLlxyXG4gKi9cclxuQGtleWZyYW1lcyBzcGluIHtcclxuXHQxMDAlIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKCAzNjBkZWcgKTtcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIF9mb250cy5zY3NzXHJcbiAqIEN1c3RvbSBXb29Db21tZXJjZSBmb250cy5cclxuICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnc3Rhcic7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3N0YXIuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3N0YXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvc3Rhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL3N0YXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9zdGFyLnN2ZyNzdGFyJykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdXb29Db21tZXJjZSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL1dvb0NvbW1lcmNlLmVvdCcpO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9Xb29Db21tZXJjZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9Xb29Db21tZXJjZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL1dvb0NvbW1lcmNlLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvV29vQ29tbWVyY2Uuc3ZnI1dvb0NvbW1lcmNlJykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufSIsIi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIEZhbGxiYWNrIGZvciBib3VyYm9uIGVxdWl2YWxlbnRcclxuICovXHJcbkBtaXhpbiBjbGVhcmZpeCgpIHtcclxuXHQqem9vbTogMTtcclxuXHJcblx0Jjo6YmVmb3JlLFxyXG5cdCY6OmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcgJztcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdH1cclxuXHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXHJcbkBtaXhpbiBib3JkZXJfcmFkaXVzKCRyYWRpdXM6IDRweCkge1xyXG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIFZlbmRvciBwcmVmaXggbm8gbG9uZ2VyIHJlcXVpcmVkLlxyXG4gKi9cclxuQG1peGluIGJvcmRlcl9yYWRpdXNfcmlnaHQoJHJhZGl1czogNHB4KSB7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIFZlbmRvciBwcmVmaXggbm8gbG9uZ2VyIHJlcXVpcmVkLlxyXG4gKi9cclxuQG1peGluIGJvcmRlcl9yYWRpdXNfbGVmdCgkcmFkaXVzOiA0cHgpIHtcclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIFZlbmRvciBwcmVmaXggbm8gbG9uZ2VyIHJlcXVpcmVkLlxyXG4gKi9cclxuQG1peGluIGJvcmRlcl9yYWRpdXNfYm90dG9tKCRyYWRpdXM6IDRweCkge1xyXG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIFZlbmRvciBwcmVmaXggbm8gbG9uZ2VyIHJlcXVpcmVkLlxyXG4gKi9cclxuQG1peGluIGJvcmRlcl9yYWRpdXNfdG9wKCRyYWRpdXM6IDRweCkge1xyXG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIFZlbmRvciBwcmVmaXggbm8gbG9uZ2VyIHJlcXVpcmVkLlxyXG4gKi9cclxuQG1peGluIG9wYWNpdHkoICRvcGFjaXR5OiAwLjc1ICkge1xyXG5cdG9wYWNpdHk6ICRvcGFjaXR5O1xyXG59XHJcblxyXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXHJcbkBtaXhpbiBib3hfc2hhZG93KCRzaGFkb3dfeDogM3B4LCAkc2hhZG93X3k6IDNweCwgJHNoYWRvd19yYWQ6IDNweCwgJHNoYWRvd19pbjogM3B4LCAkc2hhZG93X2NvbG9yOiAjODg4KSB7XHJcblx0Ym94LXNoYWRvdzogJHNoYWRvd194ICRzaGFkb3dfeSAkc2hhZG93X3JhZCAkc2hhZG93X2luICRzaGFkb3dfY29sb3I7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXByZWNhdGVkXHJcbiAqIFZlbmRvciBwcmVmaXggbm8gbG9uZ2VyIHJlcXVpcmVkLlxyXG4gKi9cclxuQG1peGluIGluc2V0X2JveF9zaGFkb3coJHNoYWRvd194OiAzcHgsICRzaGFkb3dfeTogM3B4LCAkc2hhZG93X3JhZDogM3B4LCAkc2hhZG93X2luOiAzcHgsICRzaGFkb3dfY29sb3I6ICM4ODgpIHtcclxuXHRib3gtc2hhZG93OiBpbnNldCAkc2hhZG93X3ggJHNoYWRvd195ICRzaGFkb3dfcmFkICRzaGFkb3dfaW4gJHNoYWRvd19jb2xvcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIERlcHJlY2F0ZWRcclxuICogVmVuZG9yIHByZWZpeCBubyBsb25nZXIgcmVxdWlyZWQuXHJcbiAqL1xyXG5AbWl4aW4gdGV4dF9zaGFkb3coJHNoYWRvd194OiAzcHgsICRzaGFkb3dfeTogM3B4LCAkc2hhZG93X3JhZDogM3B4LCAkc2hhZG93X2NvbG9yOiAkd2hpdGUpIHtcclxuXHR0ZXh0LXNoYWRvdzogJHNoYWRvd194ICRzaGFkb3dfeSAkc2hhZG93X3JhZCAkc2hhZG93X2NvbG9yO1xyXG59XHJcblxyXG4vKipcclxuICogRGVwcmVjYXRlZFxyXG4gKiBWZW5kb3IgcHJlZml4IG5vIGxvbmdlciByZXF1aXJlZC5cclxuICovXHJcbkBtaXhpbiB2ZXJ0aWNhbF9ncmFkaWVudCgkZnJvbTogIzAwMCwgJHRvOiAkd2hpdGUpIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZnJvbTtcclxuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZnJvbSwgJHRvKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERlcHJlY2F0ZWRcclxuICogVmVuZG9yIHByZWZpeCBubyBsb25nZXIgcmVxdWlyZWQuXHJcbiAqL1xyXG5AbWl4aW4gdHJhbnNpdGlvbigkc2VsZWN0b3I6IGFsbCwgJGFuaW1hdGlvbjogZWFzZS1pbi1vdXQsICRkdXJhdGlvbjogMC4ycykge1xyXG5cdHRyYW5zaXRpb246ICRzZWxlY3RvciAkYW5pbWF0aW9uICRkdXJhdGlvbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIERlcHJlY2F0ZWRcclxuICogVXNlIGJvdXJib24gbWl4aW4gaW5zdGVhZCBgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuNSkpO2BcclxuICovXHJcbkBtaXhpbiBzY2FsZSgkcmF0aW86IDEuNSkge1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERlcHJlY2F0ZWRcclxuICogVXNlIGJvdXJib24gbWl4aW4gaW5zdGVhZCBgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtgXHJcbiAqL1xyXG5AbWl4aW4gYm9yZGVyYm94KCkge1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbkBtaXhpbiBkYXJrb3JsaWdodHRleHRzaGFkb3coJGEsICRvcGFjaXR5OiAwLjgpIHtcclxuXHRAaWYgbGlnaHRuZXNzKCRhKSA+PSA2NSUge1xyXG5cdFx0QGluY2x1ZGUgdGV4dF9zaGFkb3coMCwgLTFweCwgMCwgcmdiYSgwLCAwLCAwLCAkb3BhY2l0eSkpO1xyXG5cdH1cclxuXHRAZWxzZSB7XHJcblx0XHRAaW5jbHVkZSB0ZXh0X3NoYWRvdygwLCAxcHgsIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgJG9wYWNpdHkpKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBPYmplY3RzXHJcbiAqL1xyXG5AbWl4aW4gbWVudSgpIHtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cclxuXHRsaSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gbWVkaWFyaWdodCgpIHtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIG1lZGlhbGVmdCgpIHtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGlyKCkge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRoZWlnaHQ6IDFlbTtcclxuXHR3aWR0aDogMWVtO1xyXG59XHJcblxyXG5AbWl4aW4gaWNvbiggJGdseXBoOiAnXFxlMDAxJyApIHtcclxuXHRmb250LWZhbWlseTogJ1dvb0NvbW1lcmNlJztcclxuXHRzcGVhazogbm9uZTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdG1hcmdpbjogMDtcclxuXHR0ZXh0LWluZGVudDogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjb250ZW50OiAkZ2x5cGg7XHJcbn1cclxuXHJcbkBtaXhpbiBpY29uX2Rhc2hpY29ucyggJGdseXBoOiAnXFxmMzMzJyApIHtcclxuXHRmb250LWZhbWlseTogJ0Rhc2hpY29ucyc7XHJcblx0c3BlYWs6IG5vbmU7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHRtYXJnaW46IDA7XHJcblx0dGV4dC1pbmRlbnQ6IDA7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29udGVudDogJGdseXBoO1xyXG59XHJcblxyXG5AbWl4aW4gaWNvbmJlZm9yZSggJGdseXBoOiAnXFxlMDAxJyApIHtcclxuXHRmb250LWZhbWlseTogJ1dvb0NvbW1lcmNlJztcclxuXHRzcGVhazogbm9uZTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG5cdG1hcmdpbi1yaWdodDogMC42MThlbTtcclxuXHRjb250ZW50OiAkZ2x5cGg7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5AbWl4aW4gaWNvbmJlZm9yZWRhc2hpY29ucyggJGdseXBoOiAnXFxmMzMzJyApIHtcclxuXHRmb250LWZhbWlseTogJ0Rhc2hpY29ucyc7XHJcblx0c3BlYWs6IG5vbmU7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHRjb250ZW50OiAkZ2x5cGg7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5AbWl4aW4gaWNvbmFmdGVyKCAkZ2x5cGg6ICdcXGUwMDEnICkge1xyXG5cdGZvbnQtZmFtaWx5OiAnV29vQ29tbWVyY2UnO1xyXG5cdHNwZWFrOiBub25lO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0bWFyZ2luLWxlZnQ6IDAuNjE4ZW07XHJcblx0Y29udGVudDogJGdseXBoO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuQG1peGluIGxvYWRlcigpIHtcclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0aGVpZ2h0OiAxZW07XHJcblx0XHR3aWR0aDogMWVtO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtMC41ZW07XHJcblx0XHRtYXJnaW4tdG9wOiAtMC41ZW07XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2xvYWRlci5zdmcnKSBjZW50ZXIgY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAyZW07XHJcblx0XHRjb2xvcjogcmdiYSgjMDAwLCAwLjc1KTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVXRpbGl0eSBjbGFzc2VzXHJcbiAqL1xyXG4uY2xlYXIge1xyXG5cdGNsZWFyOiBib3RoO1xyXG59IiwiLyoqXHJcbiAqIFdvb0NvbW1lcmNlIENTUyBWYXJpYWJsZXNcclxuICovXHJcblxyXG4kd29vY29tbWVyY2U6ICAgXHQjYTQ2NDk3ICFkZWZhdWx0O1xyXG4kZ3JlZW46ICAgICAgICAgXHQjN2FkMDNhICFkZWZhdWx0O1xyXG4kcmVkOiAgICAgICAgICAgXHQjYTAwICFkZWZhdWx0O1xyXG4kb3JhbmdlOiAgICAgICAgXHQjZmZiYTAwICFkZWZhdWx0O1xyXG4kYmx1ZTogICAgICAgICAgXHQjMmVhMmNjICFkZWZhdWx0O1xyXG5cclxuJHByaW1hcnk6ICAgICAgICAgICAjYTQ2NDk3ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByaW1hcnkgY29sb3IgZm9yIGJ1dHRvbnMgKGFsdClcclxuJHByaW1hcnl0ZXh0OiAgICAgICBkZXNhdHVyYXRlKGxpZ2h0ZW4oJHByaW1hcnksIDUwJSksIDE4JSkgIWRlZmF1bHQ7ICAgIC8vIFRleHQgb24gcHJpbWFyeSBjb2xvciBiZ1xyXG5cclxuJHNlY29uZGFyeTogICAgICAgICBkZXNhdHVyYXRlKGxpZ2h0ZW4oJHByaW1hcnksIDQwJSksIDIxJSkgIWRlZmF1bHQ7ICAgIC8vIFNlY29uZGFyeSBidXR0b25zXHJcbiRzZWNvbmRhcnl0ZXh0OiAgICAgZGVzYXR1cmF0ZShkYXJrZW4oJHNlY29uZGFyeSwgNjAlKSwgMjElKSAhZGVmYXVsdDsgICAvLyBUZXh0IG9uIHNlY29uZGFyeSBjb2xvciBiZ1xyXG5cclxuJGhpZ2hsaWdodDogICAgICAgICBhZGp1c3QtaHVlKCRwcmltYXJ5LCAxNTBkZWcpICFkZWZhdWx0OyAgICAgICAgICAgICAgIC8vIFByaWNlcywgSW4gc3RvY2sgbGFiZWxzLCBzYWxlcyBmbGFzaFxyXG4kaGlnaGxpZ2h0ZXh0OiAgICAgIGRlc2F0dXJhdGUobGlnaHRlbigkaGlnaGxpZ2h0LCA1MCUpLCAxOCUpICFkZWZhdWx0OyAgLy8gVGV4dCBvbiBoaWdobGlnaHQgY29sb3IgYmdcclxuXHJcbiRjb250ZW50Ymc6ICAgICAgICAgJHdoaXRlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnRlbnQgQkcgLSBUYWJzIChhY3RpdmUgc3RhdGUpXHJcbiRzdWJ0ZXh0OiAgICAgICAgICAgIzc2NzY3NiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzbWFsbCwgYnJlYWRjcnVtYnMgZXRjXHJcbiIsIi53b29jb21tZXJjZSxcclxuLndvb2NvbW1lcmNlLXBhZ2Uge1xyXG4gIC8qKlxyXG5cdCAqIEdlbmVyYWwgbGF5b3V0IHN0eWxlc1xyXG5cdCAqL1xyXG4gIC5jb2wyLXNldCB7XHJcblxyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5jb2wtMSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogNDglO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtMiB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgd2lkdGg6IDQ4JTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvKipcclxuXHQgKiBUYWJsZXNcclxuXHQgKi9cclxudGFibGUuc2hvcF9hdHRyaWJ1dGVzIHtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0bWFyZ2luLWJvdHRvbTogMS42MThlbTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0dGgge1xyXG5cdFx0d2lkdGg6IDE1MHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHBhZGRpbmc6IDhweDtcclxuXHRcdGJvcmRlci10b3A6IDA7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0fVxyXG5cclxuXHR0ZCB7XHJcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0Ym9yZGVyLXRvcDogMDtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHJcblx0XHRwIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiA4cHggMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHRyOm50aC1jaGlsZChldmVuKSB0ZCxcclxuXHR0cjpudGgtY2hpbGQoZXZlbikgdGgge1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAyNSk7XHJcblx0fVxyXG59XHJcblxyXG50YWJsZS5zaG9wX3RhYmxlIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0bWFyZ2luOiAwIC0xcHggMjRweCAwO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblxyXG5cdHRoIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRwYWRkaW5nOiA5cHggMTJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuXHR9XHJcblxyXG5cdHRkIHtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0XHRwYWRkaW5nOiA5cHggMTJweDtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRsaW5lLWhlaWdodDogMS41ZW07XHJcblxyXG5cdFx0c21hbGwge1xyXG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRlbCB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB7XHJcblxyXG5cdFx0dGgsXHJcblx0XHR0ZCB7XHJcblx0XHRcdGJvcmRlci10b3A6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0Zm9vdCB0ZCxcclxuXHR0Zm9vdCB0aCxcclxuXHR0Ym9keSB0aCB7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHR9XHJcbn1cclxuXHJcbnRhYmxlLm15X2FjY291bnRfb3JkZXJzIHtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHJcblx0dGgsXHJcblx0dGQge1xyXG5cdFx0cGFkZGluZzogNHB4IDhweDtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0fVxyXG5cclxuXHQuYnV0dG9uIHtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0fVxyXG59XHJcblxyXG50YWJsZS53b29jb21tZXJjZS1NeUFjY291bnQtZG93bmxvYWRzIHtcclxuXHJcblx0dGQsXHJcblx0dGgge1xyXG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC53b29jb21tZXJjZS1NeUFjY291bnQtZG93bmxvYWRzLWZpbGU6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFwyMTkzXCI7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbnRkLnByb2R1Y3QtbmFtZSB7XHJcblxyXG5cdGRsLnZhcmlhdGlvbixcclxuXHQud2MtaXRlbS1tZXRhIHtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcclxuXHJcblx0XHRkdCxcclxuXHRcdC53Yy1pdGVtLW1ldGEtbGFiZWwge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMC4yNWVtO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcclxuXHRcdH1cclxuXHJcblx0XHRkZCB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHJcblx0XHRwLFxyXG5cdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHAuYmFja29yZGVyX25vdGlmaWNhdGlvbiB7XHJcblx0XHRmb250LXNpemU6IDAuODNlbTtcclxuXHR9XHJcbn1cclxuXHJcbnRkLnByb2R1Y3QtcXVhbnRpdHkge1xyXG5cdG1pbi13aWR0aDogODBweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuIiwidWwucHJvZHVjdHMge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cclxuXHRsaS5wcm9kdWN0IHtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyZW07XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJ1dHRvbiB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xyXG5cclxuXHR1bC5wcm9kdWN0cyB7XHJcblxyXG5cdFx0bGkucHJvZHVjdCB7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBjb2x1bW4td2lkdGgoMyk7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICRjb2x1bW5zX19tYXJnaW47XHJcblxyXG5cdFx0XHQmLmZpcnN0IHtcclxuXHRcdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5sYXN0IHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVsLnByb2R1Y3RzLmNvbHVtbnMtMSB7XHJcblxyXG5cdFx0bGkucHJvZHVjdCB7XHJcblx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHRAZm9yICRpIGZyb20gMiB0aHJvdWdoIDYge1xyXG5cclxuXHRcdHVsLnByb2R1Y3RzLmNvbHVtbnMtI3skaX0ge1xyXG5cclxuXHRcdFx0bGkucHJvZHVjdCB7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGNvbHVtbi13aWR0aCggJGkgKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLy8gUmVtIG91dHB1dCB3aXRoIHB4IGZhbGxiYWNrXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemVWYWx1ZTogMSkge1xyXG5cdGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxNikgKiAxcHg7XHJcblx0Zm9udC1zaXplOiAkc2l6ZVZhbHVlICogMXJlbTtcclxufVxyXG5cclxuLy8gQ2VudGVyIGJsb2NrXHJcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gQ2xlYXJmaXhcclxuQG1peGluIGNsZWFyZml4KCkge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcclxufVxyXG5cclxuLy8gQ2xlYXIgYWZ0ZXIgKG5vdCBhbGwgY2xlYXJmaXggbmVlZCB0aGlzIGFsc28pXHJcbkBtaXhpbiBjbGVhcmZpeC1hZnRlcigpIHtcclxuXHRjbGVhcjogYm90aDtcclxufVxyXG5cclxuLy8gQ2VudGVyIGJsb2NrXHJcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gQ29sdW1uIHdpZHRoIHdpdGggbWFyZ2luXHJcbkBtaXhpbiBjb2x1bW4td2lkdGgoJG51bWJlckNvbHVtbnM6IDMpIHtcclxuXHR3aWR0aDogbWFwLWdldCgkY29sdW1ucywgJG51bWJlckNvbHVtbnMpIC0gKCAoICRjb2x1bW5zX19tYXJnaW4gKiAoICRudW1iZXJDb2x1bW5zIC0gMSApICkgLyAkbnVtYmVyQ29sdW1ucyApO1xyXG59XHJcbiIsIiRjb2x1bW5zOiAoXHJcbiAgICAgICAgMTogMTAwJSxcclxuICAgICAgICAyOiA1MCUsXHJcbiAgICAgICAgMzogMzMuMzMlLFxyXG4gICAgICAgIDQ6IDI1JSxcclxuICAgICAgICA1OiAyMCUsXHJcbiAgICAgICAgNjogMTYuNjYlLFxyXG4gICAgICAgIDc6IDE0LjI4JSxcclxuICAgICAgICA4OiAxMi41JSxcclxuICAgICAgICA5OiAxMS4xMSVcclxuKTtcclxuXHJcbiRjb2x1bW5zX19tYXJnaW46IDMuOCU7XHJcbiIsIi8qKlxyXG4qIFByb2R1Y3QgUGFnZVxyXG4qL1xyXG5cclxuXHJcbmRpdi5wcm9kdWN0IHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0LnByb2R1Y3RfdGl0bGUge1xyXG5cdFx0Y2xlYXI6IG5vbmU7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG5cdHNwYW4ucHJpY2UsXHJcblx0cC5wcmljZSB7XHJcblx0XHRjb2xvcjogJGhpZ2hsaWdodDtcclxuXHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xyXG5cclxuXHRcdGlucyB7XHJcblx0XHRcdGJhY2tncm91bmQ6IGluaGVyaXQ7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHRkZWwge1xyXG5cdFx0XHRvcGFjaXR5OiAwLjU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHAuc3RvY2sge1xyXG5cdFx0Zm9udC1zaXplOiAwLjkyZW07XHJcblx0fVxyXG5cclxuXHQuc3RvY2sge1xyXG5cdFx0Y29sb3I6ICRoaWdobGlnaHQ7XHJcblx0fVxyXG5cclxuXHQub3V0LW9mLXN0b2NrIHtcclxuXHRcdGNvbG9yOiByZWQ7XHJcblx0fVxyXG5cclxuXHQud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMS42MThlbTtcclxuXHR9XHJcblxyXG5cdGRpdi5pbWFnZXMge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR3aWR0aDogNDglO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpdi50aHVtYm5haWxzIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDFlbTtcclxuXHRcdFx0QGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdHdpZHRoOiAzMC43NSU7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAzLjglO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YS5sYXN0IHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEuZmlyc3Qge1xyXG5cdFx0XHRcdGNsZWFyOiBib3RoO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmNvbHVtbnMtMSB7XHJcblxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuY29sdW1ucy0yIHtcclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHR3aWR0aDogNDglO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5jb2x1bW5zLTQge1xyXG5cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAyMi4wNSU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmNvbHVtbnMtNSB7XHJcblxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDE2LjklO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIge1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgY3ViaWMtYmV6aWVyKDAuNzk1LCAtMC4wMzUsIDAsIDEpIDAuNXM7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHQud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIC56b29tSW1nIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlLS1wbGFjZWhvbGRlciB7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XHJcblx0XHR9XHJcblxyXG5cdFx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2U6bnRoLWNoaWxkKG4rMikge1xyXG5cdFx0XHR3aWR0aDogMjUlO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblxyXG5cdFx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fdHJpZ2dlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwLjVlbTtcclxuXHRcdFx0cmlnaHQ6IDAuNWVtO1xyXG5cdFx0XHRmb250LXNpemU6IDJlbTtcclxuXHRcdFx0ei1pbmRleDogOTtcclxuXHRcdFx0d2lkdGg6IDM2cHg7XHJcblx0XHRcdGhlaWdodDogMzZweDtcclxuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHR0ZXh0LWluZGVudDogLTk5OTlweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcclxuXHRcdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XHJcblxyXG5cdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiA5cHg7XHJcblx0XHRcdFx0bGVmdDogOXB4O1xyXG5cdFx0XHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOjphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMnB4O1xyXG5cdFx0XHRcdGhlaWdodDogOHB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICMwMDA7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDE5cHg7XHJcblx0XHRcdFx0bGVmdDogMjJweDtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdFx0XHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmZsZXgtY29udHJvbC10aHVtYnMge1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHR6b29tOiAxO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0d2lkdGg6IDI1JTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdFx0XHQmLmZsZXgtYWN0aXZlLFxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LS1jb2x1bW5zLTMge1xyXG5cclxuXHRcdC5mbGV4LWNvbnRyb2wtdGh1bWJzIGxpOm50aC1jaGlsZCgzbisxKSB7XHJcblx0XHRcdGNsZWFyOiBsZWZ0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS0tY29sdW1ucy00IHtcclxuXHJcblx0XHQuZmxleC1jb250cm9sLXRodW1icyBsaTpudGgtY2hpbGQoNG4rMSkge1xyXG5cdFx0XHRjbGVhcjogbGVmdDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnktLWNvbHVtbnMtNSB7XHJcblxyXG5cdFx0LmZsZXgtY29udHJvbC10aHVtYnMgbGk6bnRoLWNoaWxkKDVuKzEpIHtcclxuXHRcdFx0Y2xlYXI6IGxlZnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRkaXYuc3VtbWFyeSB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR3aWR0aDogNDglO1xyXG5cdFx0Y2xlYXI6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRkaXYuc29jaWFsIHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0bWFyZ2luOiAwIDAgMWVtO1xyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIDJweDtcclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnN0QnV0dG9uIC5jaGlja2xldHMge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMTZweDtcclxuXHRcdFx0XHR3aWR0aDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmcmFtZSB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud29vY29tbWVyY2UtdGFicyB7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHRcdHVsLnRhYnMge1xyXG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDAgMCAxZW07XHJcblx0XHRcdG1hcmdpbjogMCAwIDEuNjE4ZW07XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJHNlY29uZGFyeSwgMTAlKTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0ei1pbmRleDogMDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcclxuXHRcdFx0XHRtYXJnaW46IDAgLTVweDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDFlbTtcclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwLjVlbSAwO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5dGV4dDtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogbGlnaHRlbigkc2Vjb25kYXJ5dGV4dCwgMTAlKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjb250ZW50Ymc7XHJcblx0XHRcdFx0XHR6LWluZGV4OiAyO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbnRlbnRiZztcclxuXHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0XHRcdFx0XHRcdHRleHQtc2hhZG93OiBpbmhlcml0O1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDJweCAycHggMCAkY29udGVudGJnO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogLTJweCAycHggMCAkY29udGVudGJnO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjo6YmVmb3JlLFxyXG5cdFx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkc2Vjb25kYXJ5LCAxMCUpO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0Ym90dG9tOiAtMXB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDVweDtcclxuXHRcdFx0XHRcdGhlaWdodDogNXB4O1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCIgXCI7XHJcblx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGxlZnQ6IC01cHg7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDJweCAycHggMCAkc2Vjb25kYXJ5O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0cmlnaHQ6IC01cHg7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcblx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4O1xyXG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogLTJweCAycHggMCAkc2Vjb25kYXJ5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Y29udGVudDogXCIgXCI7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkc2Vjb25kYXJ5LCAxMCUpO1xyXG5cdFx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQucGFuZWwge1xyXG5cdFx0XHRtYXJnaW46IDAgMCAyZW07XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwLmNhcnQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblx0fVxyXG5cclxuXHRmb3JtLmNhcnQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblxyXG5cdFx0ZGl2LnF1YW50aXR5IHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdG1hcmdpbjogMCA0cHggMCAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRhYmxlIHtcclxuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDAgMXB4O1xyXG5cclxuXHRcdFx0dGQge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0ZGl2LnF1YW50aXR5IHtcclxuXHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHNtYWxsLnN0b2NrIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC52YXJpYXRpb25zIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0dGQsXHJcblx0XHRcdHRoIHtcclxuXHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c2VsZWN0IHtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0bWluLXdpZHRoOiA3NSU7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMWVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0ZC5sYWJlbCB7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMWVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lndvb2NvbW1lcmNlLXZhcmlhdGlvbi1kZXNjcmlwdGlvbiBwIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5yZXNldF92YXJpYXRpb25zIHtcclxuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdFx0XHRmb250LXNpemU6IDAuODNlbTtcclxuXHRcdH1cclxuXHJcblx0XHQud2Mtbm8tbWF0Y2hpbmctdmFyaWF0aW9ucyB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJ1dHRvbiB7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5ncm91cF90YWJsZSB7XHJcblxyXG5cdFx0XHR0ZC53b29jb21tZXJjZS1ncm91cGVkLXByb2R1Y3QtbGlzdC1pdGVtX19sYWJlbCB7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMWVtO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMWVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0ZCB7XHJcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XHJcblx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0ZDpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0d2lkdGg6IDRlbTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC53Yy1ncm91cGVkLXByb2R1Y3QtYWRkLXRvLWNhcnQtY2hlY2tib3gge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuNSwgMS41KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8vIEFkZCB5b3VyIG1haW4gY29sb3IgdmFyaWFibGVzIGhlcmVcclxuXHJcbiRncmV5LXRleHQ6ICM2NDY0NjQ7XHJcbiRkYXJrLWdyZXk6ICMzMzMzMzM7XHJcbiR3aGl0ZTogI2ZmZjtcclxuJGFjY2VudC1jb2xvcjogIzZFRDg0NztcclxuJGJsdWU6ICM0QTk3RTc7XHJcbiRibGFjazogIzAwMDtcclxuJGxpZ2h0LWJsdWU6ICNkY2VhZjk7XHJcblxyXG4kYm9yZGVyLWNvbG9yOiAjMDAwMDAwNGQ7XHJcbiRncmV5LWJnOiAjZjJmMmYyO1xyXG5cclxuLy8gVmFyaWFibGVzIGZvcm0gVW5kZXJzY29yZXNcclxuXHJcbi8vVGhlIG5leHQgZmV3IHNob3VsZCBiZSByZXZpc2VkIG9uIHByb2plY3Qgc3RhcnQ6XHJcbiRjb2xvcl9fdGV4dC1tYWluOiAkYmxhY2s7IC8vIE1haW4gdGV4dCBjb2xvclxyXG5cclxuJGNvbG9yX19saW5rOiAjMDA4NmU2OyAgLy8gTGlua3NcclxuJGNvbG9yX19saW5rLXZpc2l0ZWQ6IGxpZ2h0ZW4oJGNvbG9yX19saW5rLDEwJSk7XHJcbiRjb2xvcl9fbGluay1ob3ZlcjogIzZkNmQ2ZDtcclxuIFxyXG4kY29sb3JfX2JhY2tncm91bmQtYm9keTogJHdoaXRlO1xyXG5cclxuXHJcbi8vQnV0dG9uc1xyXG4kY29sb3JfX3RleHQtYnV0dG9uOiAkd2hpdGU7XHJcbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b246ICMzMjM3M2M7XHJcblxyXG4kY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLWhvdmVyOiBsaWdodGVuKCRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24sNCUpO1xyXG4kY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLWZvY3VzOiBsaWdodGVuKCRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24sOCUpO1xyXG5cclxuLy9JbnB1dHNcclxuJGNvbG9yX19ib3JkZXItaW5wdXQ6ICNjY2M7XHJcbiRjb2xvcl9fYm9yZGVyLWFiYnI6ICM2NjY7XHJcbiRjb2xvcl9fdGV4dC1zY3JlZW46ICMyMTc1OWI7XHJcbiRjb2xvcl9fdGV4dC1pbnB1dDogIzY2NjtcclxuJGNvbG9yX190ZXh0LWlucHV0LWZvY3VzOiAjMTExO1xyXG5cclxuXHJcbi8vVGhlc2UgY2FuIGJlIHJldmlzZWQgb24gdGhlIG1vdmUgd2hpbGUgZGV2ZWxvcGluZzpcclxuJGNvbG9yX19iYWNrZ3JvdW5kLXNjcmVlbjogI2YxZjFmMTtcclxuJGNvbG9yX19iYWNrZ3JvdW5kLWhyOiAjY2NjO1xyXG4kY29sb3JfX2JhY2tncm91bmQtcHJlOiAjZWVlO1xyXG4kY29sb3JfX2JhY2tncm91bmQtaW5zOiAjZmZmOWMwO1xyXG5cclxuXHJcblxyXG4iLCJcclxuLndvb2NvbW1lcmNlLWNhcnQge1xyXG5cclxuXHQud29vY29tbWVyY2Uge1xyXG5cclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblx0XHRtYXgtd2lkdGg6IDc4MHB4O1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cdC5wcm9kdWN0LXRodW1ibmFpbHtcclxuXHRcdGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuXHJcblx0LmNvbDItc2V0IHtcclxuXHJcblx0XHQuZm9ybS1yb3ctZmlyc3Qge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAkY29sdW1uc19fbWFyZ2luO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5mb3JtLXJvdy1sYXN0IHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZvcm0tcm93LWZpcnN0LFxyXG5cdFx0LmZvcm0tcm93LWxhc3Qge1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgY29sdW1uLXdpZHRoKDIpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vKipcclxuICogQ2FydC9jaGVja291dCBwYWdlXHJcbiAqL1xyXG4ud29vY29tbWVyY2UtY2FydCxcclxuLndvb2NvbW1lcmNlLWNoZWNrb3V0LFxyXG4jYWRkX3BheW1lbnRfbWV0aG9kIHtcclxuXHJcblx0dGFibGUuY2FydCB7XHJcblxyXG5cdFx0LnByb2R1Y3QtdGh1bWJuYWlsIHtcclxuXHRcdFx0bWluLXdpZHRoOiAzMnB4O1xyXG5cdFx0XHRpbWd7XHJcblx0XHRcdFx0d2lkdGg6IDdlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAzMnB4O1xyXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoLFxyXG5cdFx0dGQge1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJHNlY29uZGFyeSwgMTAlKTtcclxuXHRcdFx0cGFkZGluZzogNnB4IDZweCA1cHg7XHJcblx0XHRcdG1hcmdpbjogMCA0cHggMCAwO1xyXG5cdFx0XHRvdXRsaW5lOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlucHV0IHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xyXG5cclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0cGFkZGluZzogMWVtIDA7XHJcblxyXG5cdFx0YS5jaGVja291dC1idXR0b24ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xyXG5cdFx0XHRwYWRkaW5nOiAxZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY2FydC1jb2xsYXRlcmFscyB7XHJcblxyXG5cdFx0LnNoaXBwaW5nLWNhbGN1bGF0b3ItYnV0dG9uIHtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdG1hcmdpbi10b3A6IDAuNWVtO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblxyXG5cdFx0LnNoaXBwaW5nLWNhbGN1bGF0b3ItYnV0dG9uOjphZnRlciB7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBpY29uYWZ0ZXIoIFwiXFxlMDE5XCIgKTtcclxuXHRcdH1cclxuXHJcblx0XHQuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHtcclxuXHRcdFx0bWFyZ2luOiAxZW0gMCAwIDA7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNhcnRfdG90YWxzIHtcclxuXHJcblx0XHRcdHAgc21hbGwge1xyXG5cdFx0XHRcdGNvbG9yOiAkc3VidGV4dDtcclxuXHRcdFx0XHRmb250LXNpemU6IDAuODNlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGFibGUge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDAgNnB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0XHRcdHRyOmZpcnN0LWNoaWxkIHtcclxuXHJcblx0XHRcdFx0XHR0aCxcclxuXHRcdFx0XHRcdHRkIHtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogMDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHRoIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAzNSU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR0ZCxcclxuXHRcdFx0XHR0aCB7XHJcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRzbWFsbCB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHN1YnRleHQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRzZWxlY3Qge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZGlzY291bnQgdGQge1xyXG5cdFx0XHRcdGNvbG9yOiAkaGlnaGxpZ2h0O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0ciB0ZCxcclxuXHRcdFx0dHIgdGgge1xyXG5cdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2Vjb25kYXJ5O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQud29vY29tbWVyY2Utc2hpcHBpbmctZGVzdGluYXRpb24ge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY3Jvc3Mtc2VsbHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY2hlY2tvdXQge1xyXG5cclxuXHRcdC5jb2wtMiB7XHJcblxyXG5cdFx0XHRoMyNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIHtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRjbGVhcjogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm5vdGVzIHtcclxuXHRcdFx0XHRjbGVhcjogbGVmdDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZvcm0tcm93LWZpcnN0IHtcclxuXHRcdFx0XHRjbGVhcjogbGVmdDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jcmVhdGUtYWNjb3VudCBzbWFsbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcclxuXHRcdFx0Y29sb3I6ICRzdWJ0ZXh0O1xyXG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpdi5zaGlwcGluZy1hZGRyZXNzIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0Y2xlYXI6IGxlZnQ7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zaGlwcGluZ19hZGRyZXNzIHtcclxuXHRcdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQjcGF5bWVudCB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cclxuXHRcdHVsLnBheW1lbnRfbWV0aG9kcyB7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRwYWRkaW5nOiAxZW07XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJHNlY29uZGFyeSwgMTAlKTtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHJcblx0XHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIDFlbSAwIDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0XHRcdG1hcmdpbjogLTJweCAwIDAgMC41ZW07XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGltZyArIGltZyB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGk6bm90KC53b29jb21tZXJjZS1ub3RpY2UpIHtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRkaXYuZm9ybS1yb3cge1xyXG5cdFx0XHRwYWRkaW5nOiAxZW07XHJcblx0XHR9XHJcblxyXG5cdFx0ZGl2LnBheW1lbnRfYm94IHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogMWVtO1xyXG5cdFx0XHRtYXJnaW46IDFlbSAwO1xyXG5cdFx0XHRmb250LXNpemU6IDAuOTJlbTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwgNSUpO1xyXG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeXRleHQ7XHJcblxyXG5cdFx0XHRpbnB1dC5pbnB1dC10ZXh0LFxyXG5cdFx0XHR0ZXh0YXJlYSB7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwgMTUlKTtcclxuXHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwgMjAlKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuXHRcdFx0XHRjb2xvcjogZGFya2VuKCRzZWNvbmRhcnksIDIwJSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdDotbW96LXBsYWNlaG9sZGVyIHtcclxuXHRcdFx0XHRjb2xvcjogZGFya2VuKCRzZWNvbmRhcnksIDIwJSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG5cdFx0XHRcdGNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwgMjAlKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lndvb2NvbW1lcmNlLVNhdmVkUGF5bWVudE1ldGhvZHMge1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblxyXG5cdFx0XHRcdC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLXRva2VuLFxyXG5cdFx0XHRcdC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLW5ldyB7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAgMCAwLjVlbTtcclxuXHJcblx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC53b29jb21tZXJjZS1TYXZlZFBheW1lbnRNZXRob2RzLXRva2VuSW5wdXQge1xyXG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0XHRcdG1hcmdpbjogLTNweCAxZW0gMCAwO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LndjLWNyZWRpdC1jYXJkLWZvcm0ge1xyXG5cdFx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdG1hcmdpbjogMWVtIDAgMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIsXHJcblx0XHRcdC53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtZXhwaXJ5LFxyXG5cdFx0XHQud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLWN2YyB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRcdFx0XHRwYWRkaW5nOiA4cHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjYxOGVtIGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDMycHggMjBweDtcclxuXHJcblx0XHRcdFx0Ji52aXNhIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jcmVkaXQtY2FyZHMvdmlzYS5zdmdcIik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLm1hc3RlcmNhcmQge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NyZWRpdC1jYXJkcy9tYXN0ZXJjYXJkLnN2Z1wiKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYubGFzZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NyZWRpdC1jYXJkcy9sYXNlci5zdmdcIik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmRpbmVyc2NsdWIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NyZWRpdC1jYXJkcy9kaW5lcnMuc3ZnXCIpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5tYWVzdHJvIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jcmVkaXQtY2FyZHMvbWFlc3Ryby5zdmdcIik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmpjYiB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvY3JlZGl0LWNhcmRzL2pjYi5zdmdcIik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmFtZXgge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NyZWRpdC1jYXJkcy9hbWV4LnN2Z1wiKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuZGlzY292ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NyZWRpdC1jYXJkcy9kaXNjb3Zlci5zdmdcIik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRzcGFuLmhlbHAge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMC44NTdlbTtcclxuXHRcdFx0XHRjb2xvcjogJHN1YnRleHQ7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZvcm0tcm93IHtcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAxZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHA6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGJvcmRlcjogMWVtIHNvbGlkIGRhcmtlbigkc2Vjb25kYXJ5LCA1JSk7IC8qIGFycm93IHNpemUgLyBjb2xvciAqL1xyXG5cdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IC0wLjc1ZW07XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRtYXJnaW46IC0xZW0gMCAwIDJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5wYXltZW50X21ldGhvZF9wYXlwYWwge1xyXG5cclxuXHRcdFx0LmFib3V0X3BheXBhbCB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA1MnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMC44M2VtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDUycHg7XHJcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG4ud29vY29tbWVyY2UtaW52YWxpZCB7XHJcblxyXG5cdCN0ZXJtcyB7XHJcblx0XHRvdXRsaW5lOiAycHggc29saWQgcmVkO1xyXG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcclxuXHR9XHJcbn0iLCJcclxuLyoqXHJcbiAqIENhcnQgcGFnZVxyXG4gKi9cclxuXHJcbi53b29jb21tZXJjZSxcclxuLndvb2NvbW1lcmNlLXBhZ2Uge1xyXG5cclxuICB0YWJsZS5jYXJ0LFxyXG4gICNjb250ZW50IHRhYmxlLmNhcnQge1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICB0ZC5hY3Rpb25zIHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAuaW5wdXQtdGV4dCB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb3Vwb24ge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNhcnQtY29sbGF0ZXJhbHMge1xyXG5cclxuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAucmVsYXRlZCB7XHJcbiAgICAgIHdpZHRoOiAzMC43NSU7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5jcm9zcy1zZWxscyB7XHJcbiAgICAgIHdpZHRoOiA0OCU7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgdWwucHJvZHVjdHMge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICB3aWR0aDogNDglO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaGlwcGluZ19jYWxjdWxhdG9yIHtcclxuICAgICAgd2lkdGg6IDQ4JTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbiAgICAgIGNsZWFyOiByaWdodDtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICAgICAgLmNvbDItc2V0IHtcclxuXHJcbiAgICAgICAgLmNvbC0xLFxyXG4gICAgICAgIC5jb2wtMiB7XHJcbiAgICAgICAgICB3aWR0aDogNDclO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jYXJ0X3RvdGFscyB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgd2lkdGg6IDQ4JTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1zXHJcbiAgICovXHJcbiAgZm9ybSB7XHJcblxyXG4gICAgLmZvcm0tcm93IHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICYuY2hlY2tib3gge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgc2VsZWN0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmlucHV0LXRleHQge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1yb3ctZmlyc3QsXHJcbiAgICAuZm9ybS1yb3ctbGFzdCB7XHJcbiAgICAgIHdpZHRoOiA0NyU7XHJcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLXJvdy1maXJzdCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgLypydGw6cmF3OlxyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICovXHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tcm93LWxhc3Qge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tcm93LXdpZGUge1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICAucGFzc3dvcmQtaW5wdXQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8qIEhpZGUgdGhlIEVkZ2UgXCJyZXZlYWwgcGFzc3dvcmRcIiBuYXRpdmUgYnV0dG9uICovXHJcbiAgICAgIGlucHV0OjotbXMtcmV2ZWFsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3ctcGFzc3dvcmQtaW5wdXQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwLjdlbTtcclxuICAgICAgdG9wOiAwLjdlbTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93LXBhc3N3b3JkLWlucHV0OjphZnRlciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSBpY29uYWZ0ZXIoIFwiXFxlMDEwXCIgKTsgXHQvLyBJY29uIHN0eWxlcyBhbmQgZ2x5cGhcclxuICAgIH1cclxuXHJcbiAgICAuc2hvdy1wYXNzd29yZC1pbnB1dC5kaXNwbGF5LXBhc3N3b3JkOjphZnRlciB7XHJcbiAgICAgIGNvbG9yOiAjNTg1ODU4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3BheW1lbnQge1xyXG5cclxuICAgIC5mb3JtLXJvdyB7XHJcblxyXG4gICAgICBzZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndjLXRlcm1zLWFuZC1jb25kaXRpb25zLFxyXG4gICAgLnRlcm1zIHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgcGFkZGluZzogMCAxZW0gMCAwO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAjcGxhY2Vfb3JkZXIge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMsXHJcbiAgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyB7XHJcblxyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuICB9XHJcblxyXG4gIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjYxOGVtO1xyXG4gICAgcGFkZGluZzogMS42MThlbTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG9FbWJlZHNcclxuICAgKi9cclxuICAud29vY29tbWVyY2Utb2VtYmVkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG59IiwiLyoqXHJcbiAqIEhlYWRlciBjYXJ0XHJcbiAqL1xyXG4uc2l0ZS1oZWFkZXItY2FydCB7XHJcblx0Ly8gcG9zaXRpb246IHJlbGF0aXZlOyBcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG5cdGJvcmRlci1yYWRpdXM6IHJlbSgxOCk7XHJcblx0d2lkdGg6IHJlbSg1OCk7XHJcblx0aGVpZ2h0OiByZW0oMzYpOyBcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb25zL2NhcnQuc3ZnJyk7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR6LWluZGV4OiAyO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogcmVtKDYwKTtcclxuXHJcblx0QGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmUhaW1wb3J0YW50O1xyXG5cdFx0cmlnaHQ6IGluaXRpYWw7XHJcblx0fVxyXG5cclxuXHQmLm9wZW5lZHtcclxuXHRcdFxyXG5cdFx0LndpZGdldF9zaG9wcGluZ19jYXJ0e1xyXG5cdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdCAgfVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHQmLmZ1bGwge1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29ucy9jYXJ0LWZ1bGwtaG92ZXIuc3ZnJyk7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbnMvY2FydC1mdWxsLnN2ZycpO1xyXG5cdFx0fSBcclxuXHR9XHJcblxyXG5cclxuXHRhe1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogMztcclxuXHR9XHJcblxyXG5cdGxpe1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5jYXJ0LWNvbnRlbnRzIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcblx0XHQuYW1vdW50LCAuY291bnQge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LndpZGdldF9zaG9wcGluZ19jYXJ0IHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG4gXHJcblx0LnByb2R1Y3RfbGlzdF93aWRnZXQge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGxpe1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0Y29sb3I6ICMwMDA7XHJcblx0XHRcdH1cclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDEycHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xyXG5cdFx0XHQmOmxhc3QtY2hpbGR7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMCBub25lO1xyXG5cdFx0XHR9XHJcblx0XHRcdGEucmVtb3Zle1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHR0b3A6IDNweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LndpZGdldF9zaG9wcGluZ19jYXJ0IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogY2FsYygxMDAlICsgMXB4KTtcclxuXHRcdHdpZHRoOiAxOC43NXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0ei1pbmRleDogOTk5OTk5O1xyXG5cdFx0cmlnaHQ6MDtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZzogMTZweCAyMHB4IDVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHQtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XHJcblx0XHRcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIsXHJcblx0Ji5mb2N1cyB7XHJcblxyXG5cdFx0LndpZGdldF9zaG9wcGluZ19jYXJ0IHtcclxuXHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcclxuICAgIFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xyXG5cclxuXHQvKipcclxuICAgICAqIEhlYWRlciBjYXJ0XHJcbiAgICAgKi9cclxufVxyXG5cclxuXHJcblxyXG4ud29vY29tbWVyY2UsXHJcbi53b29jb21tZXJjZS1wYWdlIHtcclxuXHJcblxyXG5cdC8qKlxyXG4gICAgICAgICAqIFJldmlld3NcclxuICAgICAgICAgKi9cclxuXHQjcmV2aWV3cyB7XHJcblxyXG5cdFx0aDIgc21hbGwge1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdGNvbG9yOiAkc3VidGV4dDtcclxuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRtYXJnaW46IDEwcHggMCAwO1xyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdGNvbG9yOiAkc3VidGV4dDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGgzIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCNyZXNwb25kIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0I2NvbW1lbnQge1xyXG5cdFx0XHRoZWlnaHQ6IDc1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0I2NvbW1lbnRzIHtcclxuXHJcblx0XHRcdC5hZGRfcmV2aWV3IHtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aDIge1xyXG5cdFx0XHRcdGNsZWFyOiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRvbC5jb21tZW50bGlzdCB7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDIwcHg7XHJcblx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAwO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cclxuXHRcdFx0XHRcdC5tZXRhIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRzdWJ0ZXh0O1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDAuNzVlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRpbWcuYXZhdGFyIHtcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAzcHg7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAzMnB4O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkc2Vjb25kYXJ5LCAzJSk7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuY29tbWVudC10ZXh0IHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCA1MHB4O1xyXG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJHNlY29uZGFyeSwgMyUpO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDFlbSAxZW0gMDtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblxyXG5cdFx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgMCAxZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdHAubWV0YSB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjgzZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHVsLmNoaWxkcmVuIHtcclxuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcclxuXHRcdFx0XHRcdG1hcmdpbjogMjBweCAwIDAgNTBweDtcclxuXHJcblx0XHRcdFx0XHQuc3Rhci1yYXRpbmcge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0I3Jlc3BvbmQge1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgZGFya2VuKCRzZWNvbmRhcnksIDMlKTtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDFlbSAxZW0gMDtcclxuXHRcdFx0XHRcdG1hcmdpbjogMjBweCAwIDAgNTBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jb21tZW50bGlzdCA+IGxpOjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG4gICAgICogU3RhciByYXRpbmdzXHJcbiAgICAgKi9cclxuXHQuc3Rhci1yYXRpbmcge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogMWVtO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdHdpZHRoOiA1LjRlbTtcclxuXHRcdGZvbnQtZmFtaWx5OiBcInN0YXJcIjtcclxuXHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcNzNcXDczXFw3M1xcNzNcXDczXCI7XHJcblx0XHRcdGNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwgMTAlKTtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxLjVlbTtcclxuXHRcdH1cclxuXHJcblx0XHRzcGFuOjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcNTNcXDUzXFw1M1xcNTNcXDUzXCI7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIHtcclxuXHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHQuc3Rhci1yYXRpbmcge1xyXG5cdFx0XHRtYXJnaW46IDAuNWVtIDRweCAwIDA7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnByb2R1Y3RzIC5zdGFyLXJhdGluZyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogMCAwIDAuNWVtO1xyXG5cdFx0ZmxvYXQ6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuaHJldmlldy1hZ2dyZWdhdGUgLnN0YXItcmF0aW5nIHtcclxuXHRcdG1hcmdpbjogMTBweCAwIDA7XHJcblx0fVxyXG5cclxuXHQjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQge1xyXG5cclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblx0XHRwb3NpdGlvbjogc3RhdGljO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcclxuXHRcdGJvcmRlcjogMDtcclxuXHJcblx0XHRwIHtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMTBweDtcclxuXHRcdH1cclxuXHJcblx0XHQuZm9ybS1zdWJtaXQgaW5wdXQge1xyXG5cdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRleHRhcmVhIHtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwLnN0YXJzIHtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRoZWlnaHQ6IDFlbTtcclxuXHRcdFx0d2lkdGg6IDFlbTtcclxuXHRcdFx0dGV4dC1pbmRlbnQ6IC05OTllbTtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHR3aWR0aDogMWVtO1xyXG5cdFx0XHRcdGhlaWdodDogMWVtO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBcIldvb0NvbW1lcmNlXCI7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGUwMjFcIjtcclxuXHRcdFx0XHR0ZXh0LWluZGVudDogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciB+IGE6OmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGUwMjFcIjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIgYTo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGUwMjBcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLnNlbGVjdGVkIHtcclxuXHJcblx0XHRcdGEuYWN0aXZlIHtcclxuXHJcblx0XHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlMDIwXCI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR+IGE6OmJlZm9yZSB7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTAyMVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YTpub3QoLmFjdGl2ZSk6OmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGUwMjBcIjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUGFzc3dvcmQgc3RyZW5ndGggbWV0ZXJcclxuXHQgKi9cclxuXHQud29vY29tbWVyY2UtcGFzc3dvcmQtc3RyZW5ndGgge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdHBhZGRpbmc6IDNweCAwLjVlbTtcclxuXHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cclxuXHRcdCYuc3Ryb25nIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2MxZTFiOTtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjODNjMzczO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuc2hvcnQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFhZGFkO1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICNlMzViNWI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5iYWQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmJjNWE5O1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICNmNzhiNTM7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5nb29kIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZTM5OTtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjZmZjNzMzO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLXBhc3N3b3JkLWhpbnQge1xyXG5cdFx0bWFyZ2luOiAwLjVlbSAwIDA7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdC8qKlxyXG4gICAgICogRm9ybXNcclxuICAgICAqL1xyXG5cdC5mb3JtLXJvdyB7XHJcblxyXG5cdFx0Ji53b29jb21tZXJjZS12YWxpZGF0ZWQge1xyXG5cclxuXHRcdFx0aW5wdXQuaW5wdXQtdGV4dCB7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMnB4IDAgMCAkd29vY29tbWVyY2VfX2NvbG9yLXN1Y2Nlc3M7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLndvb2NvbW1lcmNlLWludmFsaWQge1xyXG5cclxuXHRcdFx0aW5wdXQuaW5wdXQtdGV4dCB7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMnB4IDAgMCAkd29vY29tbWVyY2VfX2NvbG9yLWVycm9yO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmVxdWlyZWQge1xyXG5cdFx0Y29sb3I6ICNmMDA7XHJcblx0fVxyXG5cclxuXHQvKipcclxuICAgICAgICAgKiBGb3Jtc1xyXG4gICAgICAgICAqL1xyXG5cdGZvcm0gLmZvcm0tcm93IHtcclxuXHRcdHBhZGRpbmc6IDNweDtcclxuXHRcdG1hcmdpbjogMCAwIDZweDtcclxuXHJcblx0XHRbcGxhY2Vob2xkZXJdOmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIDAuNXMgZWFzZTtcclxuXHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdH1cclxuXHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAyO1xyXG5cdFx0fVxyXG5cclxuXHRcdGxhYmVsLmhpZGRlbiB7XHJcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRcdH1cclxuXHJcblx0XHRsYWJlbC5pbmxpbmUge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0Lndvb2NvbW1lcmNlLWlucHV0LXdyYXBwZXIge1xyXG5cclxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMWU4NWJlO1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDFlbTtcclxuXHRcdFx0XHRtYXJnaW46IDAuNWVtIDAgMDtcclxuXHRcdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0XHRcdHRvcDogMCU7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtNHB4O1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGJvcmRlci13aWR0aDogNHB4IDZweCAwIDZweDtcclxuXHRcdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICMxZTg1YmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHR6LWluZGV4OiAxMDA7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRzZWxlY3Qge1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHJcblx0XHQucmVxdWlyZWQge1xyXG5cdFx0XHRjb2xvcjogcmVkO1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47IC8vIE9ubHkgc2hvdyBvcHRpb25hbCBieSBkZWZhdWx0LlxyXG5cdFx0fVxyXG5cclxuXHRcdC5vcHRpb25hbCB7XHJcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0XHR9XHJcblxyXG5cdFx0LmlucHV0LWNoZWNrYm94IHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lO1xyXG5cdFx0XHRtYXJnaW46IC0ycHggOHB4IDAgMDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlucHV0LmlucHV0LXRleHQsXHJcblx0XHR0ZXh0YXJlYSB7XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdG91dGxpbmU6IDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblxyXG5cdFx0dGV4dGFyZWEge1xyXG5cdFx0XHRoZWlnaHQ6IDRlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0LnNlbGVjdDItY29udGFpbmVyIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0Ji53b29jb21tZXJjZS1pbnZhbGlkIHtcclxuXHJcblx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRjb2xvcjogJHJlZDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNlbGVjdDItY29udGFpbmVyLFxyXG5cdFx0XHRpbnB1dC5pbnB1dC10ZXh0LFxyXG5cdFx0XHRzZWxlY3Qge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJHJlZDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYud29vY29tbWVyY2UtdmFsaWRhdGVkIHtcclxuXHJcblx0XHRcdC5zZWxlY3QyLWNvbnRhaW5lcixcclxuXHRcdFx0aW5wdXQuaW5wdXQtdGV4dCxcclxuXHRcdFx0c2VsZWN0IHtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbigkZ3JlZW4sIDUlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblxyXG5cdFx0Oi1tb3otcGxhY2Vob2xkZXIge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0fVxyXG5cclxuXHRcdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Zm9ybS5sb2dpbixcclxuXHRmb3JtLmNoZWNrb3V0X2NvdXBvbixcclxuXHRmb3JtLnJlZ2lzdGVyIHtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkc2Vjb25kYXJ5LCAxMCUpO1xyXG5cdFx0cGFkZGluZzogMjBweDtcclxuXHRcdG1hcmdpbjogMmVtIDA7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdH1cclxuXHJcblx0dWwjc2hpcHBpbmdfbWV0aG9kIHtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwLjVlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xyXG5cdFx0XHRsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7XHJcblxyXG5cdFx0XHRpbnB1dCB7XHJcblx0XHRcdFx0bWFyZ2luOiAzcHggMC40Mzc1ZW0gMCAwO1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuYW1vdW50IHtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHAud29vY29tbWVyY2Utc2hpcHBpbmctY29udGVudHMge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcbiAgICAgKiBOb3RpY2VzXHJcbiAgICAgKi9cclxuXHQud29vY29tbWVyY2UtbWVzc2FnZSxcclxuXHQud29vY29tbWVyY2UtaW5mbyxcclxuXHQud29vY29tbWVyY2UtZXJyb3IsXHJcblx0Lndvb2NvbW1lcmNlLW5vcmV2aWV3cyxcclxuXHRwLm5vLWNvbW1lbnRzIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3b29jb21tZXJjZV9fY29sb3Itc3VjY2VzcztcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLWluZm8sXHJcblx0Lndvb2NvbW1lcmNlLW5vcmV2aWV3cyxcclxuXHRwLm5vLWNvbW1lbnRzIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3b29jb21tZXJjZV9fY29sb3ItaW5mbztcclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1lcnJvciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd29vY29tbWVyY2VfX2NvbG9yLWVycm9yO1xyXG5cdH1cclxuXHJcblx0LmRlbW9fc3RvcmUge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMWVtO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdvb2NvbW1lcmNlX19jb2xvci1pbmZvO1xyXG5cdFx0ei1pbmRleDogOTk5OTtcclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG5cdC53b29jb21tZXJjZS1icmVhZGNydW1iIHtcclxuXHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cdFx0bWFyZ2luOiAwIDAgMWVtO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGZvbnQtc2l6ZTogMC45MmVtO1xyXG5cdFx0Y29sb3I6ICRzdWJ0ZXh0O1xyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogJHN1YnRleHQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYmxvY2tVSS5ibG9ja092ZXJsYXkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdEBpbmNsdWRlIGxvYWRlcigpO1xyXG5cdH1cclxuXHJcblx0LmxvYWRlciB7XHJcblxyXG5cdFx0QGluY2x1ZGUgbG9hZGVyKCk7XHJcblx0fVxyXG5cclxuXHRhLnJlbW92ZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0XHRoZWlnaHQ6IDFlbTtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0Y29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBSZXF1aXJlZCBmb3IgZGVmYXVsdCB0aGVtZSBjb21wYXRpYmlsaXR5XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHJcblx0c21hbGwubm90ZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGNvbG9yOiAkc3VidGV4dDtcclxuXHRcdGZvbnQtc2l6ZTogMC44NTdlbTtcclxuXHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0fVxyXG5cclxuXHJcblx0LnF1YW50aXR5IC5xdHkge1xyXG5cdFx0d2lkdGg6IDMuNjMxZW07XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHJcblx0LyoqXHJcbiAgICAgICAgICogQnV0dG9uc1xyXG4gICAgICAgICAqL1xyXG5cdGEuYnV0dG9uLFxyXG5cdGJ1dHRvbi5idXR0b24sXHJcblx0aW5wdXQuYnV0dG9uLFxyXG5cdCNyZXNwb25kIGlucHV0I3N1Ym1pdCB7XHJcblx0XHRmb250LXNpemU6IDEwMCU7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdFx0cGFkZGluZzogMC42MThlbSAxZW07XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0bGVmdDogYXV0bztcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5dGV4dDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRcdHRleHQtc2hhZG93OiBub25lO1xyXG5cclxuXHRcdCYubG9hZGluZyB7XHJcblx0XHRcdG9wYWNpdHk6IDAuMjU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIuNjE4ZW07XHJcblxyXG5cdFx0XHQmOjphZnRlciB7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IFwiV29vQ29tbWVyY2VcIjtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTAxY1wiO1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiAwLjYxOGVtO1xyXG5cdFx0XHRcdHJpZ2h0OiAxZW07XHJcblx0XHRcdFx0YW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuYWRkZWQ6OmFmdGVyIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IFwiV29vQ29tbWVyY2VcIjtcclxuXHRcdFx0Y29udGVudDogXCJcXGUwMTdcIjtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDAuNTNlbTtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzZWNvbmRhcnksIDUlKTtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeXRleHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5hbHQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuXHRcdFx0Y29sb3I6ICRwcmltYXJ5dGV4dDtcclxuXHRcdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHByaW1hcnksIDUlKTtcclxuXHRcdFx0XHRjb2xvcjogJHByaW1hcnl0ZXh0O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmRpc2FibGVkLFxyXG5cdFx0XHQmOmRpc2FibGVkLFxyXG5cdFx0XHQmOmRpc2FibGVkW2Rpc2FibGVkXSxcclxuXHRcdFx0Ji5kaXNhYmxlZDpob3ZlcixcclxuXHRcdFx0JjpkaXNhYmxlZDpob3ZlcixcclxuXHRcdFx0JjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeXRleHQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmRpc2FibGVkLFxyXG5cdFx0Ji5kaXNhYmxlZCxcclxuXHRcdCY6ZGlzYWJsZWRbZGlzYWJsZWRdIHtcclxuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblx0XHRcdG9wYWNpdHk6IDAuNTtcclxuXHRcdFx0cGFkZGluZzogMC42MThlbSAxZW07XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY2FydCAuYnV0dG9uLFxyXG5cdC5jYXJ0IGlucHV0LmJ1dHRvbiB7XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHR9XHJcblxyXG5cdGEuYWRkZWRfdG9fY2FydCB7XHJcblx0XHRwYWRkaW5nLXRvcDogMC41ZW07XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cclxuXHJcblxyXG5cdC8qKlxyXG5cdCAqIE9yZGVyIHBhZ2VcclxuXHQgKi9cclxuXHR1bC5vcmRlcl9kZXRhaWxzIHtcclxuXHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cdFx0bWFyZ2luOiAwIDAgM2VtO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDJlbTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Zm9udC1zaXplOiAwLjcxNWVtO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGRhcmtlbigkc2Vjb25kYXJ5LCAxMCUpO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcblx0XHRcdHN0cm9uZyB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjRlbTtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud2MtYmFjcy1iYW5rLWRldGFpbHMtYWNjb3VudC1uYW1lIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLW9yZGVyLWRvd25sb2FkcyxcclxuXHQud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyxcclxuXHQud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyZW07XHJcblxyXG5cdFx0KjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIHtcclxuXHJcblx0XHRhZGRyZXNzIHtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHRcdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLS1waG9uZSxcclxuXHRcdC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLS1lbWFpbCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMS41ZW07XHJcblx0XHR9XHJcblxyXG5cdFx0Lndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMtLXBob25lOjpiZWZvcmUge1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgaWNvbmJlZm9yZSggXCJcXGUwMzdcIiApO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuNWVtO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS43NTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLS1lbWFpbDo6YmVmb3JlIHtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGljb25iZWZvcmUoIFwiXFxlMDJkXCIgKTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjVlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNzU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQud29vY29tbWVyY2UtbWVzc2FnZSxcclxuXHQud29vY29tbWVyY2UtZXJyb3IsXHJcblx0Lndvb2NvbW1lcmNlLWluZm8ge1xyXG5cdFx0cGFkZGluZzogMWVtIDJlbSAxZW0gMy41ZW07XHJcblx0XHRtYXJnaW46IDAgMCAyZW07XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRzZWNvbmRhcnksIDUlKTtcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5dGV4dDtcclxuXHRcdGJvcmRlci10b3A6IDNweCBzb2xpZCAkcHJpbWFyeTtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcclxuXHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IFwiV29vQ29tbWVyY2VcIjtcclxuXHRcdFx0Y29udGVudDogXCJcXGUwMjhcIjtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMWVtO1xyXG5cdFx0XHRsZWZ0OiAxLjVlbTtcclxuXHRcdH1cclxuXHJcblx0XHQuYnV0dG9uIHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0fVxyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlICFpbXBvcnRhbnQ7IC8vIFJlcXVpcmVkIGZvciBkZWZhdWx0IHRoZW1lIGNvbXBhdGliaWxpdHlcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIFJlcXVpcmVkIGZvciBkZWZhdWx0IHRoZW1lIGNvbXBhdGliaWxpdHlcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgLy8gUmVxdWlyZWQgZm9yIGRlZmF1bHQgdGhlbWUgY29tcGF0aWJpbGl0eVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cdC53b29jb21tZXJjZS1tZXNzYWdlIHtcclxuXHRcdGJvcmRlci10b3AtY29sb3I6ICM4ZmFlMWI7XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGUwMTVcIjtcclxuXHRcdFx0Y29sb3I6ICM4ZmFlMWI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud29vY29tbWVyY2UtaW5mbyB7XHJcblx0XHRib3JkZXItdG9wLWNvbG9yOiAjMWU4NWJlO1xyXG5cclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbG9yOiAjMWU4NWJlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLWVycm9yIHtcclxuXHRcdGJvcmRlci10b3AtY29sb3I6ICNiODFjMjM7XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGUwMTZcIjtcclxuXHRcdFx0Y29sb3I6ICNiODFjMjM7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYWJidHlwZS10YWJzIHtcclxuXHQua3QtdGFiLXN2Zy1pY29ue1xyXG5cdFx0ZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcblx0fSBcclxuXHJcblx0Lmt0LWlubmVyLXRhYi0yLCAua3QtaW5uZXItdGFiLTMge1xyXG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtKDUwKTtcclxuXHR9XHJcblxyXG5cdC5rdC10YWItdGl0bGUge1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCFpbXBvcnRhbnQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IHJlbSg2MCkhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiByZW0oOTApIWltcG9ydGFudDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJlbSgyMCkgY2VudGVyIWltcG9ydGFudDtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XHJcblx0XHRcclxuXHJcblx0XHRAaW5jbHVkZSBicChsYXB0b3B4cykge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IHJlbSg5MCkhaW1wb3J0YW50O1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbSgxNDApIWltcG9ydGFudDtcclxuXHRcdFx0bWluLXdpZHRoOiByZW0oMzExKTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogaW5pdGlhbDtcdFx0XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJlbSgzMCkgY2VudGVyIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5rdC10YWItdGl0bGUtYWN0aXZlIHtcclxuXHRcdC5rdC10YWItdGl0bGUge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCFpbXBvcnRhbnQ7XHJcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQrLndwLWJsb2NrLWthZGVuY2UtdGFiIHtcclxuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCFpbXBvcnRhbnQ7XHJcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwIWltcG9ydGFudDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKGxhcHRvcHhzKSB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtKDUwKSFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHJlbSg1MCkhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmt0LWlubmVyLXRhYi0xIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXB0b3B4cykge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtKDApIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5rdC10YWItdGl0bGUtMSB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8wOC9BYmJUeXBlLWljb24uc3ZnJykhaW1wb3J0YW50O1xyXG5cdH1cclxuXHRcclxuXHQua3QtdGFiLXRpdGxlLTIge1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDgvQWJiU3RhdC1pY29uLnN2ZycpIWltcG9ydGFudDtcclxuXHR9XHJcblx0XHJcblx0Lmt0LXRhYi10aXRsZS0zIHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzA4L0FiYlJlYWQtaWNvbi5zdmcnKSFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQud3AtYmxvY2sta2FkZW5jZS10YWJ7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMzApO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJwKGxhcHRvcHhzKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1taW5pLWNhcnRfX2J1dHRvbnN7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRhe1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMC44NzVyZW0haW1wb3J0YW50O1xyXG5cdH1cclxufSIsIlxyXG4vLyBEZWZhdWx0IC0gMzIxIC0gNDAwXHJcblxyXG5AbWl4aW4gYnAoJHBvaW50KSB7XHJcblxyXG4gIEBpZiAkcG9pbnQgPT0gcGhvbmV4eHN7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzIwcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAkcG9pbnQgPT0gcGhvbmV4c2Rvd257XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHBvaW50ID09IHBob25leGx7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXQge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU2OHB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXRPbmx5IHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NjhweCkgYW5kIChtYXgtd2lkdGg6IDY3MHB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXR4bE9ubHkge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpe1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRkb3duIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCl7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpe1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRsYW5kc2NhcGV7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpe1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXR4bHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpe1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRwb2ludCA9PSBsYXB0b3B4cyB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KXtcclxuICAgICAgQGNvbnRlbnQ7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHBvaW50ID09IGxhcHRvcCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFwdG9weGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCl7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3B4cyB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcHhsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNTAwcHgpe1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiLyoqXHJcbiAqIFdvb0NvbW1lcmNlIFByaWNlIEZpbHRlclxyXG4gKi9cclxuLndpZGdldF9wcmljZV9maWx0ZXIge1xyXG5cclxuXHQucHJpY2Vfc2xpZGVyIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG5cdH1cclxuXHJcblx0LnByaWNlX3NsaWRlcl9hbW91bnQge1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRsaW5lLWhlaWdodDogMi40O1xyXG5cclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC51aS1zbGlkZXIge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcblxyXG5cdC51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHRcdHdpZHRoOiAxZW07XHJcblx0XHRoZWlnaHQ6IDFlbTtcclxuXHRcdGN1cnNvcjogZXctcmVzaXplO1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdGJhY2tncm91bmQ6ICRjb2xvcl9fbGluaztcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRtYXJnaW4tdG9wOiAtMC4yNWVtO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogLTFlbTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Ji51aS1zdGF0ZS1hY3RpdmUge1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAwLjI1ZW0gcmdiYSgjMDAwLCAwLjEpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnVpLXNsaWRlciAudWktc2xpZGVyLXJhbmdlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGJhY2tncm91bmQ6ICRjb2xvcl9fbGluaztcclxuXHR9XHJcblxyXG5cdC5wcmljZV9zbGlkZXJfd3JhcHBlciAudWktd2lkZ2V0LWNvbnRlbnQge1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdH1cclxuXHJcblx0LnVpLXNsaWRlci1ob3Jpem9udGFsIHtcclxuXHRcdGhlaWdodDogMC41ZW07XHJcblx0fVxyXG5cclxuXHQudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBBY2NvdW50IHBhZ2VcclxuICovXHJcbi53b29jb21tZXJjZS1hY2NvdW50IHtcclxuXHJcbiAgLndvb2NvbW1lcmNlIHtcclxuXHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG4gICAgbWF4LXdpZHRoOiA3ODBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDMwJTtcclxuICB9XHJcbiAgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHdpZHRoOiA2OCU7XHJcbiAgfVxyXG5cclxuICAuYWRkcmVzc2VzIC50aXRsZSB7XHJcblxyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5lZGl0IHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wuY29tbWVudGxpc3Qubm90ZXMgbGkubm90ZSB7XHJcblxyXG4gICAgcC5tZXRhIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb24gcDpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLmRpZ2l0YWwtZG93bmxvYWRzIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGljb25iZWZvcmUoIFwiXFxlMDBhXCIgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvdW50IHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIud29vY29tbWVyY2UsXHJcbi53b29jb21tZXJjZS1wYWdlIHtcclxuXHJcblxyXG5cclxuICB1bC5wcm9kdWN0cyB7XHJcblxyXG4gICAgJi5jb2x1bW5zLTEge1xyXG5cclxuICAgICAgbGkucHJvZHVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb2x1bW5zLTIge1xyXG5cclxuICAgICAgbGkucHJvZHVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDQ4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY29sdW1ucy0zIHtcclxuXHJcbiAgICAgIGxpLnByb2R1Y3Qge1xyXG4gICAgICAgIHdpZHRoOiAzMC43NSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNvbHVtbnMtNSB7XHJcblxyXG4gICAgICBsaS5wcm9kdWN0IHtcclxuICAgICAgICB3aWR0aDogMTYuOTUlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb2x1bW5zLTYge1xyXG5cclxuICAgICAgbGkucHJvZHVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDEzLjUlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNvbHVtbnMtMSB7XHJcblxyXG4gICAgdWwucHJvZHVjdHMge1xyXG5cclxuICAgICAgbGkucHJvZHVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNvbHVtbnMtMiB7XHJcblxyXG4gICAgdWwucHJvZHVjdHMge1xyXG5cclxuICAgICAgbGkucHJvZHVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDQ4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5jb2x1bW5zLTMge1xyXG5cclxuICAgIHVsLnByb2R1Y3RzIHtcclxuXHJcbiAgICAgIGxpLnByb2R1Y3Qge1xyXG4gICAgICAgIHdpZHRoOiAzMC43NSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuY29sdW1ucy01IHtcclxuXHJcbiAgICB1bC5wcm9kdWN0cyB7XHJcblxyXG4gICAgICBsaS5wcm9kdWN0IHtcclxuICAgICAgICB3aWR0aDogMTYuOTUlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNvbHVtbnMtNiB7XHJcblxyXG4gICAgdWwucHJvZHVjdHMge1xyXG5cclxuICAgICAgbGkucHJvZHVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDEzLjUlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcblxyXG4gIC53b29jb21tZXJjZS1wYWdpbmF0aW9uIHtcclxuXHJcbiAgICB1bC5wYWdlLW51bWJlcnMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVudSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4vKipcclxuKiBQcm9kdWN0IGxvb3BzXHJcbiovXHJcbiAgLnByb2R1Y3RzIHVsLFxyXG4gIHVsLnByb2R1Y3RzIHtcclxuICAgIG1hcmdpbjogMCAwIDFlbTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuXHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cclxuICB9XHJcblxyXG4gIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xyXG5cclxuICAgICYuZmlyc3Qge1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICAmLmxhc3Qge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDAgMy44JSAyLjk5MmVtIDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDIyLjA1JTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xyXG5cclxuICAgIC5vbnNhbGUge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICBtYXJnaW46IC0wLjVlbSAtMC41ZW0gMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIGgzLFxyXG4gICAgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsXHJcbiAgICAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUge1xyXG4gICAgICBwYWRkaW5nOiAwLjVlbSAwO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYSBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwIDAgMWVtO1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHN0cm9uZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC53b29jb21tZXJjZS1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXItcmF0aW5nIHtcclxuICAgICAgZm9udC1zaXplOiAwLjg1N2VtO1xyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnByaWNlIHtcclxuICAgICAgY29sb3I6ICRoaWdobGlnaHQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuICAgICAgZm9udC1zaXplOiAwLjg1N2VtO1xyXG5cclxuICAgICAgZGVsIHtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbnMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5mcm9tIHtcclxuICAgICAgICBmb250LXNpemU6IDAuNjdlbTtcclxuICAgICAgICBtYXJnaW46IC0ycHggMCAwIDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogcmdiYShkZXNhdHVyYXRlKCRoaWdobGlnaHQsIDc1JSksIDAuNSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQge1xyXG4gICAgbWFyZ2luOiAwIDAgMWVtO1xyXG4gIH1cclxuXHJcbiAgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcclxuICAgIG1hcmdpbjogMCAwIDFlbTtcclxuXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIHVsIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRzZWNvbmRhcnksIDEwJSk7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgbWFyZ2luOiAxcHg7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2VuKCRzZWNvbmRhcnksIDEwJSk7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIGEsXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwLjVlbTtcclxuICAgICAgICAgIG1pbi13aWR0aDogMWVtO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuLmN1cnJlbnQsXHJcbiAgICAgICAgYTpob3ZlcixcclxuICAgICAgICBhOmZvY3VzIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICBjb2xvcjogZGFya2VuKCRzZWNvbmRhcnksIDQwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyoqXHJcbiAqIFN0eWxlIGJlZ2luc1xyXG4gKi9cclxuQGluY2x1ZGUgYnAodGFibGV0ZG93bikge1xyXG4gIC53b29jb21tZXJjZSxcclxuICAud29vY29tbWVyY2UtcGFnZSB7XHJcblxyXG4gICAgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHtcclxuICAgICAgdGhlYWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRib2R5IHtcclxuICAgICAgICB0cjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdHIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IC8vIEltcG9ydGFudCB0byBvdmVyd3JpdGUgb3JkZXIgc3RhdHVzIGlubGluZSBzdHlsaW5nXHJcblxyXG4gICAgICAgICAgJi5vcmRlci1hY3Rpb25zIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyAvLyBUaGlzIG11c3QgYWx3YXlzIGFsaWduIGxlZnQgb24gaGFuZGhlbGRcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpICc6ICc7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYucHJvZHVjdC1yZW1vdmUsXHJcbiAgICAgICAgICAmLmFjdGlvbnMge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKCAybiApIHtcclxuICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAyNSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUubXlfYWNjb3VudF9vcmRlcnMge1xyXG4gICAgICB0ciB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgJi5vcmRlci1hY3Rpb25zIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwLjEyNWVtIDAuMjVlbSAwLjEyNWVtIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYWwgbGF5b3V0XHJcbiAgICAgKi9cclxuICAgIC5jb2wyLXNldCB7XHJcbiAgICAgIC5jb2wtMSxcclxuICAgICAgLmNvbC0yIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvZHVjdHNcclxuICAgICAqL1xyXG4gICAgdWwucHJvZHVjdHNbY2xhc3MqPSdjb2x1bW5zLSddIHtcclxuICAgICAgbGkucHJvZHVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDQ4JTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyLjk5MmVtO1xyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCggMm4gKSB7XHJcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50OyAvLyBUaGlzIHNob3VsZCBuZXZlciBjbGVhci5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2R1Y3QgRGV0YWlsc1xyXG4gICAgICovXHJcbiAgICBkaXYucHJvZHVjdCxcclxuICAgICNjb250ZW50IGRpdi5wcm9kdWN0IHtcclxuICAgICAgZGl2LmltYWdlcyxcclxuICAgICAgZGl2LnN1bW1hcnkge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYXJ0XHJcbiAgICAgKi9cclxuICAgIHRhYmxlLmNhcnQsXHJcbiAgICAjY29udGVudCB0YWJsZS5jYXJ0IHtcclxuICAgICAgLnByb2R1Y3QtdGh1bWJuYWlsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0ZC5hY3Rpb25zIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgICAuY291cG9uIHtcclxuICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcclxuXHJcbiAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgIC5idXR0b24sXHJcbiAgICAgICAgICAuaW5wdXQtdGV4dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmlucHV0LXRleHQgKyAuYnV0dG9uLFxyXG4gICAgICAgICAgLmJ1dHRvbi5hbHQge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcnQtY29sbGF0ZXJhbHMge1xyXG4gICAgICAuY2FydF90b3RhbHMsXHJcbiAgICAgIC5zaGlwcGluZ19jYWxjdWxhdG9yLFxyXG4gICAgICAuY3Jvc3Mtc2VsbHMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrb3V0XHJcbiAgICAgKi9cclxuICAgICYud29vY29tbWVyY2UtY2hlY2tvdXQge1xyXG4gICAgICBmb3JtLmxvZ2luIHtcclxuICAgICAgICAuZm9ybS1yb3cge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjcGF5bWVudCB7XHJcbiAgICAgIC50ZXJtcyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjcGxhY2Vfb3JkZXIge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBY2NvdW50XHJcbiAgICAgKi9cclxuICAgIC5sb3N0X3Jlc2V0X3Bhc3N3b3JkIHtcclxuICAgICAgLmZvcm0tcm93LWZpcnN0LFxyXG4gICAgICAuZm9ybS1yb3ctbGFzdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud29vY29tbWVyY2UtYWNjb3VudCB7XHJcbiAgICAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24sXHJcbiAgICAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQge1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUd2VudHkgVGhpcnRlZW4gc3BlY2lmaWMgc3R5bGVzXHJcbiAgICovXHJcbiAgLnNpbmdsZS1wcm9kdWN0IHtcclxuICAgIC50d2VudHl0aGlydGVlbiB7XHJcbiAgICAgIC5wYW5lbCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn0iXX0= */
