.c-media-content-panel {
  position: relative; }
  .c-media-content-panel--slim {
    padding: 0px; }
  .c-media-content-panel--transparent {
    background-color: transparent; }
  .c-media-content-panel--background {
    background-color: #f8f8f8;
    padding-top: 60px;
    padding-bottom: 60px; }
    @media (min-width: 960px) {
      .c-media-content-panel--background {
        padding-top: 85px;
        padding-bottom: 85px; } }
  .c-media-content-panel--alternate {
    background-color: #004D61;
    padding-top: 30px; }
    @media (min-width: 960px) {
      .c-media-content-panel--alternate {
        padding-bottom: 30px; } }
  .c-media-content-panel--collage {
    padding-top: 60px;
    padding-bottom: 50px;
    background-color: #80a6b0; }
  .c-media-content-panel--white-border-bottom {
    padding-bottom: 0; }
    .c-media-content-panel--white-border-bottom:after {
      content: "";
      height: 60px;
      width: 100%;
      position: absolute;
      bottom: 0;
      background-color: #fff; }
  .c-media-content-panel__alternate-container {
    max-width: 815px;
    width: 100%; }
  .c-media-content-panel__container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -12.5px;
    margin-right: -12.5px; }
    .c-media-content-panel__container > * {
      width: calc(((100% / 1) - (25px)));
      margin-bottom: 25px;
      margin-right: 12.5px;
      margin-left: 12.5px; }
    @supports (display: grid) {
      .c-media-content-panel__container {
        -webkit-column-gap: 25px;
           -moz-column-gap: 25px;
                column-gap: 25px;
        row-gap: 25px;
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[1];
        grid-template-columns: repeat(1, 1fr);
        margin-left: 0px;
        margin-right: 0px; }
        .c-media-content-panel__container > * {
          width: auto;
          margin-bottom: 0px;
          margin-right: 0px;
          margin-left: 0px; } }
    @media (min-width: 960px) {
      .c-media-content-panel__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin-left: -12.5px;
        margin-right: -12.5px; }
        .c-media-content-panel__container > * {
          width: calc(((100% / 2) - (25px)));
          margin-bottom: 25px;
          margin-right: 12.5px;
          margin-left: 12.5px; }
        @supports (display: grid) {
          .c-media-content-panel__container {
            -webkit-column-gap: 25px;
               -moz-column-gap: 25px;
                    column-gap: 25px;
            row-gap: 25px;
            display: -ms-grid;
            display: grid;
            -ms-grid-columns: (1fr)[2];
            grid-template-columns: repeat(2, 1fr);
            margin-left: 0px;
            margin-right: 0px; }
            .c-media-content-panel__container > * {
              width: auto;
              margin-bottom: 0px;
              margin-right: 0px;
              margin-left: 0px; } } }
    @media (max-width: 959px) {
      .c-media-content-panel__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .c-media-content-panel__container--collage {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      row-gap: 0 !important; }
      @media (min-width: 960px) {
        .c-media-content-panel__container--collage {
          -webkit-column-gap: 0px;
             -moz-column-gap: 0px;
                  column-gap: 0px; } }
    .c-media-content-panel__container--video {
      border: 4px solid #004D61;
      padding: 30px 50px 30px 30px; }
  .c-media-content-panel__content {
    position: relative;
    z-index: 5; }
    .c-media-content-panel__content ul {
      padding: 0; }
      .c-media-content-panel__content ul li {
        list-style: none;
        position: relative;
        padding-left: 1em; }
        .c-media-content-panel__content ul li:before {
          content: "\2022";
          color: #E3553D;
          position: absolute;
          left: 0; }
    @media (min-width: 960px) {
      .c-media-content-panel__content {
        padding-left: 50px; } }
    @media (max-width: 959px) {
      .c-media-content-panel__content {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        margin-bottom: 25px; } }
    .c-media-content-panel__content--right {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
      @media (min-width: 960px) {
        .c-media-content-panel__content--right {
          padding-right: 50px; } }
    .c-media-content-panel__content--alternate {
      text-align: center;
      color: #fff; }
      @media (min-width: 960px) {
        .c-media-content-panel__content--alternate {
          padding-right: 15%;
          padding-left: 15%; } }
    .c-media-content-panel__content--collage {
      background-color: #fff;
      border-radius: 10px;
      margin-top: 60px;
      padding: 40px 20px; }
      @media (min-width: 960px) {
        .c-media-content-panel__content--collage {
          padding-left: 50px;
          padding-right: 50px;
          border-top-left-radius: 0;
          border-top-right-radius: 10px;
          border-bottom-right-radius: 10px;
          border-bottom-left-radius: 0px; } }
      @media (max-width: 959px) {
        .c-media-content-panel__content--collage {
          padding-top: 190px;
          margin-top: 0;
          top: -80px;
          margin-bottom: -80px;
          margin-left: 25px;
          margin-right: 25px; } }
    .c-media-content-panel__content--collage-right {
      border-radius: 10px; }
      @media (min-width: 960px) {
        .c-media-content-panel__content--collage-right {
          border-top-right-radius: 0;
          border-top-left-radius: 10px;
          border-bottom-right-radius: 0px;
          border-bottom-left-radius: 10px; } }
      @media (max-width: 959px) {
        .c-media-content-panel__content--collage-right {
          -webkit-box-ordinal-group: 3;
              -ms-flex-order: 2;
                  order: 2; } }
  .c-media-content-panel__images {
    position: relative;
    height: 100%;
    z-index: 10; }
    @media (min-width: 960px) {
      .c-media-content-panel__images {
        height: 610px; } }
  .c-media-content-panel__image {
    position: relative; }
    @media (max-width: 959px) {
      .c-media-content-panel__image {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2; } }
    @media (max-width: 639px) {
      .c-media-content-panel__image--padding-left-right-mob {
        padding-left: 30px;
        padding-right: 30px; } }
    @media (min-width: 640px) {
      .c-media-content-panel__image--padding-left-right-desktop {
        padding-left: 125px;
        padding-right: 125px; } }
    @media (min-width: 960px) {
      .c-media-content-panel__image--padding-left-right-desktop {
        padding-left: 60px;
        padding-right: 60px; } }
    @media (min-width: 1330px) {
      .c-media-content-panel__image--padding-left-right-desktop {
        padding-left: 125px;
        padding-right: 125px; } }
    .c-media-content-panel__image--right {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .c-media-content-panel__image--padding-bottom {
      padding-bottom: 2%; }
      @media (max-width: 639px) {
        .c-media-content-panel__image--padding-bottom {
          padding-left: 60px; } }
  .c-media-content-panel__title {
    font-size: 1.8125rem;
    color: #004D61;
    font-family: "Montserrat", Arial, sans-serif;
    margin-bottom: 20px;
    display: block;
    font-weight: 700; }
    .c-media-content-panel__title--white {
      color: #fff; }
    .c-media-content-panel__title--alternate {
      font-weight: 500;
      margin-bottom: 0;
      line-height: 1; }
  .c-media-content-panel__sub-title {
    color: #E3553D;
    font-weight: bold;
    font-size: 2.75rem;
    margin-bottom: 0;
    line-height: 1.2;
    font-family: "Roboto", "Franklin Gothic Medium", Tahoma, sans-serif; }
    @media (min-width: 960px) {
      .c-media-content-panel__sub-title {
        margin-left: -40px; } }
  .c-media-content-panel__button-container--add-margin-bottom {
    margin-bottom: 50px; }
  .c-media-content-panel__shape-one {
    position: absolute;
    right: -280px;
    top: 0;
    width: 400px;
    height: 100%; }
    @media (max-width: 959px) {
      .c-media-content-panel__shape-one {
        display: none; } }
    .c-media-content-panel__shape-one svg .st0 {
      fill: #FFB323; }
    .c-media-content-panel__shape-one svg .st1 {
      fill: #3A8433; }
  .c-media-content-panel__shape-two {
    position: absolute;
    left: 0;
    top: 60px;
    width: 85px;
    height: 570px; }
    @media (max-width: 959px) {
      .c-media-content-panel__shape-two {
        left: -60px;
        display: none; } }
    .c-media-content-panel__shape-two:before {
      content: "";
      background-color: #CFC5A8;
      width: 85px;
      height: 330px;
      position: absolute;
      border-top-right-radius: 90px; }
    .c-media-content-panel__shape-two:after {
      content: "";
      background-color: #fff;
      width: 115px;
      height: 115px;
      position: absolute;
      border-radius: 50%;
      bottom: 0;
      left: -40px; }
  .c-media-content-panel__shape-three {
    position: absolute;
    left: 25px;
    bottom: 400px;
    width: 60px;
    height: 60px;
    background-color: #fff;
    border-radius: 50%; }
    @media (max-width: 959px) {
      .c-media-content-panel__shape-three {
        bottom: 180px;
        left: -65px; } }
    @media (min-width: 960px) {
      .c-media-content-panel__shape-three--alternate {
        right: 25px;
        left: auto; } }
  .c-media-content-panel__shape-four {
    position: absolute;
    right: 80px;
    top: 0;
    width: 100px;
    height: 100px;
    background-color: #3A8433;
    border-radius: 50%; }
    @media (max-width: 959px) {
      .c-media-content-panel__shape-four {
        top: auto;
        bottom: -30px;
        left: auto;
        right: 60px; } }
    @media (min-width: 960px) {
      .c-media-content-panel__shape-four--alternate {
        left: 80px;
        right: auto; } }
  .c-media-content-panel__shape-five {
    position: absolute;
    left: 30%;
    bottom: 0;
    width: 220px;
    height: 100px;
    background-color: #004D61;
    border-bottom-left-radius: 50px; }
    @media (max-width: 959px) {
      .c-media-content-panel__shape-five {
        bottom: auto;
        top: -25px;
        left: auto;
        right: 50px;
        border-bottom-left-radius: 0;
        border-top-right-radius: 50px; } }
    @media (min-width: 960px) {
      .c-media-content-panel__shape-five--alternate {
        left: auto;
        right: 30%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjA0LWNvbXBvbmVudHMvbWVkaWEtY29udGVudC1wYW5lbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwic2V0dGluZ3MvX2NvbG91cnMuc2NzcyIsInRvb2xzL21peGlucy9fbWl4aW5zLnNjc3MiLCJzZXR0aW5ncy9fZ3JpZC5zY3NzIiwidG9vbHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDSSxrQkFBa0IsRUFBQTtFQUNsQjtJQUNJLFlBQVksRUFBQTtFQUVoQjtJQUNJLDZCQUE2QixFQUFBO0VBRWpDO0lBQ0kseUJBQXlCO0lBQ3pCLGlCQUFpQjtJQUNqQixvQkFBb0IsRUFBQTtJQ21EeEI7TUR0REE7UUFLUSxpQkFBaUI7UUFDakIsb0JBQW9CLEVBQUEsRUFFM0I7RUFDRDtJQUNJLHlCRVowQjtJRmExQixpQkFBaUIsRUFBQTtJQzJDckI7TUQ3Q0E7UUFJUSxvQkFBb0IsRUFBQSxFQUUzQjtFQUNEO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQix5QkFBeUIsRUFBQTtFQUU3QjtJQUNJLGlCQUFpQixFQUFBO0lBRHBCO01BR08sV0FBVztNQUNYLFlBQVk7TUFDWixXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLFNBQVM7TUFDVCxzQkFBc0IsRUFBQTtFQUk5QjtJQUNJLGdCQUFnQjtJQUNoQixXQUFXLEVBQUE7RUFFZjtJQUNJLGtCQUFrQjtJR2hDdEIsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2Ysb0JBQXFDO0lBQ3JDLHFCQUFzQyxFQUFBO0lIMkJyQztNR3pCRyxrQ0FBNEQ7TUFDNUQsbUJDcEJLO01EcUJM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QUFXO1FBQUMsYUFBYSxFQUFBLEVBb0JoQztJQTNCQTtNQVVPLFdBQVc7TUFDWCx5QkV6T2E7TUYwT2IsV0FBVztNQUNYLGFBQWE7TUFDYixrQkFBa0I7TUFDbEIsNkJBQTZCLEVBQUE7SUFmcEM7TUFrQk8sV0FBVztNQUNYLHNCQUFzQjtNQUN0QixZQUFZO01BQ1osYUFBYTtNQUNiLGtCQUFrQjtNQUNsQixrQkFBa0I7TUFDbEIsU0FBUztNQUNULFdBQVcsRUFBQTtFQUduQjtJQUNJLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsYUFBYTtJQUNiLFdBQVc7SUFDWCxZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCLGtCQUFrQixFQUFBO0lDM010QjtNRG9NQTtRQVNRLGFBQWE7UUFDYixXQUFXLEVBQUEsRUFRbEI7SUN0TkQ7TURnTkk7UUFFUSxXQUFXO1FBQ1gsVUFBVSxFQUFBLEVBRWpCO0VBRUw7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLE1BQU07SUFDTixZQUFZO0lBQ1osYUFBYTtJQUNiLHlCRXZSa0I7SUZ3UmxCLGtCQUFrQixFQUFBO0lDOU50QjtNRHVOQTtRQVNRLFNBQVM7UUFDVCxhQUFhO1FBQ2IsVUFBVTtRQUNWLFdBQVcsRUFBQSxFQVFsQjtJQzNPRDtNRHFPSTtRQUVRLFVBQVU7UUFDVixXQUFXLEVBQUEsRUFFbEI7RUFFTDtJQUNJLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsU0FBUztJQUNULFlBQVk7SUFDWixhQUFhO0lBQ2IseUJFMVMwQjtJRjJTMUIsK0JBQStCLEVBQUE7SUNuUG5DO01ENE9BO1FBU1EsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO1FBQ1YsV0FBVztRQUNYLDRCQUE0QjtRQUM1Qiw2QkFBNkIsRUFBQSxFQVFwQztJQ2xRRDtNRDRQSTtRQUVRLFVBQVU7UUFDVixVQUFVLEVBQUEsRUFFakIiLCJmaWxlIjoiMDQtY29tcG9uZW50cy9tZWRpYS1jb250ZW50LXBhbmVsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi9jb3JlXCI7XHJcblxyXG4uYy1tZWRpYS1jb250ZW50LXBhbmVsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICYtLXNsaW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgIH1cclxuICAgICYtLXRyYW5zcGFyZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgICYtLWJhY2tncm91bmQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDg1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtLWFsdGVybmF0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYnJhbmQtY29sb3VyKCdhbHBoYScpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtLWNvbGxhZ2Uge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4MGE2YjA7XHJcbiAgICB9XHJcbiAgICAmLS13aGl0ZS1ib3JkZXItYm90dG9tIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19hbHRlcm5hdGUtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgxNXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1ibG9jaygxLCAkZ3V0dGVyLCAkZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWJsb2NrKDIsICRndXR0ZXIsICRndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1jb2xsYWdlIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIHJvdy1nYXA6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLS12aWRlbyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIGJyYW5kLWNvbG91cignYWxwaGEnKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCA1MHB4IDMwcHggMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwMjJcIjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYnJhbmQtY29sb3VyKCdjaGFybGllJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tcmlnaHQge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tYWx0ZXJuYXRlIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1JTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLWNvbGxhZ2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxOTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC04MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTgwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1jb2xsYWdlLXJpZ2h0IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW1hZ2VzIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tcGFkZGluZy1sZWZ0LXJpZ2h0LW1vYiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBzbWFsbCkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tcGFkZGluZy1sZWZ0LXJpZ2h0LWRlc2t0b3Age1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIGxhcmdlKSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXJpZ2h0IHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXBhZGRpbmctYm90dG9tIHtcclxuICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMiU7XHJcbiAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIHNtYWxsKSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjlweCk7XHJcbiAgICAgICAgY29sb3I6IGJyYW5kLWNvbG91cignYWxwaGEnKTtcclxuICAgICAgICBmb250LWZhbWlseTogdHlwb2dyYXBoeSgnZm9udC1mYW1pbHktaGVhZGluZy1iYXNlJyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICYtLXdoaXRlIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLWFsdGVybmF0ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3N1Yi10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IGJyYW5kLWNvbG91cignY2hhcmxpZScpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQ0cHgpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBmb250LWZhbWlseTogdHlwb2dyYXBoeSgnZm9udC1mYW1pbHktYm9keS1iYXNlJyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2J1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICYtLWFkZC1tYXJnaW4tYm90dG9tIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19zaGFwZS1vbmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogLTI4MHB4O1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIC5zdDB7ZmlsbDojRkZCMzIzO31cclxuICAgICAgICAgICAgLnN0MXtmaWxsOiMzQTg0MzM7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3NoYXBlLXR3byB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiA2MHB4O1xyXG4gICAgICAgIHdpZHRoOiA4NXB4O1xyXG4gICAgICAgIGhlaWdodDogNTcwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgbGVmdDogLTYwcHg7ZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBicmFuZC1jb2xvdXIoJ2dvbGYnKTtcclxuICAgICAgICAgICAgd2lkdGg6IDg1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzMwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDkwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB3aWR0aDogMTE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTE1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IC00MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3NoYXBlLXRocmVlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMjVweDtcclxuICAgICAgICBib3R0b206IDQwMHB4O1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICBib3R0b206IDE4MHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAtNjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tYWx0ZXJuYXRlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3NoYXBlLWZvdXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogODBweDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYnJhbmQtY29sb3VyKCdlY2hvJyk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgYm90dG9tOiAtMzBweDtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLWFsdGVybmF0ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19zaGFwZS1maXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMzAlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBicmFuZC1jb2xvdXIoJ2FscGhhJyk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgIHRvcDogLTI1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tYWx0ZXJuYXRlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICByaWdodDogMzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi90b29scy9mdW5jdGlvbnMvbWFwc1wiO1xyXG5cclxuLy8gIyBDb2xvcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWxldHRlOiAoXHJcbiAgICBjb2xvdXItZ29ibGluOiAjM0E4NDMzLFxyXG4gICAgY29sb3VyLXR1YXRhcmE6ICMzQzNDM0IsXHJcbiAgICBjb2xvdXItYXN0cm9uYXV0LWJsdWU6ICMwMDRENjEsXHJcbiAgICBjb2xvdXItY2VydWxlYW46ICMwMDlDREUsXHJcbiAgICBjb2xvdXItY2hpbm86ICNDRkM1QTgsXHJcbiAgICBjb2xvdXItY2FuLWNhbjogI0Q2OThCRixcclxuICAgIGNvbG91ci1jaW5uYWJhcjogI0UzNTUzRCxcclxuICAgIGNvbG91ci1teS1zaW46ICNGRkIzMjNcclxuKTtcclxuXHJcbkBmdW5jdGlvbiBwYWxldHRlKCRrZXkpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkcGFsZXR0ZSwgJGtleSk7XHJcbn1cclxuXHJcbiRicmFuZC1jb2xvdXJzOiAoXHJcbiAgICBhbHBoYTogcGFsZXR0ZSgnY29sb3VyLWFzdHJvbmF1dC1ibHVlJyksXHJcbiAgICBicmF2bzogcGFsZXR0ZSgnY29sb3VyLWNlcnVsZWFuJyksXHJcbiAgICBjaGFybGllOiBwYWxldHRlKCdjb2xvdXItY2lubmFiYXInKSxcclxuICAgIGRlbHRhOiBwYWxldHRlKCdjb2xvdXItbXktc2luJyksXHJcbiAgICBlY2hvOiBwYWxldHRlKCdjb2xvdXItZ29ibGluJyksXHJcbiAgICBmb3h0cm90OiBwYWxldHRlKCdjb2xvdXItY2FuLWNhbicpLFxyXG4gICAgZ29sZjogcGFsZXR0ZSgnY29sb3VyLWNoaW5vJyksXHJcbiAgICBob3RlbDogcGFsZXR0ZSgnY29sb3VyLXR1YXRhcmEnKVxyXG4pO1xyXG5cclxuQGZ1bmN0aW9uIGJyYW5kLWNvbG91cigka2V5KSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGJyYW5kLWNvbG91cnMsICRrZXkpO1xyXG59XHJcblxyXG4kZnVuY3Rpb25hbC1jb2xvdXJzOiAoXHJcbiAgICBib2R5OiAoXHJcbiAgICAgICAgYmFzZTogYnJhbmQtY29sb3VyKCdob3RlbCcpXHJcbiAgICApXHJcbik7XHJcblxyXG5AZnVuY3Rpb24gZnVuY3Rpb25hbC1jb2xvdXIoJHNlY3Rpb24sICR2YWx1ZSkge1xyXG4gICAgQHJldHVybiBtYXAtZGVlcC1nZXQoJGZ1bmN0aW9uYWwtY29sb3VycywgJHNlY3Rpb24sICR2YWx1ZSk7XHJcbn0iLCIvLyBUZXh0IG92ZXJmbG93XHJcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcclxuQG1peGluIHRleHQtb3ZlcmZsb3cge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuQG1peGluIHN0YW5kYXJkLWNvbnRhaW5lcigkbGVmdC1wYWRkaW5nOiAyNXB4LCAkcmlnaHQtcGFkZGluZzogMjVweCkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkbGVmdC1wYWRkaW5nO1xyXG4gICAgcGFkZGluZy1yaWdodDogJHJpZ2h0LXBhZGRpbmc7XHJcbiAgICBtYXgtd2lkdGg6ICRncmlkO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLWJsb2NrKCRjb2xzLCAkZ3JpZC1nYXAtaG9yaXpvbnRhbCwgJGdyaWQtZ2FwLXZlcnRpY2FsKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ2FwLWhvcml6b250YWwgLzI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1nYXAtaG9yaXpvbnRhbCAvMjtcclxuICAgID4qIHtcclxuICAgICAgICB3aWR0aDogY2FsYygoKDEwMCUgLyAjeyRjb2xzfSkgLSAoI3skZ3JpZC1nYXAtaG9yaXpvbnRhbH0pKSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtZ2FwLXZlcnRpY2FsO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtZ2FwLWhvcml6b250YWwgLyAyO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1nYXAtaG9yaXpvbnRhbCAvIDI7XHJcbiAgICB9XHJcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcclxuICAgICAgICBjb2x1bW4tZ2FwOiAkZ3JpZC1nYXAtaG9yaXpvbnRhbDtcclxuICAgICAgICByb3ctZ2FwOiAkZ3JpZC1nYXAtdmVydGljYWw7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29scywgMWZyKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgID4qIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTm8gQnVsbGV0cyBvbiBsaXN0c1xyXG5AbWl4aW4gbm8tYnVsbGV0IHtcclxuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG5cclxuQG1peGluIG5vLWJ1bGxldHMge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpIHtcclxuICAgICAgICBAaW5jbHVkZSBuby1idWxsZXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZWZ5KCR2YWxpZ25tZW50OiBtaWRkbGUpIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhbGlnbm1lbnQ7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgQGluY2x1ZGUgZ3V0dGVycyhpbnNpZGUpO1xyXG59XHJcblxyXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBmbHVpZC10eXBlKCRwcm9wZXJ0aWVzLCAkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLXZhbHVlLCAkbWF4LXZhbHVlKSB7XHJcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogJG1pbi12YWx1ZTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluLXZ3KSB7XHJcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcclxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiBjYWxjKCN7JG1pbi12YWx1ZX0gKyAje3N0cmlwLXVuaXQoJG1heC12YWx1ZSAtICRtaW4tdmFsdWUpfSAqICgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XHJcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcclxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkbWF4LXZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xyXG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcik9PVwibnVtYmVyXCJhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcclxuICAgICAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gJG51bWJlcjtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGluay1hbmltYXRpb24oJGJhY2tncm91bmQ6IGJyYW5kLWNvbG91cignYnJhdm8nKSwgJGJhY2tncm91bmQtaG92ZXI6IGJyYW5kLWNvbG91cignY2hhcmxpZScpKSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkYmFja2dyb3VuZC1ob3ZlciA1MCUsICRiYWNrZ3JvdW5kIDUwJSwgJGJhY2tncm91bmQpO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAycHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4zcztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxpbmstYW5pbWF0aW9uLWFsdGVybmF0ZSgkYmFja2dyb3VuZC1ob3ZlcjogYnJhbmQtY29sb3VyKCdjaGFybGllJyksICRhbHdheXNfYWN0aXZlOiBmYWxzZSkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGJhY2tncm91bmQtaG92ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgLjJzIGN1YmljLWJlemllcigwLC41LDAsMSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGFsd2F5c19hY3RpdmUge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGlvcy1kZXZpY2VzIHtcclxuICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzYWZhcmktYnJvd3NlciB7XHJcbiAgICBAbWVkaWEgbm90IGFsbCBhbmQgKG1pbi1yZXNvbHV0aW9uOi4wMDFkcGNtKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn0iLCIvLyAjIEdyaWQgVmFyaWFibGVzXHJcblxyXG4kY29sdW1uczogMTI7XHJcbiRndXR0ZXI6IDI1cHg7XHJcbiRncmlkOiAxMjgwcHggKyAkZ3V0dGVyICogMjtcclxuXHJcbiRibG9jay1tYXJnaW46ICRndXR0ZXIgKiA0O1xyXG4kYmxvY2stbWFyZ2luLWhhbGY6ICRndXR0ZXI7XHJcblxyXG4kdGlueTogMzIwcHg7XHJcbiR4LXNtYWxsOiA0MDBweDtcclxuJHNtYWxsOiA2NDBweDtcclxuJG1lZGl1bTogOTYwcHg7XHJcbiRsYXJnZS1tZWRpdW06IDEyMDBweDtcclxuJGxhcmdlOiAkZ3JpZDtcclxuJHgtbGFyZ2U6IDE0NDBweDtcclxuJHdpZGU6IDE5MjBweDtcclxuXHJcbiRtcS1icmVha3BvaW50czogKFxyXG4gIG1pbjogKFxyXG4gICAgdGlueTogbWluLXdpZHRoICR0aW55LFxyXG4gICAgeC1zbWFsbDogbWluLXdpZHRoICR4LXNtYWxsLFxyXG4gICAgc21hbGw6IG1pbi13aWR0aCAkc21hbGwsXHJcbiAgICBtZWRpdW06IG1pbi13aWR0aCAkbWVkaXVtLFxyXG5cdGxhcmdlLW1lZGl1bTogbWluLXdpZHRoICRsYXJnZS1tZWRpdW0sXHJcbiAgICBsYXJnZTogbWluLXdpZHRoICRsYXJnZSxcclxuICAgIHgtbGFyZ2U6IG1pbi13aWR0aCAkeC1sYXJnZSxcclxuICAgIHdpZGU6IG1pbi13aWR0aCAkd2lkZVxyXG4gICksXHJcbiAgbWF4OiAoXHJcbiAgICB0aW55OiBtaW4td2lkdGggKCR0aW55IC0gMSksXHJcbiAgICB4LXNtYWxsOiBtYXgtd2lkdGggKCR4LXNtYWxsIC0gMSksXHJcbiAgICBzbWFsbDogbWF4LXdpZHRoICgkc21hbGwgLSAxKSxcclxuICAgIG1lZGl1bTogbWF4LXdpZHRoICgkbWVkaXVtIC0gMSksXHJcblx0bGFyZ2UtbWVkaXVtOiBtYXgtd2lkdGggKCRsYXJnZS1tZWRpdW0gLSAxKSxcclxuICAgIGxhcmdlOiBtYXgtd2lkdGggKCRsYXJnZSAtIDEpLFxyXG4gICAgeC1sYXJnZTogbWF4LXdpZHRoICgkeC1sYXJnZSAtIDEpLFxyXG4gICAgd2lkZTogbWF4LXdpZHRoICgkd2lkZSAtIDEpXHJcbiAgKVxyXG4pO1xyXG5cclxuQGZ1bmN0aW9uIGdldC1icmVha3BvaW50KCRicmVha3BvaW50LXR5cGUsICRicmVha3BvaW50LXZhbHVlKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJG1xLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC10eXBlKSwgJGJyZWFrcG9pbnQtdmFsdWUpO1xyXG59XHJcbiIsIiRyZWMtYmFzZWxpbmU6IDE2cHggIWRlZmF1bHQ7XHJcbiRyZWMtZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xyXG4kcmVjLXB4LW9ubHk6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIHJlYy1zZXBhcmF0b3IoJGxpc3QsICRzZXBhcmF0b3I6IGZhbHNlKSB7XHJcbiAgQGlmICRzZXBhcmF0b3IgPT0gXCJjb21tYVwiIG9yICRzZXBhcmF0b3IgPT0gXCJzcGFjZVwiIHtcclxuICAgIEByZXR1cm4gYXBwZW5kKCRsaXN0LCBudWxsLCAkc2VwYXJhdG9yKTtcclxuICB9IFxyXG4gIFxyXG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoXCJsaXN0LXNlcGFyYXRvclwiKSA9PSB0cnVlIHtcclxuICAgIEByZXR1cm4gbGlzdC1zZXBhcmF0b3IoJGxpc3QpO1xyXG4gIH1cclxuXHJcbiAgLy8gbGlzdC1zZXBhcmF0b3IgcG9seWZpbGwgYnkgSHVnbyBHaXJhdWRlbCAoaHR0cHM6Ly9zYXNzLWNvbXBhdGliaWxpdHkuZ2l0aHViLmlvLyNsaXN0X3NlcGFyYXRvcl9mdW5jdGlvbilcclxuICAkdGVzdC1saXN0OiAoKTtcclxuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XHJcbiAgICAkdGVzdC1saXN0OiBhcHBlbmQoJHRlc3QtbGlzdCwgJGl0ZW0sIHNwYWNlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJHRlc3QtbGlzdCA9PSAkbGlzdCwgc3BhY2UsIGNvbW1hKTtcclxufVxyXG5cclxuQG1peGluIHJlYy1iYXNlbGluZSgkem9vbTogMTAwJSkge1xyXG4gIGZvbnQtc2l6ZTogJHpvb20gLyAxNnB4ICogJHJlYy1iYXNlbGluZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlYy1jb252ZXJ0KCR0bywgJHZhbHVlcy4uLikge1xyXG4gICRyZXN1bHQ6ICgpO1xyXG4gICRzZXBhcmF0b3I6IHJlYy1zZXBhcmF0b3IoJHZhbHVlcyk7XHJcbiAgXHJcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xyXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCB1bml0KCR2YWx1ZSkgPT0gXCJyZW1cIiBhbmQgJHRvID09IFwicHhcIiB7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUgLyAxcmVtICogJHJlYy1iYXNlbGluZSArIDBweCwgJHNlcGFyYXRvcik7XHJcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCB1bml0KCR2YWx1ZSkgPT0gXCJweFwiIGFuZCAkdG8gPT0gXCJyZW1cIiB7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUgLyAkcmVjLWJhc2VsaW5lICsgMHJlbSwgJHNlcGFyYXRvcik7XHJcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcImxpc3RcIiB7XHJcbiAgICAgICR2YWx1ZS1zZXBhcmF0b3I6IHJlYy1zZXBhcmF0b3IoJHZhbHVlKTtcclxuICAgICAgJHZhbHVlOiByZWMtY29udmVydCgkdG8sICR2YWx1ZS4uLik7XHJcbiAgICAgICR2YWx1ZTogcmVjLXNlcGFyYXRvcigkdmFsdWUsICR2YWx1ZS1zZXBhcmF0b3IpO1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYobGVuZ3RoKCRyZXN1bHQpID09IDEsIG50aCgkcmVzdWx0LCAxKSwgJHJlc3VsdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0oJHZhbHVlcy4uLikge1xyXG4gIEBpZiAkcmVjLXB4LW9ubHkge1xyXG4gICAgQHJldHVybiByZWMtY29udmVydChweCwgJHZhbHVlcy4uLik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIHJlYy1jb252ZXJ0KHJlbSwgJHZhbHVlcy4uLik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVtKCRwcm9wZXJ0aWVzLCAkdmFsdWVzLi4uKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwibWFwXCIge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5IGluIG1hcC1rZXlzKCRwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIEBpbmNsdWRlIHJlbSgkcHJvcGVydHksIG1hcC1nZXQoJHByb3BlcnRpZXMsICRwcm9wZXJ0eSkpO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcclxuICAgICAgQGlmICRyZWMtZmFsbGJhY2sgb3IgJHJlYy1weC1vbmx5IHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06IHJlYy1jb252ZXJ0KHB4LCAkdmFsdWVzLi4uKTtcclxuICAgICAgfVxyXG4gICAgICBAaWYgbm90ICRyZWMtcHgtb25seSB7XHJcbiAgICAgICAgI3skcHJvcGVydHl9OiByZWMtY29udmVydChyZW0sICR2YWx1ZXMuLi4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiR0eXBvZ3JhcGh5OiAoIFxyXG4gICAgZm9udC1mYW1pbHktYm9keS1iYXNlOiAoJ1JvYm90bycsIFwiRnJhbmtsaW4gR290aGljIE1lZGl1bVwiLCBUYWhvbWEsIHNhbnMtc2VyaWYpLCBcclxuICAgIGZvbnQtZmFtaWx5LWhlYWRpbmctYmFzZTogKCdNb250c2VycmF0JywgQXJpYWwsIHNhbnMtc2VyaWYpLCBcclxuICAgIGZvbnQtbGluZS1oZWlnaHQtYmFzZTogMS41LCBmb250LXNpemUtYmFzZTogMTZweCk7XHJcbkBmdW5jdGlvbiB0eXBvZ3JhcGh5KCRrZXkpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkdHlwb2dyYXBoeSwgJGtleSk7XHJcbn0iXX0= */
