/* The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. */
/* Customize the light and dark text colors for use in our YIQ color contrast function. */
.site {
  font-size: var(--site-text-font-size);
  line-height: var(--site-text-line-height);
  font-weight: var(--site-text-font-weight);
  overflow: clip;
  /*
*******************************************
Site Section - General
*******************************************
*/
  /*
*******************************************
Site Section - Title
*******************************************
*/
  /*
*******************************************
Site Section - Actions
*******************************************
*/
  /*
*******************************************
Site Section - Desc
*******************************************
*/
  /*
*******************************************
Site Section - Graphic
*******************************************
*/
  /*
*******************************************
Site Section - Content
*******************************************
*/
  /*
*******************************************
Site Section - Sides
*******************************************
*/
  /*
*******************************************
Site Section - Styles
*******************************************
*/
  /* CodeGuard Slider Box */
  /* CodeGuard Slider */
  /* main-subnav */
  /* tabs-filters */
  /* nav-tab */
  /*
*******************************************
Site News Box
*******************************************
*/ }
  .site p,
  .site ul,
  .site ol {
    margin-bottom: var(--ui-block-spacing-sm); }
  .site .d-flex-align {
    display: flex;
    align-items: center; }
  .site b,
  .site strong {
    color: var(--text-heading-color); }
  .site .has-shadow {
    box-shadow: var(--ui-block-shadow-lg); }
  .site .m-safari {
    margin: 0px -.3px; }
  @media (min-width: 768px) {
    .site .row.f-flow {
      flex-flow: row; } }
  @media (min-width: 575px) {
    .site .homepage-tiles {
      flex-flow: row; } }
  @supports (-webkit-hyphens: none) {
    .site .homepage-tiles.row:before {
      display: table-cell; } }
  .site .text-start {
    text-align: start !important; }
  .site .site-section {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: var(--site-section-padding-v) 0;
    background: var(--site-section-bg); }
    .site .site-section + .site-section:not(.section-secondary):not(.section-primary) {
      border-top: var(--site-section-border); }
    .site .site-section.section-slider-btn + .site-section, .site .site-section.section-steps + .site-section {
      border: 0px; }
    .site .site-section > .container > .section-content + .section-content,
    .site .site-section > .container > .section-content + .section-sides,
    .site .site-section > .container > .section-sides + .section-sides,
    .site .site-section > .container > .section-sides + .section-content {
      margin-top: var(--site-section-padding-v); }
    .site .site-section > .container > .section-graphic + .section-content,
    .site .site-section > .container > .section-content + .section-actions {
      margin-top: var(--site-section-spacing); }
    .site .site-section .show-all-btn {
      text-align: center; }
  .site .site-section .section-heading {
    color: var(--text-primary-color);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium); }
  .site .site-section .section-title {
    max-width: var(--site-section-title-max-width);
    margin: 0 auto var(--site-section-title-margin-bottom) auto;
    color: var(--site-section-title-color);
    font-size: var(--site-section-title-font-size);
    font-weight: var(--site-section-title-font-weight);
    line-height: var(--site-section-title-line-height);
    text-transform: capitalize;
    text-align: center; }
    .site .site-section .section-title-sm {
      font-size: var(--site-section-title-sm-font-size);
      font-weight: var(--site-section-title-sm-font-weight);
      line-height: var(--site-section-title-sm-line-height);
      margin-bottom: var(--site-section-title-sm-margin-bottom); }
    .site .site-section .section-title b,
    .site .site-section .section-title strong {
      color: var(--site-section-title-color); }
    .site .site-section .section-title + .section-subtitle {
      margin-top: calc(-1 * (var(--site-section-title-margin-bottom) - var(--site-section-title-subtitle-spacing))); }
  .site .site-section .section-subtitle {
    max-width: var(--site-section-title-max-width);
    margin: 0 auto var(--site-section-title-margin-bottom) auto;
    color: var(--site-section-subtitle-color);
    font-size: var(--site-section-subtitle-font-size);
    font-weight: var(--site-section-subtitle-font-weight);
    line-height: var(--site-section-subtitle-line-height);
    text-align: center; }
    .site .site-section .section-subtitle-bottom {
      margin: var(--site-section-title-margin-bottom) auto 0 auto; }
  .site .site-section .section-sides .section-title,
  .site .site-section .section-sides .section-subtitle {
    text-align: left;
    max-width: none; }
  .site .site-section .section-sides .section-title {
    margin-bottom: var(--site-section-title-sm-margin-bottom); }
  .site .site-section .section-sides-nordvpn .section-title {
    margin-bottom: var(--spacing-4x); }
  .site .site-section .section-sides-nordvpn .section-subtitle {
    font-weight: var(--font-weight-medium);
    color: var(--text-heading-color); }
  .site .site-section .section-sides-nordvpn .section-desc p {
    margin-bottom: var(--spacing-4x); }
  .site .site-section .section-sides-nordvpn .section-graphic img {
    width: 100%; }
  .site .site-section .section-actions {
    margin-top: var(--site-section-spacing);
    text-align: center; }
    .site .site-section .section-actions .btn + .btn {
      margin-left: var(--ui-block-spacing-sm); }
  .site .site-section .section-sides .section-actions {
    text-align: left; }
  .site .site-section .section-desc {
    text-align: center; }
    .site .site-section .section-desc ul {
      padding-left: 18px; }
    .site .site-section .section-desc .check-list {
      list-style: none;
      padding: 0px; }
      .site .site-section .section-desc .check-list li {
        position: relative;
        padding-left: 40px;
        margin-bottom: var(--ui-block-spacing-xs); }
        .site .site-section .section-desc .check-list li .lm-check {
          position: absolute;
          top: 5px;
          left: 0;
          color: var(--text-primary-color); }
    .site .site-section .section-desc > h3,
    .site .site-section .section-desc > .h3 {
      margin-top: var(--article-h3-margin-top);
      margin-bottom: var(--article-h3-margin-bottom); }
    .site .site-section .section-desc > h4,
    .site .site-section .section-desc > .h4 {
      margin-top: var(--article-h4-margin-top);
      margin-bottom: var(--article-h4-margin-bottom); }
    .site .site-section .section-desc > h5,
    .site .site-section .section-desc > .h5 {
      margin-top: var(--article-h5-margin-top);
      margin-bottom: var(--article-h5-margin-bottom); }
    .site .site-section .section-desc > *:last-child {
      margin-bottom: 0; }
  .site .site-section .section-sides .section-desc {
    text-align: left; }
    .site .site-section .section-sides .section-desc .text-default {
      color: var(--text-body-color); }
  .site .site-section .section-graphic {
    display: flex;
    justify-content: center; }
    .site .site-section .section-graphic .graphic > img {
      max-width: 100%; }
    .site .site-section .section-graphic-illustration {
      height: var(--site-section-illustration-height);
      position: relative;
      z-index: -1; }
      @media (max-width: 991.98px) {
        .site .site-section .section-graphic-illustration {
          height: var(--site-section-illustration-height-sm);
          width: var(--site-section-illustration-width-sm);
          margin-left: auto;
          margin-right: auto; }
          .site .site-section .section-graphic-illustration svg {
            height: 100%;
            width: 100%; } }
      .site .site-section .section-graphic-illustration .promo-slider-icon {
        position: absolute;
        top: 0;
        right: 0;
        opacity: 0;
        bottom: unset;
        height: auto;
        width: var(--site-section-illustration-width); }
        @media (max-width: 991.98px) {
          .site .site-section .section-graphic-illustration .promo-slider-icon {
            width: var(--site-section-illustration-width-sm); } }
        .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo {
          visibility: visible;
          animation-name: showSliderIcons;
          animation-duration: 0.32s;
          animation-timing-function: cubic-bezier(0, 0, 0, 1);
          animation-fill-mode: forwards;
          margin: 0; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse {
            animation-name: showSliderIconsReverse; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(3) {
              animation-delay: 0.72s; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(2) {
              animation-delay: 0.64s; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(1) {
              animation-delay: 0.56s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(1) {
            animation-delay: 0.72s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(2) {
            animation-delay: 0.64s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(3) {
            animation-delay: 0.56s; }
    .site .site-section .section-graphic-custom .svg-graphic-stroke-p {
      display: none; }
  .site .site-section .tab-content-cpanelseo {
    margin-top: var(--spacing-8x); }
  .site .site-section .section-sides .section-graphic {
    justify-content: flex-start; }
    @media (min-width: 992px) {
      .site .site-section .section-sides .section-graphic {
        min-width: calc(50% - var(--site-section-sides-spacing) / 2); } }
    .site .site-section .section-sides .section-graphic.order-last {
      justify-content: flex-end; }
  @media (max-width: 991.98px) {
    .site .site-section .tab-content-cpanelseo {
      margin-top: var(--spacing-4x); }
    .site .site-section .tab-pane-cpanelseo .section-sides {
      display: flex;
      flex-direction: column; }
      .site .site-section .tab-pane-cpanelseo .section-sides .section-content {
        order: 2; }
      .site .site-section .tab-pane-cpanelseo .section-sides .section-graphic {
        margin-top: 0 !important; }
    .site .site-section .section-sides .section-graphic {
      justify-content: center !important; }
    .site .site-section .section-sides .section-graphic + .section-content {
      margin-top: var(--site-section-sides-spacing); }
    .site .site-section .section-sides .section-content + .section-graphic {
      margin-top: var(--site-section-sides-spacing); } }
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-browser-body,
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-graphs-bg,
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-phone-bg {
    fill: var(--gray-faded); }
  @media (min-width: 992px) {
    .site .site-section .section-sides > .section-content {
      flex: 1; } }
  @media (max-width: 991.98px) {
    .site .site-section .section-sides .section-content + .section-content {
      margin-top: var(--site-section-sides-spacing); } }
  @media (min-width: 992px) {
    .site .site-section .section-sides {
      display: flex;
      align-items: center; }
      .site .site-section .section-sides > * + * {
        margin-left: var(--site-section-sides-spacing); }
      .site .site-section .section-sides .section-content.order-last + .order-first,
      .site .site-section .section-sides .section-graphic.order-last + .order-first {
        margin-left: 0;
        margin-right: var(--site-section-sides-spacing); } }
  .site .site-section.section-secondary .svg-icon .outline,
  .site .site-section.section-primary .svg-icon .outline {
    stroke: var(--svg-icon-on-dark-color-secondary); }
  .site .site-section.section-secondary .package .svg-icon .outline,
  .site .site-section.section-primary .package .svg-icon .outline {
    stroke: var(--gray-darker); }
  .site .site-section.section-secondary .browser-notice p,
  .site .site-section.section-primary .browser-notice p {
    color: var(--text-lighter-color); }
  .site .site-section.section-secondary {
    background: var(--secondary-block-bg-h); }
    .site .site-section.section-secondary .section-title,
    .site .site-section.section-secondary .section-title strong,
    .site .site-section.section-secondary .section-title b {
      color: var(--secondary-block-title-color); }
    .site .site-section.section-secondary .section-subtitle {
      color: var(--secondary-block-subtitle-color); }
    .site .site-section.section-secondary .section-desc {
      color: var(--secondary-block-text-color); }
    .site .site-section.section-secondary .feature-content .feature-title {
      color: var(--secondary-block-title-color); }
    .site .site-section.section-secondary .feature-content .feature-desc {
      color: var(--secondary-block-text-color); }
  .site .site-section.section-primary {
    background: var(--primary-block-bg-h); }
    .site .site-section.section-primary .section-title,
    .site .site-section.section-primary .section-title strong,
    .site .site-section.section-primary .section-title b {
      color: var(--primary-block-title-color); }
    .site .site-section.section-primary .section-subtitle {
      color: var(--primary-block-subtitle-color); }
    .site .site-section.section-primary .section-desc {
      color: var(--primary-block-text-color); }
    .site .site-section.section-primary .feature-content .feature-title {
      color: var(--primary-block-title-color); }
    .site .site-section.section-primary .feature-content .feature-desc {
      color: var(--primary-block-text-color); }
  @media (max-width: 767.98px) {
    .site .site-section .section-graphic {
      margin-top: var(--site-section-title-margin-bottom);
      order: 1;
      display: block; }
      .site .site-section .section-graphic .browser,
      .site .site-section .section-graphic .graphic {
        margin: 0 auto; } }
  .site.site-xovinow .section-sides {
    max-height: 366px; }
  .site .panel-faq {
    box-shadow: none;
    background: transparent;
    border: none; }
    .site .panel-faq .panel {
      border-left: 0;
      border-right: 0;
      border-radius: 0;
      background: transparent; }
      .site .panel-faq .panel-body, .site .panel-faq .panel-heading {
        padding-left: 0;
        padding-right: 0;
        padding-top: var(--ui-block-padding-base);
        padding-bottom: var(--ui-block-padding-base);
        background: transparent; }
      .site .panel-faq .panel-body {
        padding-top: 0;
        font-size: var(--site-text-font-size);
        line-height: var(--site-text-line-height); }
      .site .panel-faq .panel-heading .panel-title {
        font-size: var(--font-size-h5);
        font-weight: var(--font-weight-h5);
        line-height: var(--line-height-h5); }
      .site .panel-faq .panel:first-child {
        border-top: 0; }
      .site .panel-faq .panel:last-child {
        border-bottom: 0; }
      .site .panel-faq .panel:hover, .site .panel-faq .panel.is-open {
        border-color: var(--panel-border-divider-color) !important; }
      .site .panel-faq .panel-accordion img {
        max-width: 100%;
        margin-bottom: var(--spacing-2x); }
  .site .package-slider {
    width: 100%;
    max-width: 832px;
    margin: 0 auto;
    box-shadow: var(--ui-block-shadow);
    border-radius: var(--ui-block-border-radius);
    background: var(--ui-block-bg); }
    .site .package-slider-body {
      padding: 48px 56px; }
    .site .package-slider-bottom {
      display: flex;
      justify-content: space-between;
      padding-top: 54px; }
    .site .package-slider-summary {
      display: flex; }
      .site .package-slider-summary-item {
        display: flex;
        flex-direction: column;
        min-width: 120px;
        position: relative;
        margin-right: 24px; }
        .site .package-slider-summary-item:not(:last-of-type):after {
          content: '';
          position: absolute;
          right: 0;
          width: 1px;
          background: var(--ui-block-border-color);
          top: 0;
          bottom: 0; }
      .site .package-slider-summary-label {
        color: var(--price-font-size-color);
        font-size: var(--site-text-xs-font-size);
        line-height: var(--site-text-xs-line-height);
        margin-bottom: 5px; }
      .site .package-slider-summary-value {
        display: flex;
        font-size: var(--price-font-size);
        line-height: var(--price-line-height);
        font-weight: var(--price-font-weight);
        color: var(--price-color); }
      .site .package-slider-summary .price-cycle {
        font-size: 24px;
        line-height: 30px;
        align-self: flex-end;
        display: inline-block; }
    .site .package-slider-actions {
      align-self: flex-end;
      display: flex; }
      .site .package-slider-actions form + form {
        margin-left: var(--ui-block-padding-base); }
  .site .slider .irs-single {
    display: none !important; }
  .site .slider-actions {
    padding-top: 16px; }
    .site .slider-actions-list {
      display: flex;
      justify-content: space-between; }
    .site .slider-actions-btn {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      min-width: 68px;
      height: var(--range-slider-actions-height);
      border: 1px solid var(--range-slider-actions-border-color);
      border-radius: var(--range-slider-actions-border-radius);
      font-size: var(--site-text-sm-font-size);
      line-height: var(--site-text-sm-line-height);
      font-weight: var(--font-weight-base);
      cursor: pointer;
      transition: var(--transition-base); }
      .site .slider-actions-btn:hover, .site .slider-actions-btn:focus-visible {
        border-color: var(--brand-primary);
        color: var(--text-primary-color); }
      .site .slider-actions-btn span {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        position: relative;
        z-index: 2;
        height: 100%;
        padding: 0 4px;
        padding-top: 1px;
        background: var(--ui-block-bg);
        border-radius: var(--range-slider-actions-border-radius); }
      .site .slider-actions-btn.active {
        border-color: var(--range-slider-actions-active-border-color);
        color: var(--ui-link-active-color); }
  .site-index .slider {
    display: flex; }
  @media (max-width: 991.98px) {
    .site .package-slider-bottom.has-currency {
      padding-top: 24px;
      flex-direction: column; }
      .site .package-slider-bottom.has-currency .package-slider-actions {
        flex: 1;
        align-self: stretch;
        padding-top: 24px; } }
  @media (max-width: 767px) {
    .site .package-slider-body {
      padding: var(--ui-block-padding-base); }
    .site .package-slider-bottom {
      padding-top: 24px;
      flex-direction: column; }
      .site .package-slider-bottom.has-currency .package-slider-actions form {
        flex-basis: 50%; }
    .site .package-slider-actions {
      flex: 1;
      align-self: stretch;
      padding-top: 24px; } }
  @media screen and (max-width: 767px) and (-ms-high-contrast: active), (max-width: 767px) and (-ms-high-contrast: none) {
    .site .package-slider-actions {
      flex: auto; } }
  @media (max-width: 767px) {
      .site .package-slider-actions form {
        flex-basis: 100%; }
      .site .package-slider-actions .btn {
        width: 100%; }
    .site .slider-actions {
      display: none; } }
  @media (max-width: 575px) {
    .site .package-slider-actions {
      flex-direction: column; } }
  @media screen and (max-width: 575px) and (-ms-high-contrast: active), (max-width: 575px) and (-ms-high-contrast: none) {
    .site .package-slider-actions {
      align-items: center;
      justify-content: center;
      flex-flow: row wrap;
      flex: auto; } }
  @media (max-width: 575px) {
      .site .package-slider-actions form + form {
        margin: 16px 0 0; }
    .site .package-slider-summary-item {
      min-width: unset;
      padding-right: 24px; }
    .site .package-slider-summary-label {
      margin-bottom: 0; }
    .site .package-slider-summary .price-prefix {
      font-size: var(--site-text-font-size); }
    .site .package-slider-summary .price-cycle {
      font-size: var(--site-text-font-size);
      margin-bottom: 0; } }
  .site .show-all-btn {
    margin: 24px 0px 0px 0px; }
    .site .show-all-btn .show-all {
      font-weight: var(--font-weight-medium);
      font-size: var(--font-size-md); }
  .site .product-billing-switcher {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--site-section-title-margin-bottom); }
    .site .product-billing-switcher .btn-group {
      flex-wrap: wrap;
      padding: 2px;
      border: 1px solid var(--ui-block-divider-color);
      border-radius: var(--ui-height-base); }
      .site .product-billing-switcher .btn-group > .btn {
        border-radius: var(--ui-height-base) !important; }
        .site .product-billing-switcher .btn-group > .btn:hover, .site .product-billing-switcher .btn-group > .btn:focus-visible {
          background: var(--btn-primary-faded-bg);
          border-color: var(--btn-primary-faded-border);
          color: var(--btn-primary-faded-color); }
        .site .product-billing-switcher .btn-group > .btn.active {
          background: var(--btn-primary-bg);
          border-color: var(--btn-primary-border);
          box-shadow: var(--box-shadow-base);
          color: var(--btn-primary-color); }
        .site .product-billing-switcher .btn-group > .btn + .btn {
          margin-left: 2px; }
  .site .section-title + .product-billing-switcher {
    margin-top: calc(var(--site-section-title-margin-bottom) / -2); }
  .site .section-primary .product-billing-switcher .btn-group,
  .site .section-secondary .product-billing-switcher .btn-group {
    border-color: var(--btn-light-border);
    background: var(--btn-light-bg); }
    .site .section-primary .product-billing-switcher .btn-group > .btn,
    .site .section-secondary .product-billing-switcher .btn-group > .btn {
      color: var(--btn-light-color); }
      .site .section-primary .product-billing-switcher .btn-group > .btn:hover, .site .section-primary .product-billing-switcher .btn-group > .btn:focus-visible,
      .site .section-secondary .product-billing-switcher .btn-group > .btn:hover,
      .site .section-secondary .product-billing-switcher .btn-group > .btn:focus-visible {
        background: var(--btn-light-bg);
        border-color: transparent; }
      .site .section-primary .product-billing-switcher .btn-group > .btn.active,
      .site .section-secondary .product-billing-switcher .btn-group > .btn.active {
        background: var(--btn-primary-faded-bg);
        border-color: var(--btn-primary-faded-border);
        box-shadow: var(--box-shadow-base);
        color: var(--btn-primary-faded-color); }
  .site .section-primary .product-billing-switcher .dropdown-toggle,
  .site .section-secondary .product-billing-switcher .dropdown-toggle {
    border-color: var(--btn-light-border);
    background: var(--btn-light-bg);
    color: var(--btn-light-color);
    min-width: var(--dropdown-min-width); }
  .site .section-primary .product-billing-switcher .dropdown-item,
  .site .section-secondary .product-billing-switcher .dropdown-item {
    flex: 100%;
    width: 100%;
    border: 0;
    background: transparent;
    transition: color var(--transition-base), background var(--transition-base), padding var(--transition-base); }
    .site .section-primary .product-billing-switcher .dropdown-item.active,
    .site .section-secondary .product-billing-switcher .dropdown-item.active {
      background-color: var(--dropdown-link-active-bg); }
  .site .site-subnav {
    position: relative;
    z-index: 2;
    background-color: transparent;
    border-bottom: 1px solid var(--ui-block-divider-color); }
    .site .site-subnav .nav {
      margin-left: calc(-1 * var(--nav-link-padding-h));
      margin-right: calc(-1 * var(--nav-link-padding-h));
      margin-bottom: 0px; }
    @media (min-width: 992px) {
      .site .site-subnav {
        display: flex !important; }
        .site .site-subnav .navbar-collapse.collapse {
          display: block !important; }
          .site .site-subnav .navbar-collapse.collapse .navbar-nav {
            flex-direction: row; }
            .site .site-subnav .navbar-collapse.collapse .navbar-nav li a {
              position: relative; } }
    @media (max-width: 991.98px) {
      .site .site-subnav {
        border: none;
        margin-top: var(--ui-block-spacing-lg); }
        .site .site-subnav .navbar-toggle {
          margin-right: 0px;
          float: left; }
          .site .site-subnav .navbar-toggle .icon-bar {
            background-color: var(--ui-icon-color); }
        .site .site-subnav .navbar-collapse {
          border: none; } }
  .site .ssl-filters {
    display: flex;
    justify-content: center;
    flex-direction: column; }
  .site .tabs {
    position: relative; }
    .site .tabs .nav-tabs {
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
      .site .tabs .nav-tabs:after {
        content: "";
        height: 1px;
        background-color: var(--gray-lighter-4);
        position: absolute;
        left: 0;
        right: 0px;
        bottom: 0; }
  .site .row-pricing-table .panel-package {
    padding: 0;
    background-color: #fff;
    border: none; }
    .site .row-pricing-table .panel-package ul li .lm-check {
      color: var(--text-primary-color); }
    .site .row-pricing-table .panel-package ul li.price {
      color: var(--text-primary-color);
      font-weight: var(--font-weight-medium); }
    .site .row-pricing-table .panel-package form {
      padding: var(--ui-block-padding-base); }
  .site .row-pricing-table .sidebar .header {
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    padding: var(--ui-block-padding-base);
    height: 80px;
    text-align: center;
    overflow: hidden; }
  .site .row-pricing-table .sidebar ul li {
    background: rgba(255, 255, 255, 0.05);
    border: none;
    border-radius: var(--border-radius-base);
    margin-bottom: 1px;
    color: #fff;
    text-align: left;
    font-weight: var(--font-weight-light); }
  .site .row-pricing-table .package-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    padding: var(--ui-block-padding-sm);
    height: 80px;
    text-align: center;
    overflow: hidden;
    border-bottom: 1px solid var(--ui-block-divider-color); }
    .site .row-pricing-table .package-header h4 {
      margin: 0;
      font-size: var(--font-size-h3); }
  .site .row-pricing-table ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .site .row-pricing-table ul li {
      padding: 0 16px;
      line-height: 40px;
      text-align: center;
      border-bottom: 1px solid var(--ui-block-divider-color); }
  .site .logos {
    display: flex;
    justify-content: space-around; }
    .site .logos .logo {
      width: 100%;
      max-width: 240px;
      padding: var(--ui-block-padding-sm); }
      .site .logos .logo > img {
        max-width: 100%; }
  .site .browser {
    display: flex;
    flex-direction: column;
    background: var(--ui-block-bg);
    border-radius: var(--border-radius-base);
    overflow: hidden;
    max-width: 100%;
    box-shadow: var(--svg-graphic-shadow); }
    .site .browser-top {
      display: flex;
      align-items: center;
      width: 100%;
      height: 32px;
      padding: 0 var(--ui-block-padding-sm); }
      .site .browser-top:not(.browser-top-transparent) {
        background: var(--svg-graphic-bg-browser-top); }
    .site .browser-actions {
      display: flex; }
      .site .browser-actions > span {
        display: block;
        height: 6px;
        width: 6px;
        margin-right: 6px;
        background: var(--svg-graphic-bg-browser-actions);
        border-radius: 100%; }
    .site .browser-body {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: var(--ui-block-padding-sm); }
    .site .browser-sm {
      width: 446px; }
      .site .browser-sm .browser-top {
        height: 24px;
        padding: 0 var(--spacing-1x); }
    .site .browser-md {
      width: 560px; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .site .browser .svg-graphic {
        height: 314px; } }
    .site .browser-google {
      position: relative;
      overflow: unset;
      max-width: 500px;
      max-height: 300px; }
      .site .browser-google > svg {
        width: 100%;
        height: 100%; }
      .site .browser-google > div {
        position: absolute; }
      .site .browser-google .quote {
        top: -13.5px;
        right: 28px; }
      .site .browser-google .puzzle {
        bottom: -19px;
        right: -19px; }
  .site .browser-ssl {
    margin: 0 auto; }
    .site .browser-ssl .browser-body {
      height: 440px; }
  .site .browser-lg {
    width: 100%;
    max-width: 832px;
    padding: var(--ui-block-padding-base);
    background: var(--ui-block-bg);
    border-radius: var(--ui-block-border-radius-lg); }
    .site .browser-lg .browser-top {
      padding: 2px 0 10px;
      justify-content: space-between; }
    .site .browser-lg .browser-actions {
      margin-right: 10px; }
      .site .browser-lg .browser-actions > span {
        height: 12px;
        width: 12px;
        margin-right: var(--spacing-1x);
        background: var(--svg-graphic-bg-browser-actions); }
    .site .browser-lg .browser-searchbar {
      height: 28px;
      width: 100%;
      background: var(--svg-graphic-bg-faded);
      border-radius: var(--border-radius-sm);
      display: flex;
      justify-content: start;
      align-items: center;
      font-size: var(--font-size-sm);
      padding: 0 10px; }
    .site .browser-lg .browser-body {
      display: flex;
      align-items: center;
      justify-content: center; }
    .site .browser-lg .browser-notice {
      max-width: 456px;
      padding: 0px 12px; }
      .site .browser-lg .browser-notice p {
        margin: 0;
        font-weight: var(--font-weight-base);
        text-align: center; }
    .site .browser-lg .browser-image {
      margin: -40px 0 40px 0;
      text-align: center; }
  .site .browser-zoom {
    overflow: hidden;
    position: relative; }
    .site .browser-zoom .browser-img-zoom {
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden; }
      .site .browser-zoom .browser-img-zoom, .site .browser-zoom .browser-img-zoom:after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        transition: all 0.25s;
        transition-timing-function: cubic-bezier(1, 0, 1, 1); }
      .site .browser-zoom .browser-img-zoom:after {
        content: "";
        background: var(--brand-primary-gradient-v);
        opacity: 0.6; }
      .site .browser-zoom .browser-img-zoom i {
        position: relative;
        z-index: 1;
        opacity: 0;
        visibility: hidden;
        color: var(--text-secondary-heading-color);
        font-size: 64px;
        transform: translateY(16px);
        transition: all 0.25s;
        transition-timing-function: cubic-bezier(1, 0, 1, 1); }
    .site .browser-zoom:hover .browser-img-zoom {
      opacity: 1;
      visibility: visible; }
      .site .browser-zoom:hover .browser-img-zoom i {
        opacity: 1;
        visibility: visible;
        transform: translateY(0px); }
  .site.site-spamexperts .browser-sm {
    height: 266px; }
    .site.site-spamexperts .browser-sm .browser-body {
      margin-top: auto;
      margin-bottom: auto; }
  .site .domain-tlds {
    margin: var(--site-section-spacing) 0 0 0;
    justify-content: center; }
    .site .domain-tlds > * {
      margin-top: var(--ui-block-padding-base);
      max-width: 240px; }
    .site .domain-tlds .domain-tld {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: var(--font-size-xlg);
      line-height: var(--line-height-xlg); }
      .site .domain-tlds .domain-tld .tld-price {
        display: inline-block;
        font-weight: var(--font-weight-light);
        color: var(--text-lighter-color); }
      .site .domain-tlds .domain-tld .tld-name {
        display: inline-block;
        color: var(--text-heading-color);
        font-weight: var(--font-weight-bold);
        margin-right: var(--spacing-2x); }
        .site .domain-tlds .domain-tld .tld-name > span {
          color: var(--text-primary-color); }
    .site .domain-tlds > *:not(:last-child) {
      border-right: 1px solid var(--ui-block-divider-color); }
  @media (max-width: 991.98px) {
    .site .site.site-index .domain-tlds .col-sm,
    .site .site.site-index .domain-tlds > * {
      width: 50%;
      max-width: 50%;
      flex-basis: auto; } }
  @media (max-width: 767.98px) {
    .site .domain-tlds {
      margin: 0 -4px; }
      .site .domain-tlds > * {
        padding-left: 4px;
        padding-right: 4px;
        border: none;
        width: 33.33%;
        border-right: none !important; }
      .site .domain-tlds .domain-tld {
        padding: var(--spacing-1x);
        border: 1px solid var(--gray-lighter-4);
        border-radius: var(--border-radius-base); } }
  @media (max-width: 520px) {
    .site .domain-tlds > * {
      width: 100%;
      max-width: 100%; } }
  @media (max-width: 479.98px) {
    .site .site.site-index .domain-tlds .col-sm,
    .site .site.site-index .domain-tlds > * {
      width: 100%;
      max-width: 100%; }
    .site .site.site-index .domain-tlds .domain-tld .tld-name,
    .site .site.site-index .domain-tlds .domain-tld .tld-price {
      flex-basis: 50%; }
    .site .site.site-index .domain-tlds .domain-tld .tld-price {
      text-align: right; } }
  .site .news-box {
    display: flex;
    flex-direction: column;
    border: var(--ui-block-border);
    background: var(--ui-block-bg);
    border-radius: var(--ui-block-border-radius);
    box-shadow: var(--ui-block-shadow-lg);
    transition: all var(--transition-base) !important;
    margin-bottom: var(--ui-block-spacing-xlg); }
    .site .news-box:hover {
      background: var(--tile-hover-bg);
      transform: translate3d(0, -8px, 0);
      box-shadow: var(--ui-block-shadow-xlg); }
      .site .news-box:hover .icon {
        color: var(--tile-border-color-hover); }
      .site .news-box:hover .news-actions > span {
        color: var(--link-hover-color); }
    .site .news-box .news-body {
      flex: 1;
      padding: 16px 20px 20px 24px; }
    .site .news-box .news-date {
      color: var(--text-lighter-color);
      font-size: var(--site-text-xs-font-size);
      margin-bottom: var(--ui-block-spacing-xs); }
      .site .news-box .news-date i {
        font-size: var(--site-text-xs-font-size);
        margin-right: var(--ui-block-spacing-xs);
        color: var(--ui-icon-color); }
    .site .news-box .news-desc {
      flex: 1;
      font-size: var(--font-size-xlgg);
      line-height: var(--line-height-xlgg);
      color: var(--text-heading-color); }
      .site .news-box .news-desc p {
        margin: 0; }
    .site .news-box .news-actions {
      padding: var(--spacing-1x) var(--ui-block-padding-base);
      border-top: 1px solid var(--ui-block-divider-color);
      font-weight: var(--font-weight-medium); }
  .site .content-slider {
    overflow: visible;
    max-width: 100%;
    position: relative; }
    .site .content-slider-wrapper {
      display: flex;
      position: relative;
      z-index: 1;
      display: flex;
      height: 100%;
      flex-wrap: nowrap;
      transition-property: transform;
      padding: 0; }
    .site .content-slider-item {
      white-space: nowrap;
      width: auto; }
      .site .content-slider-item:first-child {
        margin-left: var(--ui-block-padding-base); }
      .site .content-slider-item:last-child {
        margin-right: var(--ui-block-padding-base); }
      .site .content-slider-item-img img {
        box-shadow: var(--box-shadow-lg);
        width: 768px;
        border-radius: var(--border-radius-lg);
        margin: 0 var(--spacing-2x); }
        @media (max-width: 991.98px) {
          .site .content-slider-item-img img {
            width: 664px; } }
        @media (max-width: 767.98px) {
          .site .content-slider-item-img img {
            width: 510px;
            margin: 0 0;
            margin-right: var(--spacing-1x); } }
        @media (max-width: 520px) {
          .site .content-slider-item-img img {
            width: 305px; } }
  .site .testimonials-item {
    background: var(--ui-block-bg);
    border: var(--ui-block-border);
    box-shadow: var(--ui-block-shadow);
    padding: var(--ui-block-padding-base);
    width: 100%;
    display: flex;
    flex-direction: column;
    white-space: unset;
    border-radius: var(--ui-block-border-radius);
    cursor: default; }
  .site .testimonials-desc {
    margin-bottom: var(--ui-block-spacing-lg); }
    .site .testimonials-desc > p:last-child {
      margin: 0; }
    .site .testimonials-desc p {
      font-size: var(--font-size-xlg);
      line-height: var(--line-height-xlg); }
  .site .testimonials-details {
    display: flex;
    flex-direction: row;
    align-items: center;
    line-height: var(--site-text-sm-line-height);
    margin-top: auto; }
  .site .testimonials-avatar {
    margin-right: 32px;
    position: relative;
    width: 64px;
    height: 64px;
    background-color: #eee;
    border-radius: 100%; }
    .site .testimonials-avatar img {
      height: 100%;
      border-radius: 100%; }
    .site .testimonials-avatar span {
      background-color: var(--text-primary-color);
      width: 32px;
      height: 32px;
      display: flex;
      align-content: center;
      justify-content: center;
      color: #fff;
      line-height: 60px;
      border-radius: 100%;
      font-size: 48px;
      position: absolute;
      bottom: 0px;
      right: -16px; }
  .site .testimonials-author > span {
    font-weight: var(--font-weight-medium);
    color: var(--text-heading-color); }
  @media (max-width: 991.98px) {
    .site .testimonials.row .testimonials-item {
      margin-bottom: var(--ui-block-spacing-lg); } }
  .site .slider .testimonials-item {
    min-width: 340px;
    margin: 0px 12px; }
  .site .check-features {
    margin-top: var(--ui-block-spacing-xxlg); }
    .site .check-features > * {
      padding-top: 4px;
      padding-bottom: 4px; }
    .site .check-features .lm-check {
      margin-right: var(--ui-block-padding-base);
      color: var(--text-primary-color); }
  .site .package-get-started {
    background: var(--package-bg);
    border: var(--package-border);
    border-radius: var(--package-border-radius);
    box-shadow: var(--package-block-shadow);
    padding: var(--package-padding);
    position: relative; }
    @media (min-width: 768px) {
      .site .package-get-started {
        flex-direction: row; } }
    .site .package-get-started-content {
      flex: 1;
      text-align: left; }
    .site .package-get-started-summary {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      border-top: 1px solid var(--ui-block-divider-color);
      padding-top: var(--ui-block-spacing-lg);
      margin-top: var(--ui-block-spacing-lg); }
    .site .package-get-started .additional-options .option:not(:first-child) {
      display: none; }
    .site .package-get-started .price:not(:nth-child(3)) {
      display: none; }
    .site .package-get-started .choose-product {
      margin-bottom: var(--ui-block-spacing-lg);
      display: flex;
      flex-direction: row;
      justify-content: space-between; }
      .site .package-get-started .choose-product .btn {
        border-radius: var(--border-radius-base);
        display: -webkit-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        height: 100%;
        padding: 30px;
        font-size: var(--fotn-size-md); }
        .site .package-get-started .choose-product .btn span {
          display: none; }
        .site .package-get-started .choose-product .btn:first-child {
          border-radius: var(--border-radius-base);
          margin-right: var(--spacing-2x); }
        .site .package-get-started .choose-product .btn.active {
          background-color: transparent;
          border-color: var(--text-primary-color); }
          .site .package-get-started .choose-product .btn.active svg {
            display: none; }
          .site .package-get-started .choose-product .btn.active span {
            display: block;
            margin-bottom: var(--ui-block-spacing-lg);
            height: 64px;
            width: 64px;
            line-height: 64px; }
            .site .package-get-started .choose-product .btn.active span i {
              color: var(--text-primary-color);
              font-size: 26px;
              border: 2px solid var(--text-primary-color);
              border-radius: 100px;
              padding: 12px; }
        .site .package-get-started .choose-product .btn .svg-icon {
          margin-bottom: var(--ui-block-spacing-lg); }
        @media (max-width: 991.98px) {
          .site .package-get-started .choose-product .btn {
            padding: 14px; } }
        @media (max-width: 479.98px) {
          .site .package-get-started .choose-product .btn {
            width: 100%;
            margin-bottom: 15px; } }
      @media (max-width: 767.98px) {
        .site .package-get-started .choose-product {
          justify-content: flex-start; } }
      @media (max-width: 479.98px) {
        .site .package-get-started .choose-product {
          flex-direction: column; } }
  .site .emergency-promo {
    position: relative;
    padding: var(--ui-block-padding-xlg);
    border: 1px solid var(--text-primary-color);
    border-radius: var(--border-radius-xlg); }
    .site .emergency-promo-title h3 {
      text-align: center; }
    .site .emergency-promo-banner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: column;
      color: var(--brand-primary);
      margin-top: var(--ui-block-spacing-lg); }
      .site .emergency-promo-banner h4 {
        text-align: center; }
  @media (min-width: 768px) {
    .site .emergency-promo {
      border-top: none; }
      .site .emergency-promo-title {
        display: flex;
        position: absolute;
        top: -20px;
        left: 0px;
        right: 0px;
        height: 40px;
        justify-content: center; }
        .site .emergency-promo-title h3 {
          padding: 0px 20px;
          text-align: center; }
        .site .emergency-promo-title span {
          display: block;
          flex: 1;
          height: 20px;
          margin-top: 20px;
          border-top: 1px solid var(--text-primary-color);
          border-radius: var(--border-radius-xlg); } }
  .site .section-ssl-upgrade {
    padding-bottom: 0; }
    .site .section-ssl-upgrade .browser {
      position: relative;
      z-index: 2; }
      .site .section-ssl-upgrade .browser-top {
        background: transparent; }
  .site .ssl-upgrade {
    margin-top: -64px;
    padding: 100px 0; }
    .site .ssl-upgrade .section-title {
      margin-top: var(--ui-block-spacing-xlg);
      margin-bottom: var(--ui-block-spacing-xlg);
      font-weight: var(--font-weight-light);
      font-size: 28px; }
  .site .section-secondary.section-ssl-upgrade .ssl-upgrade {
    padding-bottom: var(--spacing-8x); }
  .site .modal-results .result-negative {
    color: var(--text-primary-color); }
  .site .modal-results .result-positive {
    color: var(--text-success-color); }
  .site .modal-results .result-concern {
    color: var(--text-warning-color); }
  @media (min-width: 768px) {
    .site.site-nordvpn .img-overlap {
      margin-bottom: -100px; } }
  .site.site-nordvpn .comparison {
    text-align: center; }
  .site.site-nordvpn .comparison .col-2:first-of-type {
    text-align: left; }
  .site.site-nordvpn .comparison .col-2 {
    min-height: 4rem;
    padding: 0 1rem;
    border: 1px solid var(--ui-block-divider-color);
    border-bottom: none; }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2 {
    min-height: 1.5rem; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:not(:nth-of-type(2)),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-bottom: 1px solid var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:not(:nth-of-type(2)),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:not(:nth-of-type(2)) {
    border: none; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:nth-of-type(2),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-top: none; }
  .site.site-nordvpn .comparison .col-2:first-of-type {
    border-right: none; }
  .site.site-nordvpn .comparison .col-2:not(:first-of-type):not(:nth-of-type(2)) {
    border-left: none; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:first-of-type {
    border-top-left-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:first-of-type {
    border-bottom-left-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:last-of-type {
    border-top-right-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:last-of-type {
    border-bottom-right-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:nth-of-type(2) {
    border-radius: 4px 4px 0 0; }
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-radius: 0 0 4px 4px; }
  .site.site-nordvpn .comparison .col-2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
  .site.site-nordvpn .comparison .col-12 .col-2:nth-of-type(2) {
    border-left-color: var(--ui-block-divider-color);
    border-right-color: var(--ui-block-divider-color);
    background: var(--brand-info-lighter-3); }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:nth-of-type(2) {
    border-top-color: var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-bottom-color: var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-2 span {
    width: 100%; }
  .site.site-nordvpn .comparison .btn-get-deal {
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
    background: var(--brand-danger);
    color: #fff;
    border-radius: 4px;
    border-color: transparent; }
  .site.site-nordvpn .comparison-container {
    overflow-x: auto;
    margin-bottom: 2.5rem; }
  .site.site-nordvpn .comparison-container > .row {
    min-width: 1110px; }
  .site.site-nordvpn .comparision-images img {
    mix-blend-mode: multiply; }
  @media (max-width: 991.98px) {
    .site.site-nordvpn .row-custom {
      margin-top: var(--spacing-2x);
      gap: 24px; } }
  .site.site-nordvpn .row-content {
    margin-top: var(--spacing-9x); }
    .site.site-nordvpn .row-content-lg {
      margin-top: var(--site-section-padding-v); }
      @media (max-width: 991.98px) {
        .site.site-nordvpn .row-content-lg {
          margin-top: var(--spacing-6x); } }
    .site.site-nordvpn .row-content .h5 {
      font-weight: var(--font-weight-base) !important; }
  .site.site-nordvpn .row .col-sm-12 {
    padding-left: 16px;
    padding-right: 16px; }
  @media (max-width: 991.98px) {
    .site.site-nordvpn .feature-icon {
      margin-bottom: var(--spacing-3x); } }
  .site.site-nordvpn .feature-title {
    font-weight: var(--font-weight-base); }
  .site.site-nordvpn .packages-custom .package {
    height: max-content; }
    .site.site-nordvpn .packages-custom .package-body {
      margin-top: 0; }
  .site .icons-network {
    flex: 1;
    display: flex;
    justify-content: space-around;
    margin-top: 80px; }
    .site .icons-network .content-slider-wrapper {
      gap: 40px; }
  @media (max-width: 991.98px) {
    .site .section-content-custom .row-custom:nth-of-type(2) {
      margin-top: 20px; } }
  .site.site-nordvpn .icons-network .content-slider-wrapper {
    transform: none !important; }
  .site.site-socialbee .pricing-table-container {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    max-height: none; }
  .site.site-socialbee .pricing-table {
    width: 1248px;
    margin: 0 auto; }
    .site.site-socialbee .pricing-table__header-row {
      background-color: var(--gray-lighter-4) !important;
      border-radius: var(--border-radius-base);
      overflow: hidden; }
    .site.site-socialbee .pricing-table__cell {
      padding: 16px;
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      line-height: var(--line-height-md);
      font-size: var(--font-size-md);
      font-weight: var(--font-weight-base);
      color: var(--text-body-color); }
      .site.site-socialbee .pricing-table__cell.pricing-table__header-cell.pricing-table__feature-header {
        background-color: var(--brand-primary);
        color: #fff;
        font-weight: var(--font-weight-base);
        font-size: var(--font-size-lg);
        line-height: var(--line-height-lg); }
      .site.site-socialbee .pricing-table__cell.pricing-table__header-cell.pricing-table__plan-header {
        color: var(--text-heading-color);
        font-weight: var(--font-weight-base);
        font-size: var(--font-size-lg);
        line-height: var(--line-height-lg); }
    .site.site-socialbee .pricing-table__header-cell {
      padding: 24px 0; }
    .site.site-socialbee .pricing-table__row {
      display: flex;
      width: 100%;
      cursor: pointer;
      transition: all var(--transition-base);
      border-radius: var(--border-radius-base);
      overflow: hidden; }
      .site.site-socialbee .pricing-table__row:hover {
        background-color: var(--brand-primary-lighter-4); }
    .site.site-socialbee .pricing-table__row-actions {
      background: transparent !important;
      cursor: default !important; }
    .site.site-socialbee .pricing-table__feature-name {
      flex: 1.5;
      justify-content: flex-start;
      text-align: left;
      font-weight: var(--font-weight-medium);
      line-height: var(--line-height-md);
      font-size: var(--font-size-md);
      color: var(--text-heading-color); }
    .site.site-socialbee .pricing-table__feature-header {
      flex: 1.5; }
  .site.site-marketgoo .section-video .embed-responsive {
    padding-bottom: 35%;
    max-width: 702px;
    margin: 0 auto; }
  @media (min-width: 768px) {
    .site.site-marketgoo .site-banner {
      padding-bottom: 92px; }
    .site.site-marketgoo .section-steps {
      margin-top: -92px;
      padding: 0;
      border: 0; }
      .site.site-marketgoo .section-steps + .site-section {
        border-top: none !important; } }
  @media (max-width: 767.98px) {
    .site.site-marketgoo .section-video .embed-responsive {
      max-width: 434px;
      padding-bottom: 254px; } }
  @media (max-width: 459px) {
    .site.site-marketgoo .section-video .embed-responsive {
      max-width: 328px;
      padding-bottom: 194px; }
    .site.site-marketgoo .slider .testimonials-item {
      margin: 0; }
    .site .slider .testimonials-item {
      min-width: 100% !important;
      width: 100% !important;
      margin: 0;
      padding: 24px !important; } }
  .site .section-templates .templates .nav.nav-tabs li a.active {
    color: var(--text-primary-color); }
  .site .section-templates .templates .row + .row {
    margin-top: var(--spacing-9x); }
  .site .section-templates .templates .previews a {
    color: inherit; }
    .site .section-templates .templates .previews a img {
      width: 100%;
      height: var(--previews-img-height);
      object-fit: cover;
      object-position: top; }
  .site .section-templates .templates .previews .type-label {
    display: none; }
  .site .section-templates .templates .previews .tplname {
    display: block;
    margin-top: var(--spacing-2x);
    text-align: center;
    font-weight: var(--font-weight-lighter); }
  .site .section-templates .templates .previews .thumb-wrapper {
    text-align: center;
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow-xlg);
    overflow: hidden;
    margin-top: var(--spacing-2x); }
  .site .section-templates .templates .previews .show-more-btn {
    margin: var(--spacing-8x) auto 0;
    justify-content: center; }
  .site .section-templates .templates .previews .show-more-item a:focus-visible span {
    color: var(--brand-primary-darker); }
  .site.site-wp-toolkit .site-banner .banner-img {
    max-width: 120%;
    margin-top: var(--spacing-9x); }
  .site.site-wp-toolkit .site-banner .banner-logo {
    max-width: 164px; }
  .site.site-wp-toolkit .site-banner .banner-desc {
    display: flex;
    align-items: center; }
  .site.site-wp-toolkit .site-section .screenshots {
    margin-top: calc(-1 * var(--spacing-3x)); }
    .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb {
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: var(--spacing-1x);
      border: 1px solid var(--gray-lighter-4);
      border-radius: var(--border-radius-sm);
      position: relative;
      margin-top: var(--spacing-3x); }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb > img {
        width: 100%; }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb .overlay {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transition: opacity var(--transition-base); }
        .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb .overlay > img {
          width: 120px;
          height: 120px; }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb:hover .overlay {
        opacity: 1; }
  .site.site-wp-toolkit .site-section img {
    max-width: 100%; }
  @media (min-width: 768px) {
    .site.site-wp-toolkit .site-banner .banner-logo {
      margin-top: calc(-1 * var(--spacing-1x));
      margin-left: var(--spacing-2x); }
    .site.site-wp-toolkit .site-banner .banner-desc {
      margin-top: var(--spacing-1x);
      white-space: nowrap;
      flex-wrap: nowrap; } }

.inherit-section-titles .site .site-section .section-title {
  text-transform: inherit; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3NpdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy9zaXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX3NsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19uYXZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX25ld3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fZ2VuZXJhbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fcGFuZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19wcmljaW5nLXRhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX2xvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX2Jyb3dzZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fZG9tYWlucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL190ZXN0aW1vbmlhbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19zcGFtZXhwZXJ0cy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19zaXRlbG9jay5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19zc2wuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9wYWdlcy9fdnBuLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvcGFnZXMvX3NvY2lhbGJlZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19tYXJrZXRnb28uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9wYWdlcy9fc2l0ZS1idWlsZGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUZBO0FBR0E7QUNyRkE7RUFDSSxxQ0FBcUM7RUFDckMseUNBQXlDO0VBQ3pDLHlDQUF5QztFQUN6QyxjQUFjO0VDUGxCOzs7O0NDV0M7RUQyQkQ7Ozs7Q0N0QkM7RURzR0Q7Ozs7Q0NqR0M7RURzSEQ7Ozs7Q0NqSEM7RUQ0S0Q7Ozs7Q0N2S0M7RURvU0Q7Ozs7Q0MvUkM7RURzVEQ7Ozs7Q0NqVEM7RUR1VkQ7Ozs7Q0NsVkM7RUM5Q0Q7RUFrRUE7RUNsRUE7RUE2Q0E7RUFRQTtFQ3JEQTs7OztDSHdEQyxFR3BEQztFTERGOzs7SUFRUSx5Q0FBeUM7RUFSakQ7SU1GSSxhQUFhO0lBQ2IsbUJBQW1CO0VOQ3ZCOztJTUdFLGdDQUFnQztFTkhsQztJTU1JLHFDQUFxQztFTk56QztJTVNJLGlCQUFpQjtFQ2dEZjtJUHpETjtNTWFRLGNBQWMsSUFDakI7RUFFTDtJTmhCQTtNTWtCUSxjQUFjLElBQ2pCO0VBRTBCO0lOckIvQjtNTXlCZ0IsbUJBQW1CLElBQ3RCO0VOMUJiO0lNZ0NJLDRCQUE0QjtFTmhDaEM7SUNJSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFNBQVM7SUFDVCx3Q0FBd0M7SUFDeEMsa0NBQWtDO0lEUnRDO01DVVEsc0NBQXNDO0lEVjlDO01DZVksV0FBVztJRGZ2Qjs7OztNQ3VCWSx5Q0FBeUM7SUR2QnJEOztNQzJCWSx1Q0FBdUM7SUQz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QjtFckJ6Q3ZDO0lxQitDNEIsa0NBQWtDO0VyQi9DOUQ7SXFCMkRZLGVBQWU7SUFDZiw2QkFBNkI7RXJCNUR6QztJcUIrRFksZ0JBQWdCO0VyQi9ENUI7SXFCa0VZLGFBQWE7SUFDYixtQkFBbUI7RXJCbkUvQjtJcUJ3RVksd0NBQXdDO0lyQnhFcEQ7TXFCMEVnQixrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLHVCQUF1QjtNQUN2QixtQkFBbUI7TUFDbkIsMEJBQTBCO01BQzFCLHVDQUF1QztNQUN2QyxzQ0FBc0M7TUFDdEMsa0JBQWtCO01BQ2xCLDZCQUE2QjtNckJsRjdDO1FxQm9Gb0IsV0FBVztNckJwRi9CO1FxQnVGb0Isa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYix1QkFBdUI7UUFDdkIsbUJBQW1CO1FBQ25CLFVBQVU7UUFDViwwQ0FBMEM7UXJCNUY5RDtVcUI4RndCLFlBQVk7VUFDWixhQUFhO01yQi9GckM7UXFCb0d3QixVQUFVO0VyQnBHbEM7SXFCMEdZLGVBQWU7RWRqRHJCO0lQekROO01xQmtIZ0Isd0NBQXdDO01BRXBDLDhCQUE4QjtJckJwSGxEO01xQjJIZ0IsNkJBQTZCO01BQzdCLG1CQUFtQjtNQUNuQixpQkFBaUIsSUFDcEI7O0FyQjNGYjtFQUdZLHVCQUF1QiIsImZpbGUiOiJsYWdvbTIvYXNzZXRzL2Nzcy9zaXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiRpc3J0bDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzdHlsZTogJ2RlZmF1bHQnICFkZWZhdWx0OyAvLyBkZWZhdWx0LCBkZXB0aCwgbW9kZXJuLCBmdXR1cmlzdGljLCBpbnRlZ3JhdGlvblxyXG5cclxuJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2U7XHJcblxyXG4vLz09IENvbG9yc1xyXG5AZnVuY3Rpb24gdigkdmFyLCAkZmFsbGJhY2s6IG51bGwpIHtcclxuXHRAaWYoJGZhbGxiYWNrKSB7XHJcblx0XHRAcmV0dXJuIHZhcigtLSN7JHZhcn0sICN7JGZhbGxiYWNrfSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAcmV0dXJuIHZhcigtLSN7JHZhcn0pOyBcclxuXHR9XHJcbn1cclxuXHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xyXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgO1xyXG5cclxuXHJcbiRncmlkLWJyZWFrcG9pbnRzOiAoXHJcbiAgeHM6IDBweCwgXHJcbiAgc206IDQ4MHB4LFxyXG4gIG1kOiA3NjhweCxcclxuICBsZzogOTkycHgsXHJcbiAgeGw6IDEzMjBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxyXG4gIHNtOiA1NDBweCxcclxuICBtZDogMTAwJSxcclxuICBsZzogMTAwJSxcclxuICB4bDogMTI4OHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6IHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6IHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXHJcbiRzaXplczogKCkgIWRlZmF1bHQ7XHJcbiRzaXplczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIDI1OiAyNSUsXHJcbiAgICA1MDogNTAlLFxyXG4gICAgNzU6IDc1JSxcclxuICAgIDEwMDogMTAwJSxcclxuICAgIGF1dG86IGF1dG9cclxuICApLFxyXG4gICRzaXplc1xyXG4pO1xyXG5cclxuLy8gU3BhY2luZ1xyXG4vL1xyXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXHJcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cclxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cclxuXHJcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XHJcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcclxuJHNwYWNlcnM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICAwOiAwLFxyXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxyXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXHJcbiAgICAzOiAkc3BhY2VyLFxyXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxyXG4gICAgNTogKCRzcGFjZXIgKiAzKVxyXG4gICksXHJcbiAgJHNwYWNlcnNcclxuKTtcclxuXHJcbi8vIE5lZWRlZCBmb3IgcmVkKCksIGdyZWVuKCksIGJsdWUoKSBmdW5jdGlvbnMgaW4gYm9vdHJzdHJhcC9fZnVuY3Rpb25zLnNjc3MgJ2NvbG9yLXlpcScgZnVuY3Rpb25cclxuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAjMzZDMDU1ICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICNkOTI2MzIgIWRlZmF1bHQ7XHJcblxyXG4vKiBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS4gKi9cclxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogICAgICAgICAgICAgICAgICAgICAxNTA7XHJcblxyXG4vKiBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi4gKi9cclxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMjEyNTI5O1xyXG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcblxyXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XHJcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCJ2YWxpZFwiOiAoXHJcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXHJcbiAgICAgIFwiaWNvblwiOiB2YXIoLS1mb3JtLWZlZWRiYWNrLWljb24tdmFsaWQpXHJcbiAgICApLFxyXG4gICAgXCJpbnZhbGlkXCI6IChcclxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxyXG4gICAgICBcImljb25cIjogdmFyKC0tZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQpXHJcbiAgICApLFxyXG4gICksXHJcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcclxuKTtcclxuXHJcbi8vPT0gR3JpZCBzeXN0ZW1cclxuXHJcbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMjtcclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDI0cHggIWRlZmF1bHQ7XHJcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICA2ICFkZWZhdWx0O1xyXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgOTkycHg7XHJcbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpO1xyXG5cclxuLy8gVXRpbGl0aWVzXHJcblxyXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XHJcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcclxuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XHJcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDsiLCJAaW1wb3J0ICcuLi9oZWxwZXJzL2Z1bmN0aW9ucy5zY3NzJztcclxuQGltcG9ydCAnLi4vdmFyaWFibGVzLnNjc3MnO1xyXG5cclxuLnNpdGUge1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtZm9udC1zaXplKTtcclxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC1mb250LXdlaWdodCk7XHJcbiAgICBvdmVyZmxvdzogY2xpcDsgLy9oaWRlIG92ZXJmbG93IGVsZW1lbnRzIGZvciBsZWZ0IG5hdmlnYXRpb24gaW4gZnV0dXJzaXRpYyBzdHlsZVxyXG4gICAgcCxcclxuICAgIHVsLFxyXG4gICAgb2wge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctc20pO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbXBvcnQgJ21peGlucy5zY3NzJztcclxuXHJcbiAgICBAaW1wb3J0ICdnZW5lcmFsLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnc2VjdGlvbi5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhbmVsLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnc2xpZGVyLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnYnV0dG9ucy5zY3NzJztcclxuICAgIEBpbXBvcnQgJ25hdnMuc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdwcmljaW5nLXRhYmxlLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnbG9nb3Muc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdicm93c2VyLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnZG9tYWlucy5zY3NzJztcclxuICAgIEBpbXBvcnQgJ25ld3Muc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICd0ZXN0aW1vbmlhbC5zY3NzJztcclxuICAgIFxyXG4gICAgQGltcG9ydCAncGFnZXMvc3BhbWV4cGVydHMuc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdwYWdlcy9zaXRlbG9jay5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NzbC5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3Zwbi5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NvY2lhbGJlZS5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL21hcmtldGdvby5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NpdGUtYnVpbGRlci5zY3NzJztcclxufVxyXG5cclxuLmluaGVyaXQtc2VjdGlvbi10aXRsZXMgLnNpdGV7XHJcbiAgICAuc2l0ZS1zZWN0aW9ue1xyXG4gICAgICAgIC5zZWN0aW9uLXRpdGxle1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIEdlbmVyYWxcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogdmFyKC0tc2l0ZS1zZWN0aW9uLXBhZGRpbmctdikgMDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXNpdGUtc2VjdGlvbi1iZyk7XHJcbiAgICAmICsgLnNpdGUtc2VjdGlvbjpub3QoLnNlY3Rpb24tc2Vjb25kYXJ5KTpub3QoLnNlY3Rpb24tcHJpbWFyeSkgIHtcclxuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tYm9yZGVyKTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1zbGlkZXItYnRuLFxyXG4gICAgJi5zZWN0aW9uLXN0ZXBzIHtcclxuICAgICAgICArIC5zaXRlLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICBib3JkZXI6IDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IC5jb250YWluZXIge1xyXG4gICAgICAgID4gLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWNvbnRlbnQsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tc2lkZXMsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLXNpZGVzLCAgICAgICAgXHJcbiAgICAgICAgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tcGFkZGluZy12KTtcclxuICAgICAgICB9IFxyXG4gICAgICAgID4gLnNlY3Rpb24tZ3JhcGhpYyArIC5zZWN0aW9uLWNvbnRlbnQsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuICAgIC5zaG93LWFsbC1idG4ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBUaXRsZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4uc2l0ZS1zZWN0aW9uIHtcclxuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1jb2xvcik7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJi1zbSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtc20tZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBiLFxyXG4gICAgICAgIHN0cm9uZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICArIC5zZWN0aW9uLXN1YnRpdGxlIHsgXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAodmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIC0gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXN1YnRpdGxlLXNwYWNpbmcpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG4gICAgLnNlY3Rpb24tc3VidGl0bGUge1xyXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi1zdWJ0aXRsZS1jb2xvcik7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3VidGl0bGUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJi1ib3R0b217XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG8gMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAuc2VjdGlvbi10aXRsZSxcclxuICAgICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAgdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLW5vcmR2cG4ge1xyXG4gICAgICAgICAgICAuc2VjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTR4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtc3VidGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1kZXNjIHtcclxuICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00eCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1ncmFwaGljIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gQWN0aW9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4uc2l0ZS1zZWN0aW9uIHsgICAgXHJcbiAgICAuc2VjdGlvbi1hY3Rpb25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3BhY2luZyk7O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAuYnRuICsgLmJ0biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXNtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbi1zaWRlcyB7XHJcbiAgICAgICAgLnNlY3Rpb24tYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIERlc2NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICAuc2VjdGlvbi1kZXNjIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNoZWNrLWxpc3Qge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHMpO1xyXG4gICAgICAgICAgICAgICAgLmxtLWNoZWNrIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmID4gaDMsXHJcbiAgICAgICAgJiA+IC5oMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWFydGljbGUtaDMtbWFyZ2luLXRvcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWFydGljbGUtaDMtbWFyZ2luLWJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgPiBoNCxcclxuICAgICAgICAmID4gLmg0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tYXJ0aWNsZS1oNC1tYXJnaW4tdG9wKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oNC1tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiA+IGg1LFxyXG4gICAgICAgICYgPiAuaDUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWg1LW1hcmdpbi10b3ApO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1hcnRpY2xlLWg1LW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbi1zaWRlcyB7XHJcbiAgICAgICAgLnNlY3Rpb24tZGVzYyB7XHJcbiAgICAgICAgICAgIC50ZXh0LWRlZmF1bHR7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5LWNvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBHcmFwaGljXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5zaXRlLXNlY3Rpb24ge1xyXG4gICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAuZ3JhcGhpYyA+IGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbGx1c3RyYXRpb257XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi1oZWlnaHQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24taWxsdXN0cmF0aW9uLWhlaWdodC1zbSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi13aWR0aC1zbSk7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJvbW8tc2xpZGVyLWljb257XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24td2lkdGgtc20pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zdmctbWFya2V0Z29ve1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNob3dTbGlkZXJJY29ucztcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMzJzO1xyXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5wcm9tby1zbGlkZXItaWNvbi1yZXZlcnNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2hvd1NsaWRlckljb25zUmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5OiAwLjcyc31cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5OiAwLjY0c31cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSl7YW5pbWF0aW9uLWRlbGF5OiAwLjU2c31cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSl7YW5pbWF0aW9uLWRlbGF5OiAwLjcyc31cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKXthbmltYXRpb24tZGVsYXk6IDAuNjRzfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpe2FuaW1hdGlvbi1kZWxheTogMC41NnN9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1jdXN0b20ge1xyXG4gICAgICAgICAgICAuc3ZnLWdyYXBoaWMtc3Ryb2tlLXAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWItY29udGVudC1jcGFuZWxzZW97XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04eCk7XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbi1zaWRlcyB7ICAgICAgIFxyXG4gICAgICAgIC5zZWN0aW9uLWdyYXBoaWMgeyBcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwIChsZykge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKSAvIDIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYub3JkZXItbGFzdCB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93biAobWQpIHtcclxuICAgICAgICAudGFiLWNvbnRlbnQtY3BhbmVsc2Vve1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTR4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYi1wYW5lLWNwYW5lbHNlb3tcclxuICAgICAgICAgICAgLnNlY3Rpb24tc2lkZXN7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnR7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1ncmFwaGlje1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyArIC5zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnQgKyAuc2VjdGlvbi1ncmFwaGljIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ubGFnb20tZGVmYXVsdHtcclxuICAgIC5zaXRlLXNlY3Rpb257XHJcbiAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgICAgICYtaWxsdXN0cmF0aW9ue1xyXG4gICAgICAgICAgICAgICAgLnByb21vLXNsaWRlci1pY29ue1xyXG4gICAgICAgICAgICAgICAgICAgICYuc3ZnLW1hcmtldGdvb3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN2Zy1icm93c2VyLWJvZHksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdmctZ3JhcGhzLWJnLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN2Zy1waG9uZS1iZ3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWdyYXktZmFkZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIENvbnRlbnRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwIChsZykge1xyXG4gICAgICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAgICAgPiAuc2VjdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24gKG1kKSB7XHJcbiAgICAgICAgLnNlY3Rpb24tc2lkZXMge1xyXG4gICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gU2lkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwIChsZykge1xyXG4gICAgICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgPiAqICsgKiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnQsXHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWdyYXBoaWMge1xyXG4gICAgICAgICAgICAgICAgJi5vcmRlci1sYXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAmICsgLm9yZGVyLWZpcnN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gU3R5bGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnksXHJcbi5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IHtcclxuICAgIC5zdmctaWNvbiB7XHJcbiAgICAgICAgLm91dGxpbmUge1xyXG4gICAgICAgICAgICBzdHJva2U6IHZhcigtLXN2Zy1pY29uLW9uLWRhcmstY29sb3Itc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFja2FnZXtcclxuICAgICAgICAuc3ZnLWljb24ge1xyXG4gICAgICAgICAgICAub3V0bGluZXtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tZ3JheS1kYXJrZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyb3dzZXItbm90aWNlIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHRlci1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLWJnLWgpO1xyXG4gICAgLnNlY3Rpb24tdGl0bGUsXHJcbiAgICAuc2VjdGlvbi10aXRsZSBzdHJvbmcsXHJcbiAgICAuc2VjdGlvbi10aXRsZSBiIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXRpdGxlLWNvbG9yKTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uLXN1YnRpdGxlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uLWRlc2Mge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGV4dC1jb2xvcik7XHJcbiAgICB9XHJcbiAgICAuZmVhdHVyZS1jb250ZW50IHtcclxuICAgICAgICAuZmVhdHVyZS10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGl0bGUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmVhdHVyZS1kZXNjIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1ibG9jay10ZXh0LWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibG9jay1iZy1oKTtcclxuICAgIC5zZWN0aW9uLXRpdGxlLFxyXG4gICAgLnNlY3Rpb24tdGl0bGUgc3Ryb25nLFxyXG4gICAgLnNlY3Rpb24tdGl0bGUgYiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmxvY2stdGl0bGUtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tc3VidGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uLWRlc2Mge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXRleHQtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgLmZlYXR1cmUtY29udGVudCB7XHJcbiAgICAgICAgLmZlYXR1cmUtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10aXRsZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mZWF0dXJlLWRlc2Mge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10ZXh0LWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duIChzbSkge1xyXG4gICAgLnNpdGUtc2VjdGlvbiB7XHJcbiAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAuYnJvd3NlcixcclxuICAgICAgICAgICAgLmdyYXBoaWMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiYuc2l0ZS14b3Zpbm93IHtcclxuICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzNjZweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsIi8qIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LiAqL1xuLyogQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uICovXG4uc2l0ZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtbGluZS1oZWlnaHQpO1xuICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtd2VpZ2h0KTtcbiAgb3ZlcmZsb3c6IGNsaXA7XG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gR2VuZXJhbFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gVGl0bGVcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIEFjdGlvbnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIERlc2NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIEdyYXBoaWNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIENvbnRlbnRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIFNpZGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cbiAgLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBTdHlsZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKiBDb2RlR3VhcmQgU2xpZGVyIEJveCAqL1xuICAvKiBDb2RlR3VhcmQgU2xpZGVyICovXG4gIC8qIG1haW4tc3VibmF2ICovXG4gIC8qIHRhYnMtZmlsdGVycyAqL1xuICAvKiBuYXYtdGFiICovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBOZXdzIEJveFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovIH1cbiAgLnNpdGUgcCxcbiAgLnNpdGUgdWwsXG4gIC5zaXRlIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXNtKTsgfVxuICAuc2l0ZSAuZC1mbGV4LWFsaWduIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNpdGUgYixcbiAgLnNpdGUgc3Ryb25nIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTsgfVxuICAuc2l0ZSAuaGFzLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93LWxnKTsgfVxuICAuc2l0ZSAubS1zYWZhcmkge1xuICAgIG1hcmdpbjogMHB4IC0uM3B4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaXRlIC5yb3cuZi1mbG93IHtcbiAgICAgIGZsZXgtZmxvdzogcm93OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NXB4KSB7XG4gICAgLnNpdGUgLmhvbWVwYWdlLXRpbGVzIHtcbiAgICAgIGZsZXgtZmxvdzogcm93OyB9IH1cbiAgQHN1cHBvcnRzICgtd2Via2l0LWh5cGhlbnM6IG5vbmUpIHtcbiAgICAuc2l0ZSAuaG9tZXBhZ2UtdGlsZXMucm93OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgLnNpdGUgLnRleHQtc3RhcnQge1xuICAgIHRleHQtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNpdGUtc2VjdGlvbi1wYWRkaW5nLXYpIDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2l0ZS1zZWN0aW9uLWJnKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gKyAuc2l0ZS1zZWN0aW9uOm5vdCguc2VjdGlvbi1zZWNvbmRhcnkpOm5vdCguc2VjdGlvbi1wcmltYXJ5KSB7XG4gICAgICBib3JkZXItdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tYm9yZGVyKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zbGlkZXItYnRuICsgLnNpdGUtc2VjdGlvbiwgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXN0ZXBzICsgLnNpdGUtc2VjdGlvbiB7XG4gICAgICBib3JkZXI6IDBweDsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gPiAuY29udGFpbmVyID4gLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWNvbnRlbnQsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiA+IC5jb250YWluZXIgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tc2lkZXMsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiA+IC5jb250YWluZXIgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLXNpZGVzLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gPiAuY29udGFpbmVyID4gLnNlY3Rpb24tc2lkZXMgKyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1wYWRkaW5nLXYpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiA+IC5jb250YWluZXIgPiAuc2VjdGlvbi1ncmFwaGljICsgLnNlY3Rpb24tY29udGVudCxcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uID4gLmNvbnRhaW5lciA+IC5zZWN0aW9uLWNvbnRlbnQgKyAuc2VjdGlvbi1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNob3ctYWxsLWJ0biB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXgtd2lkdGgpO1xuICAgIG1hcmdpbjogMCBhdXRvIHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKSBhdXRvO1xuICAgIGNvbG9yOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1mb250LXdlaWdodCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1saW5lLWhlaWdodCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi10aXRsZS1zbSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zbS1mb250LXNpemUpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zbS1mb250LXdlaWdodCk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWxpbmUtaGVpZ2h0KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zbS1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUgYixcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHN0cm9uZyB7XG4gICAgICBjb2xvcjogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUgKyAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogKHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKSAtIHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zdWJ0aXRsZS1zcGFjaW5nKSkpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XG4gICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi1zdWJ0aXRsZS1jb2xvcik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3VidGl0bGUtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWxpbmUtaGVpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXN1YnRpdGxlLWJvdHRvbSB7XG4gICAgICBtYXJnaW46IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKSBhdXRvIDAgYXV0bzsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLXRpdGxlLFxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtc20tbWFyZ2luLWJvdHRvbSk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcy1ub3JkdnBuIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTR4KTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzLW5vcmR2cG4gLnNlY3Rpb24tc3VidGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMtbm9yZHZwbiAuc2VjdGlvbi1kZXNjIHAge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNHgpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMtbm9yZHZwbiAuc2VjdGlvbi1ncmFwaGljIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1hY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3BhY2luZyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1hY3Rpb25zIC5idG4gKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXNtKTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWRlc2MgdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4OyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjIC5jaGVjay1saXN0IHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwcHg7IH1cbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyAuY2hlY2stbGlzdCBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhzKTsgfVxuICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWRlc2MgLmNoZWNrLWxpc3QgbGkgLmxtLWNoZWNrIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IGgzLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IC5oMyB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWgzLW1hcmdpbi10b3ApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oMy1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IGg0LFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IC5oNCB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWg0LW1hcmdpbi10b3ApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oNC1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IGg1LFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IC5oNSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWg1LW1hcmdpbi10b3ApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oNS1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZGVzYyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZGVzYyAudGV4dC1kZWZhdWx0IHtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHktY29sb3IpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYyAuZ3JhcGhpYyA+IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIHtcbiAgICAgIGhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi1oZWlnaHQpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIHtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24taGVpZ2h0LXNtKTtcbiAgICAgICAgICB3aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi13aWR0aC1zbSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiBzdmcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24td2lkdGgpOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1zaXRlLXNlY3Rpb24taWxsdXN0cmF0aW9uLXdpZHRoLXNtKTsgfSB9XG4gICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb28ge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNob3dTbGlkZXJJY29ucztcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMzJzO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vLnByb21vLXNsaWRlci1pY29uLXJldmVyc2Uge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNob3dTbGlkZXJJY29uc1JldmVyc2U7IH1cbiAgICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb28ucHJvbW8tc2xpZGVyLWljb24tcmV2ZXJzZTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNzJzOyB9XG4gICAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vLnByb21vLXNsaWRlci1pY29uLXJldmVyc2U6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjY0czsgfVxuICAgICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvby5wcm9tby1zbGlkZXItaWNvbi1yZXZlcnNlOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC41NnM7IH1cbiAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNzJzOyB9XG4gICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbzpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjY0czsgfVxuICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb286bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC41NnM7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtY3VzdG9tIC5zdmctZ3JhcGhpYy1zdHJva2UtcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnRhYi1jb250ZW50LWNwYW5lbHNlbyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04eCk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZ3JhcGhpYyB7XG4gICAgICAgIG1pbi13aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZykgLyAyKTsgfSB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljLm9yZGVyLWxhc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC50YWItY29udGVudC1jcGFuZWxzZW8ge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00eCk7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC50YWItcGFuZS1jcGFuZWxzZW8gLnNlY3Rpb24tc2lkZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnRhYi1wYW5lLWNwYW5lbHNlbyAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnRhYi1wYW5lLWNwYW5lbHNlbyAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWdyYXBoaWMgKyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWdyYXBoaWMge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9IH1cbiAgLnNpdGUgLmxhZ29tLWRlZmF1bHQgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbyAuc3ZnLWJyb3dzZXItYm9keSxcbiAgLnNpdGUgLmxhZ29tLWRlZmF1bHQgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbyAuc3ZnLWdyYXBocy1iZyxcbiAgLnNpdGUgLmxhZ29tLWRlZmF1bHQgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbyAuc3ZnLXBob25lLWJnIHtcbiAgICBmaWxsOiB2YXIoLS1ncmF5LWZhZGVkKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzID4gLnNlY3Rpb24tY29udGVudCB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzID4gKiArICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9XG4gICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWNvbnRlbnQub3JkZXItbGFzdCArIC5vcmRlci1maXJzdCxcbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZ3JhcGhpYy5vcmRlci1sYXN0ICsgLm9yZGVyLWZpcnN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc3ZnLWljb24gLm91dGxpbmUsXG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zdmctaWNvbiAub3V0bGluZSB7XG4gICAgc3Ryb2tlOiB2YXIoLS1zdmctaWNvbi1vbi1kYXJrLWNvbG9yLXNlY29uZGFyeSk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAucGFja2FnZSAuc3ZnLWljb24gLm91dGxpbmUsXG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5wYWNrYWdlIC5zdmctaWNvbiAub3V0bGluZSB7XG4gICAgc3Ryb2tlOiB2YXIoLS1ncmF5LWRhcmtlcik7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuYnJvd3Nlci1ub3RpY2UgcCxcbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkgLmJyb3dzZXItbm90aWNlIHAge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0ZXItY29sb3IpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1ibG9jay1iZy1oKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLnNlY3Rpb24tdGl0bGUsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc2VjdGlvbi10aXRsZSBzdHJvbmcsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc2VjdGlvbi10aXRsZSBiIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGl0bGUtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLnNlY3Rpb24tZGVzYyB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXRleHQtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuZmVhdHVyZS1jb250ZW50IC5mZWF0dXJlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGl0bGUtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuZmVhdHVyZS1jb250ZW50IC5mZWF0dXJlLWRlc2Mge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1ibG9jay10ZXh0LWNvbG9yKTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibG9jay1iZy1oKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLXRpdGxlLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLXRpdGxlIHN0cm9uZyxcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tcHJpbWFyeSAuc2VjdGlvbi10aXRsZSBiIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLWRlc2Mge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmxvY2stdGV4dC1jb2xvcik7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tcHJpbWFyeSAuZmVhdHVyZS1jb250ZW50IC5mZWF0dXJlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5mZWF0dXJlLWNvbnRlbnQgLmZlYXR1cmUtZGVzYyB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10ZXh0LWNvbG9yKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pO1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljIC5icm93c2VyLFxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljIC5ncmFwaGljIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuc2l0ZS5zaXRlLXhvdmlub3cgLnNlY3Rpb24tc2lkZXMge1xuICAgIG1heC1oZWlnaHQ6IDM2NnB4OyB9XG4gIC5zaXRlIC5wYW5lbC1mYXEge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWwge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsLWJvZHksIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsLWJvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtZm9udC1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC1saW5lLWhlaWdodCk7IH1cbiAgICAgIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtaDUpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaDUpOyB9XG4gICAgICAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAgIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgICAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbDpob3ZlciwgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWwuaXMtb3BlbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFuZWwtYm9yZGVyLWRpdmlkZXItY29sb3IpICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsLWFjY29yZGlvbiBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMngpOyB9XG4gIC5zaXRlIC5wYWNrYWdlLXNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA4MzJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3cpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDQ4cHggNTZweDsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1ib3R0b20ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmctdG9wOiA1NHB4OyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnktaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XG4gICAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5LWl0ZW06bm90KDpsYXN0LW9mLXR5cGUpOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1ib3JkZXItY29sb3IpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5LWxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaWNlLWZvbnQtc2l6ZS1jb2xvcik7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LXhzLWZvbnQtc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQteHMtbGluZS1oZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5LXZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1wcmljZS1mb250LXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tcHJpY2UtbGluZS1oZWlnaHQpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tcHJpY2UtZm9udC13ZWlnaHQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpY2UtY29sb3IpOyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeSAucHJpY2UtY3ljbGUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyBmb3JtICsgZm9ybSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpOyB9XG4gIC5zaXRlIC5zbGlkZXIgLmlycy1zaW5nbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2l0ZSAuc2xpZGVyLWFjdGlvbnMge1xuICAgIHBhZGRpbmctdG9wOiAxNnB4OyB9XG4gICAgLnNpdGUgLnNsaWRlci1hY3Rpb25zLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5zaXRlIC5zbGlkZXItYWN0aW9ucy1idG4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogNjhweDtcbiAgICAgIGhlaWdodDogdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtaGVpZ2h0KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWJvcmRlci1jb2xvcik7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LXNtLWZvbnQtc2l6ZSk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LXNtLWxpbmUtaGVpZ2h0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7IH1cbiAgICAgIC5zaXRlIC5zbGlkZXItYWN0aW9ucy1idG46aG92ZXIsIC5zaXRlIC5zbGlkZXItYWN0aW9ucy1idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gICAgICAuc2l0ZSAuc2xpZGVyLWFjdGlvbnMtYnRuIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWJvcmRlci1yYWRpdXMpOyB9XG4gICAgICAuc2l0ZSAuc2xpZGVyLWFjdGlvbnMtYnRuLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS11aS1saW5rLWFjdGl2ZS1jb2xvcik7IH1cbiAgLnNpdGUtaW5kZXggLnNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYm90dG9tLmhhcy1jdXJyZW5jeSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1ib3R0b20uaGFzLWN1cnJlbmN5IC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYm9keSB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpOyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWJvdHRvbSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1ib3R0b20uaGFzLWN1cnJlbmN5IC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIGZvcm0ge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMge1xuICAgICAgZmxleDogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMgZm9ybSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIC5idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zaXRlIC5zbGlkZXItYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAobWF4LXdpZHRoOiA1NzVweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBmbGV4OiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyBmb3JtICsgZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMTZweCAwIDA7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeS1pdGVtIHtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnktbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5IC5wcmljZS1wcmVmaXgge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtZm9udC1zaXplKTsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5IC5wcmljZS1jeWNsZSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC1mb250LXNpemUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zaXRlIC5zaG93LWFsbC1idG4ge1xuICAgIG1hcmdpbjogMjRweCAwcHggMHB4IDBweDsgfVxuICAgIC5zaXRlIC5zaG93LWFsbC1idG4gLnNob3ctYWxsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpOyB9XG4gIC5zaXRlIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtbWFyZ2luLWJvdHRvbSk7IH1cbiAgICAuc2l0ZSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1oZWlnaHQtYmFzZSk7IH1cbiAgICAgIC5zaXRlIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1oZWlnaHQtYmFzZSkgIWltcG9ydGFudDsgfVxuICAgICAgICAuc2l0ZSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLCAuc2l0ZSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWJnKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWJvcmRlcik7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWNvbG9yKTsgfVxuICAgICAgICAuc2l0ZSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLXByaW1hcnktYmcpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyKTtcbiAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWJhc2UpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1jb2xvcik7IH1cbiAgICAgICAgLnNpdGUgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0biArIC5idG4ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cbiAgLnNpdGUgLnNlY3Rpb24tdGl0bGUgKyAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKSAvIC0yKTsgfVxuICAuc2l0ZSAuc2VjdGlvbi1wcmltYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCxcbiAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tbGlnaHQtYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tbGlnaHQtYmcpOyB9XG4gICAgLnNpdGUgLnNlY3Rpb24tcHJpbWFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuLFxuICAgIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tbGlnaHQtY29sb3IpOyB9XG4gICAgICAuc2l0ZSAuc2VjdGlvbi1wcmltYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsIC5zaXRlIC5zZWN0aW9uLXByaW1hcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bjpmb2N1cy12aXNpYmxlLFxuICAgICAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsXG4gICAgICAuc2l0ZSAuc2VjdGlvbi1zZWNvbmRhcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWxpZ2h0LWJnKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLnNpdGUgLnNlY3Rpb24tcHJpbWFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbiAgICAgIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWJnKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1ib3JkZXIpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWJhc2UpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtY29sb3IpOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXByaW1hcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuZHJvcGRvd24tdG9nZ2xlLFxuICAuc2l0ZSAuc2VjdGlvbi1zZWNvbmRhcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1saWdodC1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1saWdodC1iZyk7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1saWdodC1jb2xvcik7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1kcm9wZG93bi1taW4td2lkdGgpOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXByaW1hcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuZHJvcGRvd24taXRlbSxcbiAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIGZsZXg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgcGFkZGluZyB2YXIoLS10cmFuc2l0aW9uLWJhc2UpOyB9XG4gICAgLnNpdGUgLnNlY3Rpb24tcHJpbWFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSxcbiAgICAuc2l0ZSAuc2VjdGlvbi1zZWNvbmRhcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuZHJvcGRvd24taXRlbS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHJvcGRvd24tbGluay1hY3RpdmUtYmcpOyB9XG4gIC5zaXRlIC5zaXRlLXN1Ym5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc3VibmF2IC5uYXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1uYXYtbGluay1wYWRkaW5nLWgpKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLW5hdi1saW5rLXBhZGRpbmctaCkpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnNpdGUgLnNpdGUtc3VibmF2IC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgICAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSAubmF2YmFyLW5hdiBsaSBhIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7IH1cbiAgICAgICAgLnNpdGUgLnNpdGUtc3VibmF2IC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdWktaWNvbi1jb2xvcik7IH1cbiAgICAgICAgLnNpdGUgLnNpdGUtc3VibmF2IC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfSB9XG4gIC5zaXRlIC5zc2wtZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5zaXRlIC50YWJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2l0ZSAudGFicyAubmF2LXRhYnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAuc2l0ZSAudGFicyAubmF2LXRhYnM6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS1saWdodGVyLTQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIGJvdHRvbTogMDsgfVxuICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgLnBhbmVsLXBhY2thZ2Uge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgLnBhbmVsLXBhY2thZ2UgdWwgbGkgLmxtLWNoZWNrIHtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gICAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIC5wYW5lbC1wYWNrYWdlIHVsIGxpLnByaWNlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7IH1cbiAgICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgLnBhbmVsLXBhY2thZ2UgZm9ybSB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpOyB9XG4gIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSAuc2lkZWJhciAuaGVhZGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xuICAgIGhlaWdodDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgLnNpZGViYXIgdWwgbGkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0KTsgfVxuICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgLnBhY2thZ2UtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctc20pO1xuICAgIGhlaWdodDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgLnBhY2thZ2UtaGVhZGVyIGg0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTsgfVxuICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgdWwgbGkge1xuICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgLnNpdGUgLmxvZ29zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgLnNpdGUgLmxvZ29zIC5sb2dvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctc20pOyB9XG4gICAgICAuc2l0ZSAubG9nb3MgLmxvZ28gPiBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUgLmJyb3dzZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zdmctZ3JhcGhpYy1zaGFkb3cpOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItdG9wIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBwYWRkaW5nOiAwIHZhcigtLXVpLWJsb2NrLXBhZGRpbmctc20pOyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci10b3A6bm90KC5icm93c2VyLXRvcC10cmFuc3BhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdmctZ3JhcGhpYy1iZy1icm93c2VyLXRvcCk7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLWFjdGlvbnMgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3ZnLWdyYXBoaWMtYmctYnJvd3Nlci1hY3Rpb25zKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgIC5zaXRlIC5icm93c2VyLWJvZHkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctc20pOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItc20ge1xuICAgICAgd2lkdGg6IDQ0NnB4OyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci1zbSAuYnJvd3Nlci10b3Age1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy0xeCk7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1tZCB7XG4gICAgICB3aWR0aDogNTYwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgLnNpdGUgLmJyb3dzZXIgLnN2Zy1ncmFwaGljIHtcbiAgICAgICAgaGVpZ2h0OiAzMTRweDsgfSB9XG4gICAgLnNpdGUgLmJyb3dzZXItZ29vZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItZ29vZ2xlID4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItZ29vZ2xlID4gZGl2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci1nb29nbGUgLnF1b3RlIHtcbiAgICAgICAgdG9wOiAtMTMuNXB4O1xuICAgICAgICByaWdodDogMjhweDsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItZ29vZ2xlIC5wdXp6bGUge1xuICAgICAgICBib3R0b206IC0xOXB4O1xuICAgICAgICByaWdodDogLTE5cHg7IH1cbiAgLnNpdGUgLmJyb3dzZXItc3NsIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5zaXRlIC5icm93c2VyLXNzbCAuYnJvd3Nlci1ib2R5IHtcbiAgICAgIGhlaWdodDogNDQwcHg7IH1cbiAgLnNpdGUgLmJyb3dzZXItbGcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogODMycHg7XG4gICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktYmxvY2stYm9yZGVyLXJhZGl1cy1sZyk7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1sZyAuYnJvd3Nlci10b3Age1xuICAgICAgcGFkZGluZzogMnB4IDAgMTBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLWFjdGlvbnMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci1sZyAuYnJvd3Nlci1hY3Rpb25zID4gc3BhbiB7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xeCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWJyb3dzZXItYWN0aW9ucyk7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1sZyAuYnJvd3Nlci1zZWFyY2hiYXIge1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdmctZ3JhcGhpYy1iZy1mYWRlZCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLWJvZHkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLW5vdGljZSB7XG4gICAgICBtYXgtd2lkdGg6IDQ1NnB4O1xuICAgICAgcGFkZGluZzogMHB4IDEycHg7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLW5vdGljZSBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLWltYWdlIHtcbiAgICAgIG1hcmdpbjogLTQwcHggMCA0MHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNpdGUgLmJyb3dzZXItem9vbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci16b29tIC5icm93c2VyLWltZy16b29tIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci16b29tIC5icm93c2VyLWltZy16b29tLCAuc2l0ZSAuYnJvd3Nlci16b29tIC5icm93c2VyLWltZy16b29tOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigxLCAwLCAxLCAxKTsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItem9vbSAuYnJvd3Nlci1pbWctem9vbTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLXByaW1hcnktZ3JhZGllbnQtdik7XG4gICAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItem9vbSAuYnJvd3Nlci1pbWctem9vbSBpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeS1oZWFkaW5nLWNvbG9yKTtcbiAgICAgICAgZm9udC1zaXplOiA2NHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigxLCAwLCAxLCAxKTsgfVxuICAgIC5zaXRlIC5icm93c2VyLXpvb206aG92ZXIgLmJyb3dzZXItaW1nLXpvb20ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLXpvb206aG92ZXIgLmJyb3dzZXItaW1nLXpvb20gaSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9XG4gIC5zaXRlLnNpdGUtc3BhbWV4cGVydHMgLmJyb3dzZXItc20ge1xuICAgIGhlaWdodDogMjY2cHg7IH1cbiAgICAuc2l0ZS5zaXRlLXNwYW1leHBlcnRzIC5icm93c2VyLXNtIC5icm93c2VyLWJvZHkge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH1cbiAgLnNpdGUgLmRvbWFpbi10bGRzIHtcbiAgICBtYXJnaW46IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKSAwIDAgMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5kb21haW4tdGxkcyA+ICoge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICAgIG1heC13aWR0aDogMjQwcHg7IH1cbiAgICAuc2l0ZSAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsZyk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnKTsgfVxuICAgICAgLnNpdGUgLmRvbWFpbi10bGRzIC5kb21haW4tdGxkIC50bGQtcHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0ZXItY29sb3IpOyB9XG4gICAgICAuc2l0ZSAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQgLnRsZC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMngpOyB9XG4gICAgICAgIC5zaXRlIC5kb21haW4tdGxkcyAuZG9tYWluLXRsZCAudGxkLW5hbWUgPiBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAgIC5zaXRlIC5kb21haW4tdGxkcyA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS5zaXRlLWluZGV4IC5kb21haW4tdGxkcyAuY29sLXNtLFxuICAgIC5zaXRlIC5zaXRlLnNpdGUtaW5kZXggLmRvbWFpbi10bGRzID4gKiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLnNpdGUgLmRvbWFpbi10bGRzIHtcbiAgICAgIG1hcmdpbjogMCAtNHB4OyB9XG4gICAgICAuc2l0ZSAuZG9tYWluLXRsZHMgPiAqIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgLnNpdGUgLmRvbWFpbi10bGRzIC5kb21haW4tdGxkIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xeCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktbGlnaHRlci00KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgIC5zaXRlIC5kb21haW4tdGxkcyA+ICoge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDc5Ljk4cHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS5zaXRlLWluZGV4IC5kb21haW4tdGxkcyAuY29sLXNtLFxuICAgIC5zaXRlIC5zaXRlLnNpdGUtaW5kZXggLmRvbWFpbi10bGRzID4gKiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5zaXRlIC5zaXRlLnNpdGUtaW5kZXggLmRvbWFpbi10bGRzIC5kb21haW4tdGxkIC50bGQtbmFtZSxcbiAgICAuc2l0ZSAuc2l0ZS5zaXRlLWluZGV4IC5kb21haW4tdGxkcyAuZG9tYWluLXRsZCAudGxkLXByaWNlIHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAgIC5zaXRlIC5zaXRlLnNpdGUtaW5kZXggLmRvbWFpbi10bGRzIC5kb21haW4tdGxkIC50bGQtcHJpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuc2l0ZSAubmV3cy1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXI6IHZhcigtLXVpLWJsb2NrLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdy1sZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tYmFzZSkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhsZyk7IH1cbiAgICAuc2l0ZSAubmV3cy1ib3g6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1ob3Zlci1iZyk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC04cHgsIDApO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93LXhsZyk7IH1cbiAgICAgIC5zaXRlIC5uZXdzLWJveDpob3ZlciAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aWxlLWJvcmRlci1jb2xvci1ob3Zlcik7IH1cbiAgICAgIC5zaXRlIC5uZXdzLWJveDpob3ZlciAubmV3cy1hY3Rpb25zID4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1saW5rLWhvdmVyLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5uZXdzLWJveCAubmV3cy1ib2R5IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiAxNnB4IDIwcHggMjBweCAyNHB4OyB9XG4gICAgLnNpdGUgLm5ld3MtYm94IC5uZXdzLWRhdGUge1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHRlci1jb2xvcik7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC14cy1mb250LXNpemUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy14cyk7IH1cbiAgICAgIC5zaXRlIC5uZXdzLWJveCAubmV3cy1kYXRlIGkge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC14cy1mb250LXNpemUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdWktaWNvbi1jb2xvcik7IH1cbiAgICAuc2l0ZSAubmV3cy1ib3ggLm5ld3MtZGVzYyB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGxnZyk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnZyk7XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTsgfVxuICAgICAgLnNpdGUgLm5ld3MtYm94IC5uZXdzLWRlc2MgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zaXRlIC5uZXdzLWJveCAubmV3cy1hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMXgpIHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTsgfVxuICAuc2l0ZSAuY29udGVudC1zbGlkZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2l0ZSAuY29udGVudC1zbGlkZXItd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2l0ZSAuY29udGVudC1zbGlkZXItaXRlbSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7IH1cbiAgICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7IH1cbiAgICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci1pdGVtLWltZyBpbWcge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWxnKTtcbiAgICAgICAgd2lkdGg6IDc2OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICAgICAgbWFyZ2luOiAwIHZhcigtLXNwYWNpbmctMngpOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgICAgICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci1pdGVtLWltZyBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDY2NHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW0taW1nIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogNTEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xeCk7IH0gfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAgICAgICAuc2l0ZSAuY29udGVudC1zbGlkZXItaXRlbS1pbWcgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMDVweDsgfSB9XG4gIC5zaXRlIC50ZXN0aW1vbmlhbHMtaXRlbSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xuICAgIGJvcmRlcjogdmFyKC0tdWktYmxvY2stYm9yZGVyKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3cpO1xuICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1ibG9jay1ib3JkZXItcmFkaXVzKTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnNpdGUgLnRlc3RpbW9uaWFscy1kZXNjIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTsgfVxuICAgIC5zaXRlIC50ZXN0aW1vbmlhbHMtZGVzYyA+IHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc2l0ZSAudGVzdGltb25pYWxzLWRlc2MgcCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bGcpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsZyk7IH1cbiAgLnNpdGUgLnRlc3RpbW9uaWFscy1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LXNtLWxpbmUtaGVpZ2h0KTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5zaXRlIC50ZXN0aW1vbmlhbHMtYXZhdGFyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICAuc2l0ZSAudGVzdGltb25pYWxzLWF2YXRhciBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgIC5zaXRlIC50ZXN0aW1vbmlhbHMtYXZhdGFyIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDBweDtcbiAgICAgIHJpZ2h0OiAtMTZweDsgfVxuICAuc2l0ZSAudGVzdGltb25pYWxzLWF1dGhvciA+IHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaXRlIC50ZXN0aW1vbmlhbHMucm93IC50ZXN0aW1vbmlhbHMtaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTsgfSB9XG4gIC5zaXRlIC5zbGlkZXIgLnRlc3RpbW9uaWFscy1pdGVtIHtcbiAgICBtaW4td2lkdGg6IDM0MHB4O1xuICAgIG1hcmdpbjogMHB4IDEycHg7IH1cbiAgLnNpdGUgLmNoZWNrLWZlYXR1cmVzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXh4bGcpOyB9XG4gICAgLnNpdGUgLmNoZWNrLWZlYXR1cmVzID4gKiB7XG4gICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDRweDsgfVxuICAgIC5zaXRlIC5jaGVjay1mZWF0dXJlcyAubG0tY2hlY2sge1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7IH1cbiAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBhY2thZ2UtYmcpO1xuICAgIGJvcmRlcjogdmFyKC0tcGFja2FnZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBhY2thZ2UtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tcGFja2FnZS1ibG9jay1zaGFkb3cpO1xuICAgIHBhZGRpbmc6IHZhcigtLXBhY2thZ2UtcGFkZGluZyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkLWNvbnRlbnQge1xuICAgICAgZmxleDogMTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZC1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpOyB9XG4gICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmFkZGl0aW9uYWwtb3B0aW9ucyAub3B0aW9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAucHJpY2U6bm90KDpudGgtY2hpbGQoMykpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm90bi1zaXplLW1kKTsgfVxuICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0biBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yeCk7IH1cbiAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4uYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7IH1cbiAgICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0bi5hY3RpdmUgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0bi5hY3RpdmUgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNjRweDsgfVxuICAgICAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4uYWN0aXZlIHNwYW4gaSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4OyB9XG4gICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuIC5zdmctaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4ge1xuICAgICAgICAgICAgcGFkZGluZzogMTRweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzkuOThweCkge1xuICAgICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OS45OHB4KSB7XG4gICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXhsZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhsZyk7IH1cbiAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vLXRpdGxlIGgzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8tYmFubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpOyB9XG4gICAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vLWJhbm5lciBoNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vLXRpdGxlIGgzIHtcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMjBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLnNpdGUgLmVtZXJnZW5jeS1wcm9tby10aXRsZSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteGxnKTsgfSB9XG4gIC5zaXRlIC5zZWN0aW9uLXNzbC11cGdyYWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5zaXRlIC5zZWN0aW9uLXNzbC11cGdyYWRlIC5icm93c2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5zaXRlIC5zZWN0aW9uLXNzbC11cGdyYWRlIC5icm93c2VyLXRvcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5zaXRlIC5zc2wtdXBncmFkZSB7XG4gICAgbWFyZ2luLXRvcDogLTY0cHg7XG4gICAgcGFkZGluZzogMTAwcHggMDsgfVxuICAgIC5zaXRlIC5zc2wtdXBncmFkZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhsZyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhsZyk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHQpO1xuICAgICAgZm9udC1zaXplOiAyOHB4OyB9XG4gIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeS5zZWN0aW9uLXNzbC11cGdyYWRlIC5zc2wtdXBncmFkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOHgpOyB9XG4gIC5zaXRlIC5tb2RhbC1yZXN1bHRzIC5yZXN1bHQtbmVnYXRpdmUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gIC5zaXRlIC5tb2RhbC1yZXN1bHRzIC5yZXN1bHQtcG9zaXRpdmUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MtY29sb3IpOyB9XG4gIC5zaXRlIC5tb2RhbC1yZXN1bHRzIC5yZXN1bHQtY29uY2VybiB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtd2FybmluZy1jb2xvcik7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5pbWctb3ZlcmxhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHg7IH0gfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0yOmZpcnN0LW9mLXR5cGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMiB7XG4gICAgbWluLWhlaWdodDogNHJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMiB7XG4gICAgbWluLWhlaWdodDogMS41cmVtOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDcpIC5jb2wtMjpub3QoOm50aC1vZi10eXBlKDIpKSxcbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yOm5vdCg6bnRoLW9mLXR5cGUoMikpLFxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm5vdCg6bnRoLW9mLXR5cGUoMikpIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoMikgLmNvbC0yOm50aC1vZi10eXBlKDIpLFxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTI6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOm50aC1vZi10eXBlKDIpKSB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoMikgLmNvbC0yOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSg3KSAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDIpIC5jb2wtMjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoNykgLmNvbC0yOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMiAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWluZm8tbGlnaHRlci0zKTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMiBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmJ0bi1nZXQtZGVhbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFuZ2VyKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24tY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24tY29udGFpbmVyID4gLnJvdyB7XG4gICAgbWluLXdpZHRoOiAxMTEwcHg7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc2lvbi1pbWFnZXMgaW1nIHtcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5yb3ctY3VzdG9tIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMngpO1xuICAgICAgZ2FwOiAyNHB4OyB9IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5yb3ctY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05eCk7IH1cbiAgICAuc2l0ZS5zaXRlLW5vcmR2cG4gLnJvdy1jb250ZW50LWxnIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1wYWRkaW5nLXYpOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAgICAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5yb3ctY29udGVudC1sZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02eCk7IH0gfVxuICAgIC5zaXRlLnNpdGUtbm9yZHZwbiAucm93LWNvbnRlbnQgLmg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKSAhaW1wb3J0YW50OyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAucm93IC5jb2wtc20tMTIge1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaXRlLnNpdGUtbm9yZHZwbiAuZmVhdHVyZS1pY29uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctM3gpOyB9IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5mZWF0dXJlLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5wYWNrYWdlcy1jdXN0b20gLnBhY2thZ2Uge1xuICAgIGhlaWdodDogbWF4LWNvbnRlbnQ7IH1cbiAgICAuc2l0ZS5zaXRlLW5vcmR2cG4gLnBhY2thZ2VzLWN1c3RvbSAucGFja2FnZS1ib2R5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnNpdGUgLmljb25zLW5ldHdvcmsge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICAgLnNpdGUgLmljb25zLW5ldHdvcmsgLmNvbnRlbnQtc2xpZGVyLXdyYXBwZXIge1xuICAgICAgZ2FwOiA0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaXRlIC5zZWN0aW9uLWNvbnRlbnQtY3VzdG9tIC5yb3ctY3VzdG9tOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmljb25zLW5ldHdvcmsgLmNvbnRlbnQtc2xpZGVyLXdyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZSB7XG4gICAgd2lkdGg6IDEyNDhweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktbGlnaHRlci00KSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9fY2VsbCB7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtYm9keS1jb2xvcik7IH1cbiAgICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19jZWxsLnByaWNpbmctdGFibGVfX2hlYWRlci1jZWxsLnByaWNpbmctdGFibGVfX2ZlYXR1cmUtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTsgfVxuICAgICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX2NlbGwucHJpY2luZy10YWJsZV9faGVhZGVyLWNlbGwucHJpY2luZy10YWJsZV9fcGxhbi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7IH1cbiAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9faGVhZGVyLWNlbGwge1xuICAgICAgcGFkZGluZzogMjRweCAwOyB9XG4gICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX3JvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9fcm93OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeS1saWdodGVyLTQpOyB9XG4gICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX3Jvdy1hY3Rpb25zIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsgfVxuICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19mZWF0dXJlLW5hbWUge1xuICAgICAgZmxleDogMS41O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpOyB9XG4gICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX2ZlYXR1cmUtaGVhZGVyIHtcbiAgICAgIGZsZXg6IDEuNTsgfVxuICAuc2l0ZS5zaXRlLW1hcmtldGdvbyAuc2VjdGlvbi12aWRlbyAuZW1iZWQtcmVzcG9uc2l2ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM1JTtcbiAgICBtYXgtd2lkdGg6IDcwMnB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaXRlLnNpdGUtbWFya2V0Z29vIC5zaXRlLWJhbm5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTJweDsgfVxuICAgIC5zaXRlLnNpdGUtbWFya2V0Z29vIC5zZWN0aW9uLXN0ZXBzIHtcbiAgICAgIG1hcmdpbi10b3A6IC05MnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLnNpdGUuc2l0ZS1tYXJrZXRnb28gLnNlY3Rpb24tc3RlcHMgKyAuc2l0ZS1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLnNpdGUuc2l0ZS1tYXJrZXRnb28gLnNlY3Rpb24tdmlkZW8gLmVtYmVkLXJlc3BvbnNpdmUge1xuICAgICAgbWF4LXdpZHRoOiA0MzRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNTRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NTlweCkge1xuICAgIC5zaXRlLnNpdGUtbWFya2V0Z29vIC5zZWN0aW9uLXZpZGVvIC5lbWJlZC1yZXNwb25zaXZlIHtcbiAgICAgIG1heC13aWR0aDogMzI4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTk0cHg7IH1cbiAgICAuc2l0ZS5zaXRlLW1hcmtldGdvbyAuc2xpZGVyIC50ZXN0aW1vbmlhbHMtaXRlbSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc2l0ZSAuc2xpZGVyIC50ZXN0aW1vbmlhbHMtaXRlbSB7XG4gICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAyNHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAubmF2Lm5hdi10YWJzIGxpIGEuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucm93ICsgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05eCk7IH1cbiAgLnNpdGUgLnNlY3Rpb24tdGVtcGxhdGVzIC50ZW1wbGF0ZXMgLnByZXZpZXdzIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLnNpdGUgLnNlY3Rpb24tdGVtcGxhdGVzIC50ZW1wbGF0ZXMgLnByZXZpZXdzIGEgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1wcmV2aWV3cy1pbWctaGVpZ2h0KTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7IH1cbiAgLnNpdGUgLnNlY3Rpb24tdGVtcGxhdGVzIC50ZW1wbGF0ZXMgLnByZXZpZXdzIC50eXBlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXRlbXBsYXRlcyAudGVtcGxhdGVzIC5wcmV2aWV3cyAudHBsbmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yeCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodGVyKTsgfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucHJldmlld3MgLnRodW1iLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LXhsZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTJ4KTsgfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucHJldmlld3MgLnNob3ctbW9yZS1idG4ge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2luZy04eCkgYXV0byAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXRlbXBsYXRlcyAudGVtcGxhdGVzIC5wcmV2aWV3cyAuc2hvdy1tb3JlLWl0ZW0gYTpmb2N1cy12aXNpYmxlIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5LWRhcmtlcik7IH1cbiAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLWJhbm5lciAuYmFubmVyLWltZyB7XG4gICAgbWF4LXdpZHRoOiAxMjAlO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOXgpOyB9XG4gIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1iYW5uZXIgLmJhbm5lci1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDE2NHB4OyB9XG4gIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1iYW5uZXIgLmJhbm5lci1kZXNjIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zeCkpOyB9XG4gICAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIC5zY3JlZW5zaG90LXRodW1iIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTF4KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktbGlnaHRlci00KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zeCk7IH1cbiAgICAgIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1zZWN0aW9uIC5zY3JlZW5zaG90cyAuc2NyZWVuc2hvdC10aHVtYiA+IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtc2VjdGlvbiAuc2NyZWVuc2hvdHMgLnNjcmVlbnNob3QtdGh1bWIgLm92ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7IH1cbiAgICAgICAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIC5zY3JlZW5zaG90LXRodW1iIC5vdmVybGF5ID4gaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDsgfVxuICAgICAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIC5zY3JlZW5zaG90LXRodW1iOmhvdmVyIC5vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtc2VjdGlvbiBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtYmFubmVyIC5iYW5uZXItbG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xeCkpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMngpOyB9XG4gICAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLWJhbm5lciAuYmFubmVyLWRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xeCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuXG4uaW5oZXJpdC1zZWN0aW9uLXRpdGxlcyAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7IH1cbiIsIi8qIENvZGVHdWFyZCBTbGlkZXIgQm94ICovXHJcblxyXG4ucGFja2FnZS1zbGlkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDgzMnB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3cpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktYmxvY2stYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XHJcbiAgICAmLWJvZHkge1xyXG4gICAgICAgIHBhZGRpbmc6IDQ4cHggNTZweDtcclxuICAgIH1cclxuICAgICYtYm90dG9tIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNTRweDtcclxuICAgIH1cclxuICAgICYtc3VtbWFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcclxuICAgICAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpY2UtZm9udC1zaXplLWNvbG9yKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQteHMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC14cy1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi12YWx1ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXByaWNlLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXByaWNlLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaWNlLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLWN5Y2xle1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtYWN0aW9ucyB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmb3JtICsgZm9ybSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogQ29kZUd1YXJkIFNsaWRlciAqL1xyXG5cclxuLnNsaWRlciB7XHJcbiAgICAuaXJzLXNpbmdsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLWFjdGlvbnMge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xyXG4gICAgICAgICYtbGlzdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcnRse1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYnRuIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA2OHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWhlaWdodCk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC1zbS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LXNtLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXVpLWxpbmstYWN0aXZlLWNvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJi1pbmRleCB7XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24gKG1kKSB7XHJcbiAgICAucGFja2FnZS1zbGlkZXIge1xyXG4gICAgICAgICYtYm90dG9tIHtcclxuICAgICAgICAgICAgJi5oYXMtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgLnBhY2thZ2Utc2xpZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmLWFjdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLnBhY2thZ2Utc2xpZGVyIHtcclxuICAgICAgICAmLWJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJvdHRvbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgJi5oYXMtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgLnBhY2thZ2Utc2xpZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmLWFjdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWFjdGlvbnMge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDsgICAgICAgICAgICBcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHsgXHJcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgICYtYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xyXG4gICAgLnBhY2thZ2Utc2xpZGVyIHtcclxuICAgICAgICAmLWFjdGlvbnMge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyBcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgZm9ybStmb3JtIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTZweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXZhbHVlIHtcclxuICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiBtYXAtZ2V0KCRzaXRlLWZvbnQtc2l6ZSwgXCJsYXJnZVwiKTtcclxuICAgICAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IG1hcC1nZXQoJHNpdGUtbGluZS1oZWlnaHQsIFwibGFyZ2VcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgICAgICYtcHJlZml4IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IG1hcC1nZXQoJHNpdGUtbGluZS1oZWlnaHQsIFwiYmFzZVwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtY3ljbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9saW5lLWhlaWdodDogbWFwLWdldCgkc2l0ZS1saW5lLWhlaWdodCwgXCJiYXNlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyogbWFpbi1zdWJuYXYgKi9cclxuXHJcbi5zaXRlLXN1Ym5hdiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7ICAgIFxyXG4gICAgLm5hdiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1uYXYtbGluay1wYWRkaW5nLWgpKTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1uYXYtbGluay1wYWRkaW5nLWgpKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgICYuY29sbGFwc2Uge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpOyAgICAgICAgXHJcbiAgICAgICAgLm5hdmJhci10b2dnbGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIC5pY29uLWJhciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11aS1pY29uLWNvbG9yKTtcclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiB0YWJzLWZpbHRlcnMgKi9cclxuXHJcbi5zc2wtZmlsdGVycyB7ICAgICAgICBcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi8qIG5hdi10YWIgKi9cclxuXHJcbi50YWJzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5uYXYtdGFicyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OlwiXCI7XHJcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LWxpZ2h0ZXItNCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIH0gICAgXHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIE5ld3MgQm94XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5uZXdzLWJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJvcmRlcjogdmFyKC0tdWktYmxvY2stYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93LWxnKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteGxnKTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRpbGUtaG92ZXItYmcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtOHB4LDApO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdy14bGcpO1xyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbGUtYm9yZGVyLWNvbG9yLWhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ld3MtYWN0aW9ucyA+IHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbGluay1ob3Zlci1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5ld3MtYm9keSB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHggMjBweCAyNHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uZXdzLWRhdGUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0ZXItY29sb3IpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LXhzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy14cyk7XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LXhzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdWktYmxvY2stc3BhY2luZy14cyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS11aS1pY29uLWNvbG9yKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLm5ld3MtZGVzYyB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bGdnKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnZyk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmV3cy1hY3Rpb25zIHtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTF4KSB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XHJcbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmQtZmxleC1hbGlnbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG59XHJcbi5oYXMtc2hhZG93IHtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdy1sZyk7IFxyXG59XHJcbi5tLXNhZmFyaSB7XHJcbiAgICBtYXJnaW46IDBweCAtLjNweDtcclxufVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAucm93LmYtZmxvdyB7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3c7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtaW4td2lkdGg6IDU3NXB4KSB7XHJcbiAgICAuaG9tZXBhZ2UtdGlsZXMge1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xyXG4gICAgfVxyXG59XHJcbkBzdXBwb3J0cyAoLXdlYmtpdC1oeXBoZW5zOm5vbmUpe1xyXG4gICAgLmhvbWVwYWdlLXRpbGVzIHtcclxuICAgICAgICAmLnJvdyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZXh0LXN0YXJ0IHtcclxuICAgIHRleHQtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7XHJcbn0iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxyXG4vL1xyXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XHJcbi8vXHJcbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcclxuLy9cclxuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxyXG5cclxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcclxuLy8gICAgbWRcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcclxuICAgICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xyXG4gICAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuICAvL1xyXG4gIC8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4gIC8vICAgIDU3NnB4XHJcbiAgQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gICAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG4gIH1cclxuICBcclxuICAvLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4gIC8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XHJcbiAgLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cclxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbiAgLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxyXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHJcbiAgLy9cclxuICAvLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuICAvLyAgICA3NjcuOThweFxyXG4gIEBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAgIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xyXG4gIH1cclxuICBcclxuICAvLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXHJcbiAgLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXHJcbiAgLy9cclxuICAvLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4gIC8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxyXG4gIC8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbiAgLy8gICAgXCItc21cIlxyXG4gIEBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xyXG4gIH1cclxuICBcclxuICAvLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXHJcbiAgLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cclxuICBAbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgICBAaWYgJG1pbiB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cclxuICAvLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG4gIEBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgQGlmICRtYXgge1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbiAgLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbiAgQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG4gIFxyXG4gICAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuICAvLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuICAvLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXHJcbiAgQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBcclxuICAgIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XHJcbiAgICAkcHJldi1rZXk6IG51bGw7XHJcbiAgICAkcHJldi1udW06IG51bGw7XHJcbiAgICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xyXG4gICAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmdcclxuICAgICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcclxuICAgICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xyXG4gICAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcclxuICAgICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcclxuICAgICAgfVxyXG4gICAgICAkcHJldi1rZXk6ICRrZXk7XHJcbiAgICAgICRwcmV2LW51bTogJG51bTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8gU3RhcnRzIGF0IHplcm9cclxuICAvLyBBbm90aGVyIGdyaWQgbWl4aW4gdGhhdCBlbnN1cmVzIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxyXG4gIEBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcclxuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XHJcbiAgICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcclxuICAgIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XHJcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiBgJGdyaWQtYnJlYWtwb2ludHNgIG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcclxuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cyk7XHJcblxyXG5AbWl4aW4gbWFrZS1yb3coKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XHJcbn1cclxuXHJcbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxyXG4gICAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xyXG4gICAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xyXG4gICAgcGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXVpLWd1dHRlci1iYXNlKSAvIDIpO1xyXG4gICAgcGFkZGluZy1sZWZ0OmNhbGModmFyKC0tdWktZ3V0dGVyLWJhc2UpIC8gMik7XHJcbn1cclxuXHJcbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpOyAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcclxuICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxyXG4gICAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXHJcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XHJcbn1cclxuXHJcbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XHJcbiAgICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGlmKCRudW09PTAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xyXG4gICAgJWdyaWQtY29sdW1uIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcclxuICAgICAgcGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXVpLWd1dHRlci1iYXNlKSAvIDIpO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS11aS1ndXR0ZXItYmFzZSkgLyAyKTtcclxuICAgIH1cclxuICBcclxuICAgIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xyXG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgXHJcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xyXG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xyXG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5jb2wjeyRpbmZpeH0sXHJcbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XHJcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcclxuICAgICAgICAuY29sI3skaW5maXh9IHtcclxuICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XHJcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XHJcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XHJcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XHJcbiAgXHJcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XHJcbiAgXHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XHJcbiAgICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XHJcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxyXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0iLCIucGFuZWwtZmFxIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIC5wYW5lbCB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJi10aXRsZXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJvZHksXHJcbiAgICAgICAgJi1oZWFkaW5nIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1oZWFkaW5nIHtcclxuICAgICAgICAgICAgLnBhbmVsLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg1KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1oNSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaDUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICYuaXMtb3BlbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFuZWwtYm9yZGVyLWRpdmlkZXItY29sb3IpIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1hY2NvcmRpb257XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcbi5zaG93LWFsbC1idG4ge1xyXG4gICAgbWFyZ2luOiAyNHB4IDBweCAwcHggMHB4OyAgICAgXHJcbiAgICAuc2hvdy1hbGwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcclxuICAgIH1cclxufVxyXG4ucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgYXV0byB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtbWFyZ2luLWJvdHRvbSk7XHJcbiAgICAuYnRuLWdyb3VwIHtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWhlaWdodC1iYXNlKTtcclxuICAgICAgICA+IC5idG4ge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1oZWlnaHQtYmFzZSkhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtYmcpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1ib3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWNvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbWFyeS1iZyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlcik7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWJhc2UpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICArIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2VjdGlvbi10aXRsZSArIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIge1xyXG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtbWFyZ2luLWJvdHRvbSkgLyAtMik7XHJcbn1cclxuLnNlY3Rpb24tcHJpbWFyeSxcclxuLnNlY3Rpb24tc2Vjb25kYXJ5IHtcclxuICAgIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIge1xyXG4gICAgICAgIC5idG4tZ3JvdXAge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1saWdodC1ib3JkZXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tbGlnaHQtYmcpO1xyXG4gICAgICAgICAgICA+IC5idG4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1saWdodC1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1saWdodC1iZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1iZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1ib3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctYmFzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tbGlnaHQtYm9yZGVyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWxpZ2h0LWJnKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1saWdodC1jb2xvcik7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tZHJvcGRvd24tbWluLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRyb3Bkb3duLWl0ZW0ge1xyXG4gICAgICAgICAgICBmbGV4OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBwYWRkaW5nIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5yb3ctcHJpY2luZy10YWJsZSB7XHJcbiAgICAucGFuZWwtcGFja2FnZSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTsgICAgICAgIFxyXG4gICAgICAgIC5wYWNrYWdlLWhlYWRlcntcclxuICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAubG0tY2hlY2sge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpZGViYXIge1xyXG4gICAgICAgIC5oZWFkZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsIDAuMDUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFja2FnZS1oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1zbSk7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5sb2dvcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAubG9nbyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXNtKTtcclxuICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuYnJvd3NlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tc3ZnLWdyYXBoaWMtc2hhZG93KTtcclxuICAgICYtdG9wIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tdWktYmxvY2stcGFkZGluZy1zbSk7XHJcbiAgICAgICAgJjpub3QoLmJyb3dzZXItdG9wLXRyYW5zcGFyZW50KSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWJyb3dzZXItdG9wKTtcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgJi1hY3Rpb25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBoZWlnaHQ6IDZweDtcclxuICAgICAgICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWJyb3dzZXItYWN0aW9ucyk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7ICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWJvZHkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAvL2hlaWdodDogMzEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1zbSk7XHJcbiAgICB9XHJcbiAgICAmLXNtIHtcclxuICAgICAgICB3aWR0aDogNDQ2cHg7XHJcbiAgICAgICAgLmJyb3dzZXItdG9wIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctMXgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtbWQge1xyXG4gICAgICAgIHdpZHRoOiA1NjBweDtcclxuICAgIH1cclxuICAgIC5zdmctZ3JhcGhpYyB7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHsgXHJcbiAgICAgICAgICAgIGhlaWdodDogMzE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1nb29nbGV7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiB1bnNldDtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICA+IHN2Z3tcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPmRpdntcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucXVvdGV7XHJcbiAgICAgICAgICAgIHRvcDotMTMuNXB4O1xyXG4gICAgICAgICAgICByaWdodDoyOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHV6emxle1xyXG4gICAgICAgICAgICBib3R0b206IC0xOXB4O1xyXG4gICAgICAgICAgICByaWdodDogLTE5cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnJvd3Nlci1zc2wge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAuYnJvd3Nlci1ib2R5IHtcclxuICAgICAgICAgaGVpZ2h0OiA0NDBweDsgICBcclxuICAgIH1cclxufVxyXG4uYnJvd3Nlci1sZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogODMycHg7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktYmxvY2stYm9yZGVyLXJhZGl1cy1sZyk7XHJcbiAgICAuYnJvd3Nlci10b3Age1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwIDEwcHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuYnJvd3Nlci1hY3Rpb25zIHtcclxuICAgICAgICBAaW5jbHVkZSBsdHIge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IHNwYW4geyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMXgpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdmctZ3JhcGhpYy1iZy1icm93c2VyLWFjdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icm93c2VyLXNlYXJjaGJhciB7XHJcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWZhZGVkKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcdFxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9ICBcclxuICAgIC5icm93c2VyLWJvZHkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5icm93c2VyLW5vdGljZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0NTZweDtcclxuICAgICAgICBwYWRkaW5nOiAwcHggMTJweDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJvd3Nlci1pbWFnZSB7XHJcbiAgICAgICAgbWFyZ2luOiAtNDBweCAwIDQwcHggMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5icm93c2VyLXpvb20ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5icm93c2VyLWltZy16b29tIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgJixcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigxLCAwLCAxLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLXByaW1hcnktZ3JhZGllbnQtdik7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnktaGVhZGluZy1jb2xvcik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjRweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMSwgMCwgMSwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmJyb3dzZXItaW1nLXpvb20ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiYuc2l0ZS1zcGFtZXhwZXJ0cyB7XHJcbiAgICAuYnJvd3Nlci1zbSB7XHJcbiAgICAgICAgaGVpZ2h0OiAyNjZweDtcclxuICAgICAgICAuYnJvd3Nlci1ib2R5IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuZG9tYWluLXRsZHMge1xyXG4gICAgIG1hcmdpbjogdmFyKC0tc2l0ZS1zZWN0aW9uLXNwYWNpbmcpIDAgMCAwO1xyXG4gICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICYgPiAqIHtcclxuICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcclxuICAgICB9XHJcbiAgICAgLmRvbWFpbi10bGQge1xyXG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGxnKTtcclxuICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsZyk7XHJcbiAgICAgICAgIC50bGQtcHJpY2Uge1xyXG4gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0KTtcclxuICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0ZXItY29sb3IpO1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgIC50bGQtbmFtZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgPiBzcGFuIHsgXHJcbiAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgIH1cclxuICAgICB9XHJcbiAgICAgJiA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgIH1cclxufSBcclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93biAobWQpIHtcclxuICAgIC5zaXRlLnNpdGUtaW5kZXgge1xyXG4gICAgICAgIC5kb21haW4tdGxkcyAuY29sLXNtLFxyXG4gICAgICAgIC5kb21haW4tdGxkcyA+KntcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgIC5kb21haW4tdGxkcyB7XHJcbiAgICAgICAgIG1hcmdpbjogMCAtNHB4O1xyXG4gICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcclxuICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcclxuICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XHJcbiAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgIC5kb21haW4tdGxkIHsgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTF4KTtcclxuICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktbGlnaHRlci00KTtcclxuICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWVkaWEobWF4LXdpZHRoOiA1MjBweCkge1xyXG4gICAgLmRvbWFpbi10bGRzIHtcclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gICAgLnNpdGUuc2l0ZS1pbmRleCB7XHJcbiAgICAgICAgLmRvbWFpbi10bGRzIC5jb2wtc20sXHJcbiAgICAgICAgLmRvbWFpbi10bGRzPip7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgLmRvbWFpbi10bGRzIHtcclxuICAgICAgICAgICAgLmRvbWFpbi10bGQge1xyXG4gICAgICAgICAgICAgICAgLnRsZC1uYW1lLFxyXG4gICAgICAgICAgICAgICAgLnRsZC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnRsZC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuY29udGVudC1zbGlkZXIge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL292ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmLXdyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAmLWl0ZW0ge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaW1ne1xyXG4gICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWxnKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3NjhweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjY0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMXgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KXtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0gICAgXHJcbi50ZXN0aW1vbmlhbHMge1xyXG4gICAgJi1pdGVtIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS11aS1ibG9jay1ib3JkZXIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdyk7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuICAgICYtZGVzYyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XHJcbiAgICAgICAgPiBwOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bGcpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWRldGFpbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtc20tbGluZS1oZWlnaHQpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICB9XHJcbiAgICAmLWF2YXRhciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbHRye1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHJ0bHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogNjRweDtcclxuICAgICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWF1dGhvciB7XHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogbWFwLWdldCgkc2l0ZS1mb250LXNpemUsIFwibWVkaXVtXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duIChtZCkge1xyXG4gICAgLnRlc3RpbW9uaWFscy5yb3cge1xyXG4gICAgICAgIC50ZXN0aW1vbmlhbHMtaXRlbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNsaWRlciB7XHJcbiAgICAudGVzdGltb25pYWxzLWl0ZW0ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMzQwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggMTJweDtcclxuICAgIH1cclxufVxyXG4iLCIuY2hlY2stZmVhdHVyZXMge1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy14eGxnKTtcclxuICAgID4gKiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgfVxyXG4gICAgLmxtLWNoZWNrIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICB9XHJcbn1cclxuLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGFja2FnZS1iZyk7XHJcbiAgICBib3JkZXI6IHZhcigtLXBhY2thZ2UtYm9yZGVyKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBhY2thZ2UtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1wYWNrYWdlLWJsb2NrLXNoYWRvdyk7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1wYWNrYWdlLXBhZGRpbmcpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgICYtY29udGVudCB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgJi1zdW1tYXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcclxuICAgIH1cclxuICAgIC5hZGRpdGlvbmFsLW9wdGlvbnMgLm9wdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5wcmljZTpub3QoOm50aC1jaGlsZCgzKSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuY2hvb3NlLXByb2R1Y3Qge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb3RuLXNpemUtbWQpO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpOyBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMngpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN2Zy1pY29uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcclxuICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5lbWVyZ2VuY3ktcHJvbW8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy14bGcpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteGxnKTtcclxuICAgICYtdGl0bGUge1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtYmFubmVyIHsgICAgICAgIFxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBjb2xvcjogIHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLmVtZXJnZW5jeS1wcm9tbyB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IC0yMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14bGcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnNlY3Rpb24tc3NsLXVwZ3JhZGUge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAuYnJvd3NlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgJi10b3Age1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNzbC11cGdyYWRlIHtcclxuICAgIG1hcmdpbi10b3A6IC02NHB4O1xyXG4gICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhsZyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy14bGcpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgfVxyXG59XHJcbi5zZWN0aW9uLXNlY29uZGFyeSB7XHJcbiAgICAmLnNlY3Rpb24tc3NsLXVwZ3JhZGUge1xyXG4gICAgICAgIC5zc2wtdXBncmFkZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTh4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuXHJcblxyXG4ubW9kYWwtcmVzdWx0c3tcclxuICAgIC5yZXN1bHR7XHJcbiAgICAgICAgJi1uZWdhdGl2ZXtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtcG9zaXRpdmV7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWNvbmNlcm57XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmctY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vL2N1c3RvbSBzdHlsZXMgMi4xLjNcclxuJi5zaXRlLW5vcmR2cG4ge1xyXG4vL1RXRU5UWS1PTkUgc3R5bGVzIFtzdG9yZS5jc3NdXHJcblxyXG4uaW1nLW92ZXJsYXB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb21wYXJpc29uIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMiB7XHJcbiAgICBtaW4taGVpZ2h0OiA0cmVtO1xyXG4gICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6Zmlyc3Qtb2YtdHlwZSAuY29sLTIge1xyXG4gICAgbWluLWhlaWdodDogMS41cmVtO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoNykgLmNvbC0yOm5vdCg6bnRoLW9mLXR5cGUoMikpLFxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmxhc3Qtb2YtdHlwZSAuY29sLTI6bnRoLW9mLXR5cGUoMil7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMjpub3QoOm50aC1vZi10eXBlKDIpKSxcclxuLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm5vdCg6bnRoLW9mLXR5cGUoMikpIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDIpIC5jb2wtMjpudGgtb2YtdHlwZSgyKSxcclxuLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcclxuICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0yOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bnRoLW9mLXR5cGUoMikpIHtcclxuICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoMikgLmNvbC0yOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoNykgLmNvbC0yOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoMikgLmNvbC0yOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoNykgLmNvbC0yOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6Zmlyc3Qtb2YtdHlwZSAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtaW5mby1saWdodGVyLTMpO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6Zmlyc3Qtb2YtdHlwZSAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMiBzcGFuIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5jb21wYXJpc29uIC5idG4tZ2V0LWRlYWwge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhbmdlcik7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLmNvbXBhcmlzb24tY29udGFpbmVyIHtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbn1cclxuLmNvbXBhcmlzb24tY29udGFpbmVyID4gLnJvdyB7XHJcbiAgICBtaW4td2lkdGg6IDExMTBweDtcclxufVxyXG5cclxuLmNvbXBhcmlzaW9uLWltYWdlcyBpbWcge1xyXG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xyXG59XHJcblxyXG4gICAgLy8gQ1VTVE9NIFNUWUxFU1xyXG4gICAgLnJvdyB7XHJcbiAgICAgICAgJi1jdXN0b20ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHsgIFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yeCk7ICBcclxuICAgICAgICAgICAgICAgIGdhcDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTl4KTtcclxuICAgICAgICAgICAgJi1sZyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tcGFkZGluZy12KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkgeyAgICBcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTZ4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaDUge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbC1zbS0xMiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmVhdHVyZSB7XHJcbiAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTN4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWNrYWdlcy1jdXN0b20ge1xyXG4gICAgICAgIC5wYWNrYWdlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBtYXgtY29udGVudDtcclxuICAgICAgICAgICAgJi1ib2R5IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pY29ucy1uZXR3b3JrIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgLmNvbnRlbnQtc2xpZGVyLXdyYXBwZXIge1xyXG4gICAgICAgIGdhcDogNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy90ZW1wXHJcbi5zZWN0aW9uLWNvbnRlbnQtY3VzdG9tIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkgeyAgICBcclxuICAgICAgICAucm93LWN1c3RvbTpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuJi5zaXRlLW5vcmR2cG4ge1xyXG4gICAgLmljb25zLW5ldHdvcmsge1xyXG4gICAgICAgIC5jb250ZW50LXNsaWRlci13cmFwcGVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJi5zaXRlLXNvY2lhbGJlZSB7XHJcbiAgICAucHJpY2luZy10YWJsZS1jb250YWluZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgfVxyXG4gICAgLnByaWNpbmctdGFibGUge1xyXG4gICAgICB3aWR0aDogMTI0OHB4O1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgJl9faGVhZGVyLXJvdyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS1saWdodGVyLTQpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB9XHJcbiAgICAgICZfX2NlbGwge1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZCk7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5LWNvbG9yKTtcclxuICAgICAgICAmLnByaWNpbmctdGFibGVfX2hlYWRlci1jZWxsLnByaWNpbmctdGFibGVfX2ZlYXR1cmUtaGVhZGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XHJcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnByaWNpbmctdGFibGVfX2hlYWRlci1jZWxsLnByaWNpbmctdGFibGVfX3BsYW4taGVhZGVyIHtcclxuICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xyXG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJl9faGVhZGVyLWNlbGwge1xyXG4gICAgICAgIHBhZGRpbmc6IDI0cHggMDtcclxuICAgICAgfVxyXG4gICAgICAmX19yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnktbGlnaHRlci00KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJl9fcm93LWFjdGlvbnMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgJl9fZmVhdHVyZS1uYW1lIHtcclxuICAgICAgICBmbGV4OiAxLjU7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgJl9fZmVhdHVyZS1oZWFkZXIge1xyXG4gICAgICAgIGZsZXg6IDEuNTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAiLCImLnNpdGUtbWFya2V0Z29ve1xyXG4gICAgLnNlY3Rpb24tdmlkZW8ge1xyXG4gICAgICAgIC5lbWJlZC1yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDM1JTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDJweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICYuc2l0ZS1tYXJrZXRnb28ge1xyXG4gICAgICAgIC5zaXRlLWJhbm5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5MnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VjdGlvbi1zdGVwcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC05MnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICYgKyAuc2l0ZS1zZWN0aW9uIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgJi5zaXRlLW1hcmtldGdvbyB7XHJcbiAgICAgICAgLnNlY3Rpb24tdmlkZW8ge1xyXG4gICAgICAgICAgICAuZW1iZWQtcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQzNHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI1NHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtZWRpYShtYXgtd2lkdGg6IDQ1OXB4KSB7XHJcbiAgICAmLnNpdGUtbWFya2V0Z29vIHtcclxuICAgICAgICAuc2VjdGlvbi12aWRlbyB7XHJcbiAgICAgICAgICAgIC5lbWJlZC1yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzI4cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTk0cHg7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zbGlkZXIge1xyXG4gICAgICAgICAgICAudGVzdGltb25pYWxzLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlciB7XHJcbiAgICAgICAgLnRlc3RpbW9uaWFscy1pdGVtIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI0cHghaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5zZWN0aW9uLXRlbXBsYXRlcyB7XHJcbiAgICAudGVtcGxhdGVzeyBcclxuICAgICAgICAubmF2e1xyXG4gICAgICAgICAgICAmLm5hdi10YWJze1xyXG4gICAgICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICAgICAgYS5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucm93e1xyXG4gICAgICAgICAgICAmICsgLnJvd3tcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmV2aWV3c3tcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tcHJldmlld3MtaW1nLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnR5cGUtbGFiZWx7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50cGxuYW1le1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGh1bWItd3JhcHBlcntcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy14bGcpO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zaG93LW1vcmUtYnRue1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTh4KSBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2hvdy1tb3JlLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeS1kYXJrZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4mLnNpdGUtd3AtdG9vbGtpdHtcclxuICAgIC5zaXRlLWJhbm5lcntcclxuICAgICAgICAuYmFubmVyLWltZ3tcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTl4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhbm5lci1sb2dve1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE2NHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFubmVyLWRlc2N7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtc2VjdGlvbntcclxuICAgICAgICAuc2NyZWVuc2hvdHN7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTN4KSk7XHJcbiAgICAgICAgICAgIC5zY3JlZW5zaG90LXRodW1ie1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMXgpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS1saWdodGVyLTQpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTN4KTtcclxuICAgICAgICAgICAgICAgICYgPiBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAub3ZlcmxheXtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICYgPiBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIC5vdmVybGF5e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XHJcbiAgICAmLnNpdGUtd3AtdG9vbGtpdHtcclxuICAgICAgICAuc2l0ZS1iYW5uZXJ7XHJcbiAgICAgICAgICAgIC5iYW5uZXItbG9nb3tcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTF4KSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsdHJ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRse1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhbm5lci1kZXNje1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xeCk7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9*/