@charset "UTF-8";
.case-card.case-card_portfolio .case-card__header {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 28.125rem;
  border-radius: var(--radius-primary);
  overflow: hidden; }
  @media screen and (min-width: 1921px) {
    .case-card.case-card_portfolio .case-card__header {
      height: 23.4375vw; } }
  @media screen and (max-width: 1700px) {
    .case-card.case-card_portfolio .case-card__header {
      height: 20.4375rem; } }
  @media screen and (max-width: 750px) {
    .case-card.case-card_portfolio .case-card__header {
      height: 12.5rem; } }
  .case-card.case-card_portfolio .case-card__header::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 8.125rem;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%); }
    @media screen and (min-width: 1921px) {
      .case-card.case-card_portfolio .case-card__header::before {
        height: 6.77083vw; } }
    @media screen and (max-width: 1700px) {
      .case-card.case-card_portfolio .case-card__header::before {
        height: 5.875rem; } }
    @media screen and (max-width: 750px) {
      .case-card.case-card_portfolio .case-card__header::before {
        height: 3.625rem; } }

.case-card.case-card_portfolio .case-card__button {
  margin-top: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }
  @media screen and (max-width: 750px) {
    .case-card.case-card_portfolio .case-card__button {
      width: 100%; } }

.case-card.case-card_portfolio .case-card__content {
  padding: 1.5625rem 1.875rem 1.875rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.25rem; }
  @media screen and (min-width: 1921px) {
    .case-card.case-card_portfolio .case-card__content {
      padding: 1.30208vw 1.5625vw 1.5625vw;
      gap: 1.04167vw; } }
  @media screen and (max-width: 1350px) {
    .case-card.case-card_portfolio .case-card__content {
      padding: 1.5625rem 1.25rem;
      gap: 0.9375rem; } }
  .case-card.case-card_portfolio .case-card__content .product-details_description {
    display: block; }
    .case-card.case-card_portfolio .case-card__content .product-details_description > a {
      text-decoration: none;
      margin-left: 0.3125rem;
      color: var(--text-dark-primary);
      -webkit-transition: color var(--animation-default);
      transition: color var(--animation-default); }
      @media screen and (min-width: 1921px) {
        .case-card.case-card_portfolio .case-card__content .product-details_description > a {
          margin-left: 0.26042vw; } }
      @media (any-hover: hover) {
        .case-card.case-card_portfolio .case-card__content .product-details_description > a:hover {
          color: var(--accent-primary-default);
          cursor: pointer; } }
  @media screen and (max-width: 750px) {
    .case-card.case-card_portfolio .case-card__content .product-button {
      width: 100%; } }
  .case-card.case-card_portfolio .case-card__content .product-button .button {
    width: 100%; }

.case-card.case-card_portfolio .case-card__hidden {
  height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: height var(--animation-default);
  transition: height var(--animation-default); }
  .case-card.case-card_portfolio .case-card__hidden_grid {
    min-height: 4.5rem;
    position: relative;
    width: 100%; }
    .case-card.case-card_portfolio .case-card__hidden_grid::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 2.5rem;
      background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.2)), to(#FFF));
      background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, #FFF 100%); }
      @media screen and (min-width: 1921px) {
        .case-card.case-card_portfolio .case-card__hidden_grid::before {
          height: 2.08333vw; } }
      @media screen and (max-width: 1700px) {
        .case-card.case-card_portfolio .case-card__hidden_grid::before {
          height: 5.875rem; } }
      @media screen and (max-width: 750px) {
        .case-card.case-card_portfolio .case-card__hidden_grid::before {
          height: 3.625rem; } }
    @media screen and (min-width: 1921px) {
      .case-card.case-card_portfolio .case-card__hidden_grid {
        min-height: 3.75vw; } }
    @media screen and (max-width: 1700px) {
      .case-card.case-card_portfolio .case-card__hidden_grid {
        min-height: 5rem; } }
    @media screen and (max-width: 1350px) {
      .case-card.case-card_portfolio .case-card__hidden_grid {
        min-height: 8.75rem; } }
  .case-card.case-card_portfolio .case-card__hidden_options {
    height: 100%;
    overflow: visible; }

.case-card.case-card_portfolio .case-card__wrapper {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem; }
  @media screen and (min-width: 1921px) {
    .case-card.case-card_portfolio .case-card__wrapper {
      gap: 1.04167vw; } }
  @media screen and (max-width: 1700px) {
    .case-card.case-card_portfolio .case-card__wrapper {
      gap: 0.3125rem; } }
  .case-card.case-card_portfolio .case-card__wrapper.js-accordion-active .case-card__hidden::before {
    opacity: 0;
    -webkit-transition: opacity var(--animation-medium);
    transition: opacity var(--animation-medium); }
  .case-card.case-card_portfolio .case-card__wrapper.js-accordion-active .button__text::before {
    content: "Свернуть" !important; }
  .case-card.case-card_portfolio .case-card__wrapper.js-accordion-active .button:not(.button_primary):not(.button_secondary) .icon {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .case-card.case-card_portfolio .case-card__wrapper .wrapper-button {
    position: relative;
    z-index: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    @media (any-hover: hover) {
      .case-card.case-card_portfolio .case-card__wrapper .wrapper-button:hover .icon {
        -webkit-transform: unset;
            -ms-transform: unset;
                transform: unset; } }
    .case-card.case-card_portfolio .case-card__wrapper .wrapper-button .button__text::before {
      content: "Развернуть"; }
    .case-card.case-card_portfolio .case-card__wrapper .wrapper-button.button {
      --button-icon-color: var(--text-dark-disabled);
      --button-icon-color-hover: var(--accent-primary-default);
      --button-text-color: var(--text-dark-disabled);
      --button-text-color-hover: var(--accent-primary-default); }
    .case-card.case-card_portfolio .case-card__wrapper .wrapper-button:not(.button_primary):not(.button_secondary) .icon {
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg); }
    .case-card.case-card_portfolio .case-card__wrapper .wrapper-button .button__hidden {
      height: 1rem;
      display: block;
      cursor: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      @media screen and (min-width: 1921px) {
        .case-card.case-card_portfolio .case-card__wrapper .wrapper-button .button__hidden {
          height: 0.83333vw; } }

.case-card.case-card_portfolio .case-card__title {
  width: 100%;
  height: auto;
  display: block;
  color: var(--text-dark-primary);
  font: var(--font-title-M);
  text-decoration: none;
  -webkit-transition: color var(--animation-default);
  transition: color var(--animation-default); }
  @media (any-hover: hover) {
    .case-card.case-card_portfolio .case-card__title[href]:hover {
      color: var(--accent-primary-default); } }
  .case-card.case-card_portfolio .case-card__title[href]::before {
    content: "";
    position: absolute;
    top: -0rem;
    left: -0rem;
    width: calc(100% + 0rem * 2);
    height: calc(100% + 0rem * 2);
    background-color: transparent;
    opacity: 0; }
    @media screen and (min-width: 1921px) {
      .case-card.case-card_portfolio .case-card__title[href]::before {
        top: 0vw;
        left: 0vw;
        width: calc(100% + 0vw * 2);
        height: calc(100% + 0vw * 2); } }

.case-card.case-card_portfolio .case-card__description {
  width: 100%;
  height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  row-gap: 1.25rem;
  -webkit-column-gap: var(--grid-column-gap);
     -moz-column-gap: var(--grid-column-gap);
          column-gap: var(--grid-column-gap); }
  @media screen and (min-width: 1921px) {
    .case-card.case-card_portfolio .case-card__description {
      row-gap: 1.04167vw; } }
  @media screen and (max-width: 1350px) {
    .case-card.case-card_portfolio .case-card__description {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr;
      row-gap: 0.9375rem;
      -webkit-column-gap: 0rem;
         -moz-column-gap: 0rem;
              column-gap: 0rem; } }
  .case-card.case-card_portfolio .case-card__description .product-options__button {
    position: relative;
    z-index: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    @media (any-hover: hover) {
      .case-card.case-card_portfolio .case-card__description .product-options__button:hover .icon {
        -webkit-transform: unset;
            -ms-transform: unset;
                transform: unset; } }
    .case-card.case-card_portfolio .case-card__description .product-options__button.button {
      --button-icon-color: var(--text-dark-disabled);
      --button-icon-color-hover: var(--accent-primary-default);
      --button-text-color: var(--text-dark-disabled);
      --button-text-color-hover: var(--accent-primary-default); }
    .case-card.case-card_portfolio .case-card__description .product-options__button .button__text::before {
      content: "Развернуть"; }
    .case-card.case-card_portfolio .case-card__description .product-options__button:not(.button_primary):not(.button_secondary) .icon {
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg); }

.case-card.case-card_portfolio .case-card__option {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.625rem;
  color: var(--text-dark-primary);
  font: var(--font-body-M-r); }
  @media screen and (min-width: 1921px) {
    .case-card.case-card_portfolio .case-card__option {
      gap: 0.52083vw; } }
  .case-card.case-card_portfolio .case-card__option > .icon {
    width: 1.5rem;
    height: 1.5rem;
    fill: var(--accent-secondary-default); }
    @media screen and (min-width: 1921px) {
      .case-card.case-card_portfolio .case-card__option > .icon {
        width: 1.25vw;
        height: 1.25vw; } }
  .case-card.case-card_portfolio .case-card__option__icon {
    width: 1.5rem;
    height: 1.5rem; }
    @media screen and (min-width: 1921px) {
      .case-card.case-card_portfolio .case-card__option__icon {
        width: 1.25vw;
        height: 1.25vw; } }

.case-card.case-card_portfolio .case-card__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.case-card.case-card_portfolio .case-card__text {
  color: var(--text-dark-primary);
  font: var(--font-body-M-r); }

.case-card.case-card_portfolio .case-card__icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: var(--accent-secondary-default); }
  @media screen and (min-width: 1921px) {
    .case-card.case-card_portfolio .case-card__icon {
      width: 1.04167vw;
      height: 1.04167vw; } }

.case-card {
  position: relative;
  width: 100%;
  max-width: 46.5625rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border: 1px solid var(--stroke-light);
  border-radius: var(--radius-primary);
  overflow: hidden; }
  @media screen and (min-width: 1921px) {
    .case-card {
      max-width: 38.80208vw;
      border-width: 0.05208vw; } }
  @media screen and (max-width: 1700px) {
    .case-card {
      max-width: 34.6875rem; } }
  @media screen and (max-width: 1350px) {
    .case-card {
      max-width: 20.8125rem; } }
  @media screen and (max-width: 750px) {
    .case-card {
      max-width: 18.125rem; } }
  .case-card__tags {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    left: 0.75rem;
    z-index: 1; }
    @media screen and (min-width: 1921px) {
      .case-card__tags {
        top: 0.625vw;
        right: 0.625vw;
        left: 0.625vw; } }
  .case-card__image {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: none;
    pointer-events: none; }
    .case-card__image_active {
      display: block; }
    .case-card__image img,
    .case-card__image picture {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
  .case-card__slideshow {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 0.9375rem;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
    gap: 0.625rem; }
    @media screen and (min-width: 1921px) {
      .case-card__slideshow {
        padding: 0.78125vw;
        gap: 0.52083vw; } }
  .case-card__button {
    position: relative;
    width: 100%;
    height: 100%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media (any-hover: hover) {
      .case-card__button:hover::after {
        background-color: var(--bg-white); } }
    .case-card__button::before {
      content: "";
      position: absolute;
      top: -0.3125rem;
      left: -0.3125rem;
      width: calc(100% + 0.3125rem * 2);
      height: calc(100% + 0.3125rem * 2);
      background-color: transparent;
      opacity: 0; }
      @media screen and (min-width: 1921px) {
        .case-card__button::before {
          top: -0.26042vw;
          left: -0.26042vw;
          width: calc(100% + 0.26042vw * 2);
          height: calc(100% + 0.26042vw * 2); } }
    .case-card__button::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 0.1875rem;
      background-color: var(--text-light-disabled);
      border-radius: var(--radius-infinity);
      -webkit-transition: background-color var(--animation-default);
      transition: background-color var(--animation-default); }
      @media screen and (min-width: 1921px) {
        .case-card__button::after {
          height: 0.15625vw; } }
    .case-card__button_active::after {
      background-color: var(--bg-white); }

.product-details {
  margin: 0;
  padding: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.9375rem;
  color: var(--text-dark-secondary);
  font: var(--font-body-M-r); }
  @media screen and (min-width: 1921px) {
    .product-details {
      gap: 0.78125vw; } }
  @media screen and (max-width: 1700px) {
    .product-details {
      gap: 0.625rem; } }
  .product-details__description {
    color: var(--text-dark-secondary);
    font: var(--font-body-M-r); }
  .product-details__rate {
    color: var(--text-dark-primary);
    font: var(--font-body-M-m); }
  .product-details__item {
    padding-bottom: 0.9375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-bottom: 1px dashed var(--stroke-light); }
    @media screen and (min-width: 1921px) {
      .product-details__item {
        padding-bottom: 0.78125vw;
        border-width: 0.05208vw; } }
    @media screen and (max-width: 1700px) {
      .product-details__item {
        padding-bottom: 0.625rem; } }
    .product-details__item:last-child {
      padding-bottom: 0;
      border-bottom: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2FyZHMvY2FzZS1jYXJkL2Nhc2UtY2FyZC1wb3J0Zm9saW8uY3NzIiwiY29tcG9uZW50cy9jYXJkcy9jYXNlLWNhcmQvY2FzZS1jYXJkLXBvcnRmb2xpby5zY3NzIiwibWl4aW5zL19taW5pLnNjc3MiLCJtaXhpbnMvX21lZGlhLnNjc3MiLCJtaXhpbnMvX2Rpc2FibGUtbW9iLWhvdmVyLnNjc3MiLCJtaXhpbnMvX3BzZXVkby1ob3Zlci5zY3NzIiwibWl4aW5zL19zcXVhcmUuc2NzcyIsImNvbXBvbmVudHMvY2FyZHMvY2FzZS1jYXJkL19jYXNlLWNhcmQtZ2VuZXJhbC5zY3NzIiwiY29tcG9uZW50cy9jYXJkcy9wcm9kdWN0LWNhcmQvX3Byb2R1Y3QtZGV0YWlscy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0VoQjtFQUdNLGtCQUFrQjtFQUNsQixVQUFVO0VBRVYsV0FBVztFQUNYLGlCQ1J5QjtFRFV6QixvQ0FBb0M7RUFDcEMsZ0JBQWdCLEVBQUE7RUVYcEI7SUZDRjtNQWFRLGlCQ1Y2QixFQUFBLEVEOENoQztFRXRDSDtJRlhGO01BaUJRLGtCQ2xCdUIsRUFBQSxFRGtEMUI7RUUxQkg7SUZ2QkY7TUFxQlEsZUN0QnVCLEVBQUEsRURrRDFCO0VBakRMO0lBeUJRLFdBQVc7SUFFWCxrQkFBa0I7SUFDbEIsU0FBUztJQUNULE9BQU87SUFDUCxVQUFVO0lBRVYsV0FBVztJQUNYLGdCQ2xDdUI7SURvQ3ZCLGlIQUEyRjtJQUEzRix1RkFBMkYsRUFBQTtJRXBDakc7TUZDRjtRQXNDVSxpQkNuQzJCLEVBQUEsRUQ2QzlCO0lFckNMO01GWEY7UUEwQ1UsZ0JDM0NxQixFQUFBLEVEaUR4QjtJRXpCTDtNRnZCRjtRQThDVSxnQkMvQ3FCLEVBQUEsRURpRHhCOztBQWhEUDtFQW9ETSxnQkFBZ0I7RUFFaEIsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0IsRUFBQTtFRS9CdEI7SUZ2QkY7TUF5RFEs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Tm5DK0IsRUFBQSxFTThDbEM7SUx0Q0Q7TUtpQkE7UUFjSSx3Qk4zQ3lCLEVBQUEsRU1rRDVCO0lBckJBO01BaUJHLGlCQUFpQjtNQUVqQixnQkFBZ0IsRUFBQSIsImZpbGUiOiJjb21wb25lbnRzL2NhcmRzL2Nhc2UtY2FyZC9jYXNlLWNhcmQtcG9ydGZvbGlvLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI4LjEyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXByaW1hcnkpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAyMy40Mzc1dnc7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNzAwcHgpIHtcbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9faGVhZGVyIHtcbiAgICAgIGhlaWdodDogMjAuNDM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2hlYWRlciB7XG4gICAgICBoZWlnaHQ6IDEyLjVyZW07IH0gfVxuICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9faGVhZGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4LjEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19oZWFkZXI6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogNi43NzA4M3Z3OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNzAwcHgpIHtcbiAgICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19oZWFkZXI6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogNS44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9faGVhZGVyOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDMuNjI1cmVtOyB9IH1cblxuLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2J1dHRvbiB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fY29udGVudCB7XG4gIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbSAxLjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxLjMwMjA4dncgMS41NjI1dncgMS41NjI1dnc7XG4gICAgICBnYXA6IDEuMDQxNjd2dzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjI1cmVtO1xuICAgICAgZ2FwOiAwLjkzNzVyZW07IH0gfVxuICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fY29udGVudCAucHJvZHVjdC1kZXRhaWxzX2Rlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19jb250ZW50IC5wcm9kdWN0LWRldGFpbHNfZGVzY3JpcHRpb24gPiBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrLXByaW1hcnkpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tYW5pbWF0aW9uLWRlZmF1bHQpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAgICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2NvbnRlbnQgLnByb2R1Y3QtZGV0YWlsc19kZXNjcmlwdGlvbiA+IGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI2MDQydnc7IH0gfVxuICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19jb250ZW50IC5wcm9kdWN0LWRldGFpbHNfZGVzY3JpcHRpb24gPiBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCk7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fY29udGVudCAucHJvZHVjdC1idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fY29udGVudCAucHJvZHVjdC1idXR0b24gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2hpZGRlbiB7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS1hbmltYXRpb24tZGVmYXVsdCk7IH1cbiAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2hpZGRlbl9ncmlkIHtcbiAgICBtaW4taGVpZ2h0OiA0LjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2hpZGRlbl9ncmlkOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAwJSwgI0ZGRiAxMDAlKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19oaWRkZW5fZ3JpZDo6YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDIuMDgzMzN2dzsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNzAwcHgpIHtcbiAgICAgICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2hpZGRlbl9ncmlkOjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogNS44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2hpZGRlbl9ncmlkOjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogMy42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2hpZGRlbl9ncmlkIHtcbiAgICAgICAgbWluLWhlaWdodDogMy43NXZ3OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNzAwcHgpIHtcbiAgICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19oaWRkZW5fZ3JpZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX2hpZGRlbl9ncmlkIHtcbiAgICAgICAgbWluLWhlaWdodDogOC43NXJlbTsgfSB9XG4gIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19oaWRkZW5fb3B0aW9ucyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fd3JhcHBlciB7XG4gICAgICBnYXA6IDEuMDQxNjd2dzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE3MDBweCkge1xuICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX193cmFwcGVyIHtcbiAgICAgIGdhcDogMC4zMTI1cmVtOyB9IH1cbiAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX3dyYXBwZXIuanMtYWNjb3JkaW9uLWFjdGl2ZSAuY2FzZS1jYXJkX19oaWRkZW46OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1tZWRpdW0pOyB9XG4gIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX193cmFwcGVyLmpzLWFjY29yZGlvbi1hY3RpdmUgLmJ1dHRvbl9fdGV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcItCh0LLQtdGA0L3Rg9GC0YxcIiAhaW1wb3J0YW50OyB9XG4gIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX193cmFwcGVyLmpzLWFjY29yZGlvbi1hY3RpdmUgLmJ1dHRvbjpub3QoLmJ1dHRvbl9wcmltYXJ5KTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpIC5pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX193cmFwcGVyIC53cmFwcGVyLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fd3JhcHBlciAud3JhcHBlci1idXR0b246aG92ZXIgLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHVuc2V0OyB9IH1cbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fd3JhcHBlciAud3JhcHBlci1idXR0b24gLmJ1dHRvbl9fdGV4dDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi0KDQsNC30LLQtdGA0L3Rg9GC0YxcIjsgfVxuICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX193cmFwcGVyIC53cmFwcGVyLWJ1dHRvbi5idXR0b24ge1xuICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogdmFyKC0tdGV4dC1kYXJrLWRpc2FibGVkKTtcbiAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQpO1xuICAgICAgLS1idXR0b24tdGV4dC1jb2xvcjogdmFyKC0tdGV4dC1kYXJrLWRpc2FibGVkKTtcbiAgICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQpOyB9XG4gICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX3dyYXBwZXIgLndyYXBwZXItYnV0dG9uOm5vdCguYnV0dG9uX3ByaW1hcnkpOm5vdCguYnV0dG9uX3NlY29uZGFyeSkgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fd3JhcHBlciAud3JhcHBlci1idXR0b24gLmJ1dHRvbl9faGlkZGVuIHtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY3Vyc29yOiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgICAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fd3JhcHBlciAud3JhcHBlci1idXR0b24gLmJ1dHRvbl9faGlkZGVuIHtcbiAgICAgICAgICBoZWlnaHQ6IDAuODMzMzN2dzsgfSB9XG5cbi5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX190aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrLXByaW1hcnkpO1xuICBmb250OiB2YXIoLS1mb250LXRpdGxlLU0pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFuaW1hdGlvbi1kZWZhdWx0KTsgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fdGl0bGVbaHJlZl06aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQpOyB9IH1cbiAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX3RpdGxlW2hyZWZdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTByZW07XG4gICAgbGVmdDogLTByZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDByZW0gKiAyKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDByZW0gKiAyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fdGl0bGVbaHJlZl06OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMHZ3O1xuICAgICAgICBsZWZ0OiAwdnc7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAwdncgKiAyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwdncgKiAyKTsgfSB9XG5cbi5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19kZXNjcmlwdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyO1xuICByb3ctZ2FwOiAxLjI1cmVtO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1ncmlkLWNvbHVtbi1nYXApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICByb3ctZ2FwOiAxLjA0MTY3dnc7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIHtcbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICAgIHJvdy1nYXA6IDAuOTM3NXJlbTtcbiAgICAgIGNvbHVtbi1nYXA6IDByZW07IH0gfVxuICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fZGVzY3JpcHRpb24gLnByb2R1Y3Qtb3B0aW9uc19fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19kZXNjcmlwdGlvbiAucHJvZHVjdC1vcHRpb25zX19idXR0b246aG92ZXIgLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHVuc2V0OyB9IH1cbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fZGVzY3JpcHRpb24gLnByb2R1Y3Qtb3B0aW9uc19fYnV0dG9uLmJ1dHRvbiB7XG4gICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiB2YXIoLS10ZXh0LWRhcmstZGlzYWJsZWQpO1xuICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCk7XG4gICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS10ZXh0LWRhcmstZGlzYWJsZWQpO1xuICAgICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCk7IH1cbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fZGVzY3JpcHRpb24gLnByb2R1Y3Qtb3B0aW9uc19fYnV0dG9uIC5idXR0b25fX3RleHQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcItCg0LDQt9Cy0LXRgNC90YPRgtGMXCI7IH1cbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fZGVzY3JpcHRpb24gLnByb2R1Y3Qtb3B0aW9uc19fYnV0dG9uOm5vdCguYnV0dG9uX3ByaW1hcnkpOm5vdCguYnV0dG9uX3NlY29uZGFyeSkgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cblxuLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX29wdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiAwLjYyNXJlbTtcbiAgY29sb3I6IHZhcigtLXRleHQtZGFyay1wcmltYXJ5KTtcbiAgZm9udDogdmFyKC0tZm9udC1ib2R5LU0tcik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgLmNhc2UtY2FyZC5jYXNlLWNhcmRfcG9ydGZvbGlvIC5jYXNlLWNhcmRfX29wdGlvbiB7XG4gICAgICBnYXA6IDAuNTIwODN2dzsgfSB9XG4gIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19vcHRpb24gPiAuaWNvbiB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmaWxsOiB2YXIoLS1hY2NlbnQtc2Vjb25kYXJ5LWRlZmF1bHQpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fb3B0aW9uID4gLmljb24ge1xuICAgICAgICB3aWR0aDogMS4yNXZ3O1xuICAgICAgICBoZWlnaHQ6IDEuMjV2dzsgfSB9XG4gIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19vcHRpb25fX2ljb24ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAgIC5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19vcHRpb25fX2ljb24ge1xuICAgICAgICB3aWR0aDogMS4yNXZ3O1xuICAgICAgICBoZWlnaHQ6IDEuMjV2dzsgfSB9XG5cbi5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9fdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmstcHJpbWFyeSk7XG4gIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1NLXIpOyB9XG5cbi5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyAuY2FzZS1jYXJkX19pY29uIHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgZmlsbDogdmFyKC0tYWNjZW50LXNlY29uZGFyeS1kZWZhdWx0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAuY2FzZS1jYXJkLmNhc2UtY2FyZF9wb3J0Zm9saW8gLmNhc2UtY2FyZF9faWNvbiB7XG4gICAgICB3aWR0aDogMS4wNDE2N3Z3O1xuICAgICAgaGVpZ2h0OiAxLjA0MTY3dnc7IH0gfVxuXG4uY2FzZS1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0Ni41NjI1cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zdHJva2UtbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcHJpbWFyeSk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgLmNhc2UtY2FyZCB7XG4gICAgICBtYXgtd2lkdGg6IDM4LjgwMjA4dnc7XG4gICAgICBib3JkZXItd2lkdGg6IDAuMDUyMDh2dzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE3MDBweCkge1xuICAgIC5jYXNlLWNhcmQge1xuICAgICAgbWF4LXdpZHRoOiAzNC42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSB7XG4gICAgLmNhc2UtY2FyZCB7XG4gICAgICBtYXgtd2lkdGg6IDIwLjgxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgIC5jYXNlLWNhcmQge1xuICAgICAgbWF4LXdpZHRoOiAxOC4xMjVyZW07IH0gfVxuICAuY2FzZS1jYXJkX190YWdzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjc1cmVtO1xuICAgIHJpZ2h0OiAwLjc1cmVtO1xuICAgIGxlZnQ6IDAuNzVyZW07XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgICAgLmNhc2UtY2FyZF9fdGFncyB7XG4gICAgICAgIHRvcDogMC42MjV2dztcbiAgICAgICAgcmlnaHQ6IDAuNjI1dnc7XG4gICAgICAgIGxlZnQ6IDAuNjI1dnc7IH0gfVxuICAuY2FzZS1jYXJkX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuY2FzZS1jYXJkX19pbWFnZV9hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY2FzZS1jYXJkX19pbWFnZSBpbWcsXG4gICAgLmNhc2UtY2FyZF9faW1hZ2UgcGljdHVyZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuY2FzZS1jYXJkX19zbGlkZXNob3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgZ2FwOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgICAgLmNhc2UtY2FyZF9fc2xpZGVzaG93IHtcbiAgICAgICAgcGFkZGluZzogMC43ODEyNXZ3O1xuICAgICAgICBnYXA6IDAuNTIwODN2dzsgfSB9XG4gIC5jYXNlLWNhcmRfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5jYXNlLWNhcmRfX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7IH0gfVxuICAgIC5jYXNlLWNhcmRfX2J1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0wLjMxMjVyZW07XG4gICAgICBsZWZ0OiAtMC4zMTI1cmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDAuMzEyNXJlbSAqIDIpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwLjMxMjVyZW0gKiAyKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAgIC5jYXNlLWNhcmRfX2J1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IC0wLjI2MDQydnc7XG4gICAgICAgICAgbGVmdDogLTAuMjYwNDJ2dztcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMC4yNjA0MnZ3ICogMik7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwLjI2MDQydncgKiAyKTsgfSB9XG4gICAgLmNhc2UtY2FyZF9fYnV0dG9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0LWRpc2FibGVkKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbmZpbml0eSk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWFuaW1hdGlvbi1kZWZhdWx0KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAgIC5jYXNlLWNhcmRfX2J1dHRvbjo6YWZ0ZXIge1xuICAgICAgICAgIGhlaWdodDogMC4xNTYyNXZ3OyB9IH1cbiAgICAuY2FzZS1jYXJkX19idXR0b25fYWN0aXZlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7IH1cblxuLnByb2R1Y3QtZGV0YWlscyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC45Mzc1cmVtO1xuICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrLXNlY29uZGFyeSk7XG4gIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1NLXIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xuICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgZ2FwOiAwLjc4MTI1dnc7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNzAwcHgpIHtcbiAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgIGdhcDogMC42MjVyZW07IH0gfVxuICAucHJvZHVjdC1kZXRhaWxzX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtZGFyay1zZWNvbmRhcnkpO1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1NLXIpOyB9XG4gIC5wcm9kdWN0LWRldGFpbHNfX3JhdGUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmstcHJpbWFyeSk7XG4gICAgZm9udDogdmFyKC0tZm9udC1ib2R5LU0tbSk7IH1cbiAgLnByb2R1Y3QtZGV0YWlsc19faXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHZhcigtLXN0cm9rZS1saWdodCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAgIC5wcm9kdWN0LWRldGFpbHNfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC43ODEyNXZ3O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAuMDUyMDh2dzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTcwMHB4KSB7XG4gICAgICAucHJvZHVjdC1kZXRhaWxzX19pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgICAucHJvZHVjdC1kZXRhaWxzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zXCI7XG5cbi5jYXNlLWNhcmQuY2FzZS1jYXJkX3BvcnRmb2xpbyB7XG4gIC5jYXNlLWNhcmQge1xuICAgICZfX2hlYWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtKDQ1MCk7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1wcmltYXJ5KTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgICAgIGhlaWdodDogYmlnKDQ1MCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhTGFwdG9wIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oMzI3KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWFNb2JpbGUge1xuICAgICAgICBoZWlnaHQ6IHJlbSgyMDApO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHJlbSgxMzApO1xuXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMCwgMCwgMC4wMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC41MCkgMTAwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgICBoZWlnaHQ6IGJpZygxMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFMYXB0b3Age1xuICAgICAgICAgIGhlaWdodDogcmVtKDk0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhTW9iaWxlIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbSg1OCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcblxuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYU1vYmlsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogcmVtKDI1KSByZW0oMzApIHJlbSgzMCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IHJlbSgyMCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgICAgIHBhZGRpbmc6IGJpZygyNSkgYmlnKDMwKSBiaWcoMzApO1xuICAgICAgICBnYXA6IGJpZygyMCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhVGFibGV0IHtcbiAgICAgICAgcGFkZGluZzogcmVtKDI1KSByZW0oMjApO1xuICAgICAgICBnYXA6IHJlbSgxNSk7XG4gICAgICB9XG5cbiAgICAgICYgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICZfZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg1KTtcblxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyay1wcmltYXJ5KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFuaW1hdGlvbi1kZWZhdWx0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGJpZyg1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCk7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiAucHJvZHVjdC1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYU1vYmlsZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmIC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faGlkZGVuIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tYW5pbWF0aW9uLWRlZmF1bHQpO1xuXG4gICAgICAmX2dyaWQge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0oNzIpO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiByZW0oNDApO1xuICAgIFxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCkgMCUsICNGRkYgMTAwJSk7XG4gICAgXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgICAgIGhlaWdodDogYmlnKDQwKTtcbiAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWFMYXB0b3Age1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oOTQpO1xuICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYU1vYmlsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg1OCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBiaWcoNzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFMYXB0b3Age1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSg4MCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYVRhYmxldCB7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtKDE0MCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9vcHRpb25zIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IHJlbSgyMCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgICAgIGdhcDogYmlnKDIwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWFMYXB0b3Age1xuXHRcdFx0XHRnYXA6IHJlbSg1KVxuXHRcdFx0fVxuXG4gICAgICAmLmpzLWFjY29yZGlvbi1hY3RpdmUgLmNhc2UtY2FyZF9faGlkZGVuOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLW1lZGl1bSk7XG4gICAgICB9XG5cbiAgICAgICYuanMtYWNjb3JkaW9uLWFjdGl2ZSB7XG4gICAgICAgICYgLmJ1dHRvbiB7XG4gICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcItCh0LLQtdGA0L3Rg9GC0YxcIiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bm90KC5idXR0b25fcHJpbWFyeSk6bm90KC5idXR0b25fc2Vjb25kYXJ5KSB7XG4gICAgICAgICAgICAmIC5pY29uIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiAud3JhcHBlci1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAmIC5pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiAuYnV0dG9uIHtcbiAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwi0KDQsNC30LLQtdGA0L3Rg9GC0YxcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogdmFyKC0tdGV4dC1kYXJrLWRpc2FibGVkKTtcbiAgICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0KTtcbiAgICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS10ZXh0LWRhcmstZGlzYWJsZWQpO1xuICAgICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmJ1dHRvbl9wcmltYXJ5KTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpIHtcbiAgICAgICAgICAmIC5pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgLmJ1dHRvbl9faGlkZGVuIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbSgxNik7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICBjdXJzb3I6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYUJpZ0Rlc2t0b3Age1xuICAgICAgICAgICAgaGVpZ2h0OiBiaWcoMTYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmstcHJpbWFyeSk7XG4gICAgICBmb250OiB2YXIoLS1mb250LXRpdGxlLU0pO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1hbmltYXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICZbaHJlZl0ge1xuICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG8oMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7XG4gICAgICByb3ctZ2FwOiByZW0oMjApO1xuICAgICAgY29sdW1uLWdhcDogdmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgcm93LWdhcDogYmlnKDIwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWFUYWJsZXQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICAgIHJvdy1nYXA6IHJlbSgxNSk7XG4gICAgICAgIGNvbHVtbi1nYXA6IHJlbSgwKTtcbiAgICAgIH1cblxuICAgICAgJiAucHJvZHVjdC1vcHRpb25zIHtcbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcblxuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgICYgLmljb24ge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6IHZhcigtLXRleHQtZGFyay1kaXNhYmxlZCk7XG4gICAgICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0KTtcbiAgICAgICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLXRleHQtZGFyay1kaXNhYmxlZCk7XG4gICAgICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmIC5idXR0b24ge1xuICAgICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCLQoNCw0LfQstC10YDQvdGD0YLRjFwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmJ1dHRvbl9wcmltYXJ5KTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpIHtcbiAgICAgICAgICAgICYgLmljb24ge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IHJlbSgxMCk7XG5cbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmstcHJpbWFyeSk7XG4gICAgICBmb250OiB2YXIoLS1mb250LWJvZHktTS1yKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgZ2FwOiBiaWcoMTApO1xuICAgICAgfVxuXG4gICAgICAmID4gLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMjQsIHRydWUpO1xuXG4gICAgICAgIGZpbGw6IHZhcigtLWFjY2VudC1zZWNvbmRhcnktZGVmYXVsdCk7XG4gICAgICB9XG5cbiAgICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMjQsIHRydWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWRhcmstcHJpbWFyeSk7XG4gICAgICBmb250OiB2YXIoLS1mb250LWJvZHktTS1yKTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgIHdpZHRoOiByZW0oMjApO1xuICAgICAgaGVpZ2h0OiByZW0oMjApO1xuICBcbiAgICAgIGZpbGw6IHZhcigtLWFjY2VudC1zZWNvbmRhcnktZGVmYXVsdCk7XG4gIFxuICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgd2lkdGg6IGJpZygyMCk7XG4gICAgICAgIGhlaWdodDogYmlnKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGltcG9ydFxuXCJjYXNlLWNhcmQtZ2VuZXJhbFwiLFxuXCIuLi9wcm9kdWN0LWNhcmQvcHJvZHVjdC1kZXRhaWxzXCI7XG4iLCJAZnVuY3Rpb24gcmVtKCRwaXhlbHMpIHtcbiAgQHJldHVybiAjeyRwaXhlbHMgLyAxNn1yZW07XG59XG5cbkBmdW5jdGlvbiBiaWcoJHBpeGVscykge1xuICBAcmV0dXJuICN7JHBpeGVscyAvIDE5MjAgKiAxMDB9dnc7XG59XG4iLCJAbWl4aW4gbWVkaWFCaWdEZXNrdG9wIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQG1peGluIG1lZGlhRGVza3RvcCB7XG4vLyAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7cmVtKDIyMDEpfSkge1xuLy8gICAgIEBjb250ZW50O1xuLy8gICB9XG4vLyB9XG5cbkBtaXhpbiBtZWRpYUxhcHRvcCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE3MDBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZWRpYVRhYmxldCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZWRpYU1vYmlsZSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhKCR3aWR0aCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQG1peGluIGhvdmVyIHtcbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIFxuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gcHNldWRvKCRwaXhlbCkge1xuICBjb250ZW50OiBcIlwiO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtI3tyZW0oJHBpeGVsKX07XG4gIGxlZnQ6IC0je3JlbSgkcGl4ZWwpfTtcblxuICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW0oJHBpeGVsKX0gKiAyKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAje3JlbSgkcGl4ZWwpfSAqIDIpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgdG9wOiAje2JpZygtJHBpeGVsKX07XG4gICAgbGVmdDogI3tiaWcoLSRwaXhlbCl9O1xuXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICN7YmlnKCRwaXhlbCl9ICogMik7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAje2JpZygkcGl4ZWwpfSAqIDIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG4iLCJAbWl4aW4gc3F1YXJlKCRwaXhlbHMsICRtZWRpYUJpZ0Rlc2t0b3A6IGZhbHNlKSB7XG4gIHdpZHRoOiAje3JlbSgkcGl4ZWxzKX07XG4gIGhlaWdodDogI3tyZW0oJHBpeGVscyl9O1xuXG4gIEBpZiAkbWVkaWFCaWdEZXNrdG9wIHtcbiAgICBAaW5jbHVkZSBtZWRpYUJpZ0Rlc2t0b3Age1xuICAgICAgd2lkdGg6ICN7YmlnKCRwaXhlbHMpfTtcbiAgICAgIGhlaWdodDogI3tiaWcoJHBpeGVscyl9O1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL21peGluc1wiO1xuXG4uY2FzZS1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHJlbSg3NDUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXN0cm9rZS1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1wcmltYXJ5KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBtZWRpYUJpZ0Rlc2t0b3Age1xuICAgIG1heC13aWR0aDogYmlnKDc0NSk7XG5cbiAgICBib3JkZXItd2lkdGg6IGJpZygxKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhTGFwdG9wIHtcbiAgICBtYXgtd2lkdGg6IHJlbSg1NTUpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWFUYWJsZXQge1xuICAgIG1heC13aWR0aDogcmVtKDMzMyk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYU1vYmlsZSB7XG4gICAgbWF4LXdpZHRoOiByZW0oMjkwKTtcbiAgfVxuXG4gICZfX3RhZ3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSgxMik7XG4gICAgcmlnaHQ6IHJlbSgxMik7XG4gICAgbGVmdDogcmVtKDEyKTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgIHRvcDogYmlnKDEyKTtcbiAgICAgIHJpZ2h0OiBiaWcoMTIpO1xuICAgICAgbGVmdDogYmlnKDEyKTtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJl9hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJiBpbWcsXG4gICAgJiBwaWN0dXJlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVzaG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcblxuICAgIHBhZGRpbmc6IHJlbSgxNSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIGdhcDogcmVtKDEwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiBiaWcoMTUpO1xuICAgICAgZ2FwOiBiaWcoMTApO1xuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctd2hpdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBwc2V1ZG8oNSk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHJlbSgzKTtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1saWdodC1kaXNhYmxlZCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5maW5pdHkpO1xuXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWFuaW1hdGlvbi1kZWZhdWx0KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgaGVpZ2h0OiBiaWcoMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9hY3RpdmUge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucHJvZHVjdC1kZXRhaWxzIHtcbiAgbWFyZ2luOiAwO1xuXG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHJlbSgxNSk7XG5cbiAgY29sb3I6IHZhcigtLXRleHQtZGFyay1zZWNvbmRhcnkpO1xuICBmb250OiB2YXIoLS1mb250LWJvZHktTS1yKTtcblxuICBAaW5jbHVkZSBtZWRpYUJpZ0Rlc2t0b3Age1xuICAgIGdhcDogYmlnKDE1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhTGFwdG9wIHtcbiAgICBnYXA6IHJlbSgxMCk7XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtZGFyay1zZWNvbmRhcnkpO1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1NLXIpO1xuICB9XG5cbiAgJl9fcmF0ZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtZGFyay1wcmltYXJ5KTtcbiAgICBmb250OiB2YXIoLS1mb250LWJvZHktTS1tKTtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCB2YXIoLS1zdHJva2UtbGlnaHQpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBiaWcoMTUpO1xuXG4gICAgICBib3JkZXItd2lkdGg6IGJpZygxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYUxhcHRvcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDEwKTtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICBcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iXX0= */
