.u-torn {
  position: relative; }
  .u-torn--absolute {
    position: absolute;
    top: -30px;
    width: 100%;
    left: 0px; }
.u-torn--top:before {
    content: '';
    height: 9px;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 10;
    background-image: url("/virtual-forest/images/torn-edge.png");
    background-position: left; }
.u-torn--bottom:after {
    content: '';
    height: 9px;
    width: 100%;
    position: absolute;
    bottom: 0px;
    z-index: 10;
    right: 0px;
    background-image: url("/virtual-forest/images/torn-edge-bottom.png");
    background-position: right;
    display: block; }


.virtual-forest-banner {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  position: relative;
  background-image: url("/virtual-forest/images/vf-paper-texture.png");
  margin-bottom: 37.5px;
  min-height: 1030px; }
  @media (min-width: 992px) {
    .virtual-forest-banner {
      margin-bottom: 75px; } }
  .virtual-forest-banner__frame {
    position: relative;
    z-index: 5;
    position: relative;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }
  .virtual-forest-banner__heading {
    color: #fff;
    font-family: "century-gothic", CenturyGothic, Geneva, AppleGothic, sans-serif;
    font-size: 1.25rem; }
    @media (min-width: 768px) {
      .virtual-forest-banner__heading {
        font-size: 1.375rem; } }
    @media (min-width: 992px) {
      .virtual-forest-banner__heading {
        font-size: 1.5rem; } }
  .virtual-forest-banner__top-caption {
    text-align: center;
    margin-top: 100px;
    opacity: 0;
    -webkit-transform: translate(-50%, 50px);
            transform: translate(-50%, 50px);
    position: absolute;
    left: 50%;
    z-index: 20;
    top: 0px;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px; }
    @media (min-width: 480px) {
      .virtual-forest-banner__top-caption {
        max-width: 600px; } }
    @media (min-width: 992px) {
      .virtual-forest-banner__top-caption {
        margin-top: 80px; } }
    .virtual-forest-banner__top-caption.animate {
      -webkit-animation-name: fadeUp;
              animation-name: fadeUp;
      -webkit-animation-duration: 1.5s;
              animation-duration: 1.5s;
      -webkit-animation-iteration-count: 1;
              animation-iteration-count: 1;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-timing-function: ease-in-out;
              animation-timing-function: ease-in-out; }
  .virtual-forest-banner__description-holder {
    position: absolute;
    z-index: 20;
    width: 100%;
    bottom: 40px;
    height: 140px;
    left: 0px; }
    @media (min-width: 992px) {
      .virtual-forest-banner__description-holder {
        bottom: 60px; } }
  .virtual-forest-banner__description {
    width: 100%;
    text-align: center;
    opacity: 0;
    position: absolute;
    -webkit-transform: translate(-50%, 50px);
            transform: translate(-50%, 50px);
    bottom: 0px;
    left: 50%; }
    .virtual-forest-banner__description > span {
      color: #005046;
      font-size: 1.5rem;
      display: block;
      margin-bottom: 20px;
      padding-left: 20px;
      padding-right: 20px; }
      @media (max-width: 991px) {
        .virtual-forest-banner__description > span {
          font-size: 1.25rem; }
          .virtual-forest-banner__description > span br {
            display: none; } }
    .virtual-forest-banner__description.animate {
      -webkit-animation-name: fadeUp;
              animation-name: fadeUp;
      -webkit-animation-duration: 1s;
              animation-duration: 1s;
      -webkit-animation-iteration-count: 1.5s;
              animation-iteration-count: 1.5s;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-timing-function: ease-in-out;
              animation-timing-function: ease-in-out; }
  .virtual-forest-banner__background {
    background-image: url("/virtual-forest/images/vf-sky.png");
    background-repeat: repeat-x;
    height: 400px;
    width: 100%;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    height: 450px; }
  .virtual-forest-banner__middleground {
    width: 100%;
    min-width: 100%;
    min-height: 580px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    z-index: 20;
    background-image: url("/virtual-forest/images/vf-paper-texture.png");
    background-position: top center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transform: translateY(150px);
            transform: translateY(150px); }
    .virtual-forest-banner__middleground.animate {
      -webkit-animation-name: middleground;
              animation-name: middleground;
      -webkit-animation-duration: 1s;
              animation-duration: 1s;
      -webkit-animation-iteration-count: 1;
              animation-iteration-count: 1;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }
    .virtual-forest-banner__middleground:after {
      content: '';
      position: absolute;
      background-image: url("/virtual-forest/images/vf-floor-pattern.svg");
      width: 1920px;
      height: 100%;
      background-repeat: no-repeat;
      background-position: center -185px;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      z-index: 10;
      background-size: cover; }
    .virtual-forest-banner__middleground:before {
      content: '';
      position: absolute;
      background-image: url("/virtual-forest/images/vf-horizon.png");
      width: 1920px;
      left: 50%;
      -webkit-transform: translate(-50%, -100%);
              transform: translate(-50%, -100%);
      top: 0px;
      height: 36px;
      z-index: 5; }
  .virtual-forest-banner__foreground {
    z-index: 30; }
  .virtual-forest-banner__floor {
    position: absolute;
    width: 1920px;
    height: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 0px;
    background-image: url("/virtual-forest/images/vf-floor-texture.svg");
    background-size: cover;
    z-index: 0; }
  .virtual-forest-banner__tree-plane {
    height: 185px;
    width: 1920px;
    left: 50%;
    position: absolute;
    top: 0px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 50;
    top: -90px; }
    @media (min-width: 480px) {
      .virtual-forest-banner__tree-plane {
        top: -85px; } }
    @media (min-width: 768px) {
      .virtual-forest-banner__tree-plane {
        top: -70px; } }
  .virtual-forest-banner__tree-line {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
    width: 1500px;
    height: 125px;
    z-index: 50; }
    .virtual-forest-banner__tree-line .virtual-forest-banner__tree-name {
      -webkit-filter: blur(1px);
              filter: blur(1px); }
    .virtual-forest-banner__tree-line .virtual-forest-banner__tree img {
      -webkit-filter: blur(2px);
              filter: blur(2px); }
    .virtual-forest-banner__tree-line--bg > * {
      top: 0px;
      -webkit-transform: scale(0.85);
              transform: scale(0.85); }
      .virtual-forest-banner__tree-line--bg > *:nth-child(1) {
        left: 55px; }
      .virtual-forest-banner__tree-line--bg > *:nth-child(2) {
        left: 500px;
        top: 30px; }
        @media (min-width: 480px) {
          .virtual-forest-banner__tree-line--bg > *:nth-child(2) {
            left: 230px;
            top: 0px; } }
      .virtual-forest-banner__tree-line--bg > *:nth-child(3) {
        left: 580px; }
        @media (min-width: 480px) {
          .virtual-forest-banner__tree-line--bg > *:nth-child(3) {
            left: 500px; } }
      .virtual-forest-banner__tree-line--bg > *:nth-child(4) {
        left: 870px;
        top: 10px; }
        @media (min-width: 480px) {
          .virtual-forest-banner__tree-line--bg > *:nth-child(4) {
            left: 910px; } }
      .virtual-forest-banner__tree-line--bg > *:nth-child(5) {
        left: 1170px;
        top: -5px; }
    .virtual-forest-banner__tree-line--fg {
      top: 40px; }
      .virtual-forest-banner__tree-line--fg > * {
        top: 0px; }
        .virtual-forest-banner__tree-line--fg > *:nth-child(1) {
          left: 140px; }
        .virtual-forest-banner__tree-line--fg > *:nth-child(2) {
          left: 320px; }
        .virtual-forest-banner__tree-line--fg > *:nth-child(3) {
          left: 660px;
          top: -5px; }
          @media (min-width: 480px) {
            .virtual-forest-banner__tree-line--fg > *:nth-child(3) {
              left: 565px; } }
        .virtual-forest-banner__tree-line--fg > *:nth-child(4) {
          left: 780px;
          top: -40px; }
          @media (min-width: 480px) {
            .virtual-forest-banner__tree-line--fg > *:nth-child(4) {
              left: 845px;
              top: 0px; } }
        .virtual-forest-banner__tree-line--fg > *:nth-child(5) {
          left: 1100px;
          top: 20px; }
        .virtual-forest-banner__tree-line--fg > *:nth-child(6) {
          left: 1267px; }
  .virtual-forest-banner__tree {
    position: absolute;
    cursor: pointer; }
    .virtual-forest-banner__tree img {
      max-width: 100%; }
    .virtual-forest-banner__tree--1 {
      width: 77px; }
    .virtual-forest-banner__tree--2 {
      width: 85px; }
    .virtual-forest-banner__tree--3 {
      width: 47px; }
    .virtual-forest-banner__tree--4 {
      width: 68px; }
  .virtual-forest-banner__tree-name {
    position: absolute;
    top: -45px;
    color: #fff;
    width: 100%;
    left: 50%;
    text-align: center;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-family: "MatizRegular", serif;
    text-transform: uppercase;
    opacity: 0;
    line-height: 1; }
    .virtual-forest-banner__tree-name.animate-delay {
      -webkit-animation-name: opacity;
              animation-name: opacity;
      -webkit-animation-duration: 1s;
              animation-duration: 1s;
      -webkit-animation-iteration-count: 1;
              animation-iteration-count: 1;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-delay: 0.75s;
              animation-delay: 0.75s; }
    .virtual-forest-banner__tree-name.animate {
      -webkit-animation-name: opacity;
              animation-name: opacity;
      -webkit-animation-duration: 1s;
              animation-duration: 1s;
      -webkit-animation-iteration-count: 1;
              animation-iteration-count: 1;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }
    .virtual-forest-banner__tree-name:after {
      content: '';
      width: 4px;
      border-left: 4px dotted #fff;
      height: 25px;
      position: absolute;
      -webkit-transform: translate(-50%, 100%);
              transform: translate(-50%, 100%);
      left: calc(50% + 2px);
      bottom: -3px; }
    .virtual-forest-banner__tree-name--large {
      font-size: 1.4375rem;
      top: -75px;
      text-shadow: 0px 0px 40px rgba(0, 0, 0, 0.8);
      -webkit-filter: blur(2px);
              filter: blur(2px); }
      @media (min-width: 480px) {
        .virtual-forest-banner__tree-name--large {
          -webkit-filter: blur(0px);
                  filter: blur(0px); } }
      .virtual-forest-banner__tree-name--large.animate-delay {
        -webkit-animation-delay: 0.5s;
                animation-delay: 0.5s; }
      .virtual-forest-banner__tree-name--large:after {
        width: 6px;
        border-width: 6px;
        height: 45px;
        left: calc(50% + 3px); }
    .virtual-forest-banner__tree-name--main {
      position: relative;
      font-size: 1.5rem;
      top: -43px;
      left: 2px;
      text-shadow: 0px 0px 40px rgba(0, 0, 0, 0.8);
      width: 320px;
      overflow-wrap: break-word; }
      @media (min-width: 480px) {
        .virtual-forest-banner__tree-name--main {
          font-size: 2rem;
          width: 480px;
          font-size: 1.625rem; } }
      @media (min-width: 768px) {
        .virtual-forest-banner__tree-name--main {
          font-size: 1.8rem;
          width: 768px; } }
      .virtual-forest-banner__tree-name--main:after {
        width: 6px;
        border-width: 6px;
        height: 75px; }
      .virtual-forest-banner__tree-name--main.alt {
        top: -128px; }
      .virtual-forest-banner__tree-name--main.animate-delay {
        -webkit-animation-delay: 5s;
                animation-delay: 5s; }
  .virtual-forest-banner__message-container {
    z-index: 51;
    position: relative;
    top: 380px;
    left: 5px;
    width: 250px;
    background-color: #FFFF99;
    outline: 2.5px solid white;
    border-radius: 12px;
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 8px; }
    @media (max-width: 767px) {
      .virtual-forest-banner__message-container {
        font-size: 2.25rem;
        width: 200px;
        top: 300px;
        left: 110px; } }
    .virtual-forest-banner__message-container--message-text {
      font-size: 0.875rem;
      text-align: center;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      padding: 14px;
      font-weight: 800; }
      @media (max-width: 767px) {
        .virtual-forest-banner__message-container--message-text {
          font-size: 0.75rem;
          padding: 10px; } }
    .virtual-forest-banner__message-container--close-button {
      cursor: pointer;
      position: absolute;
      top: 10px;
      right: 10px;
      width: 10px;
      height: 10px;
      background-color: transparent;
      outline: none;
      border: none;
      font-size: 0.625rem;
      padding: 0;
      border-radius: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .virtual-forest-banner__message-container--close-button .icon-cross {
        width: 10px;
        height: 10px; }
  .virtual-forest-banner__tree-line-blur {
    position: absolute;
    background-image: url(/virtual-forest/images/vf-tree-line-blur.svg);
    width: 1920px;
    height: 275px;
    left: 50%;
    background-size: cover;
    bottom: 0px;
    z-index: 20;
    bottom: -180px;
    -webkit-transform: translate(-50%, 180px);
            transform: translate(-50%, 180px); }
    .virtual-forest-banner__tree-line-blur.animate {
      -webkit-animation-name: treeblur;
              animation-name: treeblur;
      -webkit-animation-duration: 1s;
              animation-duration: 1s;
      -webkit-animation-iteration-count: 1;
              animation-iteration-count: 1;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }
  .virtual-forest-banner__hill {
    position: absolute;
    bottom: 0px;
    height: 240px;
    width: 1920px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-size: cover;
    z-index: 10; }
    .virtual-forest-banner__hill--bg {
      background-image: url(/virtual-forest/images/vf-hill-bg.svg);
      z-index: 10;
      -webkit-transform: translateX(-50%) translateY(80px);
              transform: translateX(-50%) translateY(80px);
      bottom: -110px;
      opacity: 0.8; }
      .virtual-forest-banner__hill--bg.animate {
        -webkit-animation-name: background;
                animation-name: background;
        -webkit-animation-duration: 1.3s;
                animation-duration: 1.3s;
        -webkit-animation-iteration-count: 1;
                animation-iteration-count: 1;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards; }
    .virtual-forest-banner__hill--mg {
      background-image: url(/virtual-forest/images/vf-hill-mg.svg);
      z-index: 10;
      -webkit-transform: translateX(-50%) translateY(80px);
              transform: translateX(-50%) translateY(80px);
      bottom: -140px; }
      .virtual-forest-banner__hill--mg.animate {
        -webkit-animation-name: background;
                animation-name: background;
        -webkit-animation-duration: 1.2s;
                animation-duration: 1.2s;
        -webkit-animation-iteration-count: 1;
                animation-iteration-count: 1;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards; }
    .virtual-forest-banner__hill--fg {
      background-image: url(/virtual-forest/images/vf-hill-fg.svg);
      z-index: 15;
      -webkit-transform: translateX(-50%) translateY(80px);
              transform: translateX(-50%) translateY(80px);
      bottom: -120px; }
      .virtual-forest-banner__hill--fg.animate {
        -webkit-animation-name: background;
                animation-name: background;
        -webkit-animation-duration: 1.05s;
                animation-duration: 1.05s;
        -webkit-animation-iteration-count: 1;
                animation-iteration-count: 1;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards; }
  .virtual-forest-banner__sun {
    width: 40px;
    height: 40px;
    background-color: #face00;
    position: absolute;
    right: 70px;
    background-size: cover;
    top: 70px;
    border-radius: 50%;
    -webkit-box-shadow: 0px 0px 20px 20px rgba(250, 206, 0, 0.5);
            box-shadow: 0px 0px 20px 20px rgba(250, 206, 0, 0.5);
    -webkit-animation: glow 5s ease-out -5s infinite alternate forwards;
            animation: glow 5s ease-out -5s infinite alternate forwards; }
    @media (max-width: 991px) {
      .virtual-forest-banner__sun {
        right: 40px;
        width: 20px;
        height: 20px;
        top: 50px; } }
  .virtual-forest-banner__cloud {
    background-image: url(/virtual-forest/images/vf-cloud.svg);
    background-size: cover;
    position: absolute;
    top: 0px;
    z-index: 0; }
    .virtual-forest-banner__cloud--1 {
      width: 36px;
      height: 16px;
      top: 165px;
      -webkit-animation: animateCloud 22s linear infinite;
              animation: animateCloud 22s linear infinite; }
      @media (max-width: 991px) {
        .virtual-forest-banner__cloud--1 {
          top: 215px;
          -webkit-animation: animateCloud 10s linear infinite;
                  animation: animateCloud 10s linear infinite; } }
    .virtual-forest-banner__cloud--2 {
      width: 62px;
      height: 26px;
      opacity: 0.8;
      top: 200px;
      -webkit-animation: animateCloud 24s linear infinite;
              animation: animateCloud 24s linear infinite; }
      @media (max-width: 991px) {
        .virtual-forest-banner__cloud--2 {
          top: 250px;
          -webkit-animation: animateCloud 14s linear infinite;
                  animation: animateCloud 14s linear infinite; } }
    .virtual-forest-banner__cloud--3 {
      width: 36px;
      height: 16px;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      top: 210px;
      -webkit-animation: animateCloud 35s linear infinite;
              animation: animateCloud 35s linear infinite; }
      @media (max-width: 991px) {
        .virtual-forest-banner__cloud--3 {
          top: 270px;
          display: none; } }
    .virtual-forest-banner__cloud--4 {
      width: 62px;
      height: 26px;
      opacity: 0.8;
      top: 190px;
      -webkit-animation: animateCloud 15s linear infinite;
              animation: animateCloud 15s linear infinite; }
      @media (max-width: 991px) {
        .virtual-forest-banner__cloud--4 {
          top: 240px;
          display: none; } }
    .virtual-forest-banner__cloud--5 {
      width: 36px;
      height: 16px;
      top: 210px;
      -webkit-animation: animateCloud 25s linear infinite;
              animation: animateCloud 25s linear infinite; }
      @media (max-width: 991px) {
        .virtual-forest-banner__cloud--5 {
          display: none; } }
  .virtual-forest-banner__core-trees {
    position: absolute;
    bottom: 220px;
    width: 700px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    text-align: center;
    z-index: 50; }
  .virtual-forest-banner__sub-tree-1 {
    cursor: pointer;
    width: 235px;
    position: absolute;
    left: -70px;
    bottom: 70px; }
    @media (max-width: 767px) {
      .virtual-forest-banner__sub-tree-1 {
        width: 165px;
        left: 70px; } }
    .virtual-forest-banner__sub-tree-1 img {
      max-width: 100%; }
  .virtual-forest-banner__sub-tree-2 {
    cursor: pointer;
    width: 180px;
    position: absolute;
    right: -30px;
    bottom: 70px; }
    @media (max-width: 767px) {
      .virtual-forest-banner__sub-tree-2 {
        width: 120px;
        right: 100px; } }
    .virtual-forest-banner__sub-tree-2 img {
      max-width: 100%; }
  .virtual-forest-banner__animation-wrapper {
    width: 550px;
    height: 460px;
    position: relative; }
    @media (max-width: 767px) {
      .virtual-forest-banner__animation-wrapper {
        width: 450px;
        height: 380px; } }
  .virtual-forest-banner__animation-container {
    -webkit-transform: translateX(-151px);
            transform: translateX(-151px); }
    @media (max-width: 767px) {
      .virtual-forest-banner__animation-container {
        -webkit-transform: translateX(-110px);
                transform: translateX(-110px); } }
  .virtual-forest-banner__main-tree {
    cursor: pointer;
    position: absolute;
    left: 50%;
    bottom: 0px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 260px;
    overflow-x: clip; }
    @media (max-width: 767px) {
      .virtual-forest-banner__main-tree {
        width: 235px; } }
    .virtual-forest-banner__main-tree img {
      width: 244px; }
      @media (max-width: 767px) {
        .virtual-forest-banner__main-tree img {
          width: 200px; } }
  .virtual-forest-banner__foreground-trees {
    cursor: pointer;
    position: absolute;
    height: 1040px;
    width: 668px;
    bottom: 0px;
    z-index: 20;
    -webkit-filter: blur(10px);
            filter: blur(10px); }
    @media (max-width: 1329px) {
      .virtual-forest-banner__foreground-trees {
        display: none; } }
    .virtual-forest-banner__foreground-trees img {
      max-width: 100%;
      position: absolute;
      top: 0px; }
    .virtual-forest-banner__foreground-trees--left {
      left: 0px;
      -webkit-transform: translate(-60%, 60%);
              transform: translate(-60%, 60%); }
      .virtual-forest-banner__foreground-trees--left img:nth-child(1n) {
        z-index: 20;
        width: 668px;
        height: 1040px; }
      .virtual-forest-banner__foreground-trees--left img:nth-child(2n) {
        top: -120px;
        z-index: 10;
        left: 100px;
        width: 462px;
        height: 695px; }
    .virtual-forest-banner__foreground-trees--right {
      right: 0px;
      -webkit-transform: translate(55%, 60%);
              transform: translate(55%, 60%); }
      .virtual-forest-banner__foreground-trees--right img:nth-child(1n) {
        z-index: 20;
        width: 668px;
        height: 1040px; }
      .virtual-forest-banner__foreground-trees--right img:nth-child(2n) {
        top: -120px;
        z-index: 10;
        right: 100px;
        width: 462px;
        height: 695px; }
  .virtual-forest-banner__background-gradient {
    width: 100%;
    height: 423px;
    position: absolute;
    left: 0px;
    z-index: 0;
    bottom: -80px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(8%, rgba(0, 0, 0, 0)), color-stop(15%, rgba(0, 0, 0, 0.8)), color-stop(85%, black), color-stop(92%, rgba(0, 0, 0, 0.8)));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 8%, rgba(0, 0, 0, 0.8) 15%, black 85%, rgba(0, 0, 0, 0.8) 92%);
    opacity: 0.10; }
  .virtual-forest-banner__set {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    z-index: 50;
    left: 0px; }
  .virtual-forest-banner__button {
    position: absolute;
    top: 25%;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    z-index: 40;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: #fff;
    border: 0px;
    -webkit-box-shadow: 0px 4px 8.37px 0.63px rgba(0, 0, 0, 0.31);
            box-shadow: 0px 4px 8.37px 0.63px rgba(0, 0, 0, 0.31);
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media (min-width: 768px) {
      .virtual-forest-banner__button {
        top: 42.5%; } }
    .virtual-forest-banner__button svg {
      width: 25px;
      height: 45px;
      fill: #009E49; }
    .virtual-forest-banner__button:hover {
      cursor: pointer;
      background-color: #009E49; }
      .virtual-forest-banner__button:hover svg {
        fill: #fff; }
    .virtual-forest-banner__button--next {
      right: 15px; }
    .virtual-forest-banner__button--prev {
      left: 15px; }
      .virtual-forest-banner__button--prev svg {
        -webkit-transform: scaleX(-1);
                transform: scaleX(-1); }
  .virtual-forest-banner__social-holder {
    position: relative; }
  .virtual-forest-banner__social-links {
    top: -70px;
    z-index: 20;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .virtual-forest-banner__social-box {
    display: block;
    margin: 0px;
    background-color: #009E49;
    padding: 0px 0px 0px 10px;
    border: 3px solid #fff;
    border-radius: 5px;
    -webkit-box-shadow: 0 2px 5px 0 #888;
            box-shadow: 0 2px 5px 0 #888;
    position: relative; }
    .virtual-forest-banner__social-box:before {
      content: '';
      position: absolute;
      bottom: 0px;
      left: 50%;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 10px 0 10px;
      border-color: #009E49 transparent transparent transparent;
      -webkit-transform: translate(-50%, 100%);
              transform: translate(-50%, 100%);
      z-index: 10; }
    .virtual-forest-banner__social-box:after {
      content: '';
      position: absolute;
      bottom: 0px;
      left: 50%;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 14px 12.5px 0 12.5px;
      border-color: #fff transparent transparent transparent;
      -webkit-transform: translate(-50%, 100%);
              transform: translate(-50%, 100%);
      z-index: 5; }

.highlight {
  font-family: "MatizRegular", serif;
  font-weight: normal; }

@-webkit-keyframes middleground {
  from {
    -webkit-transform: translateY(150px);
            transform: translateY(150px); }
  to {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@keyframes middleground {
  from {
    -webkit-transform: translateY(150px);
            transform: translateY(150px); }
  to {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@-webkit-keyframes background {
  from {
    -webkit-transform: translateX(-50%) translateY(80px);
            transform: translateX(-50%) translateY(80px); }
  to {
    -webkit-transform: translateX(-50%) translateY(0px);
            transform: translateX(-50%) translateY(0px); } }

@keyframes background {
  from {
    -webkit-transform: translateX(-50%) translateY(80px);
            transform: translateX(-50%) translateY(80px); }
  to {
    -webkit-transform: translateX(-50%) translateY(0px);
            transform: translateX(-50%) translateY(0px); } }

@-webkit-keyframes treeblur {
  from {
    -webkit-transform: translate(-50%, 180px);
            transform: translate(-50%, 180px);
    opacity: 0; }
  to {
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
    opacity: 1; } }

@keyframes treeblur {
  from {
    -webkit-transform: translate(-50%, 180px);
            transform: translate(-50%, 180px);
    opacity: 0; }
  to {
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px);
    opacity: 1; } }

@-webkit-keyframes opacity {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes opacity {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, 50px);
            transform: translate(-50%, 50px); }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px); } }

@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, 50px);
            transform: translate(-50%, 50px); }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, 0px);
            transform: translate(-50%, 0px); } }

@-webkit-keyframes animateCloud {
  0% {
    margin-left: -100vw; }
  100% {
    margin-left: 100vw; } }

@keyframes animateCloud {
  0% {
    margin-left: -100vw; }
  100% {
    margin-left: 100vw; } }

@-webkit-keyframes glow {
  from {
    -webkit-box-shadow: 0px 0px 5px 5px rgba(250, 206, 0, 0.5);
            box-shadow: 0px 0px 5px 5px rgba(250, 206, 0, 0.5); }
  to {
    -webkit-box-shadow: 0px 0px 25px 25px rgba(250, 206, 0, 0.7);
            box-shadow: 0px 0px 25px 25px rgba(250, 206, 0, 0.7); } }

@keyframes glow {
  from {
    -webkit-box-shadow: 0px 0px 5px 5px rgba(250, 206, 0, 0.5);
            box-shadow: 0px 0px 5px 5px rgba(250, 206, 0, 0.5); }
  to {
    -webkit-box-shadow: 0px 0px 25px 25px rgba(250, 206, 0, 0.7);
            box-shadow: 0px 0px 25px 25px rgba(250, 206, 0, 0.7); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjA0LWNvbXBvbmVudHMvdmlydHVhbC1mb3Jlc3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyIsInNldHRpbmdzL19ncmlkLnNjc3MiLCJzZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzIiwidG9vbHMvZnVuY3Rpb25zL19yZW0uc2NzcyIsInNldHRpbmdzL19jb2xvdXJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFFSSxpQkFBaUI7RUFDakIsV0FBVztFQUNYLGNBQWM7RUFDZCx3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLHlFQUF5RTtFQUN6RSxxQkFBZ0M7RUFDaEMsa0JBQWtCLEVBQUE7RUNvRGxCO0lEOURKO01BYVEsbUJFb0NXLEVBQUEsRUYwM0JsQjtFQTM1Qkc7SUFDSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixvQ0FBNEI7WUFBNUIsNEJBQTRCLEVBQUE7RUFHaEM7SUFDSSxXQUFXO0lBQ1gsNkVHMUJvRjtJSDJCcEYsa0JJTW9ELEVBQUE7SUg4QnhEO01EdkNBO1FBTVEsbUJJR2dELEVBQUEsRUpHdkQ7SUMyQkQ7TUR2Q0E7UUFVUSxpQklEZ0QsRUFBQSxFSkd2RDtFQUVEO0lBQ0ksa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1Ysd0NBQWdDO1lBQWhDLGdDQUFnQztJQUNoQyxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFdBQVc7SUFDWCxRQUFRO0lBQ1IsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixtQkFBbUIsRUFBQTtJQ2N2QjtNRHpCQTtRQWNRLGdCQUFnQixFQUFBLEVBY3ZCO0lDSEQ7TUR6QkE7UUFrQlEsZ0JBQWdCLEVBQUEsRUFVdkI7SUE1QkE7TUFzQk8sOEJBQXNCO2NBQXRCLHNCQUFzQjtNQUN0QixnQ0FBd0I7Y0FBeEIs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QyxFQUFBO0VBRTVDO0lBQ0ksNERBQTBDO1lBQTFDLG9EQUEwQyxFQUFBLEVBQUE7O0FBTGxEO0VBQ0k7SUFDSSwwREFBd0M7WUFBeEMsa0RBQXdDLEVBQUE7RUFFNUM7SUFDSSw0REFBMEM7WUFBMUMsb0RBQTBDLEVBQUEsRUFBQSIsImZpbGUiOiIwNC1jb21wb25lbnRzL3ZpcnR1YWwtZm9yZXN0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi9jb3JlXCI7XG5cbi52aXJ0dWFsLWZvcmVzdC1iYW5uZXIge1xuICAgICRyb290OiAmO1xuICAgIG1heC13aWR0aDogMTkyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Rpc3QvaW1hZ2VzL3ZpcnR1YWwtZm9yZXN0L3ZmLXBhcGVyLXRleHR1cmUucG5nJyk7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJsb2NrLW1hcmdpbiAvIDI7XG4gICAgbWluLWhlaWdodDogMTAzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIGxhcmdlKSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmxvY2stbWFyZ2luO1xuICAgIH1cblxuICAgICZfX2ZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LWZhbWlseTogdHlwb2dyYXBoeSgnZm9udC1mYW1pbHktYm9keS1iYXNlJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBtZWRpdW0pKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBsYXJnZSkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9wLWNhcHRpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MHB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIGxhcmdlKSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYW5pbWF0ZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZVVwO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbi1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBsYXJnZSkpIHtcbiAgICAgICAgICAgIGJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MHB4KTtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICMwMDUwNDY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBsYXJnZSkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcblxuICAgICAgICAgICAgICAgIGJyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFuaW1hdGUge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVVcDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLjVzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9kaXN0L2ltYWdlcy92aXJ0dWFsLWZvcmVzdC92Zi1za3kucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIH1cblxuICAgICZfX21pZGRsZWdyb3VuZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDU4MHB4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9kaXN0L2ltYWdlcy92aXJ0dWFsLWZvcmVzdC92Zi1wYXBlci10ZXh0dXJlLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwcHgpO1xuXG4gICAgICAgICYuYW5pbWF0ZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWlkZGxlZ3JvdW5kO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9kaXN0L2ltYWdlcy92aXJ0dWFsLWZvcmVzdC92Zi1mbG9vci1wYXR0ZXJuLnN2ZycpO1xuICAgICAgICAgICAgd2lkdGg6IDE5MjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTE4NXB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9kaXN0L2ltYWdlcy92aXJ0dWFsLWZvcmVzdC92Zi1ob3Jpem9uLnBuZycpO1xuICAgICAgICAgICAgd2lkdGg6IDE5MjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZvcmVncm91bmQge1xuICAgICAgICB6LWluZGV4OiAzMDtcbiAgICB9XG5cbiAgICAmX19mbG9vciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE5MjBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Rpc3QvaW1hZ2VzL3ZpcnR1YWwtZm9yZXN0L3ZmLWZsb29yLXRleHR1cmUuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgJl9fdHJlZS1wbGFuZSB7XG4gICAgICAgIGhlaWdodDogMTg1cHg7XG4gICAgICAgIHdpZHRoOiAxOTIwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgdG9wOiAtOTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XG4gICAgICAgICAgICB0b3A6IC04NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcbiAgICAgICAgICAgIHRvcDogLTcwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmVlLWxpbmUge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAxNTAwcHg7XG4gICAgICAgIGhlaWdodDogMTI1cHg7XG4gICAgICAgIHotaW5kZXg6IDUwO1xuXG4gICAgICAgICN7JHJvb3R9X190cmVlLW5hbWUge1xuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDFweCk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fdHJlZSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1cigycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYmcge1xuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1NXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzBweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1ODBweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogODcwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA5MTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTE3MHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZmcge1xuICAgICAgICAgICAgdG9wOiA0MHB4O1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxNDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDMyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNjYwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTVweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1NjVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNzgwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTQwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIHNtYWxsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogODQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNikge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMjY3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHJlZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgIHdpZHRoOiA3N3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tMiB7XG4gICAgICAgICAgICB3aWR0aDogODVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTMge1xuICAgICAgICAgICAgd2lkdGg6IDQ3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS00IHtcbiAgICAgICAgICAgIHdpZHRoOiA2OHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHJlZS1uYW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC00NXB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB0eXBvZ3JhcGh5KCdmb250LWZhbWlseS1oZWFkaW5nLWJhc2UnKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgJi5hbmltYXRlLWRlbGF5IHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBvcGFjaXR5O1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFuaW1hdGUge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG9wYWNpdHk7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IGRvdHRlZCAjZmZmO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSArIDJweCk7XG4gICAgICAgICAgICBib3R0b206IC0zcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sYXJnZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyM3B4KTtcbiAgICAgICAgICAgIHRvcDogLTc1cHg7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICAgICAgICAgIC8vIHdpZHRoOiAzMjBweDtcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigycHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKDBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYW5pbWF0ZS1kZWxheSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSArIDNweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWFkZSBjaGFuZ2VzIGJlbG93IHRvIHRvcC9sZWZ0L3Bvc2l0aW9uXG4gICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgICAgICAgICB0b3A6IC00M3B4O1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzJweCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgbWVkaXVtKSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4LjhweCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc2OHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbHQge1xuICAgICAgICAgICAgICAgIHRvcDogLTEyOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFuaW1hdGUtZGVsYXkge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogNXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDUxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMzgwcHg7XG4gICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAvL2hlaWdodDogMjIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGOTk7XG4gICAgICAgIG91dGxpbmU6IDIuNXB4IHNvbGlkIHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIG1lZGl1bSkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgLy9oZWlnaHQ6IDE4MHB4O1xuICAgICAgICAgICAgdG9wOiAzMDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDExMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWVzc2FnZS10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBtZWRpdW0pKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTBweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgLmljb24tY3Jvc3Mge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RyZWUtbGluZS1ibHVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL3ZpcnR1YWwtZm9yZXN0L3ZmLXRyZWUtbGluZS1ibHVyLnN2Zyk7XG4gICAgICAgIHdpZHRoOiAxOTIwcHg7XG4gICAgICAgIGhlaWdodDogMjc1cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICBib3R0b206IC0xODBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTgwcHgpO1xuXG4gICAgICAgICYuYW5pbWF0ZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogdHJlZWJsdXI7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGlsbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgIHdpZHRoOiAxOTIwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAmLS1iZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL3ZpcnR1YWwtZm9yZXN0L3ZmLWhpbGwtYmcuc3ZnKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoODBweCk7XG4gICAgICAgICAgICBib3R0b206IC0xMTBweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcblxuICAgICAgICAgICAgJi5hbmltYXRlIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuM3M7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZGlzdC9pbWFnZXMvdmlydHVhbC1mb3Jlc3QvdmYtaGlsbC1tZy5zdmcpO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSg4MHB4KTtcbiAgICAgICAgICAgIGJvdHRvbTogLTE0MHB4O1xuXG4gICAgICAgICAgICAmLmFuaW1hdGUge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBiYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbiAgICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kaXN0L2ltYWdlcy92aXJ0dWFsLWZvcmVzdC92Zi1oaWxsLWZnLnN2Zyk7XG4gICAgICAgICAgICB6LWluZGV4OiAxNTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDgwcHgpO1xuICAgICAgICAgICAgYm90dG9tOiAtMTIwcHg7XG5cbiAgICAgICAgICAgICYuYW5pbWF0ZSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjA1cztcbiAgICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VuIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhY2UwMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCAyMHB4IHJnYmEoI2ZhY2UwMCwgMC41KTtcbiAgICAgICAgYW5pbWF0aW9uOiBnbG93IDVzIGVhc2Utb3V0IC01cyBpbmZpbml0ZSBhbHRlcm5hdGUgZm9yd2FyZHM7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIGxhcmdlKSkge1xuICAgICAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kaXN0L2ltYWdlcy92aXJ0dWFsLWZvcmVzdC92Zi1jbG91ZC5zdmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICB6LWluZGV4OiAwO1xuXG4gICAgICAgICYtLTEge1xuICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IDE2NXB4O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjJzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIGxhcmdlKSkge1xuICAgICAgICAgICAgICAgIHRvcDogMjE1cHg7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMTBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTIge1xuICAgICAgICAgICAgd2lkdGg6IDYycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICB0b3A6IDIwMHB4O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjRzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIGxhcmdlKSkge1xuICAgICAgICAgICAgICAgIHRvcDogMjUwcHg7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMTRzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTMge1xuICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDIxMHB4O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMzVzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIGxhcmdlKSkge1xuICAgICAgICAgICAgICAgIHRvcDogMjcwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTQge1xuICAgICAgICAgICAgd2lkdGg6IDYycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICB0b3A6IDE5MHB4O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMTVzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIGxhcmdlKSkge1xuICAgICAgICAgICAgICAgIHRvcDogMjQwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTUge1xuICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IDIxMHB4O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjVzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIGxhcmdlKSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb3JlLXRyZWVzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDIyMHB4O1xuICAgICAgICB3aWR0aDogNzAwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDUwO1xuICAgIH1cblxuICAgICZfX3N1Yi10cmVlLTEge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdpZHRoOiAyMzVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNzBweDtcbiAgICAgICAgYm90dG9tOiA3MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBtZWRpdW0pKSB7XG4gICAgICAgICAgICB3aWR0aDogMTY1cHg7XG4gICAgICAgICAgICBsZWZ0OiA3MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Yi10cmVlLTIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTMwcHg7XG4gICAgICAgIGJvdHRvbTogNzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgbWVkaXVtKSkge1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FuaW1hdGlvbi13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDU1MHB4O1xuICAgICAgICBoZWlnaHQ6IDQ2MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIG1lZGl1bSkpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0NTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyBsZWZ0OiAtMTc1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUxcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBtZWRpdW0pKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTExMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4tdHJlZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAyNjBweDtcbiAgICAgICAgb3ZlcmZsb3cteDogY2xpcDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgbWVkaXVtKSkge1xuICAgICAgICAgICAgd2lkdGg6IDIzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNDRweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIG1lZGl1bSkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb3JlZ3JvdW5kLXRyZWVzIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTA0MHB4O1xuICAgICAgICB3aWR0aDogNjY4cHg7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgZmlsdGVyOiBibHVyKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCB4LWxhcmdlKSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTYwJSwgNjAlKTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxbikge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY2OHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwNDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xMjBweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDYycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjk1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDU1JSwgNjAlKTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxbikge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY2OHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwNDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xMjBweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ2MnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDY5NXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhY2tncm91bmQtZ3JhZGllbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0MjNweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGJvdHRvbTogLTgwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwwLDAsMCkgOCUsIHJnYmEoMCwwLDAsMC44KSAxNSUsIHJnYmEoMCwwLDAsMSkgODUlLCByZ2JhKDAsMCwwLDAuOCkgOTIlKTtcbiAgICAgICAgb3BhY2l0eTogMC4xMDtcbiAgICB9XG5cbiAgICAmX19zZXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcbiAgICAgICAgei1pbmRleDogNDA7XG4gICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggOC4zN3B4IDAuNjNweCByZ2JhKDAsIDAsIDAsIDAuMzEpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBtZWRpdW0pKSB7XG4gICAgICAgICAgICB0b3A6IDQyLjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgZmlsbDogbWFwLWRlZXAtZ2V0KCRwYWxldHRlLCAnbG9nby1ncmVlbicsICdiYXNlJyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcGFsZXR0ZSwgJ2xvZ28tZ3JlZW4nLCAnYmFzZScpO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NvY2lhbC1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgICAgdG9wOiAtNzBweDtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3NvY2lhbC1ib3gge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcGFsZXR0ZSwgJ2xvZ28tZ3JlZW4nLCAnYmFzZScpO1xuICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAxMHB4O1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwICM4ODg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHBhbGV0dGUsICdsb2dvLWdyZWVuJywgJ2Jhc2UnKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDE0cHggMTIuNXB4IDAgMTIuNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTAwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGlnaGxpZ2h0IHtcbiAgICBmb250LWZhbWlseTogdHlwb2dyYXBoeSgnZm9udC1mYW1pbHktaGVhZGluZy1iYXNlJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuQGtleWZyYW1lcyBtaWRkbGVncm91bmQge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwcHgpO31cbiAgICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9XG59XG5cbkBrZXlmcmFtZXMgYmFja2dyb3VuZCB7XG4gICAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDgwcHgpO31cbiAgICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDBweCk7IH1cbn1cblxuQGtleWZyYW1lcyB0cmVlYmx1ciB7XG4gICAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDE4MHB4KTsgb3BhY2l0eTogMDt9XG4gICAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwcHgpOyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgb3BhY2l0eSB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgICB0byB7IG9wYWNpdHk6IDE7IH1cbn1cblxuQGtleWZyYW1lcyBmYWRlVXAge1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MHB4KTt9XG4gICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwcHgpOyB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZUNsb3VkIHtcbiAgICAwJSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwdnc7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAwdnc7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGdsb3cge1xuICAgIGZyb20ge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCA1cHggcmdiYSgjZmFjZTAwLCAwLjUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMjVweCAyNXB4IHJnYmEoI2ZhY2UwMCwgMC43KTtcbiAgICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vICMgR3JpZCBWYXJpYWJsZXNcblxuJGdyaWQ6IDEzMzBweDtcbiRjb250YWluZXItd2lkdGg6IDEzMzBweDtcblxuJGNvbHVtbnM6IDEyO1xuJGd1dHRlcjogMjVweDtcblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJGNvbHMsICRoYXMtZ3V0dGVyOmZhbHNlKSB7XG4gIEBpZiAkaGFzLWd1dHRlciB7XG4gICAgQHJldHVybiBjYWxjKCgoMTAwJSAvICN7JGNvbHVtbnN9KSAqICN7JGNvbHN9KSAtICN7JGd1dHRlcn0pOyBcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBjYWxjKCgxMDAlIC8gI3skY29sdW1uc30pICogI3skY29sc30pO1xuICB9XG59XG5cbiR4LXNtYWxsOiAzMjBweDtcbiRzbWFsbDogNDgwcHg7XG4kc21lZGl1bTogNjQwcHg7XG4kbWVkaXVtOiA3NjhweDtcbiRsYXJnZTogOTkycHg7XG4keC1sYXJnZTogMTMzMHB4O1xuJHdpZGU6IDE0MDBweDtcblxuJG1xLWJyZWFrcG9pbnRzOiAoXG4gIG1pbjogKFxuICAgIHgtc21hbGw6IG1pbi13aWR0aCAkeC1zbWFsbCxcbiAgICBzbWFsbDogbWluLXdpZHRoICRzbWFsbCxcbiAgICBtZWRpdW06IG1pbi13aWR0aCAkbWVkaXVtLFxuICAgIHNtZWRpdW06IG1pbi13aWR0aCAkc21lZGl1bSxcbiAgICBsYXJnZTogbWluLXdpZHRoICRsYXJnZSxcbiAgICB4LWxhcmdlOiBtaW4td2lkdGggJHgtbGFyZ2UsXG4gICAgd2lkZTogbWluLXdpZHRoICR3aWRlXG4gICksXG4gIG1heDogKFxuICAgIHgtc21hbGw6IG1heC13aWR0aCAoJHgtc21hbGwgLSAxKSxcbiAgICBzbWFsbDogbWF4LXdpZHRoICgkc21hbGwgLSAxKSxcbiAgICBzbWVkaXVtOiBtYXgtd2lkdGggKCRzbWVkaXVtIC0gMSksXG4gICAgbWVkaXVtOiBtYXgtd2lkdGggKCRtZWRpdW0gLSAxKSxcbiAgICBsYXJnZTogbWF4LXdpZHRoICgkbGFyZ2UgLSAxKSxcbiAgICB4LWxhcmdlOiBtYXgtd2lkdGggKCR4LWxhcmdlIC0gMSksXG4gICAgd2lkZTogbWF4LXdpZHRoICgkd2lkZSAtIDEpXG4gIClcbik7XG5cbkBmdW5jdGlvbiBnZXQtYnJlYWtwb2ludCgkYnJlYWtwb2ludC10eXBlLCAkYnJlYWtwb2ludC12YWx1ZSkge1xuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkbXEtYnJlYWtwb2ludHMsICRicmVha3BvaW50LXR5cGUpLCAkYnJlYWtwb2ludC12YWx1ZSk7XG59XG5cbi8vIFN0YW5kYXJkIGJsb2NrIG1hcmdpblxuJGJsb2NrLW1hcmdpbjogNzVweDtcbiIsIiR0eXBvZ3JhcGh5OiAoXG4gICAgZm9udC1mYW1pbHktYm9keS1iYXNlOiAoJ2NlbnR1cnktZ290aGljJywgQ2VudHVyeUdvdGhpYywgR2VuZXZhLCBBcHBsZUdvdGhpYywgc2Fucy1zZXJpZiksXG4gICAgZm9udC1mYW1pbHktaGVhZGluZy1iYXNlOiAoJ01hdGl6UmVndWxhcicsIHNlcmlmKSxcbiAgICBmb250LWZhbWlseS1saW5rLWJhc2U6ICgnZnV0dXJhLXB0JywgVHJlYnVjaGV0IE1TLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICAgZm9udC1saW5lLWhlaWdodC1iYXNlOiAxLjUsXG4gICAgZm9udC1zaXplLWJhc2U6IDE2cHgsXG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC42KSxcbiAgICB0ZXh0LWdsb3c6IDFweCAxcHggMjBweCByZ2JhKDAsMCwwLDAuMDcpLFxuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0cmVtXG4pO1xuXG5AZnVuY3Rpb24gdHlwb2dyYXBoeSgka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR0eXBvZ3JhcGh5LCAka2V5KTtcbn1cbiIsIiRyZWMtYmFzZWxpbmU6IDE2cHggIWRlZmF1bHQ7XG4kcmVjLWZhbGxiYWNrOiBmYWxzZSAhZGVmYXVsdDtcbiRyZWMtcHgtb25seTogZmFsc2UgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiByZWMtc2VwYXJhdG9yKCRsaXN0LCAkc2VwYXJhdG9yOiBmYWxzZSkge1xuICBAaWYgJHNlcGFyYXRvciA9PSBcImNvbW1hXCIgb3IgJHNlcGFyYXRvciA9PSBcInNwYWNlXCIge1xuICAgIEByZXR1cm4gYXBwZW5kKCRsaXN0LCBudWxsLCAkc2VwYXJhdG9yKTtcbiAgfSBcbiAgXG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoXCJsaXN0LXNlcGFyYXRvclwiKSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGxpc3Qtc2VwYXJhdG9yKCRsaXN0KTtcbiAgfVxuXG4gIC8vIGxpc3Qtc2VwYXJhdG9yIHBvbHlmaWxsIGJ5IEh1Z28gR2lyYXVkZWwgKGh0dHBzOi8vc2Fzcy1jb21wYXRpYmlsaXR5LmdpdGh1Yi5pby8jbGlzdF9zZXBhcmF0b3JfZnVuY3Rpb24pXG4gICR0ZXN0LWxpc3Q6ICgpO1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgJHRlc3QtbGlzdDogYXBwZW5kKCR0ZXN0LWxpc3QsICRpdGVtLCBzcGFjZSk7XG4gIH1cblxuICBAcmV0dXJuIGlmKCR0ZXN0LWxpc3QgPT0gJGxpc3QsIHNwYWNlLCBjb21tYSk7XG59XG5cbkBtaXhpbiByZWMtYmFzZWxpbmUoJHpvb206IDEwMCUpIHtcbiAgZm9udC1zaXplOiAkem9vbSAvIDE2cHggKiAkcmVjLWJhc2VsaW5lO1xufVxuXG5AZnVuY3Rpb24gcmVjLWNvbnZlcnQoJHRvLCAkdmFsdWVzLi4uKSB7XG4gICRyZXN1bHQ6ICgpO1xuICAkc2VwYXJhdG9yOiByZWMtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICBcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgdW5pdCgkdmFsdWUpID09IFwicmVtXCIgYW5kICR0byA9PSBcInB4XCIge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSAvIDFyZW0gKiAkcmVjLWJhc2VsaW5lICsgMHB4LCAkc2VwYXJhdG9yKTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCB1bml0KCR2YWx1ZSkgPT0gXCJweFwiIGFuZCAkdG8gPT0gXCJyZW1cIiB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlIC8gJHJlYy1iYXNlbGluZSArIDByZW0sICRzZXBhcmF0b3IpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IFwibGlzdFwiIHtcbiAgICAgICR2YWx1ZS1zZXBhcmF0b3I6IHJlYy1zZXBhcmF0b3IoJHZhbHVlKTtcbiAgICAgICR2YWx1ZTogcmVjLWNvbnZlcnQoJHRvLCAkdmFsdWUuLi4pO1xuICAgICAgJHZhbHVlOiByZWMtc2VwYXJhdG9yKCR2YWx1ZSwgJHZhbHVlLXNlcGFyYXRvcik7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYobGVuZ3RoKCRyZXN1bHQpID09IDEsIG50aCgkcmVzdWx0LCAxKSwgJHJlc3VsdCk7XG59XG5cbkBmdW5jdGlvbiByZW0oJHZhbHVlcy4uLikge1xuICBAaWYgJHJlYy1weC1vbmx5IHtcbiAgICBAcmV0dXJuIHJlYy1jb252ZXJ0KHB4LCAkdmFsdWVzLi4uKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiByZWMtY29udmVydChyZW0sICR2YWx1ZXMuLi4pO1xuICB9XG59XG5cbkBtaXhpbiByZW0oJHByb3BlcnRpZXMsICR2YWx1ZXMuLi4pIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwibWFwXCIge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiBtYXAta2V5cygkcHJvcGVydGllcykge1xuICAgICAgQGluY2x1ZGUgcmVtKCRwcm9wZXJ0eSwgbWFwLWdldCgkcHJvcGVydGllcywgJHByb3BlcnR5KSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgQGlmICRyZWMtZmFsbGJhY2sgb3IgJHJlYy1weC1vbmx5IHtcbiAgICAgICAgI3skcHJvcGVydHl9OiByZWMtY29udmVydChweCwgJHZhbHVlcy4uLik7XG4gICAgICB9XG4gICAgICBAaWYgbm90ICRyZWMtcHgtb25seSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogcmVjLWNvbnZlcnQocmVtLCAkdmFsdWVzLi4uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMgQ29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJsYWNrOiBibGFjaztcbiR3aGl0ZTogd2hpdGU7XG5cbi8vIENvbG91cnNcblxuJHBhbGV0dGU6IChcbiAgICAnYmx1ZSc6IChcbiAgICAgICAgJ2Jhc2UnOiAjMzBBRURCLFxuICAgICAgICAnY29udHJhc3QnOiAjZmZmZmZmLFxuXHRcdCd1bmRlcmxpbmUnOiAjZmZmZmZmXG4gICAgKSxcbiAgICAnZGFyay1ncmVlbic6IChcbiAgICAgICAgJ2Jhc2UnOiAjMDA1MDQ2LFxuICAgICAgICAnY29udHJhc3QnOiAjZmZmZmZmLFxuXHRcdCd1bmRlcmxpbmUnOiAjZmZmZmZmXG4gICAgKSxcbiAgICAnbG9nby1ncmVlbic6IChcbiAgICAgICAgJ2Jhc2UnOiAjMDA5RTQ5LFxuICAgICAgICAnY29udHJhc3QnOiAjZmZmZmZmLFxuXHRcdCd1bmRlcmxpbmUnOiAjZmZmZmZmXG4gICAgKSxcbiAgICAnbGlnaHQtZ3JlZW4nOiAoXG4gICAgICAgICdiYXNlJzogIzk4QkYxQSxcbiAgICAgICAgJ2NvbnRyYXN0JzogI2ZmZmZmZixcblx0XHQndW5kZXJsaW5lJzogIzAwNTA0NlxuICAgICksXG4gICAgJ3llbGxvdyc6IChcbiAgICAgICAgJ2Jhc2UnOiAjRkZEMzAwLFxuICAgICAgICAnY29udHJhc3QnOiAjMDAwMDAwLFxuXHRcdCd1bmRlcmxpbmUnOiAjZmZmZmZmXG4gICAgKSxcbiAgICAnb3JhbmdlJzogKFxuICAgICAgICAnYmFzZSc6ICNFRTdGMDUsXG4gICAgICAgICdjb250cmFzdCc6ICNmZmZmZmYsXG5cdFx0J3VuZGVybGluZSc6ICNmZmZmZmZcbiAgICApLFxuICAgICdwaW5rJzogKFxuICAgICAgICAnYmFzZSc6ICNFNDAxNjIsXG4gICAgICAgICdjb250cmFzdCc6ICNmZmYsXG5cdFx0J3VuZGVybGluZSc6ICNmZmZmZmZcbiAgICApXG5cdCxcbiAgICAnd2hpdGUnOiAoXG4gICAgICAgICdiYXNlJzogI2ZmZmZmZixcbiAgICAgICAgJ2NvbnRyYXN0JzogIzAwNTA0Nixcblx0XHQndW5kZXJsaW5lJzogIzk4QkYxQVxuICAgIClcbik7XG5cbiRmdW5jdGlvbmFsLWNvbG91cnM6IChcbiAgICBsaW5rOiAoXG4gICAgICAgIGJhc2U6ICNFNDAxNjIsXG4gICAgICAgIGhvdmVyOiAjRTQwMTYyXG4gICAgKSxcbiAgICBib2R5OiAoXG4gICAgICAgIGJhc2U6ICMyMDIwMjBcbiAgICApXG4pO1xuIl19 */
