/***** reset *****/

* {
  font-family: var(--font-english), var(--font-japanese);
  font-size: var(--font-size-reset);
  font-weight: 300;
  line-height: 1.6;
  text-decoration: none;
  word-break: break-all;
  list-style: none;
  padding: 0rem;
  margin: 0rem;
  border: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

html {
  width: 100%;
  height: auto;
  color: var(--text-black);
  font-size: var(--font-size-html);
  padding: 0rem;
  margin: 0rem;
  background-color: var(--background-white);
  /* scrollbar-width: none; */

  > body {
    width: 100%;
    height: auto;
    min-height: 100vh;
    font-size: 1.6rem;
    padding: 0rem;
    margin: 0rem;
    background-color: var(--background-blue);
    overflow-y: auto;
    display: flex;
    flex-flow: column wrap;
    gap: 0;
    justify-content: stretch;
    align-items: center;

    &.active {
      overflow-y: auto;
    }

    &:has(header.sub-navigation-active) {
      overflow-y: hidden;
    }

    &:has(header .main-navigation.active) {
      overflow-y: hidden;
    }

    > .layer {
      width: 100%;
      height: auto;
      min-height: 100vh;
      padding: 0rem;
      margin: 0rem;
      transition: opacity 0.8s ease;
      opacity: 1;
      visibility: visible;
      overflow-y: hidden;
      overflow-x: hidden;
      display: flex;
      flex-flow: column wrap;
      gap: 0;
      justify-content: center;
      align-items: stretch;

      &.active {
        opacity: 1;
        visibility: visible;
        overflow-y: auto;
      }

      > main {
        position: relative;
        z-index: 0;
        width: 100%;
        height: auto;
        padding: 0rem;
        margin: 0rem;
        display: grid;
        grid-template-columns: 100%;
        gap: 0rem;
        justify-content: center;
        align-items: stretch;
        flex: 1;

        &.lower {
          margin: calc(var(--height-header) + 4rem) 0rem 0rem 0rem;
          background-color: var(--background-gray);
          overflow: hidden;
          display: flex;
          flex-flow: column wrap;
          justify-content: center;
          align-items: center;

          @media (max-width: 767px) {
            margin: calc(var(--height-header) + 2rem) 0rem 0rem 0rem;
          }

          &:before {
            content: "";
            position: absolute;
            z-index: -10;
            inset: 0rem calc(50% - (128rem / 2)) 0rem calc(50% - (128rem / 2));
            width: 128rem;
            height: auto;
            padding: 0rem;
            margin: 0rem;
            background-image: url("/wp-content/themes/ne-inc/assets/dist/images/background/dashed-lines.svg");
            background-position: center center;
            background-size: 100%;
            background-repeat: repeat-y;
          }

          > .layer {
            padding: 10rem 3rem 30rem 3rem;

            @media (max-width: 1023px) {
              padding: 10rem 3rem 25rem 3rem;
            }

            @media (max-width: 767px) {
              padding: 5rem 3rem 20rem 3rem;
              gap: 4rem;
            }

            &:has(section.investor) {
              padding: 0rem 0rem 12rem 0rem;
              gap: 8rem;

              @media (max-width: 1023px) {
                padding: 0rem 0rem 20rem 0rem;
              }

              @media (max-width: 767px) {
                padding: 0rem 0rem 10rem 0rem;
              }

              > .contents {
                max-width: 100%;
              }
            }

            &:has(section.contact-us) {
              padding: 8rem 3rem 20rem 3rem;

              @media (max-width: 767px) {
                gap: 3rem;
              }

              > .headline {
                max-width: 108rem;
              }
            }

            > .contents {
              max-width: 108rem;
              background-color: unset;
              gap: 8rem;

              &:before {
                content: unset;
                position: unset;
                background-image: unset;
              }
            }
          }

          &:has(section.our-purpose) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/our-purpose.png");
                }
              }
            }

            > .layer {
              max-width: 100%;
              padding: 0rem 0rem 25rem 0rem;

              > .contents {
                max-width: 100%;
              }
            }
          }

          &:has(section.ne-culture) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/our-purpose.png");
                }
              }
            }

            > .layer {
              max-width: 100%;
              padding: 10rem 0rem 25rem 0rem;

              @media (max-width: 767px) {
                padding: 6rem 0rem 6rem 0rem;
                gap: 4rem;
              }

              > .contents {
                max-width: 100%;
              }
            }
          }

          &:has(section.service) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/service.png");
                }
              }
            }

            > .layer {
              max-width: 100%;
              padding: 0rem 0rem 25rem 0rem;

              @media (max-width: 1023px) {
                padding: 0rem 0rem 10rem 0rem;
              }

              @media (max-width: 767px) {
                padding: 0rem 0rem 10rem 0rem;
              }

              > .contents {
                max-width: 100%;
              }
            }
          }

          &:has(section.about) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/about.png");
                }
              }
            }

            > .layer {
              max-width: 100%;
              padding: 10rem 0rem 25rem 0rem;

              @media (max-width: 767px) {
                padding: 6rem 0rem 12rem 0rem;
                gap: 4rem;
              }

              > .headline {
                @media (max-width: 1110px) {
                  padding: 0rem 3rem 0rem 3rem;
                }
              }

              > .contents {
                max-width: 100%;
              }
            }
          }

          &:has(section.about.officers) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/about.png");
                }
              }
            }

            > .layer {
              padding: 10rem 3rem 25rem 3rem;

              @media (max-width: 767px) {
                padding: 5rem 3rem 15rem 3rem;
              }

              > .headline {
                @media (max-width: 1110px) {
                  padding: 0rem;
                }
              }

              > .contents {
                max-width: 108rem;
                gap: 5rem;
              }
            }
          }

          &:has(section.blog) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/news.png");
                }
              }
            }

            > .layer {
              @media (max-width: 767px) {
                padding: 5rem 3rem 15rem 3rem;
              }

              > .contents {
                gap: 5rem;
              }
            }
          }

          &:has(section.news) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/news.png");
                }
              }
            }

            > .layer {
              @media (max-width: 767px) {
                padding: 5rem 3rem 15rem 3rem;
              }

              > .contents {
                gap: 5rem;
              }
            }
          }

          &:has(section.management-policy) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/management-policy.png");
                }
              }
            }

            > .layer {
              padding: 10rem 3rem 30rem 3rem;
              gap: 6rem;

              @media (max-width: 1023px) {
                padding: 10rem 3rem 25rem 3rem;
              }

              @media (max-width: 767px) {
                padding: 5rem 3rem 20rem 3rem;
                gap: 4rem;
              }

              > .headline {
                max-width: 86.4rem;
              }

              > .contents {
                display: flex;
                flex-flow: column wrap;
                gap: 8rem;
                justify-content: center;
                align-items: center;
              }
            }
          }

          &:has(section.ceo-message) {
            > .layer {
              padding: 0rem 0rem 25rem 0rem;

              @media (max-width: 767px) {
                padding: 0rem 0rem 15rem 0rem;
              }

              > .contents {
                max-width: 100%;
                display: flex;
                flex-flow: column wrap;
                gap: 10rem;
                justify-content: center;
                align-items: center;
              }
            }
          }

          &:has(section.management-strategy) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/management-policy.png");
                }
              }
            }
          }

          &:has(section.corporate),
          &:has(section.risk-management),
          &:has(section.stock.info) {
            > .layer {
              @media (max-width: 767px) {
                gap: 3rem;
              }

              > .headline {
                max-width: 86.4rem;
              }

              > .contents {
                display: flex;
                flex-flow: column wrap;
                gap: 8rem;
                justify-content: center;
                align-items: center;
              }
            }
          }

          &:has(section.library) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/uploads/news/post/ne_ipo-announcement_2511/headline_library.png");
                }
              }
            }

            > .layer {
              padding: 10rem 3rem 35rem 3rem;

              @media (max-width: 1365px) {
                padding: 10rem 3rem 25rem 3rem;
              }

              @media (max-width: 1023px) {
                padding: 10rem 3rem 15rem 3rem;
              }

              @media (max-width: 767px) {
                padding: 5rem 3rem 15rem 3rem;
              }
            }
          }

          &:has(section.financials) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/financials.png");
                }
              }
            }

            > .layer {
              padding: 10rem 3rem 30rem 3rem;
              gap: 6rem;

              @media (max-width: 1023px) {
                padding: 10rem 3rem 25rem 3rem;
              }

              @media (max-width: 767px) {
                padding: 5rem 3rem 20rem 3rem;
                gap: 4rem;
              }

              > .headline {
                max-width: 86.4rem;
              }

              > .contents {
                display: flex;
                flex-flow: column wrap;
                gap: 8rem;
                justify-content: center;
                align-items: center;
              }
            }
          }

          &:has(section.highlights),
          &:has(section.business-segments),
          &:has(section.key-business-data) {
            > .layer {
              gap: 8rem;

              @media (max-width: 767px) {
                gap: 4rem;
              }

              > .headline {
                max-width: 108rem;
              }

              > .contents {
                display: flex;
                flex-flow: column wrap;
                gap: 8rem;
                justify-content: center;
                align-items: center;

                @media (max-width: 767px) {
                  gap: 6rem;
                }
              }
            }
          }

          &:has(section.earnings-forecast) {
            > .layer {
              gap: 6rem;

              @media (max-width: 767px) {
                gap: 4rem;
              }

              > .headline {
                max-width: 86.4rem;
              }

              > .contents {
                max-width: 86.4rem;
              }
            }
          }

          &:has(section.governance) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/governance.png");
                }
              }
            }

            > .layer {
              padding: 10rem 3rem 30rem 3rem;
              gap: 6rem;

              @media (max-width: 1023px) {
                padding: 10rem 3rem 25rem 3rem;
              }

              @media (max-width: 767px) {
                padding: 5rem 3rem 20rem 3rem;
                gap: 4rem;
              }

              > .headline {
                max-width: 86.4rem;
              }

              > .contents {
                display: flex;
                flex-flow: column wrap;
                gap: 8rem;
                justify-content: center;
                align-items: center;
              }
            }
          }

          &:has(section.information-security),
          &:has(section.privacy-policy),
          &:has(section.disclosure-policy) {
            > .layer {
              gap: 6rem;

              @media (max-width: 767px) {
                gap: 4rem;
              }

              > .headline {
                max-width: 86.4rem;
              }

              > .contents {
                display: flex;
                flex-flow: column wrap;
                gap: 8rem;
                justify-content: center;
                align-items: center;
              }
            }
          }

          &:has(section.stock) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/stock.png");
                }
              }
            }

            > .layer {
              padding: 10rem 3rem 30rem 3rem;

              @media (max-width: 1023px) {
                padding: 10rem 3rem 25rem 3rem;
              }

              @media (max-width: 767px) {
                padding: 5rem 3rem 20rem 3rem;
                gap: 4rem;
              }

              > .headline {
                max-width: 86.4rem;
              }

              > .contents {
                display: flex;
                flex-flow: column wrap;
                gap: 8rem;
                justify-content: center;
                align-items: center;
              }
            }
          }

          &:has(section.meeting) {
            > .layer {
              padding: 10rem 3rem 35rem 3rem;

              @media (max-width: 1365px) {
                padding: 10rem 3rem 30rem 3rem;
              }

              @media (max-width: 1023px) {
                padding: 10rem 3rem 25rem 3rem;
              }

              @media (max-width: 767px) {
                padding: 5rem 3rem 20rem 3rem;
                gap: 4rem;
              }

              > .headline {
                max-width: 108rem;
              }
            }
          }

          &:has(section.individual-investors) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/individual-investors.png");
                }
              }
            }
          }

          &:has(section.contact-us) {
            > .visual {
              > .headline {
                &:before {
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/headline/contact-us.png");
                }
              }
            }
          }

          &:has(section.error) {
            > .layer {
              gap: 6rem;

              @media (max-width: 767px) {
                gap: 4rem;
              }

              > .headline {
                max-width: 86.4rem;
              }

              > .contents {
                display: flex;
                flex-flow: column wrap;
                gap: 8rem;
                justify-content: center;
                align-items: center;
              }
            }
          }
        }

        > .visual {
          position: relative;
          z-index: 10;
          width: 100%;
          height: auto;
          padding: 0rem;
          margin: 0rem;
          display: flex;
          flex-flow: column wrap;
          gap: 0rem;
          justify-content: center;
          align-items: center;

          > .texture-bottom {
            position: relative;
            z-index: -10;
            inset: 0;
            width: 100%;
            height: 15rem;
            padding: 0rem;
            margin: 0rem;
            pointer-events: none;

            @media (max-width: 1023px) {
              height: 10rem;
            }

            @media (max-width: 767px) {
              height: 5rem;
            }

            > svg {
              width: 100%;
              height: 100%;
              padding: 0rem;
              margin: 0rem;
            }
          }

          > .headline {
            position: relative;
            z-index: 0;
            width: 100%;
            height: auto;
            min-height: 32rem;
            padding: 0rem;
            margin: 0rem;
            display: flex;
            flex-flow: column wrap;
            gap: 0rem;
            justify-content: center;
            align-items: center;

            @media (max-width: 767px) {
              min-height: 20rem;
            }

            &:before {
              content: "";
              position: absolute;
              z-index: -10;
              inset: 0;
              width: 100%;
              height: 100%;
              padding: 0rem;
              margin: 0rem;
              background-position: center center;
              background-size: cover;
              background-repeat: no-repeat;
            }

            > h1 {
              width: auto;
              height: auto;
              padding: 0rem;
              margin: 0rem;
              display: inline-grid;
              grid-template-columns: repeat(3, auto);
              gap: 0rem;
              justify-content: center;
              align-items: stretch;

              > span {
                width: 100%;
                height: auto;
                color: var(--text-white);
                font-weight: 700;
                text-align: center;
                padding: 0rem;
                margin: 0rem;
                display: flex;
                flex-flow: column wrap;
                align-items: center;
                line-height: 1;

                &:first-child {
                  font-size: 1.6rem;
                  justify-content: start;
                }

                &:last-child {
                  font-size: 4.8rem;
                  justify-content: end;

                  @media (max-width: 767px) {
                    font-size: 3rem;
                  }
                }

                &.slash {
                  content: "";
                  width: 7rem;
                  height: 7rem;
                  background-image: url("/wp-content/themes/ne-inc/assets/dist/images/icon/headline_slash_white.svg");
                  background-position: center center;
                  background-size: 100% 100%;
                  background-repeat: no-repeat;
                  padding: 0rem;
                  margin: 0rem;

                  @media (max-width: 767px) {
                    width: 4rem;
                    height: 4rem;
                  }
                }
              }
            }
          }
        }

        > .layer {
          width: 100%;
          height: auto;
          max-width: 100%;
          padding: 0rem;
          margin: 0rem;
          display: flex;
          flex-flow: column wrap;
          gap: 5rem;
          justify-content: start;
          align-items: center;

          > .headline {
            width: 100%;
            height: auto;
            max-width: 108rem;
            padding: 0rem;
            margin: 0rem;
            display: flex;
            flex-flow: column wrap;
            gap: 0rem;
            justify-content: center;
            align-items: start;

            > h2 {
              width: auto;
              height: auto;
              font-size: 4.8rem;
              font-weight: 700;
              text-align: left;
              line-height: 6rem;
              padding: 0rem;
              margin: 0rem;
              opacity: 0.64;
              background: linear-gradient(90deg, #09f 0%, #73f 100%);
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
              background-clip: text;
              display: inline-block;

              @media (max-width: 1023px) {
                font-size: 4rem;
                line-height: 4.8rem;
              }

              @media (max-width: 767px) {
                font-size: 3rem;
                line-height: 4rem;
              }
            }
          }

          > .contents {
            position: relative;
            z-index: 0;
            width: 100%;
            height: auto;
            padding: 0rem;
            margin: 0rem;
            background-color: var(--background-gray);
            display: grid;
            grid-template-columns: 100%;
            gap: 0rem;
            justify-content: center;
            align-items: start;

            &:before {
              content: "";
              position: absolute;
              z-index: 0;
              inset: 0rem calc(50% - (128rem / 2)) 0rem calc(50% - (128rem / 2));
              width: 128rem;
              height: auto;
              padding: 0rem;
              margin: 0rem;
              background-image: url("/wp-content/themes/ne-inc/assets/dist/images/background/dashed-lines.svg");
              background-position: center center;
              background-size: 100%;
              background-repeat: repeat-y;
            }

            /* > section {
            width: 100%;
            height: auto;
            padding: 0rem;
            margin: 0rem;
            display: grid;
            grid-template-columns: minmax(auto, 140rem);
            gap: 5rem;
            justify-content: center;
            align-items: start;

            > .layer {
              width: 100%;
              height: auto;
              padding: 0rem;
              margin: 0rem;
            }
          } */
          }
        }
      }

      a {
        color: var(--text-black);
        text-decoration: none;
        list-style: none;
        transition: 0.3s;
        cursor: pointer;
        display: contents;
      }

      a:hover {
        color: var(--text-black);
      }

      img {
        width: 100%;
        max-width: 100%;
        display: block;
      }

      svg {
        width: 100%;
        display: block;
      }

      li {
        text-decoration: none;
        list-style: none;
      }
      /* 
      button {
        all: unset;
      } */

      time {
        display: block;
      }

      /* inputリセット */
      input[type="checkbox"] {
        position: relative;
        z-index: 0;
        width: 2.5rem;
        height: 2.5rem;
        margin: 0rem;
        padding: 0rem;
        background-color: var(--background-white);
        border: 0rem solid var(--border-gray);
        border-radius: 0.6rem;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
      }

      /* チェック状態のスタイル */
      input[type="checkbox"]:checked {
        background-color: var(--background-white);
        border: 0rem solid var(--border-gray);
      }

      /* チェックマークを擬似要素で作る */
      input[type="checkbox"]:checked::after {
        content: "";
        position: absolute;
        z-index: 10;
        inset: 0.3rem 0.8rem auto auto;
        width: 0.6rem;
        height: 1.2rem;
        border: 0rem solid var(--border-blue);
        border-width: 0 0.3rem 0.3rem 0;
        transform: rotate(45deg);
      }

      /* セレクト内の矢印を消す */
      select {
        font-size: 1em;
        padding: 0.25em 0.5em;
        background: transparent;
        border: unset;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        outline: none;
      }
    }
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jc3MvY29tbW9uL2Jhc2UuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6ImJhc2UuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqIHJlc2V0ICoqKioqL1xuXG4qIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZW5nbGlzaCksIHZhcigtLWZvbnQtamFwYW5lc2UpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1yZXNldCk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwcmVtO1xuICBtYXJnaW46IDByZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtby1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuaHRtbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGNvbG9yOiB2YXIoLS10ZXh0LWJsYWNrKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaHRtbCk7XG4gIHBhZGRpbmc6IDByZW07XG4gIG1hcmdpbjogMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC13aGl0ZSk7XG4gIC8qIHNjcm9sbGJhci13aWR0aDogbm9uZTsgKi9cblxuICA+IGJvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBwYWRkaW5nOiAwcmVtO1xuICAgIG1hcmdpbjogMHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWJsdWUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgIGdhcDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgJjpoYXMoaGVhZGVyLnN1Yi1uYXZpZ2F0aW9uLWFjdGl2ZSkge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cblxuICAgICY6aGFzKGhlYWRlciAubWFpbi1uYXZpZ2F0aW9uLmFjdGl2ZSkge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cblxuICAgID4gLmxheWVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2U7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgZ2FwOiAwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICA+IG1haW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgICAgIG1hcmdpbjogMHJlbTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICAgICAgICBnYXA6IDByZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICAmLmxvd2VyIHtcbiAgICAgICAgICBtYXJnaW46IGNhbGModmFyKC0taGVpZ2h0LWhlYWRlcikgKyA0cmVtKSAwcmVtIDByZW0gMHJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWdyYXkpO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1oZWlnaHQtaGVhZGVyKSArIDJyZW0pIDByZW0gMHJlbSAwcmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTA7XG4gICAgICAgICAgICBpbnNldDogMHJlbSBjYWxjKDUwJSAtICgxMjhyZW0gLyAyKSkgMHJlbSBjYWxjKDUwJSAtICgxMjhyZW0gLyAyKSk7XG4gICAgICAgICAgICB3aWR0aDogMTI4cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMHJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9uZS1pbmMvYXNzZXRzL2Rpc3QvaW1hZ2VzL2JhY2tncm91bmQvZGFzaGVkLWxpbmVzLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiAubGF5ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMTByZW0gM3JlbSAzMHJlbSAzcmVtO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDNyZW0gMjVyZW0gM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gM3JlbSAyMHJlbSAzcmVtO1xuICAgICAgICAgICAgICBnYXA6IDRyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aGFzKHNlY3Rpb24uaW52ZXN0b3IpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMHJlbSAwcmVtIDEycmVtIDByZW07XG4gICAgICAgICAgICAgIGdhcDogOHJlbTtcblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHJlbSAwcmVtIDIwcmVtIDByZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtIDByZW0gMTByZW0gMHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmNvbnRlbnRzIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpoYXMoc2VjdGlvbi5jb250YWN0LXVzKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDhyZW0gM3JlbSAyMHJlbSAzcmVtO1xuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIGdhcDogM3JlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwOHJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5jb250ZW50cyB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTA4cmVtO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgICAgICAgICAgZ2FwOiA4cmVtO1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1bnNldDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLm91ci1wdXJwb3NlKSB7XG4gICAgICAgICAgICA+IC52aXN1YWwge1xuICAgICAgICAgICAgICA+IC5oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL25lLWluYy9hc3NldHMvZGlzdC9pbWFnZXMvaGVhZGxpbmUvb3VyLXB1cnBvc2UucG5nXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5sYXllciB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMHJlbSAwcmVtIDI1cmVtIDByZW07XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24ubmUtY3VsdHVyZSkge1xuICAgICAgICAgICAgPiAudmlzdWFsIHtcbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9uZS1pbmMvYXNzZXRzL2Rpc3QvaW1hZ2VzL2hlYWRsaW5lL291ci1wdXJwb3NlLnBuZ1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAubGF5ZXIge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDByZW0gMjVyZW0gMHJlbTtcblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cmVtIDByZW0gNnJlbSAwcmVtO1xuICAgICAgICAgICAgICAgIGdhcDogNHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmNvbnRlbnRzIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLnNlcnZpY2UpIHtcbiAgICAgICAgICAgID4gLnZpc3VhbCB7XG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvbmUtaW5jL2Fzc2V0cy9kaXN0L2ltYWdlcy9oZWFkbGluZS9zZXJ2aWNlLnBuZ1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAubGF5ZXIge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDByZW0gMHJlbSAyNXJlbSAwcmVtO1xuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtIDByZW0gMTByZW0gMHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDByZW0gMHJlbSAxMHJlbSAwcmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24uYWJvdXQpIHtcbiAgICAgICAgICAgID4gLnZpc3VhbCB7XG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvbmUtaW5jL2Fzc2V0cy9kaXN0L2ltYWdlcy9oZWFkbGluZS9hYm91dC5wbmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmxheWVyIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMHJlbSAwcmVtIDI1cmVtIDByZW07XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnJlbSAwcmVtIDEycmVtIDByZW07XG4gICAgICAgICAgICAgICAgZ2FwOiA0cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDByZW0gM3JlbSAwcmVtIDNyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24uYWJvdXQub2ZmaWNlcnMpIHtcbiAgICAgICAgICAgID4gLnZpc3VhbCB7XG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvbmUtaW5jL2Fzc2V0cy9kaXN0L2ltYWdlcy9oZWFkbGluZS9hYm91dC5wbmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmxheWVyIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTByZW0gM3JlbSAyNXJlbSAzcmVtO1xuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gM3JlbSAxNXJlbSAzcmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTA4cmVtO1xuICAgICAgICAgICAgICAgIGdhcDogNXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24uYmxvZykge1xuICAgICAgICAgICAgPiAudmlzdWFsIHtcbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9uZS1pbmMvYXNzZXRzL2Rpc3QvaW1hZ2VzL2hlYWRsaW5lL25ld3MucG5nXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5sYXllciB7XG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gM3JlbSAxNXJlbSAzcmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIGdhcDogNXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24ubmV3cykge1xuICAgICAgICAgICAgPiAudmlzdWFsIHtcbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9uZS1pbmMvYXNzZXRzL2Rpc3QvaW1hZ2VzL2hlYWRsaW5lL25ld3MucG5nXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5sYXllciB7XG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gM3JlbSAxNXJlbSAzcmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIGdhcDogNXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24ubWFuYWdlbWVudC1wb2xpY3kpIHtcbiAgICAgICAgICAgID4gLnZpc3VhbCB7XG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvbmUtaW5jL2Fzc2V0cy9kaXN0L2ltYWdlcy9oZWFkbGluZS9tYW5hZ2VtZW50LXBvbGljeS5wbmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmxheWVyIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTByZW0gM3JlbSAzMHJlbSAzcmVtO1xuICAgICAgICAgICAgICBnYXA6IDZyZW07XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDNyZW0gMjVyZW0gM3JlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gM3JlbSAyMHJlbSAzcmVtO1xuICAgICAgICAgICAgICAgIGdhcDogNHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg2LjRyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogOHJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpoYXMoc2VjdGlvbi5jZW8tbWVzc2FnZSkge1xuICAgICAgICAgICAgPiAubGF5ZXIge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtIDByZW0gMjVyZW0gMHJlbTtcblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtIDByZW0gMTVyZW0gMHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmNvbnRlbnRzIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogMTByZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24ubWFuYWdlbWVudC1zdHJhdGVneSkge1xuICAgICAgICAgICAgPiAudmlzdWFsIHtcbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9uZS1pbmMvYXNzZXRzL2Rpc3QvaW1hZ2VzL2hlYWRsaW5lL21hbmFnZW1lbnQtcG9saWN5LnBuZ1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLmNvcnBvcmF0ZSksXG4gICAgICAgICAgJjpoYXMoc2VjdGlvbi5yaXNrLW1hbmFnZW1lbnQpLFxuICAgICAgICAgICY6aGFzKHNlY3Rpb24uc3RvY2suaW5mbykge1xuICAgICAgICAgICAgPiAubGF5ZXIge1xuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBnYXA6IDNyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4Ni40cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6IDhyZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24ubGlicmFyeSkge1xuICAgICAgICAgICAgPiAudmlzdWFsIHtcbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9uZS1pbmMvYXNzZXRzL2Rpc3QvaW1hZ2VzL2hlYWRsaW5lL2xpYnJhcnkucG5nXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5sYXllciB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDNyZW0gMzVyZW0gM3JlbTtcblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTByZW0gM3JlbSAyNXJlbSAzcmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDNyZW0gMTVyZW0gM3JlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gM3JlbSAxNXJlbSAzcmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpoYXMoc2VjdGlvbi5maW5hbmNpYWxzKSB7XG4gICAgICAgICAgICA+IC52aXN1YWwge1xuICAgICAgICAgICAgICA+IC5oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL25lLWluYy9hc3NldHMvZGlzdC9pbWFnZXMvaGVhZGxpbmUvZmluYW5jaWFscy5wbmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmxheWVyIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTByZW0gM3JlbSAzMHJlbSAzcmVtO1xuICAgICAgICAgICAgICBnYXA6IDZyZW07XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDNyZW0gMjVyZW0gM3JlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gM3JlbSAyMHJlbSAzcmVtO1xuICAgICAgICAgICAgICAgIGdhcDogNHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg2LjRyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogOHJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpoYXMoc2VjdGlvbi5oaWdobGlnaHRzKSxcbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLmJ1c2luZXNzLXNlZ21lbnRzKSxcbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLmtleS1idXNpbmVzcy1kYXRhKSB7XG4gICAgICAgICAgICA+IC5sYXllciB7XG4gICAgICAgICAgICAgIGdhcDogOHJlbTtcblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBnYXA6IDRyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDhyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogOHJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgICBnYXA6IDZyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpoYXMoc2VjdGlvbi5lYXJuaW5ncy1mb3JlY2FzdCkge1xuICAgICAgICAgICAgPiAubGF5ZXIge1xuICAgICAgICAgICAgICBnYXA6IDZyZW07XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgZ2FwOiA0cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODYuNHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmNvbnRlbnRzIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg2LjRyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLmdvdmVybmFuY2UpIHtcbiAgICAgICAgICAgID4gLnZpc3VhbCB7XG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvbmUtaW5jL2Fzc2V0cy9kaXN0L2ltYWdlcy9oZWFkbGluZS9nb3Zlcm5hbmNlLnBuZ1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAubGF5ZXIge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMHJlbSAzcmVtIDMwcmVtIDNyZW07XG4gICAgICAgICAgICAgIGdhcDogNnJlbTtcblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTByZW0gM3JlbSAyNXJlbSAzcmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXJlbSAzcmVtIDIwcmVtIDNyZW07XG4gICAgICAgICAgICAgICAgZ2FwOiA0cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODYuNHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmNvbnRlbnRzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAgICAgICAgICAgICAgZ2FwOiA4cmVtO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLmluZm9ybWF0aW9uLXNlY3VyaXR5KSxcbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLnByaXZhY3ktcG9saWN5KSxcbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLmRpc2Nsb3N1cmUtcG9saWN5KSB7XG4gICAgICAgICAgICA+IC5sYXllciB7XG4gICAgICAgICAgICAgIGdhcDogNnJlbTtcblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBnYXA6IDRyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4Ni40cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6IDhyZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24uc3RvY2spIHtcbiAgICAgICAgICAgID4gLnZpc3VhbCB7XG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvbmUtaW5jL2Fzc2V0cy9kaXN0L2ltYWdlcy9oZWFkbGluZS9zdG9jay5wbmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmxheWVyIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTByZW0gM3JlbSAzMHJlbSAzcmVtO1xuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHJlbSAzcmVtIDI1cmVtIDNyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDNyZW0gMjByZW0gM3JlbTtcbiAgICAgICAgICAgICAgICBnYXA6IDRyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4Ni40cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiAuY29udGVudHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6IDhyZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24ubWVldGluZykge1xuICAgICAgICAgICAgPiAubGF5ZXIge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMHJlbSAzcmVtIDM1cmVtIDNyZW07XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNjVweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDNyZW0gMzByZW0gM3JlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHJlbSAzcmVtIDI1cmVtIDNyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDNyZW0gMjByZW0gM3JlbTtcbiAgICAgICAgICAgICAgICBnYXA6IDRyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDhyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhhcyhzZWN0aW9uLmluZGl2aWR1YWwtaW52ZXN0b3JzKSB7XG4gICAgICAgICAgICA+IC52aXN1YWwge1xuICAgICAgICAgICAgICA+IC5oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL25lLWluYy9hc3NldHMvZGlzdC9pbWFnZXMvaGVhZGxpbmUvaW5kaXZpZHVhbC1pbnZlc3RvcnMucG5nXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24uY29udGFjdC11cykge1xuICAgICAgICAgICAgPiAudmlzdWFsIHtcbiAgICAgICAgICAgICAgPiAuaGVhZGxpbmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9uZS1pbmMvYXNzZXRzL2Rpc3QvaW1hZ2VzL2hlYWRsaW5lL2NvbnRhY3QtdXMucG5nXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKHNlY3Rpb24uZXJyb3IpIHtcbiAgICAgICAgICAgID4gLmxheWVyIHtcbiAgICAgICAgICAgICAgZ2FwOiA2cmVtO1xuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIGdhcDogNHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg2LjRyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogOHJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAudmlzdWFsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgICBnYXA6IDByZW07XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgID4gLnRleHR1cmUtYm90dG9tIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xMDtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMHJlbTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgICAgICAgIGhlaWdodDogMTByZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMHJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMycmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMHJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiAwcmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogMjByZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB6LWluZGV4OiAtMTA7XG4gICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgICAgICAgICBtYXJnaW46IDByZW07XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gaDEge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgICAgICAgICBtYXJnaW46IDByZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBhdXRvKTtcbiAgICAgICAgICAgICAgZ2FwOiAwcmVtO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC44cmVtO1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG5cbiAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zbGFzaCB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDdyZW07XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvbmUtaW5jL2Fzc2V0cy9kaXN0L2ltYWdlcy9pY29uL2hlYWRsaW5lX3NsYXNoX3doaXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwcmVtO1xuXG4gICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5sYXllciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgICAgIG1hcmdpbjogMHJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAgICAgICAgZ2FwOiA1cmVtO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgID4gLmhlYWRsaW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDhyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAgICAgICAgICBnYXA6IDByZW07XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICAgICAgICAgICAgPiBoMiB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC44cmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNnJlbTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMHJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwOWYgMCUsICM3M2YgMTAwJSk7XG4gICAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQuOHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gLmNvbnRlbnRzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgICAgICAgICBtYXJnaW46IDByZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWdyYXkpO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICAgICAgICAgIGdhcDogMHJlbTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgICAgaW5zZXQ6IDByZW0gY2FsYyg1MCUgLSAoMTI4cmVtIC8gMikpIDByZW0gY2FsYyg1MCUgLSAoMTI4cmVtIC8gMikpO1xuICAgICAgICAgICAgICB3aWR0aDogMTI4cmVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgICAgICAgICAgIG1hcmdpbjogMHJlbTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL25lLWluYy9hc3NldHMvZGlzdC9pbWFnZXMvYmFja2dyb3VuZC9kYXNoZWQtbGluZXMuc3ZnXCIpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogPiBzZWN0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMHJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heChhdXRvLCAxNDByZW0pO1xuICAgICAgICAgICAgZ2FwOiA1cmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG5cbiAgICAgICAgICAgID4gLmxheWVyIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZzogMHJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gKi9cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJsYWNrKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgfVxuXG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtYmxhY2spO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC8qIFxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgYWxsOiB1bnNldDtcbiAgICAgIH0gKi9cblxuICAgICAgdGltZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAvKiBpbnB1dOODquOCu+ODg+ODiCAqL1xuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXdoaXRlKTtcbiAgICAgICAgYm9yZGVyOiAwcmVtIHNvbGlkIHZhcigtLWJvcmRlci1ncmF5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC42cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuXG4gICAgICAvKiDjg4Hjgqfjg4Pjgq/nirbmhYvjga7jgrnjgr/jgqTjg6sgKi9cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC13aGl0ZSk7XG4gICAgICAgIGJvcmRlcjogMHJlbSBzb2xpZCB2YXIoLS1ib3JkZXItZ3JheSk7XG4gICAgICB9XG5cbiAgICAgIC8qIOODgeOCp+ODg+OCr+ODnuODvOOCr+OCkuaTrOS8vOimgee0oOOBp+S9nOOCiyAqL1xuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgaW5zZXQ6IDAuM3JlbSAwLjhyZW0gYXV0byBhdXRvO1xuICAgICAgICB3aWR0aDogMC42cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgYm9yZGVyOiAwcmVtIHNvbGlkIHZhcigtLWJvcmRlci1ibHVlKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAuM3JlbSAwLjNyZW0gMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuXG4gICAgICAvKiDjgrvjg6zjgq/jg4jlhoXjga7nn6LljbDjgpLmtojjgZkgKi9cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 */