/* Mixins
--------------------------------------------------------------- */
/*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
.page-flexible-content {
  /* Mixins
--------------------------------------------------------------- */
  /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/ }
  .page-flexible-content .flexible-content-content {
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
    /* Mixins
--------------------------------------------------------------- */
    /*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/ }
    .page-flexible-content .flexible-content-content section.two_col_circle_image {
      padding-top: 110px;
      padding-bottom: 130px; }
      .page-flexible-content .flexible-content-content section.two_col_circle_image .brand_text_col {
        max-width: 640px;
        padding-right: 40px;
        display: inline-block;
        float: left; }
        .page-flexible-content .flexible-content-content section.two_col_circle_image .brand_text_col p {
          font-size: 18px; }
      .page-flexible-content .flexible-content-content section.two_col_circle_image .section_image {
        height: auto;
        -ms-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        -moz-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        -o-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        -webkit-backface-visibility: hidden; }
        @media (max-width: 1199.98px) {
          .page-flexible-content .flexible-content-content section.two_col_circle_image .section_image {
            max-width: 400px;
            width: 50%;
            margin-top: -20%;
            display: none; } }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content section.two_col_circle_image .section_image {
            margin-top: -12%; } }
        @media (max-width: 575.98px) {
          .page-flexible-content .flexible-content-content section.two_col_circle_image .section_image {
            width: 90%;
            margin: 50px 5% 0;
            float: none;
            display: inline-block; } }
        .page-flexible-content .flexible-content-content section.two_col_circle_image .section_image.popup_video {
          cursor: pointer; }
    .page-flexible-content .flexible-content-content section.stat_banner {
      position: relative; }
      @media (max-width: 767.98px) {
        .page-flexible-content .flexible-content-content section.stat_banner {
          padding-bottom: 75px; } }
      .page-flexible-content .flexible-content-content section.stat_banner .stat_background_image, .page-flexible-content .flexible-content-content section.stat_banner .stat_image_overlay {
        bottom: 0;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        background-size: cover;
        background-position-y: center; }
      .page-flexible-content .flexible-content-content section.stat_banner .stat_image_overlay {
        background-color: rgba(71, 91, 107, 0.85); }
      .page-flexible-content .flexible-content-content section.stat_banner .container {
        position: relative;
        overflow-x: hidden; }
        @media screen and (min-width: 1921px) {
          .page-flexible-content .flexible-content-content section.stat_banner .container {
            max-width: 90%; } }
      .page-flexible-content .flexible-content-content section.stat_banner .slide {
        text-align: center;
        padding-top: 150px;
        padding-bottom: 100px;
        color: #fff; }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content section.stat_banner .slide {
            padding-top: 50px;
            padding-bottom: 0px; } }
        .page-flexible-content .flexible-content-content section.stat_banner .slide .amount {
          font-size: 106px;
          font-weight: 700;
          line-height: 1.3;
          color: #EF8A22; }
          @media (max-width: 1199.98px) {
            .page-flexible-content .flexible-content-content section.stat_banner .slide .amount {
              font-size: calc(50px + (106 - 50)*((100vw - 300px)/(1920 - 300))); } }
          @media screen and (min-width: 1921px) {
            .page-flexible-content .flexible-content-content section.stat_banner .slide .amount {
              font-size: calc(106px + (150 - 106)*((100vw - 300px)/(1920 - 300))); } }
        .page-flexible-content .flexible-content-content section.stat_banner .slide .value {
          font-size: 30px;
          font-weight: 600;
          text-transform: uppercase;
          line-height: 1.1; }
          @media (max-width: 991.98px) {
            .page-flexible-content .flexible-content-content section.stat_banner .slide .value {
              font-size: calc(25px + (30 - 25)*((100vw - 300px)/(1920 - 300))); } }
          @media screen and (min-width: 1921px) {
            .page-flexible-content .flexible-content-content section.stat_banner .slide .value {
              font-size: calc(30px + (45 - 30)*((100vw - 300px)/(1920 - 300))); } }
        .page-flexible-content .flexible-content-content section.stat_banner .slide .description {
          font-size: 18px;
          font-weight: 300; }
          @media screen and (min-width: 1921px) {
            .page-flexible-content .flexible-content-content section.stat_banner .slide .description {
              font-size: calc(18px + (30 - 18)*((100vw - 300px)/(1920 - 300))); } }
          .page-flexible-content .flexible-content-content section.stat_banner .slide .description strong {
            font-weight: 700; }
      .page-flexible-content .flexible-content-content section.stat_banner #magic-line {
        border-color: #fff;
        color: transparent;
        display: flex;
        height: 25px;
        overflow: hidden;
        overflow: visible;
        position: absolute;
        bottom: 40px; }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content section.stat_banner #magic-line {
            display: none; } }
        .page-flexible-content .flexible-content-content section.stat_banner #magic-line i {
          color: #fff;
          font-size: 60px;
          font-weight: 100;
          position: absolute;
          left: 50%;
          -moz-transform: translate(-50%);
          -ms-transform: translate(-50%);
          -o-transform: translate(-50%);
          -webkit-transform: translate(-50%);
          transform: translate(-50%);
          -webkit-backface-visibility: hidden;
          -webkit-backface-visibility: unset;
          top: -19px; }
        .page-flexible-content .flexible-content-content section.stat_banner #magic-line::before, .page-flexible-content .flexible-content-content section.stat_banner #magic-line::after {
          background: currentColor;
          border-width: 0px 0 4px 0;
          border-style: solid;
          border-color: inherit;
          content: "";
          height: 100%;
          -webkit-transform-origin: 100% calc(100% - 1px);
          transform-origin: 100% calc(100% - 24px);
          position: absolute;
          width: 400%; }
        .page-flexible-content .flexible-content-content section.stat_banner #magic-line::before {
          -moz-transform: skewX(-45deg);
          -ms-transform: skewX(-45deg);
          -o-transform: skewX(-45deg);
          -webkit-transform: skewX(-45deg);
          transform: skewX(-45deg);
          -webkit-backface-visibility: hidden;
          -webkit-backface-visibility: unset;
          right: 50%; }
        .page-flexible-content .flexible-content-content section.stat_banner #magic-line::after {
          -moz-transform: skewX(45deg);
          -ms-transform: skewX(45deg);
          -o-transform: skewX(45deg);
          -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
          -webkit-backface-visibility: hidden;
          -webkit-backface-visibility: unset;
          left: 50%; }
      .page-flexible-content .flexible-content-content section.stat_banner .stat_description_col {
        position: relative;
        min-height: 214px; }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content section.stat_banner .stat_description_col {
            display: none; } }
      .page-flexible-content .flexible-content-content section.stat_banner .stat_description {
        color: #fff;
        text-align: center;
        font-size: 18px;
        line-height: 1.8;
        margin-bottom: 150px;
        position: absolute;
        margin-bottom: 150px;
        width: calc(100% - 30px); }
        @media screen and (min-width: 1921px) {
          .page-flexible-content .flexible-content-content section.stat_banner .stat_description {
            font-size: calc(18px + (30 - 18)*((100vw - 300px)/(1920 - 300))); } }
    .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero {
      color: #fff;
      min-height: 42vw;
      position: relative; }
      @media screen and (min-width: 1921px) {
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero {
          min-height: 820px; } }
      .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_content_wrapper {
        position: fixed;
        width: 100%;
        z-index: 0; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_content_wrapper {
            position: relative; } }
      .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .slick-dotted {
        margin-bottom: 30px; }
      .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .slick-dots {
        bottom: 50px; }
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .slick-dots li {
          width: 11px;
          height: 11px;
          margin: 0 2px; }
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .slick-dots li button {
            width: 11px;
            height: 11px; }
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .slick-dots li button:before {
              content: "";
              border: 2px solid #fff;
              border-radius: 10px;
              width: 11px;
              height: 11px;
              opacity: 1; }
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .slick-dots li.slick-active button:before {
            background-color: #fff; }
      .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider {
        overflow: hidden;
        max-width: 100vw;
        z-index: 1; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider {
            position: absolute;
            top: 0;
            right: 0;
            left: 0; } }
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider .slide {
          background-color: #dac7ab;
          position: relative; }
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider .slide_image {
          position: relative;
          width: 100%;
          padding-top: 42vw;
          background-size: cover;
          background-position-y: center; }
          @media (max-width: 991.98px) {
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider .slide_image {
              min-height: 475px; } }
          @media screen and (min-width: 1921px) {
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider .slide_image {
              padding-top: 820px; } }
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider .slide_video {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: cover; }
          @media (max-width: 991.98px) {
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider .slide_video {
              display: none;
              visibility: hidden; } }
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_slider .slide_image_overlay {
          position: absolute;
          top: 0;
          bottom: 0;
          right: 0;
          left: 0;
          background-color: rgba(5, 17, 25, 0.41); }
      .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content {
        min-height: 42vw;
        position: relative;
        z-index: 2;
        position: absolute;
        top: 0;
        left: 50%;
        pointer-events: none;
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        -webkit-backface-visibility: hidden; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content {
            position: relative;
            transform: unset;
            top: unset;
            left: unset;
            min-height: 475px; } }
        @media screen and (min-width: 1921px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content {
            min-height: 820px; } }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .col-md-6 {
            max-width: 100%;
            flex: 0 0 100%; } }
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .hero_heading {
          margin-top: 210px;
          margin-top: 11vw; }
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .hero_heading:after {
            transition-delay: 0.5s; }
          @media screen and (min-width: 1921px) {
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .hero_heading {
              margin-top: 210px; } }
        @media (max-width: 1199.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .hero_text {
            font-size: calc(20px + (38 - 20)*((100vw - 300px)/(1920 - 300))); } }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .hero_text {
            font-size: 30px; } }
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .hero_button {
          margin-top: 60px;
          margin-bottom: 210px;
          pointer-events: all;
          color: #fff;
          display: inline-block; }
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .hero_button:hover {
            color: #EF8A22; }
          @media (max-width: 991.98px) {
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .hero_text_content .hero_button {
              margin-bottom: 0px; } }
      .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section {
            position: relative; } }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .container {
            max-width: 100%;
            padding-right: 0;
            padding-left: 0;
            overflow: hidden; } }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .container .col-md-6 {
            flex: 0 0 100%;
            max-width: 100%; } }
        .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider {
          background-color: rgba(239, 138, 34, 0.9);
          min-height: calc(42vw + 0px);
          width: 370px;
          max-width: 100%;
          float: right;
          position: relative;
          z-index: 4;
          opacity: 0; }
          @media (max-width: 991.98px) {
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider {
              min-height: 179px;
              width: 100%;
              padding: 10px 0 40px; } }
          @media screen and (min-width: 1921px) {
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider {
              min-height: 820px; } }
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide {
            text-align: center;
            padding: 45px 17% 0; }
            @media (min-width: 992px) {
              .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide {
                width: 100%; } }
            @media screen and (max-width: 1599px) {
              .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide {
                padding: 10% 17% 0; } }
            @media screen and (max-width: 1300px) {
              .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide {
                padding: 8% 17% 0; } }
            @media (max-width: 991.98px) {
              .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide {
                padding: 15px;
                display: inline-block;
                vertical-align: text-top;
                width: 100%;
                margin-top: 10px; } }
            @media screen and (max-width: 600) {
              .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide {
                margin-right: -35px; } }
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide .amount {
              font-size: 90px;
              font-weight: 700;
              line-height: 1; }
              @media screen and (max-width: 1599px) {
                .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide .amount {
                  font-size: calc(30px + (70 - 30)*((100vw - 300px)/(1920 - 300))); } }
              @media (max-width: 991.98px) {
                .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide .amount {
                  font-size: calc(35px + (70 - 35)*((100vw - 300px)/(1920 - 300))); } }
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide .value {
              font-size: 30px;
              font-weight: 600;
              text-transform: uppercase;
              line-height: 1.1; }
              @media screen and (max-width: 1599px) {
                .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide .value {
                  font-size: calc(20px + (30 - 20)*((100vw - 300px)/(1920 - 300))); } }
            .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide .description {
              font-size: 14px;
              font-weight: 300; }
              @media (max-width: 991.98px) {
                .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide .description {
                  max-width: 230px;
                  margin: auto; } }
              .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section .header_stat_slider .slide .description strong {
                font-weight: 700; }
        @media (min-width: 992px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section.stat_banner_slider .header_stat_slider .slick-track {
            display: flex;
            min-height: 42vw; } }
        @media screen and (min-width: 1921px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section.stat_banner_slider .header_stat_slider .slick-track {
            min-height: 820px; } }
        @media (min-width: 992px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section.stat_banner_slider .header_stat_slider .slick-track .slick-slide {
            display: flex;
            height: auto;
            align-items: center;
            justify-content: center; } }
        @media (min-width: 992px) {
          .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_stat_section.stat_banner_slider .header_stat_slider .slide {
            padding: 45px 20px 8vw; } }
    .page-flexible-content .flexible-content-content section.header_cutout {
      width: 100%;
      height: 455px;
      height: 28.7vw;
      position: relative;
      overflow: hidden;
      margin-top: -170px;
      margin-top: -17%;
      pointer-events: none;
      z-index: 4; }
      @media (max-width: 991.98px) {
        .page-flexible-content .flexible-content-content section.header_cutout {
          z-index: 4; } }
      .page-flexible-content .flexible-content-content section.header_cutout:before {
        content: "";
        position: absolute;
        bottom: 50%;
        width: 120%;
        height: 100%;
        left: -5%;
        border-radius: 41% 20% 65% 34%/53% 0% 100% 29%;
        box-shadow: 0px 300px 0px 300px #fff; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content section.header_cutout:before {
            display: none; } }
      .page-flexible-content .flexible-content-content section.header_cutout + section {
        z-index: 4;
        margin-top: -9%; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content section.header_cutout + section {
            margin-top: -75px; } }
    .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) {
      color: #fff;
      min-height: 42vw;
      position: relative; }
      .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background {
        overflow: hidden; }
        .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background .vid-play-inline {
          bottom: 0;
          left: 0;
          position: absolute;
          right: 0;
          top: 0; }
          @media screen and (max-device-width: 1024px) {
            .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background .vid-play-inline {
              display: none; } }
          .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background .vid-play-inline iframe {
            width: 100%;
            height: 100%;
            left: 50%;
            top: 50%;
            -moz-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
            -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            -webkit-backface-visibility: hidden;
            position: absolute; }
        .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background video {
          bottom: 0;
          left: 0;
          position: absolute;
          right: 0;
          top: 0; }
          @media screen and (max-device-width: 1024px) {
            .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background video {
              display: none; } }
      .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background_image {
        bottom: 0;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 100%;
        padding-top: 42vw;
        background-size: cover;
        background-position: center; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background_image {
            min-height: 475px; } }
      .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .background_image_overlay {
        bottom: 0;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        background-color: rgba(5, 17, 25, 0.41); }
      .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content .row {
        min-height: 42vw;
        position: relative; }
        .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content .row.text-right .hero_arrow_down {
          float: right;
          margin-right: 0;
          margin-left: 15px;
          margin-top: 30px; }
      .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content .col-md-6 {
        padding-right: 60px;
        margin-bottom: 300px;
        margin-top: 200px; }
      .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content h2 {
        font-size: calc(30px + (40 - 30)*((100vw - 300px)/(1920 - 300)));
        letter-spacing: .015em;
        line-height: 1.2;
        font-weight: 800;
        margin-bottom: 50px; }
        @media screen and (min-width: 1921px) {
          .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content h2 {
            font-size: 40px; } }
        .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content h2 .underline {
          position: relative;
          line-height: 1.5; }
          .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content h2 .underline:after {
            content: "";
            width: calc(100% - 5px);
            height: 7px;
            background-color: #EF8A22;
            display: inline-block;
            position: absolute;
            bottom: -7px;
            left: 0px;
            -ms-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -moz-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -o-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -webkit-backface-visibility: hidden;
            transition-delay: .75s; }
          .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content h2 .underline.animate_line:after {
            width: 0; }
          .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content h2 .underline.line_activated:after {
            width: calc(100% - 5px); }
      .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content .hero_text {
        font-size: calc(16px + (20 - 16)*((100vw - 300px)/(1920 - 300)));
        font-weight: 600;
        letter-spacing: .08em;
        line-height: 1.5;
        width: calc(100% - 70px);
        display: inline-block;
        margin-top: 40px; }
        @media screen and (min-width: 1921px) {
          .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content .hero_text {
            font-size: 20px; } }
      .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content .hero_arrow_down {
        cursor: pointer;
        font-size: calc(40px + (58 - 40)*((100vw - 300px)/(1920 - 300)));
        color: #EF8A22;
        display: inline-block;
        margin-right: 15px;
        opacity: 0; }
        @media screen and (min-width: 1921px) {
          .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) .hero_text_content .hero_arrow_down {
            font-size: 58px; } }
      @media screen and (min-width: 1025px) {
        .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) + .section_separator.border_reversed_wave:after {
          left: -22px; } }
      @media screen and (min-width: 1025px) {
        .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) + .section_separator.border_reversed_wave:before {
          right: -22px; } }
      @media screen and (min-width: 1921px) {
        .page-flexible-content .flexible-content-content section.full_height_hero:not(.scrolling_hero) + .section_separator.border_reversed_wave:before {
          width: calc(100% + 80px);
          right: -80px; } }
    .page-flexible-content .flexible-content-content section.our_stories {
      overflow-x: hidden;
      padding-top: 50px;
      color: #405765; }
      .page-flexible-content .flexible-content-content section.our_stories .slick-slide {
        outline: none; }
        .page-flexible-content .flexible-content-content section.our_stories .slick-slide:focus {
          outline: none; }
      .page-flexible-content .flexible-content-content section.our_stories .image_col {
        overflow: hidden;
        padding-right: 55px; }
        .page-flexible-content .flexible-content-content section.our_stories .image_col .slick-slider {
          height: 100%; }
        .page-flexible-content .flexible-content-content section.our_stories .image_col .slick-list {
          height: 100%; }
        .page-flexible-content .flexible-content-content section.our_stories .image_col .slick-track {
          height: 100%; }
        .page-flexible-content .flexible-content-content section.our_stories .image_col .slick-slide {
          height: 100%; }
        .page-flexible-content .flexible-content-content section.our_stories .image_col .framed_circle {
          height: 100%;
          width: 100%;
          max-width: 100%; }
        .page-flexible-content .flexible-content-content section.our_stories .image_col .framed_circle {
          width: 152%;
          max-width: unset;
          height: 100%;
          width: 100%;
          max-width: unset; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content section.our_stories .image_col .framed_circle {
              max-width: 315px;
              float: left;
              width: 100%;
              margin-left: -108px; } }
      .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap {
        margin-top: 130px;
        margin-bottom: 160px; }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap {
            margin-top: 45px;
            padding-left: 50px; } }
        @media (max-width: 575.98px) {
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap {
            padding-left: 25px; } }
        .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-track {
          display: flex; }
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-track .slick-slide {
            display: flex;
            height: auto;
            flex-direction: column; }
        .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide {
          padding-right: 100px; }
          @media (max-width: 1199.98px) {
            .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide {
              padding-right: 5%; } }
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide.slick-current {
            margin-left: -60px; }
            @media (max-width: 1199.98px) {
              .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide.slick-current {
                margin-left: -30px; } }
            @media (max-width: 575.98px) {
              .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide.slick-current {
                margin-left: 0;
                margin-right: -2.5%; } }
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide:not(.slick-current) {
            filter: blur(2px);
            -webkit-filter: blur(4px);
            -moz-filter: blur(10px);
            -o-filter: blur(10px);
            -ms-filter: blur(10px); }
            .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide:not(.slick-current) .btn_arrows {
              opacity: 0; }
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide h3 {
            margin-top: 10px;
            margin-bottom: 32px; }
            @media (max-width: 1199.98px) {
              .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide h3 {
                font-size: calc(28px + (38 - 28)*((100vw - 300px)/(1920 - 300))); } }
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide .story_text {
            font-size: 18px;
            letter-spacing: .055em; }
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide .amount {
            font-size: 64px;
            display: block;
            text-align: center;
            font-weight: 700;
            font-weight: 700;
            letter-spacing: .015em;
            line-height: 1.2; }
            @media (max-width: 1599px) {
              .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide .amount {
                font-size: calc(25px + (64 - 25)*((100vw - 300px)/(1920 - 300))); } }
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide .value {
            text-transform: uppercase;
            display: block;
            text-align: center;
            font-weight: 700;
            letter-spacing: .095em; }
            @media (max-width: 991.98px) {
              .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .story_slide .value {
                font-size: calc(12px + (18 - 12)*((100vw - 300px)/(1920 - 300))); } }
        .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-dots {
          bottom: 0;
          width: auto;
          right: 200px; }
          @media (max-width: 1199.98px) {
            .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-dots {
              right: calc(5% + 100px); } }
          @media (max-width: 991.98px) {
            .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-dots {
              bottom: -40px; } }
          @media (max-width: 575.98px) {
            .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-dots {
              right: 30px; } }
          .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-dots li {
            width: 20px;
            height: 20px;
            margin: 0 9px; }
            .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-dots li button {
              width: 20px;
              height: 20px; }
              .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-dots li button:before {
                content: "";
                border: 2px solid #405765;
                border-radius: 10px;
                width: 20px;
                height: 20px;
                opacity: 1; }
            .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .slick-dots li.slick-active button:before {
              background-color: #405765; }
        .page-flexible-content .flexible-content-content section.our_stories .right_col_wrap .btn_arrows {
          display: inline-block;
          margin-top: 72px; }
    .page-flexible-content .flexible-content-content section.thermometer {
      padding: 20px 0; }
      .page-flexible-content .flexible-content-content section.thermometer #countdown-wrap {
        width: 100%;
        padding: 20px;
        font-family: arial;
        max-width: 650vpx; }
      .page-flexible-content .flexible-content-content section.thermometer #goal {
        font-size: 48px;
        text-align: center;
        color: #ec8822;
        font-weight: bold; }
        .page-flexible-content .flexible-content-content section.thermometer #goal span {
          color: #405765;
          font-size: 34px;
          font-weight: normal;
          margin: 0;
          padding: 0;
          display: block; }
        @media only screen and (max-width: 640px) {
          .page-flexible-content .flexible-content-content section.thermometer #goal {
            text-align: center; } }
      .page-flexible-content .flexible-content-content section.thermometer #glass {
        width: 100%;
        height: 30px;
        background: #fff;
        border-radius: 10px;
        float: left;
        overflow: hidden; }
      .page-flexible-content .flexible-content-content section.thermometer #progress {
        float: left;
        height: 30px;
        z-index: 333; }
      .page-flexible-content .flexible-content-content section.thermometer .goal-stat {
        width: 25%;
        padding: 10px;
        float: left;
        margin: 0; }
        .page-flexible-content .flexible-content-content section.thermometer .goal-stat.last {
          text-align: right; }
        @media only screen and (max-width: 640px) {
          .page-flexible-content .flexible-content-content section.thermometer .goal-stat {
            width: 50%;
            text-align: center; } }
      .page-flexible-content .flexible-content-content section.thermometer .goal-number, .page-flexible-content .flexible-content-content section.thermometer .goal-label {
        display: block; }
      .page-flexible-content .flexible-content-content section.thermometer .goal-number {
        font-weight: bold; }
    .page-flexible-content .flexible-content-content .icon_grid {
      background-color: #fff; }
      .page-flexible-content .flexible-content-content .icon_grid .background {
        padding-top: 150px;
        padding-bottom: 150px; }
        .page-flexible-content .flexible-content-content .icon_grid .background .icons-container {
          display: flex;
          flex-wrap: wrap;
          text-align: center;
          margin-top: 40px; }
          .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div {
            flex: 25%;
            margin: 30px 0; }
            .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div[data-index] {
              /*transform: scale(0);*/ }
            .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div.fifths {
              flex: 20%; }
            @media (max-width: 767px) {
              .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div {
                flex: 50% !important; } }
            .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div img {
              max-height: 170px;
              transition: none; }
            .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div .icon-label {
              font-size: 20px;
              font-weight: 600;
              margin: 15px auto 0;
              max-width: 85%;
              color: #405765; }
            .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div.clickable {
              cursor: pointer;
              position: relative; }
              .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div.clickable.active:after {
                content: "";
                display: inline-block;
                position: absolute;
                bottom: -44px;
                left: calc(50% - 6px);
                width: 20px;
                height: 20px;
                border-left: 30px solid #fff;
                border-top: 30px solid #fff;
                background-color: #fff;
                -moz-transform: rotate(45deg) translate(-22.5%, 22.5%);
                -ms-transform: rotate(45deg) translate(-22.5%, 22.5%);
                -o-transform: rotate(45deg) translate(-22.5%, 22.5%);
                -webkit-transform: rotate(45deg) translate(-22.5%, 22.5%);
                transform: rotate(45deg) translate(-22.5%, 22.5%);
                -webkit-backface-visibility: hidden;
                -webkit-backface-visibility: unset; }
              .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div.clickable img:hover, .page-flexible-content .flexible-content-content .icon_grid .background .icons-container > div.clickable img.active {
                -webkit-filter: invert(50%) sepia(5%) saturate(7505%) hue-rotate(340deg) brightness(98%) contrast(75%);
                filter: invert(50%) sepia(5%) saturate(7505%) hue-rotate(340deg) brightness(98%) contrast(75%); }
          .page-flexible-content .flexible-content-content .icon_grid .background .icons-container .info-box {
            flex: 100%;
            margin: 0;
            padding: 30px 50px;
            background: #fff;
            position: relative;
            display: none;
            cursor: default; }
            .page-flexible-content .flexible-content-content .icon_grid .background .icons-container .info-box .info {
              display: none;
              font-size: 18px; }
            .page-flexible-content .flexible-content-content .icon_grid .background .icons-container .info-box .fa-times {
              position: absolute;
              right: 10px;
              top: 10px;
              cursor: pointer; }
    .page-flexible-content .flexible-content-content .two_col_divider {
      padding: 7% 18%;
      position: relative;
      border-bottom-left-radius: 200px; }
      .page-flexible-content .flexible-content-content .two_col_divider .awards {
        display: flex; }
        .page-flexible-content .flexible-content-content .two_col_divider .awards .left {
          text-align: center;
          flex: 45%; }
          .page-flexible-content .flexible-content-content .two_col_divider .awards .left > div {
            font-size: calc(27px + (42 - 27)*((100vw - 300px)/(1920 - 300)));
            font-weight: 600; }
            .page-flexible-content .flexible-content-content .two_col_divider .awards .left > div.xl-text {
              font-size: calc(40px + (95 - 40)*((100vw - 300px)/(1920 - 300)));
              line-height: 1em;
              margin: 15px 0;
              font-weight: 900; }
        .page-flexible-content .flexible-content-content .two_col_divider .awards .mid {
          flex: 10%;
          height: inherit;
          display: flex;
          justify-content: center; }
          .page-flexible-content .flexible-content-content .two_col_divider .awards .mid .line {
            height: 100%;
            width: 5px;
            background: #EF8A22; }
        .page-flexible-content .flexible-content-content .two_col_divider .awards .right {
          flex: 45%;
          padding-top: 5px;
          font-size: calc(14px + (20 - 14)*((100vw - 300px)/(1920 - 300)));
          line-height: 40px;
          display: flex;
          flex-direction: column;
          justify-content: space-between; }
          .page-flexible-content .flexible-content-content .two_col_divider .awards .right > div > div {
            padding: 10px 0; }
            .page-flexible-content .flexible-content-content .two_col_divider .awards .right > div > div:first-child {
              padding-top: 0; }
          .page-flexible-content .flexible-content-content .two_col_divider .awards .right img {
            max-width: 260px;
            -o-object-fit: contain;
            object-fit: contain;
            padding: 0 5px; }
      @media (max-width: 1024px) {
        .page-flexible-content .flexible-content-content .two_col_divider {
          padding: 7% 10%; } }
      @media (max-width: 767px) {
        .page-flexible-content .flexible-content-content .two_col_divider .awards {
          flex-wrap: wrap; }
          .page-flexible-content .flexible-content-content .two_col_divider .awards .left {
            flex: 100%;
            border-right: none;
            border-bottom: 2.5px solid #EF8A22;
            padding-bottom: 20px; }
          .page-flexible-content .flexible-content-content .two_col_divider .awards .mid {
            flex: 0; }
          .page-flexible-content .flexible-content-content .two_col_divider .awards .right {
            flex: 100%;
            border-left: none;
            border-top: 2.5px solid #EF8A22;
            padding: 0; }
            .page-flexible-content .flexible-content-content .two_col_divider .awards .right > div {
              padding: 15px 0; }
              .page-flexible-content .flexible-content-content .two_col_divider .awards .right > div > div {
                box-shadow: 0px 1px #efefef; }
            .page-flexible-content .flexible-content-content .two_col_divider .awards .right > img {
              position: relative;
              margin: 20px auto;
              width: 100%; } }
    .page-flexible-content .flexible-content-content section.contact-section {
      background-color: #eceeef;
      padding-top: 100px;
      padding-bottom: 100px; }
      .page-flexible-content .flexible-content-content section.contact-section #contact-form {
        background: #fff;
        border-radius: 5px;
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
        .page-flexible-content .flexible-content-content section.contact-section #contact-form > * {
          margin: 12px 0; }
        .page-flexible-content .flexible-content-content section.contact-section #contact-form input:not([type="submit"]),
        .page-flexible-content .flexible-content-content section.contact-section #contact-form textarea:not([type="submit"]) {
          width: 100%;
          padding: 5px 0;
          padding-left: 15px;
          border-radius: 3px;
          border: 1.5px solid #cac7c7;
          outline: none;
          resize: none;
          box-shadow: none;
          background: #eceeef;
          font-size: calc(12px + (15 - 12)*((100vw - 300px)/(1920 - 300)));
          box-shadow: inset 0 0 7px 0 rgba(0, 0, 0, 0.1); }
      .page-flexible-content .flexible-content-content section.contact-section .contact-btn {
        display: inline-block;
        color: #fff;
        background: #EF8A22;
        padding: 12px 20px;
        text-align: center;
        border-radius: 7px;
        font-weight: bold;
        font-size: 15px;
        border: none;
        outline: none;
        cursor: pointer; }
      .page-flexible-content .flexible-content-content section.contact-section h3 .underline {
        position: relative;
        z-index: 4;
        display: inline-block; }
        .page-flexible-content .flexible-content-content section.contact-section h3 .underline:after {
          content: "";
          width: calc(100% - 5px);
          height: 5px;
          background-color: #EF8A22;
          display: inline-block;
          position: absolute;
          bottom: -10px;
          left: 2.5px;
          -ms-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -moz-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -o-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-backface-visibility: hidden;
          transition-delay: 1.7s;
          z-index: -2; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content section.contact-section h3 .underline:after {
              bottom: -1px; } }
        .page-flexible-content .flexible-content-content section.contact-section h3 .underline.animate_line:after {
          width: 0; }
        .page-flexible-content .flexible-content-content section.contact-section h3 .underline.line_activated:after {
          width: calc(100% - 5px); }
    .page-flexible-content .flexible-content-content section.text_image_below_header {
      overflow: hidden; }
      .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper {
        margin-top: 100px;
        margin-bottom: 50px; }
        .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper h2 {
          font-size: calc(26px + (38 - 26)*((100vw - 300px)/(1920 - 300)));
          letter-spacing: 0.015em;
          line-height: 1.7;
          font-weight: 800;
          margin-bottom: 50px;
          color: #405765; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper h2 {
              line-height: 1.4; } }
          .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper h2 .underline {
            position: relative;
            z-index: 4;
            display: inline-block; }
            .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper h2 .underline:after {
              content: "";
              width: calc(100% - 5px);
              height: 5px;
              background-color: #EF8A22;
              display: inline-block;
              position: absolute;
              bottom: -10px;
              left: 2.5px;
              -ms-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
              -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
              -moz-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
              -o-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
              transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
              -webkit-backface-visibility: hidden;
              transition-delay: 1.7s;
              bottom: 3px;
              z-index: -2; }
              @media (max-width: 767.98px) {
                .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper h2 .underline:after {
                  bottom: -1px; } }
            .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper h2 .underline.animate_line:after {
              width: 0; }
            .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper h2 .underline.line_activated:after {
              width: calc(100% - 5px); }
        .page-flexible-content .flexible-content-content section.text_image_below_header .hero_text_wrapper .hero_arrow_down {
          cursor: pointer;
          font-size: calc(40px + (50 - 40)*((100vw - 300px)/(1920 - 300)));
          color: #EF8A22;
          display: inline-block;
          margin-right: 15px;
          opacity: 0; }
      .page-flexible-content .flexible-content-content section.text_image_below_header .header_image_wrapper {
        position: relative; }
        .page-flexible-content .flexible-content-content section.text_image_below_header .header_image_wrapper:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 41.25%; }
        .page-flexible-content .flexible-content-content section.text_image_below_header .header_image_wrapper .background_image {
          bottom: 0;
          left: 0;
          position: absolute;
          right: 0;
          top: 0;
          width: 100%;
          background-size: cover;
          background-position: center; }
        .page-flexible-content .flexible-content-content section.text_image_below_header .header_image_wrapper .background_image_overlay {
          bottom: 0;
          left: 0;
          position: absolute;
          right: 0;
          top: 0;
          background-color: rgba(5, 17, 25, 0.41); }
      @media (max-width: 767.98px) {
        .page-flexible-content .flexible-content-content section.text_image_below_header + .section_separator:before {
          /*border-radius: 0px 0px 226px 0px / 0px 0px 419px 0px;
                    max-height: 118vw;*/
          right: -190px;
          border-radius: 0% 100% 468px 2045px / 100% 0% 100% 0%; } }
    .page-flexible-content .flexible-content-content .section_separator.reduced_height {
      margin-bottom: -200px; }
      .page-flexible-content .flexible-content-content .section_separator.reduced_height.border_reversed_wave {
        height: 385px; }
      @media (max-width: 767.98px) {
        .page-flexible-content .flexible-content-content .section_separator.reduced_height {
          display: none;
          margin-bottom: initial; } }
    .page-flexible-content .flexible-content-content section.full_height_hero .hero_text_content .col-md-6 {
      margin-top: initial; }
    .page-flexible-content .flexible-content-content .live_generously_section {
      padding-bottom: 150px;
      padding-top: 55px; }
      .page-flexible-content .flexible-content-content .live_generously_section .brand_logo_wrapper {
        margin-top: -85px; }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .live_generously_section .brand_logo_wrapper {
            margin-top: 0px; } }
        .page-flexible-content .flexible-content-content .live_generously_section .brand_logo_wrapper .logo_container {
          padding: 17px 17px;
          text-align: center;
          opacity: 0; }
          .page-flexible-content .flexible-content-content .live_generously_section .brand_logo_wrapper .logo_container img {
            top: 50%;
            position: relative;
            transform: translateY(-50%);
            -moz-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            -o-transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            -webkit-backface-visibility: hidden;
            -webkit-backface-visibility: unset; }
    .page-flexible-content .flexible-content-content .live_generously_section {
      padding-top: 100px; }
    .page-flexible-content .flexible-content-content .header.full_height_hero.scrolling_hero .header_content_wrapper {
      position: initial; }
    .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper {
      max-width: 100%;
      width: 100%;
      display: grid;
      grid-template-columns: repeat(32, 1fr);
      grid-template-rows: auto auto; }
      @media screen and (max-width: 1600px) {
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper {
          min-height: 700px; } }
      @media screen and (max-width: 920px) {
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper {
          min-height: 850px; } }
      @media (max-width: 767.98px) {
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper {
          grid-template-rows: auto auto auto auto auto; } }
      .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item {
        grid-column: span 7;
        grid-row: span 1;
        position: relative;
        margin-top: -1px; }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item {
            grid-column: span 32;
            grid-row: span 1;
            background-color: #405765; } }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(1) {
          grid-column: span 6;
          grid-row: span 2; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(1) {
              grid-column: span 32;
              grid-row: span 1; } }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(3) {
          grid-column: span 10; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(3) {
              grid-column: span 32;
              grid-row: span 1; } }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(4) {
          grid-column: span 9;
          grid-row: span 2;
          background-color: #405765; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(4) {
              display: none; } }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(5) {
          grid-column: span 10; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(5) {
              grid-column: span 32;
              grid-row: span 1; } }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:nth-child(6) .value_description.d-md-none {
          padding-bottom: 110px; }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .image_title {
          padding: 7vw 0;
          z-index: 1;
          position: relative;
          text-align: center;
          color: #fff;
          font-size: 32px;
          max-width: 330px;
          margin: auto;
          top: 50%;
          transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          -webkit-backface-visibility: hidden;
          -webkit-backface-visibility: unset;
          text-shadow: 5px 5px 8px rgba(0, 0, 0, 0.8);
          /*@include media-breakpoint-down(md) {
                    padding: 15vw 0;
                }*/ }
          @media (max-width: 1199.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .image_title {
              font-size: calc(18px + (38 - 18)*((100vw - 300px)/(1920 - 300)));
              padding: 11vw 0; } }
          @media (max-width: 991.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .image_title {
              padding: 60px 0px 30px;
              top: auto;
              transform: none;
              -moz-transform: none;
              -ms-transform: none;
              -o-transform: none;
              -webkit-transform: none;
              transform: none;
              -webkit-backface-visibility: hidden;
              font-weight: 500;
              font-size: 24px;
              text-shadow: unset;
              text-transform: uppercase;
              letter-spacing: .135em;
              text-align: left;
              width: 80%;
              margin: auto;
              max-width: 80%; } }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .underline {
          position: relative;
          z-index: 4;
          display: inline-block;
          width: 200px;
          max-width: 100%;
          margin-bottom: 20px; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .underline {
              margin-left: 10%; } }
          .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .underline:after {
            content: "";
            width: calc(100% - 5px);
            height: 5px;
            background-color: #fff;
            display: inline-block;
            position: absolute;
            bottom: -10px;
            left: 2.5px;
            -ms-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -moz-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -o-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -webkit-backface-visibility: hidden;
            transition-delay: .75s;
            bottom: 3px;
            z-index: -2; }
            @media (max-width: 767.98px) {
              .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .underline:after {
                bottom: -1px; } }
          .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .underline.animate_line:after {
            width: 0; }
          .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .underline.line_activated:after {
            width: calc(100% - 5px); }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item:hover img, .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item.active img {
          filter: grayscale(0); }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          position: absolute;
          filter: grayscale(1);
          -ms-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -o-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-backface-visibility: hidden; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item img {
              display: none; } }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .value_description {
            padding-bottom: 60px;
            display: block;
            position: relative;
            color: #fff;
            width: 80%;
            margin: auto; } }
        .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .grid_text_wrap {
          position: relative;
          z-index: 1;
          color: #fff;
          padding: 7vw 50px; }
          @media (max-width: 1199.98px) {
            .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .grid_text_wrap {
              padding: 7vw 30px; } }
          .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .grid_text_wrap .value_title {
            font-size: 25px;
            text-transform: uppercase;
            font-weight: 500;
            letter-spacing: .135em;
            margin-bottom: 25px; }
            @media (max-width: 1199.98px) {
              .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .grid_text_wrap .value_title {
                font-size: calc(18px + (28 - 18)*((100vw - 300px)/(1920 - 300))); } }
          .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .grid_text_wrap .value_description {
            font-size: 18px;
            line-height: 1.8;
            letter-spacing: .035em; }
            @media screen and (max-width: 1600px) {
              .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .grid_text_wrap .value_description {
                font-size: calc(14px + (18 - 14)*((100vw - 300px)/(1920 - 300))); } }
            @media (max-width: 1199.98px) {
              .page-flexible-content .flexible-content-content .section_value_grid .value_grid_wrapper .grid_item .grid_text_wrap .value_description {
                font-size: 16px;
                padding-bottom: 70px; } }
    .page-flexible-content .flexible-content-content .our_people_section {
      padding-bottom: 130px; }
      .page-flexible-content .flexible-content-content .our_people_section .row > .col-12:first-child h2 {
        margin-top: 0; }
      .page-flexible-content .flexible-content-content .our_people_section .row.collapsible {
        padding-bottom: 75px; }
      .page-flexible-content .flexible-content-content .our_people_section h2 {
        margin-top: 60px;
        margin-bottom: 57px; }
        .page-flexible-content .flexible-content-content .our_people_section h2.collapsible {
          cursor: pointer; }
      .page-flexible-content .flexible-content-content .our_people_section .collapsible .fa-chevron-down {
        transform: rotateX(180deg);
        transition: transform 0.3s; }
      .page-flexible-content .flexible-content-content .our_people_section .collapsible.collapsed .fa-chevron-down {
        transform: rotateX(0); }
      .page-flexible-content .flexible-content-content .our_people_section .employee_card {
        position: relative;
        margin-bottom: 30px;
        opacity: 0; }
        @media (max-width: 575.98px) {
          .page-flexible-content .flexible-content-content .our_people_section .employee_card {
            padding-left: 45px;
            padding-right: 45px; } }
        .page-flexible-content .flexible-content-content .our_people_section .employee_card:hover img, .page-flexible-content .flexible-content-content .our_people_section .employee_card.open img {
          -webkit-filter: grayscale(0%);
          filter: grayscale(0%);
          cursor: pointer; }
        .page-flexible-content .flexible-content-content .our_people_section .employee_card:hover .employee_info, .page-flexible-content .flexible-content-content .our_people_section .employee_card.open .employee_info {
          opacity: 1; }
        .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(4n + 2) .employee_bio {
          left: calc((-100% - 48px) * 1 - 30px * 1); }
        .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(4n + 3) .employee_bio {
          left: calc((-100% - 48px) * 2 - 30px * 2); }
        .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(4n + 4) .employee_bio {
          left: calc((-100% - 48px) * 3 - 30px * 3); }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(3n + 1) .employee_bio {
            left: 0; }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(3n + 2) .employee_bio {
            left: calc((-100% - 48px) * 1 - 30px * 1); }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(3n + 3) .employee_bio {
            left: calc((-100% - 48px) * 2 - 30px * 2); } }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(2n + 1) .employee_bio {
            left: 0; }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(2n + 2) .employee_bio {
            left: calc((-100% - 48px) * 1 - 30px * 1); } }
        @media (max-width: 575.98px) {
          .page-flexible-content .flexible-content-content .our_people_section .employee_card:nth-child(1n + 1) .employee_bio {
            left: 0; } }
        .page-flexible-content .flexible-content-content .our_people_section .employee_card img {
          height: 100%;
          width: 100%;
          max-width: 100%;
          max-height: 100%;
          height: auto;
          -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
          -ms-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -o-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-backface-visibility: hidden; }
        .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info {
          /*position: absolute;
            bottom: 0;
            width: calc(100% - 30px);*/
          position: relative;
          width: 100%;
          margin-top: -117px;
          opacity: 0;
          color: #405765;
          background-color: #eceeef;
          padding: 20px 24px 18px;
          -ms-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -o-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-backface-visibility: hidden; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info {
              opacity: 1; } }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info:before {
            content: "\f357";
            position: absolute;
            top: -32px;
            font-size: 48px;
            color: #fff;
            font-family: "Font Awesome 5 Pro";
            font-weight: 900;
            z-index: 1; }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info.open {
            height: auto !important;
            /*.employee_name_wrap {
                    &:after {
                        opacity: 1;
                        @include Transition(height 0.5s cubic-bezier(.19,1,.22,1), opacity 0.5s cubic-bezier(.19,1,.22,1) 0.2s);
                    }
                }*/ }
            .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info.open .bio_button.fa-chevron-double-down {
              -moz-transform: rotateX(180deg);
              -ms-transform: rotateX(180deg);
              -o-transform: rotateX(180deg);
              -webkit-transform: rotateX(180deg);
              transform: rotateX(180deg);
              -webkit-backface-visibility: hidden;
              -webkit-backface-visibility: unset; }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .employee_name_wrap {
            position: relative;
            background-color: #fff;
            margin: -20px -24px 0px;
            padding: 20px 24px 20px;
            /*&:after {
                    content: '';
                    display: inline-block;
                    position: absolute;
                    bottom: -60px;
                    left: calc(50% - 6px);
                    width: 20px;
                    height: 20px;
                    border-left: 30px solid #fff;
                    border-top: 30px solid #fff;
                    background-color: #fff;
                    transform: rotate(45deg) translate(-22.5%, 22.5%);
                    opacity: 0;
                }*/ }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info h4 {
            font-size: 18px;
            letter-spacing: 0.04em;
            font-weight: 700;
            z-index: 2;
            position: relative; }
            @media (max-width: 991.98px) {
              .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info h4 {
                font-size: calc(14px + (18 - 14)*((100vw - 300px)/(1920 - 300))); } }
            @media (max-width: 575.98px) {
              .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info h4 {
                font-size: 18px; } }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info h5 {
            font-size: 16px;
            letter-spacing: 0.1em; }
            @media (max-width: 991.98px) {
              .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info h5 {
                font-size: calc(12px + (16 - 12)*((100vw - 300px)/(1920 - 300))); } }
            @media (max-width: 575.98px) {
              .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info h5 {
                font-size: 16px; } }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .employee_bio {
            height: 0;
            overflow: hidden;
            position: absolute;
            background-color: #fff;
            -ms-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -moz-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -o-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -webkit-backface-visibility: hidden;
            z-index: 3;
            width: 100%;
            right: 0;
            padding: 0px 24px;
            /* testing width  */
            position: relative;
            margin-top: 10px;
            width: calc(100% + 48px);
            margin-left: -24px;
            -ms-transition: unset;
            -webkit-transition: unset;
            -moz-transition: unset;
            -o-transition: unset;
            transition: unset;
            -webkit-backface-visibility: hidden;
            opacity: 0;
            /* testing width  */ }
            .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .employee_bio.open {
              padding: 24px;
              height: auto;
              width: calc((100% + 48px) * 4 + 30px * 3);
              opacity: 1;
              -ms-transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              -webkit-transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              -moz-transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              -o-transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              -webkit-backface-visibility: hidden;
              margin-top: 30px; }
              @media (max-width: 991.98px) {
                .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .employee_bio.open {
                  width: calc((100% + 48px) * 3 + 30px * 2); } }
              @media (max-width: 767.98px) {
                .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .employee_bio.open {
                  width: calc((100% + 48px) * 2 + 30px * 1); } }
              @media (max-width: 575.98px) {
                .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .employee_bio.open {
                  width: calc((100% + 48px) * 1 + 30px * 0); } }
            .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .employee_bio p {
              margin-bottom: 30px;
              letter-spacing: 0.055em;
              line-height: 1.7; }
            .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .employee_bio .bio_close {
              font-size: 24px;
              margin-top: 0;
              right: 11px;
              top: 9px;
              position: absolute;
              font-size: 16px;
              color: #405765; }
          .page-flexible-content .flexible-content-content .our_people_section .employee_card .employee_info .bio_button {
            font-size: 18px;
            color: #EF8A22;
            cursor: pointer;
            vertical-align: bottom;
            position: relative;
            display: block;
            margin-top: 15px; }
    .page-flexible-content .flexible-content-content .our_people_section,
    .page-flexible-content .flexible-content-content .our_people_section_2 {
      padding-top: 100px; }
    .page-flexible-content .flexible-content-content .our_people_section_2 {
      padding-bottom: 130px; }
      .page-flexible-content .flexible-content-content .our_people_section_2 .tabs {
        margin-bottom: 50px; }
        .page-flexible-content .flexible-content-content .our_people_section_2 .tabs .col {
          text-align: center; }
          .page-flexible-content .flexible-content-content .our_people_section_2 .tabs .col h2 {
            font-size: 20px;
            font-weight: 600;
            position: relative;
            display: inline-block;
            margin-bottom: 30px;
            text-transform: uppercase;
            letter-spacing: 0.35em; }
            .page-flexible-content .flexible-content-content .our_people_section_2 .tabs .col h2:hover {
              font-weight: 700 !important; }
            .page-flexible-content .flexible-content-content .our_people_section_2 .tabs .col h2.active {
              font-weight: 700 !important; }
              .page-flexible-content .flexible-content-content .our_people_section_2 .tabs .col h2.active::after {
                content: "";
                width: calc(100% - 5px);
                height: 4px;
                background-color: #EF8A22;
                display: inline-block;
                position: absolute;
                bottom: -8px;
                left: 0px;
                -ms-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
                -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
                -moz-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
                -o-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
                transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
                -webkit-backface-visibility: hidden; }
      .page-flexible-content .flexible-content-content .our_people_section_2 .row > .col-12:first-child h2 {
        margin-top: 0; }
      .page-flexible-content .flexible-content-content .our_people_section_2 .row.collapsible {
        padding-bottom: 75px; }
      .page-flexible-content .flexible-content-content .our_people_section_2 h2 {
        margin-top: 60px;
        margin-bottom: 57px; }
        .page-flexible-content .flexible-content-content .our_people_section_2 h2.collapsible {
          cursor: pointer; }
      .page-flexible-content .flexible-content-content .our_people_section_2 h3 {
        text-align: center;
        margin-bottom: 40px; }
      .page-flexible-content .flexible-content-content .our_people_section_2 .collapsible .fa-chevron-down {
        transform: rotateX(180deg);
        transition: transform 0.3s; }
      .page-flexible-content .flexible-content-content .our_people_section_2 .collapsible.collapsed .fa-chevron-down {
        transform: rotateX(0); }
      .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card {
        position: relative;
        margin-bottom: 30px;
        opacity: 0; }
        @media (max-width: 575.98px) {
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card {
            padding-left: 45px;
            padding-right: 45px; } }
        .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:hover img, .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card.open img {
          -webkit-filter: grayscale(0%);
          filter: grayscale(0%);
          cursor: pointer; }
        .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:hover .employee_info, .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card.open .employee_info {
          opacity: 1; }
        .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(5n + 2) .employee_bio {
          left: calc((-100% - 48px) * 1 - 30px * 1); }
        .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(5n + 3) .employee_bio {
          left: calc((-100% - 48px) * 2 - 30px * 2); }
        .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(5n + 4) .employee_bio {
          left: calc((-100% - 48px) * 3 - 30px * 3); }
        .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(5n + 5) .employee_bio {
          left: calc((-100% - 48px) * 4 - 30px * 4); }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(3n + 1) .employee_bio {
            left: 0; }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(3n + 2) .employee_bio {
            left: calc((-100% - 48px) * 1 - 30px * 1); }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(3n + 3) .employee_bio {
            left: calc((-100% - 48px) * 2 - 30px * 2); } }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(2n + 1) .employee_bio {
            left: 0; }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(2n + 2) .employee_bio {
            left: calc((-100% - 48px) * 1 - 30px * 1); } }
        @media (max-width: 575.98px) {
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card:nth-child(1n + 1) .employee_bio {
            left: 0; } }
        .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card img {
          height: 100%;
          width: 100%;
          max-width: 100%;
          max-height: 100%;
          height: auto;
          -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
          -ms-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -o-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-backface-visibility: hidden; }
        .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info {
          /*position: absolute;
            bottom: 0;
            width: calc(100% - 30px);*/
          position: relative;
          width: 100%;
          opacity: 1;
          color: #405765;
          background-color: #eceeef;
          padding: 20px 24px 18px;
          -ms-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -o-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-backface-visibility: hidden; }
          @media (max-width: 767.98px) {
            .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info {
              opacity: 1; } }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info.open {
            height: auto !important;
            /*.employee_name_wrap {
                    &:after {
                        opacity: 1;
                        @include Transition(height 0.5s cubic-bezier(.19,1,.22,1), opacity 0.5s cubic-bezier(.19,1,.22,1) 0.2s);
                    }
                }*/ }
            .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info.open .bio_button.fa-chevron-double-down {
              -moz-transform: rotateX(180deg);
              -ms-transform: rotateX(180deg);
              -o-transform: rotateX(180deg);
              -webkit-transform: rotateX(180deg);
              transform: rotateX(180deg);
              -webkit-backface-visibility: hidden;
              -webkit-backface-visibility: unset; }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .employee_name_wrap {
            position: relative;
            margin: -20px -24px 0px;
            padding: 20px 24px 20px 0px;
            /*&:after {
                    content: '';
                    display: inline-block;
                    position: absolute;
                    bottom: -60px;
                    left: calc(50% - 6px);
                    width: 20px;
                    height: 20px;
                    border-left: 30px solid #fff;
                    border-top: 30px solid #fff;
                    background-color: #fff;
                    transform: rotate(45deg) translate(-22.5%, 22.5%);
                    opacity: 0;
                }*/ }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info h4 {
            font-size: 18px;
            letter-spacing: 0.04em;
            font-weight: 700;
            z-index: 2;
            position: relative; }
            @media (max-width: 991.98px) {
              .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info h4 {
                font-size: calc(14px + (18 - 14)*((100vw - 300px)/(1920 - 300))); } }
            @media (max-width: 575.98px) {
              .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info h4 {
                font-size: 18px; } }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info h5 {
            font-size: 16px;
            letter-spacing: 0.1em; }
            @media (max-width: 991.98px) {
              .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info h5 {
                font-size: calc(12px + (16 - 12)*((100vw - 300px)/(1920 - 300))); } }
            @media (max-width: 575.98px) {
              .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info h5 {
                font-size: 16px; } }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .employee_bio {
            height: 0;
            overflow: hidden;
            position: absolute;
            background-color: #fff;
            -ms-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -moz-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -o-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
            -webkit-backface-visibility: hidden;
            z-index: 3;
            width: 100%;
            right: 0;
            padding: 0px 24px;
            /* testing width  */
            position: relative;
            margin-top: 10px;
            width: calc(100% + 48px);
            margin-left: -24px;
            -ms-transition: unset;
            -webkit-transition: unset;
            -moz-transition: unset;
            -o-transition: unset;
            transition: unset;
            -webkit-backface-visibility: hidden;
            opacity: 0;
            /* testing width  */ }
            .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .employee_bio.open {
              padding: 24px;
              height: auto;
              width: calc((100% + 48px) * 4 + 30px * 3);
              opacity: 1;
              -ms-transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              -webkit-transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              -moz-transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              -o-transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
              -webkit-backface-visibility: hidden;
              margin-top: 30px; }
              @media (max-width: 991.98px) {
                .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .employee_bio.open {
                  width: calc((100% + 48px) * 3 + 30px * 2); } }
              @media (max-width: 767.98px) {
                .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .employee_bio.open {
                  width: calc((100% + 48px) * 2 + 30px * 1); } }
              @media (max-width: 575.98px) {
                .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .employee_bio.open {
                  width: calc((100% + 48px) * 1 + 30px * 0); } }
            .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .employee_bio p {
              margin-bottom: 30px;
              letter-spacing: 0.055em;
              line-height: 1.7; }
            .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .employee_bio .bio_close {
              font-size: 24px;
              margin-top: 0;
              right: 11px;
              top: 9px;
              position: absolute;
              font-size: 16px;
              color: #405765; }
          .page-flexible-content .flexible-content-content .our_people_section_2 .employee_card .employee_info .bio_button {
            font-size: 18px;
            color: #EF8A22;
            cursor: pointer;
            vertical-align: bottom;
            position: relative;
            display: block;
            margin-top: 15px; }
    .page-flexible-content .flexible-content-content .section_image_grid {
      border-top-left-radius: 200px; }
      .page-flexible-content .flexible-content-content .section_image_grid .companies_image_grid_wrapper {
        display: grid;
        grid-template-columns: repeat(10, 1fr);
        grid-template-rows: repeat(2, 32vh); }
        .page-flexible-content .flexible-content-content .section_image_grid .companies_image_grid_wrapper .grid_image {
          grid-column: span 2;
          grid-row: span 1; }
          .page-flexible-content .flexible-content-content .section_image_grid .companies_image_grid_wrapper .grid_image:nth-child(1) {
            grid-row: span 2; }
          .page-flexible-content .flexible-content-content .section_image_grid .companies_image_grid_wrapper .grid_image:nth-child(3) {
            grid-column: span 4; }
          .page-flexible-content .flexible-content-content .section_image_grid .companies_image_grid_wrapper .grid_image:nth-child(5) {
            grid-column: span 3; }
          .page-flexible-content .flexible-content-content .section_image_grid .companies_image_grid_wrapper .grid_image:nth-child(7) {
            grid-column: span 3; }
          .page-flexible-content .flexible-content-content .section_image_grid .companies_image_grid_wrapper .grid_image:nth-child(8) {
            display: none; }
          .page-flexible-content .flexible-content-content .section_image_grid .companies_image_grid_wrapper .grid_image img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
    .page-flexible-content .flexible-content-content .our_companies_section {
      padding-bottom: 65px; }
      @media (max-width: 767.98px) {
        .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation {
          display: none; } }
      .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation > .row {
        margin-right: 0;
        margin-left: 0; }
      .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_col {
        position: relative; }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_col {
            display: flex;
            align-items: center;
            flex-wrap: wrap; } }
        .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_col:before {
          content: '';
          position: absolute;
          width: 2px;
          height: 26px;
          left: -2px;
          transform: translate(50%, -50%);
          -moz-transform: translate(50%, -50%);
          -ms-transform: translate(50%, -50%);
          -o-transform: translate(50%, -50%);
          -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
          -webkit-backface-visibility: hidden;
          -webkit-backface-visibility: unset;
          top: 50%;
          background-color: #405765; }
        .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_col:first-child:before {
          display: none; }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_col:nth-child(even):before, .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_col:nth-child(3):before {
            display: none; } }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_col:nth-child(2):before, .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_col:nth-child(4):before {
            display: block; } }
      .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_split_list + .company_name_col:before {
        display: none; }
      .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item {
        cursor: pointer;
        display: inline-block;
        font-size: 20px;
        font-weight: 600;
        letter-spacing: .225em;
        line-height: 2.5;
        text-transform: uppercase;
        padding: 0 17px;
        position: relative; }
        @media (max-width: 1199.98px) {
          .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item {
            font-size: calc(14px + (20 - 14)*((100vw - 300px)/(1920 - 300)));
            padding: 0 5px; } }
        @media (max-width: 767.98px) {
          .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item {
            line-height: 1.2;
            padding: 12px 5px;
            margin: auto; } }
        .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item:after {
          content: "";
          width: 0;
          max-width: calc(100% - 40px);
          height: 5px;
          background-color: #EF8A22;
          display: inline-block;
          position: absolute;
          /*left: calc(50% - 2px);*/
          left: 18px;
          bottom: 6px;
          /*transform: translateX(-50%);*/
          -ms-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -o-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
          -webkit-backface-visibility: hidden; }
          @media (max-width: 1199.98px) {
            .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item:after {
              max-width: calc(100% - 16px);
              left: 6px; } }
        .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item.active:after {
          width: calc(100% - 40px); }
          @media (max-width: 1199.98px) {
            .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item.active:after {
              width: calc(100% - 16px); } }
        .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item.active.animate_line:after {
          width: 0; }
        .page-flexible-content .flexible-content-content .our_companies_section .companies_navigation .company_name_nav_item.active.line_activated:after {
          width: calc(100% - 5px); }
      .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper {
        margin-top: 75px; }
        @media (max-width: 1199.98px) {
          .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper {
            margin-top: 0px;
            padding-top: 25px; } }
        .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide {
          font-size: 18px; }
          .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .company_logo img {
            width: 90%;
            /*max-width: 450px;*/
            max-width: 350px;
            height: auto;
            /*max-height: 178px;*/
            max-height: 147px; }
            @media (max-width: 767.98px) {
              .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .company_logo img {
                max-width: 300px; } }
          .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .company_description_text {
            letter-spacing: .015em;
            line-height: 1.7;
            margin-bottom: 20px; }
          .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .amount {
            font-size: 64px;
            display: block;
            text-align: center;
            font-weight: 700;
            font-weight: 700;
            letter-spacing: .015em;
            line-height: 1.2; }
            @media (max-width: 1599px) {
              .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .amount {
                font-size: calc(25px + (64 - 25)*((100vw - 300px)/(1920 - 300))); } }
          .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .value {
            text-transform: uppercase;
            display: block;
            text-align: center;
            font-weight: 700;
            letter-spacing: .095em; }
            @media (max-width: 991.98px) {
              .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .value {
                font-size: calc(12px + (18 - 12)*((100vw - 300px)/(1920 - 300))); } }
          .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .services_wrapper {
            border-left: 3px solid rgba(64, 87, 101, 0.5);
            padding: 10px 0px 10px 50px;
            height: calc(100% - 5px);
            margin-left: 50px; }
            @media (max-width: 767.98px) {
              .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .services_wrapper {
                height: auto;
                margin-left: 0;
                padding-left: 0;
                border-left: none; } }
            .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .services_wrapper:after {
              content: '';
              position: absolute;
              width: 35px;
              height: 35px;
              border-left: 3px solid rgba(64, 87, 101, 0.5);
              border-top: 3px solid rgba(64, 87, 101, 0.5);
              -moz-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
              -o-transform: rotate(-45deg);
              -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
              -webkit-backface-visibility: hidden;
              -webkit-backface-visibility: unset;
              top: 128px;
              left: 48.1px;
              background-color: #eceeef; }
              @media (max-width: 767.98px) {
                .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .services_wrapper:after {
                  display: none; } }
            .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .services_wrapper .services_title h4 {
              font-size: 20px;
              text-transform: uppercase;
              margin-bottom: 15px;
              font-weight: 600;
              letter-spacing: .355em; }
            .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .services_wrapper .service_item {
              padding-bottom: 5px; }
              .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .services_wrapper .service_item i {
                color: #EF8A22;
                margin-right: 10px;
                font-size: 15px;
                vertical-align: top;
                margin-top: 7px; }
              .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .services_wrapper .service_item span {
                display: inline-block;
                width: calc(100% - 30px); }
          .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .company_buttons {
            margin-top: 65px; }
            @media (max-width: 767.98px) {
              .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .company_buttons {
                margin-top: 20px;
                margin-bottom: 100px; } }
            .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .company_buttons .btn_arrows:after {
              line-height: 32px; }
          .page-flexible-content .flexible-content-content .our_companies_section .companies_wrapper .company_slide .mobile_image_wrapper {
            margin-left: -15px;
            margin-right: -15px;
            margin-bottom: 100px; }
    .page-flexible-content .flexible-content-content .return_to_companies {
      display: none;
      position: relative;
      z-index: 9999; }
      @media (max-width: 767.98px) {
        .page-flexible-content .flexible-content-content .return_to_companies {
          display: block; } }
      .page-flexible-content .flexible-content-content .return_to_companies .return_up_wrapper {
        background-color: #EF8A22;
        opacity: .8;
        position: fixed;
        z-index: 9999;
        bottom: 0;
        right: 0;
        -ms-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        -o-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 50ms;
        -webkit-backface-visibility: hidden;
        display: block;
        height: auto;
        opacity: .8; }
        .page-flexible-content .flexible-content-content .return_to_companies .return_up_wrapper.hide {
          display: none;
          height: 0;
          opacity: 0; }
        .page-flexible-content .flexible-content-content .return_to_companies .return_up_wrapper i {
          cursor: pointer;
          font-size: calc(40px + (50 - 40)*((100vw - 300px)/(1920 - 300)));
          color: #fff;
          padding: 20px; }
    .page-flexible-content .flexible-content-content section.our_companies {
      padding-top: 110px;
      padding-bottom: 130px; }
      .page-flexible-content .flexible-content-content section.our_companies .brand_text_col {
        text-align: center;
        max-width: 920px;
        margin: auto; }
        .page-flexible-content .flexible-content-content section.our_companies .brand_text_col p {
          font-size: 18px; }
      .page-flexible-content .flexible-content-content section.our_companies .logo_container {
        text-align: center;
        height: 105px; }
        .page-flexible-content .flexible-content-content section.our_companies .logo_container img {
          -ms-transition: all 0.5s ease-in-out;
          -webkit-transition: all 0.5s ease-in-out;
          -moz-transition: all 0.5s ease-in-out;
          -o-transition: all 0.5s ease-in-out;
          transition: all 0.5s ease-in-out;
          -webkit-backface-visibility: hidden;
          height: auto;
          max-height: 102px;
          top: 50%;
          -moz-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          -webkit-backface-visibility: hidden;
          -webkit-backface-visibility: unset; }
        .page-flexible-content .flexible-content-content section.our_companies .logo_container .natural {
          opacity: 0;
          position: absolute;
          left: 50%;
          width: 100%;
          max-width: calc(100% - 30px);
          -moz-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          -o-transform: translate(-50%, -50%);
          -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          -webkit-backface-visibility: hidden; }
        .page-flexible-content .flexible-content-content section.our_companies .logo_container .blue {
          position: relative; }
        .page-flexible-content .flexible-content-content section.our_companies .logo_container:hover .blue {
          opacity: 0; }
        .page-flexible-content .flexible-content-content section.our_companies .logo_container:hover .natural {
          opacity: 1; }
    .page-flexible-content .flexible-content-content .our_companies_section {
      padding-top: 100px; }
    .page-flexible-content .flexible-content-content section {
      position: relative; }
    .page-flexible-content .flexible-content-content section.two_col_circle_image.right .section_image {
      float: left; }
    .page-flexible-content .flexible-content-content section.two_col_circle_image.right .brand_text_col {
      float: right;
      padding-right: 0; }
    .page-flexible-content .flexible-content-content section.graphical_image_block {
      padding-bottom: 20px; }
      .page-flexible-content .flexible-content-content section.graphical_image_block .col-md-6 {
        padding-left: 50px;
        padding-right: 0; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content section.graphical_image_block .col-md-6 {
            padding: 0 15px;
            margin-top: 70px; } }
        .page-flexible-content .flexible-content-content section.graphical_image_block .col-md-6:first-child {
          padding-right: 50px;
          padding-left: 0; }
          @media (max-width: 991.98px) {
            .page-flexible-content .flexible-content-content section.graphical_image_block .col-md-6:first-child {
              padding: 0 15px;
              margin-top: 0; } }
      .page-flexible-content .flexible-content-content section.graphical_image_block h4 {
        text-transform: uppercase;
        font-weight: 600;
        font-size: 30px; }
      .page-flexible-content .flexible-content-content section.graphical_image_block .subtitle {
        display: block;
        padding-top: 15px;
        font-size: 18px;
        letter-spacing: 0.055em; }
        .page-flexible-content .flexible-content-content section.graphical_image_block .subtitle .image_description {
          font-size: 15px;
          letter-spacing: 0.04em;
          position: absolute;
          left: -120px;
          width: 100px;
          top: calc(50% - 22px);
          transform: translateY(-50%); }
          @media screen and (max-width: 1460px) {
            .page-flexible-content .flexible-content-content section.graphical_image_block .subtitle .image_description {
              position: relative;
              top: unset;
              left: unset;
              transform: none;
              width: auto; } }
      .page-flexible-content .flexible-content-content section.graphical_image_block img {
        padding-top: 40px; }
      .page-flexible-content .flexible-content-content section.graphical_image_block .subtext {
        padding-top: 45px;
        font-size: 15px;
        letter-spacing: 0.04em; }
    .page-flexible-content .flexible-content-content section.brand_text_section {
      padding-bottom: 20px; }
      .page-flexible-content .flexible-content-content section.brand_text_section .description {
        font-size: 18px;
        letter-spacing: 0.055em;
        line-height: 1.7; }
    .page-flexible-content .flexible-content-content section.two_col_text_with_stats {
      padding-bottom: 20px; }
      .page-flexible-content .flexible-content-content section.two_col_text_with_stats .brand_text_col {
        padding-top: 80px;
        padding-right: 100px; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content section.two_col_text_with_stats .brand_text_col {
            padding-right: 0px; } }
      .page-flexible-content .flexible-content-content section.two_col_text_with_stats .stat_group:not(:first-child) {
        padding-top: 40px; }
      .page-flexible-content .flexible-content-content section.two_col_text_with_stats .amount {
        font-size: 106px;
        font-weight: 700;
        line-height: 1.3;
        color: #EF8A22; }
        @media (max-width: 1199.98px) {
          .page-flexible-content .flexible-content-content section.two_col_text_with_stats .amount {
            font-size: calc(50px + (106 - 50)*((100vw - 300px)/(1920 - 300))); } }
      .page-flexible-content .flexible-content-content section.two_col_text_with_stats .value {
        font-size: 30px;
        font-weight: 600;
        text-transform: uppercase;
        line-height: 1.1; }
        @media (max-width: 991.98px) {
          .page-flexible-content .flexible-content-content section.two_col_text_with_stats .value {
            font-size: calc(25px + (30 - 25)*((100vw - 300px)/(1920 - 300))); } }
      .page-flexible-content .flexible-content-content section.two_col_text_with_stats .description {
        font-size: 18px;
        font-weight: 300; }
        .page-flexible-content .flexible-content-content section.two_col_text_with_stats .description strong {
          font-weight: 700; }
    @media (max-width: 767.98px) {
      .page-flexible-content .flexible-content-content section.section_separator.case_study_separator:before, .page-flexible-content .flexible-content-content section.section_separator.case_study_separator:after {
        display: none; } }
    .page-flexible-content .flexible-content-content section.section_separator.case_study_separator.border_down.border_reversed {
      margin-top: -200px; }
      .page-flexible-content .flexible-content-content section.section_separator.case_study_separator.border_down.border_reversed + section {
        margin-top: 0; }
    .page-flexible-content .flexible-content-content section.section_separator.case_study_separator.border_reversed.border_reversed_wave {
      margin-top: -15px;
      height: 320px; }
      @media (max-width: 767.98px) {
        .page-flexible-content .flexible-content-content section.section_separator.case_study_separator.border_reversed.border_reversed_wave {
          height: 150px; } }
    .page-flexible-content .flexible-content-content section.section_separator.case_study_separator.border_reversed.border_reversed_wave {
      -moz-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      -o-transform: rotate(180deg);
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg);
      -webkit-backface-visibility: hidden;
      -webkit-backface-visibility: unset; }
    .page-flexible-content .flexible-content-content section.section_separator.case_study_separator.border_down.border_reversed {
      -moz-transform: rotateY(180deg);
      -ms-transform: rotateY(180deg);
      -o-transform: rotateY(180deg);
      -webkit-transform: rotateY(180deg);
      transform: rotateY(180deg);
      -webkit-backface-visibility: hidden;
      -webkit-backface-visibility: unset; }
    .page-flexible-content .flexible-content-content section.image_cta img {
      width: 100%;
      cursor: pointer; }
    .page-flexible-content .flexible-content-content section.section_spacer.spacer_default_height {
      padding-top: 90px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleGlibGUtY29udGVudC5jc3MiLCJzb3VyY2VzIjpbImZsZXhpYmxlLWNvbnRlbnQuc2NzcyIsIi4uL3RoZW1lL190aGVtZV92YXJpYWJsZXMuc2NzcyIsIi4uL3RoZW1lL19taXhpbnMuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L19taXhpbnMuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvdmVuZG9yL19yZnMuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL19iYWRnZS5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL19zaXplLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9fZm9ybXMuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGlucy9fZ3JpZC5zY3NzIiwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnMvX2Zsb2F0LnNjc3MiLCIuLi9wYXJ0aWFscy9mbGV4aWJsZS1jb250ZW50LnNjc3MiLCIuLi9wYXJ0aWFscy90d28tY29sLWNpcmNsZS1pbWFnZS5zY3NzIiwiLi4vcGFydGlhbHMvX3N0YXRfYmFubmVyLnNjc3MiLCIuLi9wYXJ0aWFscy9zY3JvbGxpbmdfaGVyby5zY3NzIiwiLi4vcGFydGlhbHMvZnVsbF9oZWlnaHRfaGVyby5zY3NzIiwiLi4vcGFydGlhbHMvc3Rvcmllc19zbGlkZXIuc2NzcyIsIi4uL3BhcnRpYWxzL3RoZXJtb21ldGVyLnNjc3MiLCIuLi9wYXJ0aWFscy9pY29uX2dyaWQuc2NzcyIsIi4uL3BhcnRpYWxzL3R3b19jb2xfZGl2aWRlci5zY3NzIiwiLi4vcGFydGlhbHMvY29udGFjdF9zZWN0aW9uLnNjc3MiLCIuLi9wYXJ0aWFscy9hZmZpbGlhdGVzLnNjc3MiLCIuLi9wYXJ0aWFscy9ob3Zlcl9ncmlkLnNjc3MiLCIuLi9wYXJ0aWFscy9iaW9fZ3JpZC5zY3NzIiwiLi4vcGFydGlhbHMvYmlvX2dyaWRfMi5zY3NzIiwiLi4vcGFydGlhbHMvaW1hZ2VfZ3JpZC5zY3NzIiwiLi4vcGFydGlhbHMvdGFiX2xheW91dC5zY3NzIiwiLi4vcGFydGlhbHMvbG9nb19ncmlkLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG5AaW1wb3J0IFwiLi4vdGhlbWUvdGhlbWVfdmFyaWFibGVzXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciB2YXJpYWJsZXMgaW50byB0aGlzIGZpbGUuIEFsc28gYWRkIHZhcmlhYmxlcyB0byBvdmVyd3JpdGUgQm9vdHN0cmFwIG9yIFVuZGVyU3RyYXAgdmFyaWFibGVzIGhlcmVcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIG1peGlucyBpbnRvIHRoaXMgZmlsZS5cbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnNcIjtcblxuLnBhZ2UtZmxleGlibGUtY29udGVudCB7XG4gICAgLy9hcnRpY2xlIGhlYWRlciB3aXRoIGNhcmRzIHN0eWxlc1xuICAgIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy9mbGV4aWJsZS1jb250ZW50XCI7XG59XG4gIiwiLy8gVXNlIHRoaXMgZmlsZSB0byBvdmVyd3JpdGUgdGhlIGJhc2ljIEJvb3RzdHJhcCB2YXJpYWJsZXMgYW5kIGFkZCB5b3VyIG93biB2YXJpYWJsZXNcbi8vIFRvIG92ZXJ3cml0ZSBhIEJvb3RzdHJhcCB2YXJpYWJsZSB5b3UgZG9uwrR0IGhhdmUgdG8gdG91Y2ggdGhlIEJvb3RzdHJhcCBmb2xkZXIuXG4vLyBKdXN0IGNvcHkgYSB2YXJpYWJsZSBmcm9tIHNyYy9zYXNzL2Jvb3RzdHJhcDQvX3ZhcmlhYmxlcy5zY3NzLCBwYXN0ZSBpdCBoZXJlIGFuZCBlZGl0IHRoZSB2YWx1ZS5cbiRwYXJlbnRfdGhlbWVfcGF0aDogXCIvd3AtY29udGVudC90aGVtZXMvbm9ydGhwb2ludFwiO1xuJGZhLWZvbnQtcGF0aDogXCIjeyRwYXJlbnRfdGhlbWVfcGF0aH0vd2ViZm9udHNcIjtcbiRwcmltYXJ5OiAjRUY4QTIyICFkZWZhdWx0O1xuJHByaW1hcnlfYWx0OiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuJGRhcmtfYmx1ZTogIzNENDU0MyAhZGVmYXVsdDtcbiRibHVlX2dyZXk6ICM2RjcyNzIgIWRlZmF1bHQ7XG4kZGFya19ibHVlX3RleHQ6ICM0MDU3NjUgIWRlZmF1bHQ7XG4kbGlnaHRfZ3JleTogI2VjZWVlZiAhZGVmYXVsdDtcblxuLy9zb2NpYWwgY29sb3JzXG4kZmFjZWJvb2tfY29sb3I6IGhzbGEoMjIyLCA0NyUsIDQwJSwgMSk7IC8vICMzNjUzOTdcbiR0d2l0dGVyX2NvbG9yOiBoc2xhKDE5OCwgMTAwJSwgNDclLCAxKTsgLy8gIzAwYTlmMVxuJGxpbmtlZGluX2NvbG9yOiBoc2xhKDIwMywgMTAwJSwgMzUlLCAxKTsgLy8gIzAwNmRiM1xuJGFwcGxlX2NvbG9yOiBoc2xhKDAsIDAlLCA0NSUsIDEpOyAvLyAjNzM3MzczXG4kZ29vZ2xlX2NvbG9yOiBoc2xhKDIxNywgODklLCA2MSUsIDEpOyAvLyAjNDI4NWY0XG4kZ29vZ2xlX3BsdXNfY29sb3I6IGhzbGEoOCwgNzQlLCA1MyUsIDEpOyAvLyAjZTA0NTJjXG4keW91dHViZV9jb2xvcjogaHNsYSgwLCAxMDAlLCA2MCUsIDEpOyAvLyAjZmYzMzMzXG4kdmltZW9fY29sb3I6IGhzbGEoMjAwLCA4MiUsIDYxJSwgMSk7IC8vICM0OGI2ZWRcbiRwaW50ZXJlc3RfY29sb3I6IGhzbGEoMCwgNzglLCA0NSUsIDEpOyAvLyAjY2UxYTE5XG4keWVscF9jb2xvcjogaHNsYSg1LCAxMDAlLCAzOCUsIDEpOyAvLyAjYzMwZjAwXG4kZHJpYmJibGVfY29sb3I6IGhzbGEoMzM4LCA4MiUsIDYwJSwgMSk7IC8vICNlZDQ1ODRcbiRhbWF6b25fY29sb3I6IGhzbGEoMzYsIDEwMCUsIDUwJSwgMSk7IC8vICNmZjk3MDBcbiRlYmF5X2NvbG9yOiBoc2xhKDIxOSwgODklLCAzMCUsIDEpOyAvLyAjMDgzNzkwXG4kc2t5cGVfY29sb3I6IGhzbGEoMTk4LCAxMDAlLCA0OCUsIDEpOyAvLyAjMDBhY2Y0XG4kaW5zdGFncmFtX2NvbG9yOiBoc2xhKDIwOCwgNDYlLCA0MSUsIDEpOyAvLyAjMzk2ZDlhXG4kZHJvcGJveF9jb2xvcjogaHNsYSgyMDYsIDg5JSwgNDYlLCAxKTsgLy8gIzBkODRkZVxuJGZsaWNrcl9jb2xvcjogaHNsYSgzMzQsIDEwMCUsIDQ2JSwgMSk7IC8vICNlYTAwNjZcbiRnaXRodWJfY29sb3I6IGhzbGEoMCwgMCUsIDE4JSwgMSk7IC8vICMyZjJmMmZcbiRiYXNlY2FtcF9jb2xvcjogaHNsYSgxMjEsIDM4JSwgNTglLCAxKTsgLy8gIzZiYmQ2ZFxuJHR1bWJscl9jb2xvcjogaHNsYSgyMTAsIDM3JSwgMzAlLCAxKTsgLy8gIzMwNGM2OFxuJGZvdXJzcXVhcmVfY29sb3I6IGhzbGEoMjA2LCA3MiUsIDQ1JSwgMSk7IC8vICMyMDdkYzVcbiRib3hfY29sb3I6IGhzbGEoMjA0LCA4MyUsIDQwJSwgMSk7IC8vICMxMjc3YmNcblxuLy90cmFuc2l0aW9uc1xuJGN1YmljOiBhbGwgLjZzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgNTBtcztcbiRjdWJpYy1mYXN0OiBhbGwgLjNzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgNTBtcztcbiRjdWJpYy1zbG93OiBhbGwgMS41cyBjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpIDUwbXM7XG4kZWFzZTogYWxsIC42cyBlYXNlLWluLW91dDtcblxuXG4vL0NvbnRhaW5lciB3aWR0aFxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoIHNtOiA1NDBweCwgbWQ6IDcyMHB4LCBsZzogOTYwcHgsIHhsOiAxMjAwcHggKSAhZGVmYXVsdDtcbiIsIi8qIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgICAqem9vbTogMTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtaXhpbiBUcmFuc2l0aW9uKCRlZmZlY3QuLi4pIHtcbiAgICAtbXMtdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRlZmZlY3Q7XG4gICAgLW1vei10cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAgIC1vLXRyYW5zaXRpb246ICRlZmZlY3Q7XG4gICAgdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1peGluIFRyYW5zZm9ybSgkZWZmZWN0Li4uKSB7XG4gICAgLW1vei10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gICAgLW1zLXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgICAtby10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gICAgdHJhbnNmb3JtOiAkZWZmZWN0O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgICB9XG59XG5cbkBtaXhpbiBhYnNvbHV0ZS1jb3ZlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbn1cblxuQG1peGluIGJhY2tncm91bmQtY292ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIG1pZGRsZV92IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRvcDogNTAlO1xufVxuXG5AbWl4aW4gbWlkZGxlX2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5AbWl4aW4gYWJzb2x1dGVfbWlkZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG59XG5cbkBmdW5jdGlvbiByYW5nZS1wcm9ncmVzcygkY29sb3IsICRkaXN0LCAkb2Zmc2V0KSB7XG4gICAgJHZhbDogLSN7JGRpc3R9IDAgMCAtI3skb2Zmc2V0fSAkY29sb3I7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDE1MCB7XG4gICAgICAgICR2YWw6ICN7JHZhbH0sICN7LSRkaXN0IC0gKCgkZGlzdCAtICRvZmZzZXQpICogJGkpfSAwIDAgLSN7JG9mZnNldH0gI3skY29sb3J9O1xuICAgIH1cblxuICAgIEByZXR1cm4gJHZhbDtcbn1cblxuLy8gVHJhY2tpbmcgdG8gTGV0dGVyLVNwYWNpbmcgbWl4aW5cbkBtaXhpbiB0cmFja2luZyggJHRyYWNraW5nICkge1xuICAgIGxldHRlci1zcGFjaW5nOiAoICR0cmFja2luZyAvIDEwMDAgKSAqIDFlbTtcbn1cblxuLypcbiAgVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBzZXQgdGhlIG9iamVjdC1maXQ6XG4gIEBpbmNsdWRlIG9iamVjdC1maXQoY29udGFpbik7XG4gIG9yIG9iamVjdC1maXQgYW5kIG9iamVjdC1wb3NpdGlvbjpcbiAgQGluY2x1ZGUgb2JqZWN0LWZpdChjb3ZlciwgdG9wKTtcbiovXG5AbWl4aW4gb2JqZWN0LWZpdCgkZml0OiBmaWxsLCAkcG9zaXRpb246IG51bGwpIHtcbiAgICAtby1vYmplY3QtZml0OiAkZml0O1xuICAgIG9iamVjdC1maXQ6ICRmaXQ7XG5cbiAgICBAaWYgJHBvc2l0aW9uIHtcbiAgICAgICAgLW8tb2JqZWN0LXBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgICAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6ICN7JGZpdH07IG9iamVjdC1wb3NpdGlvbjogI3skcG9zaXRpb259JztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6ICN7JGZpdH0nO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gZm9udC1yZXNwb25zaXZlKCRtaW4sICRtYXgpIHtcbiAgICAkbWlucHg6ICRtaW4gKyBweDtcbiAgICBmb250LXNpemU6IGNhbGMoI3skbWlucHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSooKDEwMHZ3IC0gMzAwcHgpLygxOTIwIC0gMzAwKSkpO1xufVxuXG5AZnVuY3Rpb24gZ2V0LXZ3KCR0YXJnZXQsICRjb250YWluZXItd2lkdGgpIHtcbiAgICAvLyAxIHZ3IGlzIGVxdWFsIHRvIDElIG9mIHRoZSB2aWV3cG9ydCB3aWR0aFxuICAgICR2dy1jb250ZXh0OiAoJGNvbnRhaW5lci13aWR0aCAqIC4wMSkgKiAxOyAvLyAxJSB2aWV3cG9ydCB3aWR0aFxuICAgICR2dy1zaXplOiAoJHRhcmdldC8kdnctY29udGV4dCkgKiAxO1xuICAgIEByZXR1cm4gI3skdnctc2l6ZX12dztcbn1cblxuLy9NaXhpblxuQG1peGluIHZ3LWhlaWdodCgkbWluLWhlaWdodCwgJG1heC1oZWlnaHQsICRjb250YWluZXItd2lkdGgpIHtcbiAgICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcbiAgICBtYXgtaGVpZ2h0OiAkbWF4LWhlaWdodDtcbiAgICBoZWlnaHQ6IGdldC12dygkbWF4LWhlaWdodCwgJGNvbnRhaW5lci13aWR0aCk7XG59XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodCAqIDFlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgKiAyfSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW19ICsgI3skaW5wdXQtcGFkZGluZy15fSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAvIDJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3skaW5wdXQtcGFkZGluZy15ICogMn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbX0gKyAjeyRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbX0gKyAjeyRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNlJTNjcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgY2FsYygjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZX0gLSAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNH0pICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgICRjdXN0b20tc2VsZWN0LWluZGljYXRvciBuby1yZXBlYXQgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogY2FsYygoMWVtICsgI3syICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15fSkgKiAzIC8gNCArICN7JGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmd9KSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nLTIgLTIgNyA3JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzZSUzY2NpcmNsZSByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN5PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzZSUzYy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBWZW5kb3JcbkBpbXBvcnQgXCJ2ZW5kb3IvcmZzXCI7XG5cbi8vIERlcHJlY2F0ZVxuQGltcG9ydCBcIm1peGlucy9kZXByZWNhdGVcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcblxuLy8gLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmV0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyAvLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuQGltcG9ydCBcIm1peGlucy9mbG9hdFwiO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIGZvbnQtcmVzaXppbmdcbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuLy8gUmVzaXplIGZvbnQtc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQtc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFZhcmlhYmxlcyBmb3Igc3RvcmluZyBzdGF0aWMgYW5kIGZsdWlkIHJlc2NhbGluZ1xuICAgICRyZnMtc3RhdGljOiBudWxsO1xuICAgICRyZnMtZmx1aWQ6IG51bGw7XG5cbiAgICAvLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udC1zaXplXG4gICAgQGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtIHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmcyAvICRyZnMtcmVtLXZhbHVlfXJlbSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHB4IHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmc31weCN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG4gICAgfVxuXG4gICAgLy8gT25seSBhZGQgbWVkaWEgcXVlcnkgaWYgZm9udC1zaXplIGlzIGJpZ2dlciBhcyB0aGUgbWluaW11bSBmb250LXNpemVcbiAgICAvLyBJZiAkcmZzLWZhY3RvciA9PSAxLCBubyByZXNjYWxpbmcgd2lsbCB0YWtlIHBsYWNlXG4gICAgQGlmICRmcyA+ICRyZnMtYmFzZS1mb250LXNpemUgYW5kICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgICRtaW4td2lkdGg6IG51bGw7XG4gICAgICAkdmFyaWFibGUtdW5pdDogbnVsbDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyAoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSkgLyAkcmZzLWZhY3RvcjtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiBnaXZlbiBmb250LXNpemUgYW5kIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGlmIHRoZSB1bml0IGlzIHZhbGlkLCBiZWNhdXNlIHdlIGRpZCB0aGF0IGJlZm9yZVxuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7JGZzLW1pbiAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gSWYgdHdvLWRpbWVuc2lvbmFsLCB1c2Ugc21hbGxlc3Qgb2Ygc2NyZWVuIHdpZHRoIGFuZCBoZWlnaHRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7JGZzLWRpZmYgKiAxMDAgLyAkcmZzLWJyZWFrcG9pbnR9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemUuXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuICAgIH1cblxuICAgIC8vIFJlbmRlcmluZ1xuICAgIEBpZiAkcmZzLWZsdWlkID09IG51bGwge1xuICAgICAgLy8gT25seSByZW5kZXIgc3RhdGljIGZvbnQtc2l6ZSBpZiBubyBmbHVpZCBmb250LXNpemUgaXMgYXZhaWxhYmxlXG4gICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbXEtdmFsdWU6IG51bGw7XG5cbiAgICAgIC8vIFJGUyBicmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgIEBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSByZW0ge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50IC8gJHJmcy1yZW0tdmFsdWV9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH07XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnR9cHg7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksXG4gICAgICAgIC8vIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgICAgICYsXG4gICAgICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGluIHVzZXMgUkZTIHRvIHJlc2NhbGUgZm9udCBzaXplc1xuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIERlcHJlY2F0ZSBtaXhpblxuLy9cbi8vIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gZGVwcmVjYXRlIG1peGlucyBvciBmdW5jdGlvbnMuXG4vLyBgJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlc2AgaXMgYSBnbG9iYWwgdmFyaWFibGUsIGAkaWdub3JlLXdhcm5pbmdgIGlzIGEgdmFyaWFibGUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvXG4vLyBzb21lIGRlcHJlY2F0ZWQgbWl4aW5zIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5nIChmb3IgZXhhbXBsZSBpZiB0aGUgbWl4aW4gaXMgc3RpbGwgYmUgdXNlZCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIEJvb3RzdHJhcClcbkBtaXhpbiBkZXByZWNhdGUoJG5hbWUsICRkZXByZWNhdGUtdmVyc2lvbiwgJHJlbW92ZS12ZXJzaW9uLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIEBpZiAoJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlcyAhPSBmYWxzZSBhbmQgJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIiN7JG5hbWV9IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgI3skZGVwcmVjYXRlLXZlcnNpb259LiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gI3skcmVtb3ZlLXZlcnNpb259LlwiO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGludmlzaWJsZSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93biB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXkpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCAkaWNvbiAkY3VzdG9tLXNlbGVjdC1iZyBuby1yZXBlYXQgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAuZm9ybS1jb250cm9sLWZpbGUge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAkcmVzdWx0OiAoKTtcblxuICAgIEBpZiAobGVuZ3RoKCRzaGFkb3cpID09IDEpIHtcbiAgICAgIC8vIFdlIGNhbiBwYXNzIGBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO2BcbiAgICAgICRyZXN1bHQ6ICRzaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBGaWx0ZXIgdG8gYXZvaWQgaW52YWxpZCBwcm9wZXJ0aWVzIGZvciBleGFtcGxlIGBib3gtc2hhZG93OiBub25lLCAxcHggMXB4IGJsYWNrO2BcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRzaGFkb3cpIHtcbiAgICAgICAgQGlmIG50aCgkc2hhZG93LCAkaSkgIT0gXCJub25lXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJHNoYWRvdywgJGkpLCBcImNvbW1hXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAobGVuZ3RoKCRyZXN1bHQpID4gMCkge1xuICAgICAgYm94LXNoYWRvdzogJHJlc3VsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1sZWZ0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtcmlnaHRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbm9uZWAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIu+7v0BpbXBvcnQgXCIuLi90aGVtZS90aGVtZV92YXJpYWJsZXNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIHZhcmlhYmxlcyBpbnRvIHRoaXMgZmlsZS4gQWxzbyBhZGQgdmFyaWFibGVzIHRvIG92ZXJ3cml0ZSBCb290c3RyYXAgb3IgVW5kZXJTdHJhcCB2YXJpYWJsZXMgaGVyZVxuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgbWl4aW5zIGludG8gdGhpcyBmaWxlLlxuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGluc1wiO1xuXG4uZmxleGlibGUtY29udGVudC1jb250ZW50IHtcbiAgQGltcG9ydCBcIi4uL3BhcnRpYWxzL3R3by1jb2wtY2lyY2xlLWltYWdlXCI7XG4gIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy9zdGF0X2Jhbm5lclwiO1xuICBAaW1wb3J0IFwiLi4vcGFydGlhbHMvc2Nyb2xsaW5nX2hlcm9cIjtcbiAgQGltcG9ydCBcIi4uL3BhcnRpYWxzL2Z1bGxfaGVpZ2h0X2hlcm9cIjtcbiAgQGltcG9ydCBcIi4uL3BhcnRpYWxzL3N0b3JpZXNfc2xpZGVyXCI7XG4gIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy90aGVybW9tZXRlclwiO1xuICBAaW1wb3J0IFwiLi4vcGFydGlhbHMvaWNvbl9ncmlkXCI7XG4gIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy90d29fY29sX2RpdmlkZXJcIjtcbiAgQGltcG9ydCBcIi4uL3BhcnRpYWxzL2NvbnRhY3Rfc2VjdGlvblwiO1xuXG4gIC8vICAgLmljb25fZ3JpZCB7XG4gIC8vICAgICAuYmFja2dyb3VuZC1ncmV5IHtcbiAgLy8gICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHggMCAwIDA7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuXG4gIC8vYWx0ZXJuYXRlIEhlcm8gU3RhcnRcbiAgc2VjdGlvbi50ZXh0X2ltYWdlX2JlbG93X2hlYWRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oZXJvX3RleHRfd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDI2LCAzOCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZV90ZXh0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIH1cblxuICAgICAgICAudW5kZXJsaW5lIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNXB4KTtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlfYWx0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDIuNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNpdGlvbigkY3ViaWMtc2xvdyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxLjdzO1xuICAgICAgICAgICAgYm90dG9tOiAzcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAtMjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFuaW1hdGVfbGluZSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5saW5lX2FjdGl2YXRlZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5oZXJvX2Fycm93X2Rvd24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSg0MCwgNTApO1xuICAgICAgICBjb2xvcjogJHByaW1hcnlfYWx0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX2ltYWdlX3dyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2MDAsIDY2MCk7XG5cbiAgICAgIC5iYWNrZ3JvdW5kX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5iYWNrZ3JvdW5kX2ltYWdlX292ZXJsYXkge1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1LCAxNywgMjUsIDAuNDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgKyAuc2VjdGlvbl9zZXBhcmF0b3Ige1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAvKmJvcmRlci1yYWRpdXM6IDBweCAwcHggMjI2cHggMHB4IC8gMHB4IDBweCA0MTlweCAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDExOHZ3OyovXG4gICAgICAgICAgcmlnaHQ6IC0xOTBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwJSAxMDAlIDQ2OHB4IDIwNDVweCAvIDEwMCUgMCUgMTAwJSAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvL0FsdGVybmF0ZSBIZXJvIEVuZFxuXG4gIC8vQXR0ZW1wdGluZyB0byByZWR1Y2UgdGhlIHNwYWNpbmcgYmV0d2VlbiB0aGlzIHNlY3Rpb24gYW5kIG90aGVyIHNlY3Rpb25zIHRoYXQgaGF2ZSB0aGVpciBvd24gbWFyZ2luL3BhZGRpbmdcbiAgLnNlY3Rpb25fc2VwYXJhdG9yLnJlZHVjZWRfaGVpZ2h0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjAwcHg7XG4gICAgJi5ib3JkZXJfcmV2ZXJzZWRfd2F2ZVxuICAgIHtcbiAgICAgIGhlaWdodDogMzg1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGluaXRpYWw7XG4gICAgfVxuICB9XG4gIHNlY3Rpb24uZnVsbF9oZWlnaHRfaGVybyAuaGVyb190ZXh0X2NvbnRlbnQgLmNvbC1tZC02IHtcbiAgICBtYXJnaW4tdG9wOiBpbml0aWFsO1xuICB9XG4gIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy9hZmZpbGlhdGVzXCI7XG4gIC5saXZlX2dlbmVyb3VzbHlfc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICB9XG5cbiAgLmhlYWRlci5mdWxsX2hlaWdodF9oZXJvLnNjcm9sbGluZ19oZXJvIHtcbiAgICAuaGVhZGVyX2NvbnRlbnRfd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICBAaW1wb3J0IFwiLi4vcGFydGlhbHMvaG92ZXJfZ3JpZFwiO1xuICAvLyAuc2VjdGlvbl92YWx1ZV9ncmlkXG4gIC8vIHtcbiAgLy8gICAgIHBhZGRpbmctYm90dG9tOjAgIWltcG9ydGFudDtcbiAgLy8gfVxuXG4gIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy9iaW9fZ3JpZFwiO1xuICAub3VyX3Blb3BsZV9zZWN0aW9uLFxuICAub3VyX3Blb3BsZV9zZWN0aW9uXzIge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgfVxuICBAaW1wb3J0IFwiLi4vcGFydGlhbHMvYmlvX2dyaWRfMlwiO1xuXG4gIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy9pbWFnZV9ncmlkXCI7XG4gIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy90YWJfbGF5b3V0XCI7XG4gIEBpbXBvcnQgXCIuLi9wYXJ0aWFscy9sb2dvX2dyaWRcIjtcbiAgLm91cl9jb21wYW5pZXNfc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgc2VjdGlvbi50d29fY29sX2NpcmNsZV9pbWFnZSB7XG4gICAgJi5yaWdodCB7XG4gICAgICAuc2VjdGlvbl9pbWFnZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgICAgLmJyYW5kX3RleHRfY29sIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24uZ3JhcGhpY2FsX2ltYWdlX2Jsb2NrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgIC5jb2wtbWQtNiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNTVlbTtcblxuICAgICAgLmltYWdlX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMjJweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDYwcHgpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgLnN1YnRleHQge1xuICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24uYnJhbmRfdGV4dF9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNTVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi50d29fY29sX3RleHRfd2l0aF9zdGF0cyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAuYnJhbmRfdGV4dF9jb2wge1xuICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhdF9ncm91cCB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFtb3VudCB7XG4gICAgICBmb250LXNpemU6IDEwNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBjb2xvcjogJHByaW1hcnlfYWx0O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDUwLCAxMDYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52YWx1ZSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMjUsIDMwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLnNlY3Rpb25fc2VwYXJhdG9yLmNhc2Vfc3R1ZHlfc2VwYXJhdG9yIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYm9yZGVyX2Rvd24uYm9yZGVyX3JldmVyc2VkIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yMDBweDtcblxuICAgICAgJiArIHNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYm9yZGVyX3JldmVyc2VkLmJvcmRlcl9yZXZlcnNlZF93YXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgaGVpZ2h0OiAzMjBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5ib3JkZXJfcmV2ZXJzZWQuYm9yZGVyX3JldmVyc2VkX3dhdmUge1xuICAgICAgLy90cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcbiAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdW5zZXQ7XG4gICAgfVxuXG4gICAgJi5ib3JkZXJfZG93bi5ib3JkZXJfcmV2ZXJzZWQge1xuICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtKHJvdGF0ZVkoMTgwZGVnKSk7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHVuc2V0O1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24uaW1hZ2VfY3RhIHtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5zZWN0aW9uX3NwYWNlciB7XG4gICAgJi5zcGFjZXJfZGVmYXVsdF9oZWlnaHQge1xuICAgICAgcGFkZGluZy10b3A6IDkwcHg7XG4gICAgfVxuICB9XG59XG4iLCLvu79zZWN0aW9uLnR3b19jb2xfY2lyY2xlX2ltYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEzMHB4O1xuXG4gICAgLmJyYW5kX3RleHRfY29sIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBUcmFuc2l0aW9uKCRjdWJpYy1zbG93KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMiU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggNSUgMDtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5wb3B1cF92aWRlb3tcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi90aGVtZS90aGVtZV92YXJpYWJsZXNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIHZhcmlhYmxlcyBpbnRvIHRoaXMgZmlsZS4gQWxzbyBhZGQgdmFyaWFibGVzIHRvIG92ZXJ3cml0ZSBCb290c3RyYXAgb3IgVW5kZXJTdHJhcCB2YXJpYWJsZXMgaGVyZVxuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgbWl4aW5zIGludG8gdGhpcyBmaWxlLlxuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGluc1wiO1xuc2VjdGlvbi5zdGF0X2Jhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICAgIH1cblxuICAgIC5zdGF0X2JhY2tncm91bmRfaW1hZ2UsIC5zdGF0X2ltYWdlX292ZXJsYXkge1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnN0YXRfaW1hZ2Vfb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzEsIDkxLCAxMDcsIDAuODUpO1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE5MjFweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMDZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5X2FsdDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDUwLDEwNik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTkyMXB4KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDEwNiwxNTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDI1LDMwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxOTIxcHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMzAsNDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTkyMXB4KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE4LDMwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI21hZ2ljLWxpbmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlKSk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHVuc2V0O1xuICAgICAgICAgICAgdG9wOiAtMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHggMCA0cHggMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIGNhbGMoMTAwJSAtIDFweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIGNhbGMoMTAwJSAtIDI0cHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDQwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgLy8td2Via2l0LXRyYW5zZm9ybTogc2tld1goNDVkZWcpO1xuICAgICAgICAgICAgLy90cmFuc2Zvcm06IHNrZXdYKC00NWRlZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2Zvcm0oc2tld1goLTQ1ZGVnKSk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHVuc2V0O1xuICAgICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIC8vLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC00NWRlZyk7XG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogc2tld1goNDVkZWcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtKHNrZXdYKDQ1ZGVnKSk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHVuc2V0O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXRfZGVzY3JpcHRpb25fY29sIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAyMTRweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhdF9kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTkyMXB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTgsMzApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3RoZW1lL3RoZW1lX3ZhcmlhYmxlc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgdmFyaWFibGVzIGludG8gdGhpcyBmaWxlLiBBbHNvIGFkZCB2YXJpYWJsZXMgdG8gb3ZlcndyaXRlIEJvb3RzdHJhcCBvciBVbmRlclN0cmFwIHZhcmlhYmxlcyBoZXJlXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciBtaXhpbnMgaW50byB0aGlzIGZpbGUuXG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zXCI7XG5cbi5oZWFkZXIuZnVsbF9oZWlnaHRfaGVyby5zY3JvbGxpbmdfaGVybyB7XG4gICRob21lcGFnZV9oZXJvX2hlaWdodDogNDJ2dztcblxuICBjb2xvcjogI2ZmZjtcbiAgbWluLWhlaWdodDogJGhvbWVwYWdlX2hlcm9faGVpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgbWluLWhlaWdodDogODIwcHg7XG4gIH1cblxuICAuaGVhZGVyX2NvbnRlbnRfd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stZG90dGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogNTBweDtcblxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgbWFyZ2luOiAwIDJweDtcblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgIGhlaWdodDogMTFweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlcl9zbGlkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnNsaWRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWM3YWI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnNsaWRlX2ltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6ICRob21lcGFnZV9oZXJvX2hlaWdodDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ3NXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuc2xpZGVfdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZV9pbWFnZV9vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNSwgMTcsIDI1LCAwLjQxKTtcbiAgICB9XG4gIH1cblxuICAuaGVyb190ZXh0X2NvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6ICRob21lcGFnZV9oZXJvX2hlaWdodDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBAaW5jbHVkZSBUcmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICB0b3A6IHVuc2V0O1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICBtaW4taGVpZ2h0OiA0NzVweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDgyMHB4O1xuICAgIH1cblxuICAgIC5jb2wtbWQtNiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVyb19oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi10b3A6IDIxMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTF2dztcbiAgICAgIC8vIG9wYWNpdHk6IDA7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZXJvX3RleHQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgyMCwgMzgpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgfVxuICAgICAgLy9vcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC5oZXJvX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjEwcHg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnlfYWx0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXJfc3RhdF9zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5jb2wtbWQtNiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXJfc3RhdF9zbGlkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC45KTtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skaG9tZXBhZ2VfaGVyb19oZWlnaHR9ICsgMHB4KTtcbiAgICAgIHdpZHRoOiAzNzBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWluLWhlaWdodDogMTc5cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgNDBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDgyMHB4O1xuICAgICAgfVxuXG4gICAgICAuc2xpZGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMTclIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gICAgICAgICAgcGFkZGluZzogMTAlIDE3JSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICAgICAgcGFkZGluZzogOCUgMTclIDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICBmb250LXNpemU6IDkwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDMwLCA3MCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMzUsIDcwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDIwLCAzMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YXRfYmFubmVyX3NsaWRlciB7XG4gICAgICAuaGVhZGVyX3N0YXRfc2xpZGVyIHtcbiAgICAgICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDJ2dztcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGlkZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgcGFkZGluZzogNDVweCAyMHB4IDh2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuc2VjdGlvbi5oZWFkZXJfY3V0b3V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDU1cHg7XG4gIGhlaWdodDogMjguN3Z3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IC0xNzBweDtcbiAgbWFyZ2luLXRvcDogLTE3JTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDUwJTtcbiAgICB3aWR0aDogMTIwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogLTUlO1xuICAgIC8vYm9yZGVyLXJhZGl1czogNDElIDIwJSA2NSUgMzQlIC8gNTMlIDAlIDEwMCUgMjklO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNDElIDIwJSA2NSUgMzQlIC8gNTMlIDAlIDEwMCUgMjklKTtcbiAgICBib3gtc2hhZG93OiAwcHggMzAwcHggMHB4IDMwMHB4ICNmZmY7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICYgKyBzZWN0aW9uIHtcbiAgICB6LWluZGV4OiA0O1xuICAgIG1hcmdpbi10b3A6IC05JTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgbWFyZ2luLXRvcDogLTc1cHg7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vdGhlbWUvdGhlbWVfdmFyaWFibGVzXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciB2YXJpYWJsZXMgaW50byB0aGlzIGZpbGUuIEFsc28gYWRkIHZhcmlhYmxlcyB0byBvdmVyd3JpdGUgQm9vdHN0cmFwIG9yIFVuZGVyU3RyYXAgdmFyaWFibGVzIGhlcmVcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIG1peGlucyBpbnRvIHRoaXMgZmlsZS5cbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnNcIjtcbnNlY3Rpb24uZnVsbF9oZWlnaHRfaGVybzpub3QoLnNjcm9sbGluZ19oZXJvKSB7XG4gICAgJGhlcm9faGVpZ2h0OiA0MnZ3OyBcblxuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1pbi1oZWlnaHQ6ICRoZXJvX2hlaWdodDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLnZpZC1wbGF5LWlubGluZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jb3ZlcjtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jb3ZlcjtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5iYWNrZ3JvdW5kX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogJGhlcm9faGVpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kX2ltYWdlX292ZXJsYXkge1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1LCAxNywgMjUsIDAuNDEpO1xuICAgIH1cblxuICAgIC5oZXJvX3RleHRfY29udGVudCB7XG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgbWluLWhlaWdodDogJGhlcm9faGVpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cblxuICAgICAgICAgICAgJi50ZXh0LXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAuaGVyb19hcnJvd19kb3duIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtbWQtNiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgzMCw0MCk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAxNWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE5MjFweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVuZGVybGluZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeV9hbHQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC03cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNpdGlvbigkY3ViaWMtc2xvdyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC43NXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hbmltYXRlX2xpbmUge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5saW5lX2FjdGl2YXRlZCB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVyb190ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxNiwyMCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTkyMXB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlcm9fYXJyb3dfZG93biB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoNDAsNTgpO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5X2FsdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTkyMXB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA1OHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiArIC5zZWN0aW9uX3NlcGFyYXRvci5ib3JkZXJfcmV2ZXJzZWRfd2F2ZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDI1cHgpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTAyNXB4KSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0yMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE5MjFweCl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDgwcHgpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsInNlY3Rpb24ub3VyX3N0b3JpZXMge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBjb2xvcjogJGRhcmtfYmx1ZV90ZXh0O1xuXG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2VfY29sIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTVweDtcblxuICAgICAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZyYW1lZF9jaXJjbGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZnJhbWVkX2NpcmNsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTUyJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzE1cHg7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodF9jb2xfd3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNjBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3Rvcnlfc2xpZGUge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yLjUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAmOm5vdCguc2xpY2stY3VycmVudCkge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1cigycHgpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICAgICAgICAgICAgLW1vei1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICAgICAgICAgICAgLW8tZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgICAgICAgICAgICAgIC1tcy1maWx0ZXI6IGJsdXIoMTBweCk7XG5cblxuICAgICAgICAgICAgICAgIC5idG5fYXJyb3dzIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDI4LDM4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdG9yeV90ZXh0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNTVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2NHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMTVlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDoxNTk5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDI1LDY0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA5NWVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxMiwxOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMjAwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDUlICsgMTAwcHgpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA5cHg7XG5cblxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYXJrX2JsdWVfdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfYmx1ZV90ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bl9hcnJvd3Mge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsInNlY3Rpb24udGhlcm1vbWV0ZXIge1xuXG4gICAgLy8gYm9keSAqIHtcbiAgICAvLyAgICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmO1xuICAgIC8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8vIH1cbiAgICBcbiAgICAvLyBib2R5IHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MkY0QztcbiAgICAvLyB9XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgICNjb3VudGRvd24td3JhcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IGFyaWFsO1xuICAgICAgbWF4LXdpZHRoOiA2NTB2cHg7XG4gICAgfVxuICAgIFxuICAgICNnb2FsIHsgXG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjojZWM4ODIyO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBzcGFuXG4gICAgICB7XG4gICAgICAgICAgY29sb3I6IzQwNTc2NTtcbiAgICAgICAgICBmb250LXNpemU6MzRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgfVxuICAgIC8vICAgY29sb3I6ICNGRkY7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICBcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgICBcbiAgICAjZ2xhc3Mge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgXG4gICAgI3Byb2dyZXNzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vICAgd2lkdGg6IDE2JTtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAvLyAgIGJhY2tncm91bmQ6ICNGRjVENTA7XG4gICAgICB6LWluZGV4OiAzMzM7XG4gICAgICAvL2JvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG4gICAgXG4gICAgLmdvYWwtc3RhdCB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgLy9oZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgLy8gICBjb2xvcjogI0ZGRjtcbiAgICAgICYubGFzdFxuICAgICAge1xuICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5nb2FsLW51bWJlciwgLmdvYWwtbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIC5nb2FsLW51bWJlciB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbn0iLCLvu79AaW1wb3J0IFwiLi4vdGhlbWUvdGhlbWVfdmFyaWFibGVzXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciB2YXJpYWJsZXMgaW50byB0aGlzIGZpbGUuIEFsc28gYWRkIHZhcmlhYmxlcyB0byBvdmVyd3JpdGUgQm9vdHN0cmFwIG9yIFVuZGVyU3RyYXAgdmFyaWFibGVzIGhlcmVcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIG1peGlucyBpbnRvIHRoaXMgZmlsZS5cbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnNcIjtcbi5pY29uX2dyaWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gIC5iYWNrZ3JvdW5kIHtcbiAgICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuXG4gICAgLmljb25zLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgICZbZGF0YS1pbmRleF0ge1xuICAgICAgICAgIC8qdHJhbnNmb3JtOiBzY2FsZSgwKTsqL1xuICAgICAgICB9XG5cbiAgICAgICAgZmxleDogMjUlO1xuICAgICAgICAmLmZpZnRocyB7XG4gICAgICAgICAgZmxleDogMjAlO1xuICAgICAgICB9XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgIGZsZXg6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxNzBweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvIDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICAgICAgY29sb3I6ICM0MDU3NjU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNsaWNrYWJsZSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAtNDRweDtcbiAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMzBweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAzMHB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIC8vdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtMjIuNSUsIDIyLjUlKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0yMi41JSwgMjIuNSUpKTtcbiAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGludmVydCg1MCUpIHNlcGlhKDA1JSkgc2F0dXJhdGUoNzUwNSUpIGh1ZS1yb3RhdGUoMzQwZGVnKSBicmlnaHRuZXNzKDk4JSkgY29udHJhc3QoNzUlKTtcbiAgICAgICAgICAgICAgLy8gZmlsdGVyOiBpbnZlcnQoMzQlKSBzZXBpYSgzNiUpIHNhdHVyYXRlKDcyNTklKSBodWUtcm90YXRlKDM0OWRlZykgYnJpZ2h0bmVzcyg5NCUpIGNvbnRyYXN0KDg4JSk7XG4gICAgICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDUwJSkgc2VwaWEoMDUlKSBzYXR1cmF0ZSg3NTA1JSkgaHVlLXJvdGF0ZSgzNDBkZWcpIGJyaWdodG5lc3MoOTglKSBjb250cmFzdCg3NSUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW5mby1ib3gge1xuICAgICAgICBmbGV4OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgLmluZm8ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZhLXRpbWVzIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3RoZW1lL3RoZW1lX3ZhcmlhYmxlc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgdmFyaWFibGVzIGludG8gdGhpcyBmaWxlLiBBbHNvIGFkZCB2YXJpYWJsZXMgdG8gb3ZlcndyaXRlIEJvb3RzdHJhcCBvciBVbmRlclN0cmFwIHZhcmlhYmxlcyBoZXJlXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciBtaXhpbnMgaW50byB0aGlzIGZpbGUuXG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zXCI7XG5cbi50d29fY29sX2RpdmlkZXIge1xuICBwYWRkaW5nOiA3JSAxOCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjAwcHg7XG5cbiAgLmF3YXJkcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAubGVmdCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZsZXg6IDQ1JTtcblxuICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDI3LCA0Mik7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgICAgICAgJi54bC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSg0MCwgOTUpO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1pZCB7XG4gICAgICAgICAgZmxleDogMTAlO1xuICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgLmxpbmUge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICBmbGV4OiA0NSU7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTQsIDIwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgJiA+IGRpdiB7XG5cbiAgICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICAgICAgICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAbWVkaWEobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIHBhZGRpbmc6IDclIDEwJTtcbiAgfVxuXG4gIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYXdhcmRzIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cblxuICAgICAgICAgIC5sZWZ0IHtcbiAgICAgICAgICAgICAgZmxleDogMTAwJTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAyLjVweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm1pZCB7XG4gICAgICAgICAgICAgIGZsZXg6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAgICAgZmxleDogMTAwJTtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDIuNXB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgICAgICAgICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4ICNlZmVmZWY7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmID4gaW1nIHtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi90aGVtZS90aGVtZV92YXJpYWJsZXNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIHZhcmlhYmxlcyBpbnRvIHRoaXMgZmlsZS4gQWxzbyBhZGQgdmFyaWFibGVzIHRvIG92ZXJ3cml0ZSBCb290c3RyYXAgb3IgVW5kZXJTdHJhcCB2YXJpYWJsZXMgaGVyZVxuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgbWl4aW5zIGludG8gdGhpcyBmaWxlLlxuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGluc1wiO1xuXG5zZWN0aW9uLmNvbnRhY3Qtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9ncmV5O1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgI2NvbnRhY3QtZm9ybSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgJiA+ICoge1xuICAgICAgbWFyZ2luOiAxMnB4IDA7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEge1xuICAgICAgJjpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjY2FjN2M3O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlY2VlZWY7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxMiwgMTUpO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBoMyB7XG4gICAgLnVuZGVybGluZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVweCk7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeV9hbHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICBsZWZ0OiAyLjVweDtcbiAgICAgICAgQGluY2x1ZGUgVHJhbnNpdGlvbigkY3ViaWMtc2xvdyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuN3M7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFuaW1hdGVfbGluZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubGluZV9hY3RpdmF0ZWQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3RoZW1lL3RoZW1lX3ZhcmlhYmxlc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgdmFyaWFibGVzIGludG8gdGhpcyBmaWxlLiBBbHNvIGFkZCB2YXJpYWJsZXMgdG8gb3ZlcndyaXRlIEJvb3RzdHJhcCBvciBVbmRlclN0cmFwIHZhcmlhYmxlcyBoZXJlXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciBtaXhpbnMgaW50byB0aGlzIGZpbGUuXG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zXCI7XG5cbi5saXZlX2dlbmVyb3VzbHlfc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuXG4gICAgLmJyYW5kX2xvZ29fd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC04NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ29fY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMTdweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0IFwiLi4vdGhlbWUvdGhlbWVfdmFyaWFibGVzXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciB2YXJpYWJsZXMgaW50byB0aGlzIGZpbGUuIEFsc28gYWRkIHZhcmlhYmxlcyB0byBvdmVyd3JpdGUgQm9vdHN0cmFwIG9yIFVuZGVyU3RyYXAgdmFyaWFibGVzIGhlcmVcbkBpbXBvcnQgXCIuLi90aGVtZS9taXhpbnNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIG1peGlucyBpbnRvIHRoaXMgZmlsZS5cbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9taXhpbnNcIjtcblxuXG4uc2VjdGlvbl92YWx1ZV9ncmlkIHtcblxuXG4gICAgLnZhbHVlX2dyaWRfd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMyLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjE2MDBweCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNzAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkyMHB4KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4NTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0byBhdXRvIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuZ3JpZF9pdGVtIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gICAgICAgICAgICBncmlkLXJvdzogc3BhbiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDMyO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiBzcGFuIDE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQwNTc2NTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IHNwYW4gMjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzMjtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IHNwYW4gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDMyO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogc3BhbiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA1NzY1O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMzI7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiBzcGFuIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICAgICAgICAgICAgLnZhbHVlX2Rlc2NyaXB0aW9uLmQtbWQtbm9uZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMTBweFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltYWdlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3dncgMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzMwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB1bnNldDtcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogNXB4IDVweCA4cHggcmdiYSgwLDAsMCwwLjgpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxOCwzOCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExdncgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLypAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTV2dyAwO1xuICAgICAgICAgICAgICAgIH0qL1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDBweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtKG5vbmUpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xMzVlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51bmRlcmxpbmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMi41cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oJGN1YmljLXNsb3cpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNzVzO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDNweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTI7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFuaW1hdGVfbGluZSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmxpbmVfYWN0aXZhdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oJGN1YmljKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZhbHVlX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ3JpZF90ZXh0X3dyYXAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDd2dyA1MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDd2dyAzMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC52YWx1ZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xMzVlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxOCwyOCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudmFsdWVfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDM1ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxNCwxOCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi90aGVtZS90aGVtZV92YXJpYWJsZXNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIHZhcmlhYmxlcyBpbnRvIHRoaXMgZmlsZS4gQWxzbyBhZGQgdmFyaWFibGVzIHRvIG92ZXJ3cml0ZSBCb290c3RyYXAgb3IgVW5kZXJTdHJhcCB2YXJpYWJsZXMgaGVyZVxuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgbWl4aW5zIGludG8gdGhpcyBmaWxlLlxuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGluc1wiO1xuXG4ub3VyX3Blb3BsZV9zZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDEzMHB4O1xuXG4gIC5yb3cge1xuICAgICYgPiAuY29sLTEyOmZpcnN0LWNoaWxkIHtcbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5jb2xsYXBzaWJsZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1N3B4O1xuXG4gICAgJi5jb2xsYXBzaWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG4gIC5jb2xsYXBzaWJsZSAuZmEtY2hldnJvbi1kb3duIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgfVxuICAuY29sbGFwc2libGUuY29sbGFwc2VkIC5mYS1jaGV2cm9uLWRvd24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKTtcbiAgfVxuICAuZW1wbG95ZWVfY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICYub3BlbiB7XG4gICAgICBpbWcge1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDAlKTtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5lbXBsb3llZV9pbmZvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0biArIDIpIHtcbiAgICAgIC5lbXBsb3llZV9iaW8ge1xuICAgICAgICBsZWZ0OiBjYWxjKCgtMTAwJSAtIDQ4cHgpICogMSAtIDMwcHggKiAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0biArIDMpIHtcbiAgICAgIC5lbXBsb3llZV9iaW8ge1xuICAgICAgICBsZWZ0OiBjYWxjKCgtMTAwJSAtIDQ4cHgpICogMiAtIDMwcHggKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0biArIDQpIHtcbiAgICAgIC5lbXBsb3llZV9iaW8ge1xuICAgICAgICBsZWZ0OiBjYWxjKCgtMTAwJSAtIDQ4cHgpICogMyAtIDMwcHggKiAzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICY6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAuZW1wbG95ZWVfYmlvIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuICsgMikge1xuICAgICAgICAuZW1wbG95ZWVfYmlvIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKCgtMTAwJSAtIDQ4cHgpICogMSAtIDMwcHggKiAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzbiArIDMpIHtcbiAgICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgICAgbGVmdDogY2FsYygoLTEwMCUgLSA0OHB4KSAqIDIgLSAzMHB4ICogMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAuZW1wbG95ZWVfYmlvIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAuZW1wbG95ZWVfYmlvIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKCgtMTAwJSAtIDQ4cHgpICogMSAtIDMwcHggKiAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgJjpudGgtY2hpbGQoMW4gKyAxKSB7XG4gICAgICAgIC5lbXBsb3llZV9iaW8ge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgICAgQGluY2x1ZGUgVHJhbnNpdGlvbigkY3ViaWMpO1xuICAgIH1cblxuICAgIC5lbXBsb3llZV9pbmZvIHtcbiAgICAgIC8qcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpOyovXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMTdweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBjb2xvcjogJGRhcmtfYmx1ZV90ZXh0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICBwYWRkaW5nOiAyMHB4IDI0cHggMThweDtcbiAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oJGN1YmljKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYzNTdcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0zMnB4O1xuICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBQcm9cIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgJi5vcGVuIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLmJpb19idXR0b24ge1xuICAgICAgICAgICYuZmEtY2hldnJvbi1kb3VibGUtZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2Zvcm0ocm90YXRlWCgxODBkZWcpKTtcbiAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qLmVtcGxveWVlX25hbWVfd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oaGVpZ2h0IDAuNXMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSwgb3BhY2l0eSAwLjVzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgMC4ycyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9Ki9cbiAgICAgIH1cblxuICAgICAgLmVtcGxveWVlX25hbWVfd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAtMjBweCAtMjRweCAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjRweCAyMHB4O1xuICAgICAgICAvKiY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTYwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDMwcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMzBweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0yMi41JSwgMjIuNSUpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH0qL1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxNCwgMTgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDEyLCAxNik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBAaW5jbHVkZSBUcmFuc2l0aW9uKCRjdWJpYy1zbG93KTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwcHggMjRweDtcbiAgICAgICAgLyogdGVzdGluZyB3aWR0aCAgKi9cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNDhweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgICAgQGluY2x1ZGUgVHJhbnNpdGlvbih1bnNldCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC8qIHRlc3Rpbmcgd2lkdGggICovXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgKyA0OHB4KSAqIDQgKyAzMHB4ICogMyk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBAaW5jbHVkZSBUcmFuc2l0aW9uKFxuICAgICAgICAgICAgaGVpZ2h0IDAuNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpLFxuICAgICAgICAgICAgb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSAwLjJzXG4gICAgICAgICAgKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSArIDQ4cHgpICogMyArIDMwcHggKiAyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICsgNDhweCkgKiAyICsgMzBweCAqIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgKyA0OHB4KSAqIDEgKyAzMHB4ICogMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNTVlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJpb19jbG9zZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDExcHg7XG4gICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZV90ZXh0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iaW9fYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi90aGVtZS90aGVtZV92YXJpYWJsZXNcIjsgLy8gPC0tLS0tLS0tIEFkZCB5b3VyIHZhcmlhYmxlcyBpbnRvIHRoaXMgZmlsZS4gQWxzbyBhZGQgdmFyaWFibGVzIHRvIG92ZXJ3cml0ZSBCb290c3RyYXAgb3IgVW5kZXJTdHJhcCB2YXJpYWJsZXMgaGVyZVxuQGltcG9ydCBcIi4uL3RoZW1lL21peGluc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgbWl4aW5zIGludG8gdGhpcyBmaWxlLlxuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGluc1wiO1xuXG4ub3VyX3Blb3BsZV9zZWN0aW9uXzIge1xuICBwYWRkaW5nLWJvdHRvbTogMTMwcHg7XG4gIC50YWJzIHtcbiAgICBtYXJnaW4tYm90dG9tOjUwcHg7XG4gICAgLmNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM1ZW07XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeV9hbHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2l0aW9uKCRjdWJpYy1zbG93KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnJvdyB7XG4gICAgJiA+IC5jb2wtMTI6Zmlyc3QtY2hpbGQge1xuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmNvbGxhcHNpYmxlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDU3cHg7XG5cbiAgICAmLmNvbGxhcHNpYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbiAgaDNcbiAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOjQwcHg7XG4gIH1cbiAgLmNvbGxhcHNpYmxlIC5mYS1jaGV2cm9uLWRvd24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICB9XG4gIC5jb2xsYXBzaWJsZS5jb2xsYXBzZWQgLmZhLWNoZXZyb24tZG93biB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDApO1xuICB9XG4gIC5lbXBsb3llZV9jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJi5vcGVuIHtcbiAgICAgIGltZyB7XG4gICAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCUpO1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwJSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmVtcGxveWVlX2luZm8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDVuICsgMikge1xuICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgIGxlZnQ6IGNhbGMoKC0xMDAlIC0gNDhweCkgKiAxIC0gMzBweCAqIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDVuICsgMykge1xuICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgIGxlZnQ6IGNhbGMoKC0xMDAlIC0gNDhweCkgKiAyIC0gMzBweCAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDVuICsgNCkge1xuICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgIGxlZnQ6IGNhbGMoKC0xMDAlIC0gNDhweCkgKiAzIC0gMzBweCAqIDMpO1xuICAgICAgfVxuICAgIH0gXG5cbiAgICAmOm50aC1jaGlsZCg1biArIDUpIHtcbiAgICAgIC5lbXBsb3llZV9iaW8ge1xuICAgICAgICBsZWZ0OiBjYWxjKCgtMTAwJSAtIDQ4cHgpICogNCAtIDMwcHggKiA0KTtcbiAgICAgIH1cbiAgICB9IFxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAmOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgICAgbGVmdDogY2FsYygoLTEwMCUgLSA0OHB4KSAqIDEgLSAzMHB4ICogMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICAgIC5lbXBsb3llZV9iaW8ge1xuICAgICAgICAgIGxlZnQ6IGNhbGMoKC0xMDAlIC0gNDhweCkgKiAyIC0gMzBweCAqIDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAmOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgybiArIDIpIHtcbiAgICAgICAgLmVtcGxveWVlX2JpbyB7XG4gICAgICAgICAgbGVmdDogY2FsYygoLTEwMCUgLSA0OHB4KSAqIDEgLSAzMHB4ICogMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICY6bnRoLWNoaWxkKDFuICsgMSkge1xuICAgICAgICAuZW1wbG95ZWVfYmlvIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oJGN1YmljKTtcbiAgICB9XG5cbiAgICAuZW1wbG95ZWVfaW5mbyB7XG4gICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTsqL1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAtMTE3cHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICRkYXJrX2JsdWVfdGV4dDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9ncmV5O1xuICAgICAgcGFkZGluZzogMjBweCAyNHB4IDE4cHg7XG4gICAgICBAaW5jbHVkZSBUcmFuc2l0aW9uKCRjdWJpYyk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAvLyAmOmJlZm9yZSB7XG4gICAgICAvLyAgIGNvbnRlbnQ6IFwiXFxmMzU3XCI7XG4gICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vICAgdG9wOiAtMzJweDtcbiAgICAgIC8vICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgLy8gICBjb2xvcjogI2ZmZjtcbiAgICAgIC8vICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gICAgICAvLyAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAvLyB9XG5cbiAgICAgICYub3BlbiB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5iaW9fYnV0dG9uIHtcbiAgICAgICAgICAmLmZhLWNoZXZyb24tZG91YmxlLWRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtKHJvdGF0ZVgoMTgwZGVnKSk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKi5lbXBsb3llZV9uYW1lX3dyYXAge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2l0aW9uKGhlaWdodCAwLjVzIGN1YmljLWJlemllciguMTksMSwuMjIsMSksIG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpIDAuMnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSovXG4gICAgICB9XG5cbiAgICAgIC5lbXBsb3llZV9uYW1lX3dyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbjogLTIwcHggLTI0cHggMHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDI0cHggMjBweCAwcHg7XG4gICAgICAgIC8qJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtNjBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMzBweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzMHB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTIyLjUlLCAyMi41JSk7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgfSovXG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE0LCAxOCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTIsIDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZW1wbG95ZWVfYmlvIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oJGN1YmljLXNsb3cpO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDBweCAyNHB4O1xuICAgICAgICAvKiB0ZXN0aW5nIHdpZHRoICAqL1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0OHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICAgICAgICBAaW5jbHVkZSBUcmFuc2l0aW9uKHVuc2V0KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLyogdGVzdGluZyB3aWR0aCAgKi9cbiAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICBwYWRkaW5nOiAyNHB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSArIDQ4cHgpICogNCArIDMwcHggKiAzKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oXG4gICAgICAgICAgICBoZWlnaHQgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksXG4gICAgICAgICAgICBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDAuMnNcbiAgICAgICAgICApO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICsgNDhweCkgKiAzICsgMzBweCAqIDIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgKyA0OHB4KSAqIDIgKyAzMHB4ICogMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSArIDQ4cHgpICogMSArIDMwcHggKiAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1NWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIH1cblxuICAgICAgICAuYmlvX2Nsb3NlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICByaWdodDogMTFweDtcbiAgICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlX3RleHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJpb19idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3RoZW1lL3RoZW1lX3ZhcmlhYmxlc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgdmFyaWFibGVzIGludG8gdGhpcyBmaWxlLiBBbHNvIGFkZCB2YXJpYWJsZXMgdG8gb3ZlcndyaXRlIEJvb3RzdHJhcCBvciBVbmRlclN0cmFwIHZhcmlhYmxlcyBoZXJlXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciBtaXhpbnMgaW50byB0aGlzIGZpbGUuXG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zXCI7XG5cbi5zZWN0aW9uX2ltYWdlX2dyaWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDIwMHB4O1xuXG4gICAgLmNvbXBhbmllc19pbWFnZV9ncmlkX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMzJ2aCk7XG5cbiAgICAgICAgLmdyaWRfaW1hZ2Uge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgICAgIGdyaWQtcm93OiBzcGFuIDE7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDcpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL3RoZW1lL3RoZW1lX3ZhcmlhYmxlc1wiOyAvLyA8LS0tLS0tLS0gQWRkIHlvdXIgdmFyaWFibGVzIGludG8gdGhpcyBmaWxlLiBBbHNvIGFkZCB2YXJpYWJsZXMgdG8gb3ZlcndyaXRlIEJvb3RzdHJhcCBvciBVbmRlclN0cmFwIHZhcmlhYmxlcyBoZXJlXG5AaW1wb3J0IFwiLi4vdGhlbWUvbWl4aW5zXCI7IC8vIDwtLS0tLS0tLSBBZGQgeW91ciBtaXhpbnMgaW50byB0aGlzIGZpbGUuXG5AaW1wb3J0IFwiLi4vLi4vc3JjL3Nhc3MvYm9vdHN0cmFwNC9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zXCI7XG5cblxuLm91cl9jb21wYW5pZXNfc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206NjVweDtcblxuICAgIC5jb21wYW5pZXNfbmF2aWdhdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAucm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBhbnlfbmFtZV9jb2wge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2Zvcm0odHJhbnNsYXRlKDUwJSwgLTUwJSkpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfYmx1ZV90ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSwgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSwgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wYW55X3NwbGl0X2xpc3Qge1xuICAgICAgICAgICAgJiArIC5jb21wYW55X25hbWVfY29sIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBhbnlfbmFtZV9uYXZfaXRlbSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4yMjVlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxN3B4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTQsMjApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2FsdDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIC8qbGVmdDogY2FsYyg1MCUgLSAycHgpOyovXG4gICAgICAgICAgICAgICAgbGVmdDogMThweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgICAgICAvKnRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsqL1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oJGN1YmljKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hbmltYXRlX2xpbmUge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5saW5lX2FjdGl2YXRlZCB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcGFuaWVzX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgLmNvbXBhbnlfc2xpZGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgICAgICAuY29tcGFueV9sb2dvIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAvKm1heC13aWR0aDogNDUwcHg7Ki9cbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAvKm1heC1oZWlnaHQ6IDE3OHB4OyovXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTQ3cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb21wYW55X2Rlc2NyaXB0aW9uX3RleHQge1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDE1ZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAxNWVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjE1OTlweCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMjUsNjQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDk1ZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDEyLDE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgICAgICAuc2VydmljZXNfd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCByZ2JhKDY0LCA4NywgMTAxLCAuNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwcHggMTBweCA1MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNXB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHJnYmEoNjQsIDg3LCAxMDEsIC41KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHJnYmEoNjQsIDg3LCAxMDEsIC41KTtcbiAgICAgICAgICAgICAgICAgICAgLy90cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2Zvcm0ocm90YXRlKC00NWRlZykpO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEyOHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0OC4xcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9ncmV5O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZXJ2aWNlc190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMzU1ZW1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZXJ2aWNlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tcGFueV9idXR0b25zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2NXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5idG5fYXJyb3dzIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vYmlsZV9pbWFnZV93cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJldHVybl90b19jb21wYW5pZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnJldHVybl91cF93cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIFRyYW5zaXRpb24oJGN1YmljKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogLjg7XG5cbiAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoNDAsNTApO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsInNlY3Rpb24ub3VyX2NvbXBhbmllcyB7XG4gICAgcGFkZGluZy10b3A6IDExMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMzBweDtcblxuICAgIC5icmFuZF90ZXh0X2NvbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiA5MjBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ29fY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwNXB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBUcmFuc2l0aW9uKGFsbCAuNXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAycHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtICh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAubmF0dXJhbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgVHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLC01MCUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibHVlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAuYmx1ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdHVyYWwge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBRUFBO2tFQUNrRTtBQW9IbEU7Ozs7O0VBS0U7QUZuSEYsQUFBQSxzQkFBc0IsQ0FBQztFRVB2QjtrRUFDa0U7RUFvSGxFOzs7OztFQUtFLEVGaEhEO0VBSEQsQXNDREEsc0J0Q0NzQixDc0NEdEIseUJBQXlCLENBQUM7SXBDTjFCO2tFQUNrRTtJQW9IbEU7Ozs7O0VBS0U7SUExSEY7a0VBQ2tFO0lBb0hsRTs7Ozs7RUFLRTtJQTFIRjtrRUFDa0U7SUFvSGxFOzs7OztFQUtFO0lBMUhGO2tFQUNrRTtJQW9IbEU7Ozs7O0VBS0U7SUExSEY7a0VBQ2tFO0lBb0hsRTs7Ozs7RUFLRTtJQTFIRjtrRUFDa0U7SUFvSGxFOzs7OztFQUtFO0lBMUhGO2tFQUNrRTtJQW9IbEU7Ozs7O0VBS0U7SUExSEY7a0VBQ2tFO0lBb0hsRTs7Ozs7RUFLRTtJQTFIRjtrRUFDa0U7SUFvSGxFOzs7OztFQUtFO0lBMUhGO2tFQUNrRTtJQW9IbEU7Ozs7O0VBS0U7SUExSEY7a0VBQ2tFO0lBb0hsRTs7Ozs7RUFLRTtJQTFIRjtrRUFDa0U7SUFvSGxFOzs7OztFQUtFLEVvQzBPRDtJdEM3VkQsQXVDUEEsc0J2Q09zQixDc0NEdEIseUJBQXlCLENDTnpCLE9BQU8sQUFBQSxxQkFBcUIsQ0FBQztNQUN6QixXQUFXLEVBQUUsS0FBSztNQUNsQixjQUFjLEVBQUUsS0FBSyxHQXVDeEI7TXZDbENELEF1Q0hJLHNCdkNHa0IsQ3NDRHRCLHlCQUF5QixDQ056QixPQUFPLEFBQUEscUJBQXFCLENBSXhCLGVBQWUsQ0FBQztRQUNaLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLEtBQUssRUFBRSxJQUFJLEdBS2Q7UXZDTkwsQXVDR1Esc0J2Q0hjLENzQ0R0Qix5QkFBeUIsQ0NOekIsT0FBTyxBQUFBLHFCQUFxQixDQUl4QixlQUFlLENBTVgsQ0FBQyxDQUFDO1VBQ0UsU0FBUyxFQUFFLElBQUksR0FDbEI7TXZDTFQsQXVDUUksc0J2Q1JrQixDc0NEdEIseUJBQXlCLENDTnpCLE9BQU8sQUFBQSxxQkFBcUIsQ0FleEIsY0FBYyxDQUFDO1FBQ1gsTUFBTSxFQUFFLElBQUk7UXJDUWhCLGNBQWMsRURnQkwsR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1FDZmhELGtCQUFrQixFRGVULEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtRQ2RoRCxlQUFlLEVEY04sR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1FDYmhELGFBQWEsRURhSixHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7UUNaaEQsVUFBVSxFRFlELEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtRQ1hoRCwyQkFBMkIsRUFBRSxNQUFNLEdxQ1dsQztRL0JpQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO1VSbEVoQyxBdUNRSSxzQnZDUmtCLENzQ0R0Qix5QkFBeUIsQ0NOekIsT0FBTyxBQUFBLHFCQUFxQixDQWV4QixjQUFjLENBQUM7WUFLUCxTQUFTLEVBQUUsS0FBSztZQUNoQixLQUFLLEVBQUUsR0FBRztZQUNWLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBaUJwQjtRL0JpQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBdUNRSSxzQnZDUmtCLENzQ0R0Qix5QkFBeUIsQ0NOekIsT0FBTyxBQUFBLHFCQUFxQixDQWV4QixjQUFjLENBQUM7WUFZUCxVQUFVLEVBQUUsSUFBSSxHQWF2QjtRL0JpQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBdUNRSSxzQnZDUmtCLENzQ0R0Qix5QkFBeUIsQ0NOekIsT0FBTyxBQUFBLHFCQUFxQixDQWV4QixjQUFjLENBQUM7WUFnQlAsS0FBSyxFQUFFLEdBQUc7WUFDVixNQUFNLEVBQUUsU0FBUztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLE9BQU8sRUFBRSxZQUFZLEdBTTVCO1F2Q2pDTCxBdUM4QlEsc0J2QzlCYyxDc0NEdEIseUJBQXlCLENDTnpCLE9BQU8sQUFBQSxxQkFBcUIsQ0FleEIsY0FBYyxBQXNCVCxZQUFZLENBQUE7VUFDVCxNQUFNLEVBQUUsT0FBTyxHQUNsQjtJdkNoQ1QsQXdDRkEsc0J4Q0VzQixDc0NEdEIseUJBQXlCLENFRHpCLE9BQU8sQUFBQSxZQUFZLENBQUM7TUFDaEIsUUFBUSxFQUFFLFFBQVEsR0ErSnJCO01oQzVGRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7UVJsRS9CLEF3Q0ZBLHNCeENFc0IsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQUFDO1VBSVosY0FBYyxFQUFFLElBQUksR0E0SjNCO014QzlKRCxBd0NLSSxzQnhDTGtCLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0FPZixzQkFBc0IsRXhDTDFCLHNCQUFzQixDc0NEdEIseUJBQXlCLENFRHpCLE9BQU8sQUFBQSxZQUFZLENBT1MsbUJBQW1CLENBQUM7UXRDeUM1QyxNQUFNLEVBQUUsQ0FBQztRQUNULElBQUksRUFBRSxDQUFDO1FBQ1AsUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLENBQUM7UUFDUixHQUFHLEVBQUUsQ0FBQztRc0MzQ0YsZUFBZSxFQUFFLEtBQUs7UUFDdEIscUJBQXFCLEVBQUUsTUFBTSxHQUNoQztNeENUTCxBd0NXSSxzQnhDWGtCLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0FhZixtQkFBbUIsQ0FBQztRQUNoQixnQkFBZ0IsRUFBRSx1QkFBdUIsR0FDNUM7TXhDYkwsQXdDZUksc0J4Q2ZrQixDc0NEdEIseUJBQXlCLENFRHpCLE9BQU8sQUFBQSxZQUFZLENBaUJmLFVBQVUsQ0FBQztRQUNQLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFVBQVUsRUFBRSxNQUFNLEdBS3JCO1FBSEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVeENuQjVDLEF3Q2VJLHNCeENma0IsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQWlCZixVQUFVLENBQUM7WUFLSCxTQUFTLEVBQUUsR0FBRyxHQUVyQjtNeEN0QkwsQXdDd0JJLHNCeEN4QmtCLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0EwQmYsTUFBTSxDQUFDO1FBQ0gsVUFBVSxFQUFFLE1BQU07UUFDbEIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsY0FBYyxFQUFFLEtBQUs7UUFDckIsS0FBSyxFQUFFLElBQUksR0FpRGQ7UWhDWEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBd0N3Qkksc0J4Q3hCa0IsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQTBCZixNQUFNLENBQUM7WUFPQyxXQUFXLEVBQUUsSUFBSTtZQUNqQixjQUFjLEVBQUUsR0FBRyxHQTZDMUI7UXhDN0VMLEF3Q21DUSxzQnhDbkNjLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0EwQmYsTUFBTSxDQVdGLE9BQU8sQ0FBQztVQUNKLFNBQVMsRUFBRSxLQUFLO1VBQ2hCLFdBQVcsRUFBRSxHQUFHO1VBQ2hCLFdBQVcsRUFBRSxHQUFHO1VBQ2hCLEtBQUssRXZDekNQLE9BQU8sR3VDa0RSO1VoQ2tCTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7WVJsRWhDLEF3Q21DUSxzQnhDbkNjLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0EwQmYsTUFBTSxDQVdGLE9BQU8sQ0FBQztjdENrR1osU0FBUyxFQUFFLHNEQUFvRSxHc0NyRjFFO1VBSEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtZeEM3Q2hELEF3Q21DUSxzQnhDbkNjLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0EwQmYsTUFBTSxDQVdGLE9BQU8sQ0FBQztjdENrR1osU0FBUyxFQUFFLHdEQUFvRSxHc0NyRjFFO1F4Q2hEVCxBd0NrRFEsc0J4Q2xEYyxDc0NEdEIseUJBQXlCLENFRHpCLE9BQU8sQUFBQSxZQUFZLENBMEJmLE1BQU0sQ0EwQkYsTUFBTSxDQUFDO1VBQ0gsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsR0FBRztVQUNoQixjQUFjLEVBQUUsU0FBUztVQUN6QixXQUFXLEVBQUUsR0FBRyxHQVNuQjtVaENHTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEF3Q2tEUSxzQnhDbERjLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0EwQmYsTUFBTSxDQTBCRixNQUFNLENBQUM7Y3RDbUZYLFNBQVMsRUFBRSxxREFBb0UsR3NDdEUxRTtVQUhHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07WXhDNURoRCxBd0NrRFEsc0J4Q2xEYyxDc0NEdEIseUJBQXlCLENFRHpCLE9BQU8sQUFBQSxZQUFZLENBMEJmLE1BQU0sQ0EwQkYsTUFBTSxDQUFDO2N0Q21GWCxTQUFTLEVBQUUscURBQW9FLEdzQ3RFMUU7UXhDL0RULEF3Q2lFUSxzQnhDakVjLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0EwQmYsTUFBTSxDQXlDRixZQUFZLENBQUM7VUFDVCxTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxHQUFHLEdBU25CO1VBUEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtZeENyRWhELEF3Q2lFUSxzQnhDakVjLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0EwQmYsTUFBTSxDQXlDRixZQUFZLENBQUM7Y3RDb0VqQixTQUFTLEVBQUUscURBQW9FLEdzQ3pEMUU7VXhDNUVULEF3Q3lFWSxzQnhDekVVLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0EwQmYsTUFBTSxDQXlDRixZQUFZLENBUVIsTUFBTSxDQUFDO1lBQ0gsV0FBVyxFQUFFLEdBQUcsR0FDbkI7TXhDM0ViLEF3QytFSSxzQnhDL0VrQixDc0NEdEIseUJBQXlCLENFRHpCLE9BQU8sQUFBQSxZQUFZLENBaUZmLFdBQVcsQ0FBQztRQUNSLFlBQVksRUFBRSxJQUFJO1FBQ2xCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLElBQUk7UUFDWixRQUFRLEVBQUUsTUFBTTtRQUNoQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsUUFBUTtRQUNsQixNQUFNLEVBQUUsSUFBSSxHQThDZjtRaENuRUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBd0MrRUksc0J4Qy9Fa0IsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQWlGZixXQUFXLENBQUM7WUFXSixPQUFPLEVBQUUsSUFBSSxHQTJDcEI7UXhDcklMLEF3QzZGUSxzQnhDN0ZjLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0FpRmYsV0FBVyxDQWNQLENBQUMsQ0FBQztVQUNFLEtBQUssRUFBRSxJQUFJO1VBQ1gsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsR0FBRztVQUNoQixRQUFRLEVBQUUsUUFBUTtVQUNsQixJQUFJLEVBQUUsR0FBRztVdEN4RWpCLGNBQWMsRXNDMEVhLGVBQWU7VXRDekUxQyxhQUFhLEVzQ3lFYyxlQUFlO1V0Q3hFMUMsWUFBWSxFc0N3RWUsZUFBZTtVdEN2RTFDLGlCQUFpQixFc0N1RVUsZUFBZTtVdEN0RTFDLFNBQVMsRXNDc0VrQixlQUFlO1V0Q3JFMUMsMkJBQTJCLEVBQUUsTUFBTTtVc0NzRTNCLDJCQUEyQixFQUFFLEtBQUs7VUFDbEMsR0FBRyxFQUFFLEtBQUssR0FDYjtReEN2R1QsQXdDeUdRLHNCeEN6R2MsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQWlGZixXQUFXLEFBMEJOLFFBQVEsRXhDekdqQixzQkFBc0IsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQWlGZixXQUFXLEFBMEJLLE9BQU8sQ0FBQztVQUNoQixVQUFVLEVBQUUsWUFBWTtVQUN4QixZQUFZLEVBQUUsV0FBVztVQUN6QixZQUFZLEVBQUUsS0FBSztVQUNuQixZQUFZLEVBQUUsT0FBTztVQUNyQixPQUFPLEVBQUUsRUFBRTtVQUNYLE1BQU0sRUFBRSxJQUFJO1VBQ1osd0JBQXdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtVQUMvQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1VBQ3hDLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7UXhDcEhULEF3Q3NIUSxzQnhDdEhjLENzQ0R0Qix5QkFBeUIsQ0VEekIsT0FBTyxBQUFBLFlBQVksQ0FpRmYsV0FBVyxBQXVDTixRQUFRLENBQUM7VXRDNUZkLGNBQWMsRXNDK0ZhLGFBQWE7VXRDOUZ4QyxhQUFhLEVzQzhGYyxhQUFhO1V0QzdGeEMsWUFBWSxFc0M2RmUsYUFBYTtVdEM1RnhDLGlCQUFpQixFc0M0RlUsYUFBYTtVdEMzRnhDLFNBQVMsRXNDMkZrQixhQUFhO1V0QzFGeEMsMkJBQTJCLEVBQUUsTUFBTTtVc0MyRjNCLDJCQUEyQixFQUFFLEtBQUs7VUFDbEMsS0FBSyxFQUFFLEdBQUcsR0FDYjtReEM1SFQsQXdDOEhRLHNCeEM5SGMsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQWlGZixXQUFXLEFBK0NOLE9BQU8sQ0FBQztVdENwR2IsY0FBYyxFc0N1R2EsWUFBWTtVdEN0R3ZDLGFBQWEsRXNDc0djLFlBQVk7VXRDckd2QyxZQUFZLEVzQ3FHZSxZQUFZO1V0Q3BHdkMsaUJBQWlCLEVzQ29HVSxZQUFZO1V0Q25HdkMsU0FBUyxFc0NtR2tCLFlBQVk7VXRDbEd2QywyQkFBMkIsRUFBRSxNQUFNO1VzQ21HM0IsMkJBQTJCLEVBQUUsS0FBSztVQUNsQyxJQUFJLEVBQUUsR0FBRyxHQUNaO014Q3BJVCxBd0N1SUksc0J4Q3ZJa0IsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQXlJZixxQkFBcUIsQ0FBQztRQUNsQixRQUFRLEVBQUUsUUFBUTtRQUNsQixVQUFVLEVBQUUsS0FBSyxHQUtwQjtRaEM1RUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBd0N1SUksc0J4Q3ZJa0IsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQXlJZixxQkFBcUIsQ0FBQztZQUtkLE9BQU8sRUFBRSxJQUFJLEdBRXBCO014QzlJTCxBd0NnSkksc0J4Q2hKa0IsQ3NDRHRCLHlCQUF5QixDRUR6QixPQUFPLEFBQUEsWUFBWSxDQWtKZixpQkFBaUIsQ0FBQztRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVSxFQUFFLE1BQU07UUFDbEIsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsR0FBRztRQUNoQixhQUFhLEVBQUUsS0FBSztRQUNwQixRQUFRLEVBQUUsUUFBUTtRQUNsQixhQUFhLEVBQUUsS0FBSztRQUNwQixLQUFLLEVBQUUsaUJBQWlCLEdBSzNCO1FBSEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVeEMxSjVDLEF3Q2dKSSxzQnhDaEprQixDc0NEdEIseUJBQXlCLENFRHpCLE9BQU8sQUFBQSxZQUFZLENBa0pmLGlCQUFpQixDQUFDO1l0Q1hsQixTQUFTLEVBQUUscURBQW9FLEdzQ3dCOUU7SXhDN0pMLEF5Q0RBLHNCekNDc0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQUFDO01BR3RDLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUhhLElBQUk7TUFJM0IsUUFBUSxFQUFFLFFBQVEsR0FtVW5CO01BalVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UXpDTnRDLEF5Q0RBLHNCekNDc0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQUFDO1VBUXBDLFVBQVUsRUFBRSxLQUFLLEdBZ1VwQjtNekN2VUQsQXlDVUUsc0J6Q1ZvQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBV3JDLHVCQUF1QixDQUFDO1FBQ3RCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsQ0FBQyxHQUtYO1FqQ2dEQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEF5Q1VFLHNCekNWb0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQVdyQyx1QkFBdUIsQ0FBQztZQU1wQixRQUFRLEVBQUUsUUFBUSxHQUVyQjtNekNsQkgsQXlDb0JFLHNCekNwQm9CLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0FxQnJDLGFBQWEsQ0FBQztRQUNaLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO016Q3RCSCxBeUN3QkUsc0J6Q3hCb0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXlCckMsV0FBVyxDQUFDO1FBQ1YsTUFBTSxFQUFFLElBQUksR0E2QmI7UXpDdERILEF5QzJCSSxzQnpDM0JrQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBeUJyQyxXQUFXLENBR1QsRUFBRSxDQUFDO1VBQ0QsS0FBSyxFQUFFLElBQUk7VUFDWCxNQUFNLEVBQUUsSUFBSTtVQUNaLE1BQU0sRUFBRSxLQUFLLEdBdUJkO1V6Q3JETCxBeUNnQ00sc0J6Q2hDZ0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXlCckMsV0FBVyxDQUdULEVBQUUsQ0FLQSxNQUFNLENBQUM7WUFDTCxLQUFLLEVBQUUsSUFBSTtZQUNYLE1BQU0sRUFBRSxJQUFJLEdBVWI7WXpDNUNQLEF5Q29DUSxzQnpDcENjLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F5QnJDLFdBQVcsQ0FHVCxFQUFFLENBS0EsTUFBTSxBQUlILE9BQU8sQ0FBQztjQUNQLE9BQU8sRUFBRSxFQUFFO2NBQ1gsTUFBTSxFQUFFLGNBQWM7Y0FDdEIsYUFBYSxFQUFFLElBQUk7Y0FDbkIsS0FBSyxFQUFFLElBQUk7Y0FDWCxNQUFNLEVBQUUsSUFBSTtjQUNaLE9BQU8sRUFBRSxDQUFDLEdBQ1g7VXpDM0NULEF5Q2dEVSxzQnpDaERZLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F5QnJDLFdBQVcsQ0FHVCxFQUFFLEFBbUJDLGFBQWEsQ0FDWixNQUFNLEFBQ0gsT0FBTyxDQUFDO1lBQ1AsZ0JBQWdCLEVBQUUsSUFBSSxHQUN2QjtNekNsRFgsQXlDd0RFLHNCekN4RG9CLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F5RHJDLGNBQWMsQ0FBQztRQUNiLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE9BQU8sRUFBRSxDQUFDLEdBa0RYO1FqQzNDQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEF5Q3dERSxzQnpDeERvQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBeURyQyxjQUFjLENBQUM7WUFNWCxRQUFRLEVBQUUsUUFBUTtZQUNsQixHQUFHLEVBQUUsQ0FBQztZQUNOLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLENBQUMsR0E0Q1Y7UXpDN0dILEF5Q29FSSxzQnpDcEVrQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBeURyQyxjQUFjLENBWVosTUFBTSxDQUFDO1VBQ0wsZ0JBQWdCLEVBQUUsT0FBTztVQUN6QixRQUFRLEVBQUUsUUFBUSxHQUNuQjtRekN2RUwsQXlDeUVJLHNCekN6RWtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F5RHJDLGNBQWMsQ0FpQlosWUFBWSxDQUFDO1VBQ1gsUUFBUSxFQUFFLFFBQVE7VUFDbEIsS0FBSyxFQUFFLElBQUk7VUFDWCxXQUFXLEVBNUVRLElBQUk7VUE2RXZCLGVBQWUsRUFBRSxLQUFLO1VBQ3RCLHFCQUFxQixFQUFFLE1BQU0sR0FTOUI7VWpDckJELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtZUmxFL0IsQXlDeUVJLHNCekN6RWtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F5RHJDLGNBQWMsQ0FpQlosWUFBWSxDQUFDO2NBUVQsVUFBVSxFQUFFLEtBQUssR0FNcEI7VUFIQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1l6Q3BGMUMsQXlDeUVJLHNCekN6RWtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F5RHJDLGNBQWMsQ0FpQlosWUFBWSxDQUFDO2NBWVQsV0FBVyxFQUFFLEtBQUssR0FFckI7UXpDdkZMLEF5Q3dGSSxzQnpDeEZrQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBeURyQyxjQUFjLENBZ0NaLFlBQVksQ0FBQztVQUNYLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEdBQUcsRUFBRSxDQUFDO1VBQ04sSUFBSSxFQUFFLENBQUM7VUFDUCxLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJO1VBQ1osVUFBVSxFQUFFLEtBQUssR0FLbEI7VWpDakNELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtZUmxFL0IsQXlDd0ZJLHNCekN4RmtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F5RHJDLGNBQWMsQ0FnQ1osWUFBWSxDQUFDO2NBUVQsT0FBTyxFQUFFLElBQUk7Y0FDYixVQUFVLEVBQUUsTUFBTSxHQUVyQjtRekNuR0wsQXlDcUdJLHNCekNyR2tCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F5RHJDLGNBQWMsQ0E2Q1osb0JBQW9CLENBQUM7VUFDbkIsUUFBUSxFQUFFLFFBQVE7VUFDbEIsR0FBRyxFQUFFLENBQUM7VUFDTixNQUFNLEVBQUUsQ0FBQztVQUNULEtBQUssRUFBRSxDQUFDO1VBQ1IsSUFBSSxFQUFFLENBQUM7VUFDUCxnQkFBZ0IsRUFBRSxxQkFBcUIsR0FDeEM7TXpDNUdMLEF5QytHRSxzQnpDL0dvQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBZ0hyQyxrQkFBa0IsQ0FBQztRQUNqQixVQUFVLEVBaEhXLElBQUk7UUFpSHpCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFQUFFLENBQUM7UUFDTixJQUFJLEVBQUUsR0FBRztRQUNULGNBQWMsRUFBRSxJQUFJO1F2QzVGcEIsY0FBYyxFdUM4RkssZ0JBQWdCO1F2QzdGbkMsYUFBYSxFdUM2Rk0sZ0JBQWdCO1F2QzVGbkMsWUFBWSxFdUM0Rk8sZ0JBQWdCO1F2QzNGbkMsaUJBQWlCLEV1QzJGRSxnQkFBZ0I7UXZDMUZuQyxTQUFTLEV1QzBGVSxnQkFBZ0I7UXZDekZuQywyQkFBMkIsRUFBRSxNQUFNLEd1Q3FKcEM7UWpDbEhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQXlDK0dFLHNCekMvR29CLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0FnSHJDLGtCQUFrQixDQUFDO1lBWWYsUUFBUSxFQUFFLFFBQVE7WUFDbEIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsR0FBRyxFQUFFLEtBQUs7WUFDVixJQUFJLEVBQUUsS0FBSztZQUNYLFVBQVUsRUFBRSxLQUFLLEdBcURwQjtRQWxEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1V6Q2xJeEMsQXlDK0dFLHNCekMvR29CLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0FnSHJDLGtCQUFrQixDQUFDO1lBb0JmLFVBQVUsRUFBRSxLQUFLLEdBaURwQjtRakNsSEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBeUNzSUksc0J6Q3RJa0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQWdIckMsa0JBQWtCLENBdUJoQixTQUFTLENBQUM7WUFFTixTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUksRUFBRSxRQUFRLEdBRWpCO1F6QzNJTCxBeUM2SUksc0J6QzdJa0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQWdIckMsa0JBQWtCLENBOEJoQixhQUFhLENBQUM7VUFDWixVQUFVLEVBQUUsS0FBSztVQUNqQixVQUFVLEVBQUUsSUFBSSxHQVNqQjtVekN4SkwsQXlDaUpNLHNCekNqSmdCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0FnSHJDLGtCQUFrQixDQThCaEIsYUFBYSxBQUlWLE1BQU0sQ0FBQztZQUNOLGdCQUFnQixFQUFFLElBQUksR0FDdkI7VUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1l6Q3JKMUMsQXlDNklJLHNCekM3SWtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0FnSHJDLGtCQUFrQixDQThCaEIsYUFBYSxDQUFDO2NBU1YsVUFBVSxFQUFFLEtBQUssR0FFcEI7UWpDdEZELE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztVUmxFaEMsQXlDMEpJLHNCekMxSmtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0FnSHJDLGtCQUFrQixDQTJDaEIsVUFBVSxDQUFDO1l2Q3JCWCxTQUFTLEVBQUUscURBQW9FLEd1QzhCOUU7UWpDakdELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQXlDMEpJLHNCekMxSmtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0FnSHJDLGtCQUFrQixDQTJDaEIsVUFBVSxDQUFDO1lBTVAsU0FBUyxFQUFFLElBQUksR0FHbEI7UXpDbktMLEF5Q3FLSSxzQnpDcktrQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBZ0hyQyxrQkFBa0IsQ0FzRGhCLFlBQVksQ0FBQztVQUNYLFVBQVUsRUFBRSxJQUFJO1VBQ2hCLGFBQWEsRUFBRSxLQUFLO1VBQ3BCLGNBQWMsRUFBRSxHQUFHO1VBQ25CLEtBQUssRUFBRSxJQUFJO1VBQ1gsT0FBTyxFQUFFLFlBQVksR0FTdEI7VXpDbkxMLEF5QzRLTSxzQnpDNUtnQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBZ0hyQyxrQkFBa0IsQ0FzRGhCLFlBQVksQUFPVCxNQUFNLENBQUM7WUFDTixLQUFLLEV4Qy9LSCxPQUFPLEd3Q2dMVjtVakM1R0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1lSbEUvQixBeUNxS0ksc0J6Q3JLa0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQWdIckMsa0JBQWtCLENBc0RoQixZQUFZLENBQUM7Y0FZVCxhQUFhLEVBQUUsR0FBRyxHQUVyQjtNekNuTEwsQXlDc0xFLHNCekN0TG9CLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQUFDO1FBQ25CLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxDQUFDO1FBQ04sTUFBTSxFQUFFLENBQUM7UUFDVCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksRUFBRSxDQUFDLEdBMklSO1FqQ3BRQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEF5Q3NMRSxzQnpDdExvQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBdUxyQyxvQkFBb0IsQ0FBQztZQVFqQixRQUFRLEVBQUUsUUFBUSxHQXdJckI7UWpDcFFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQXlDaU1JLHNCekNqTWtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQVdsQixVQUFVLENBQUM7WUFFUCxTQUFTLEVBQUUsSUFBSTtZQUNmLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFlBQVksRUFBRSxDQUFDO1lBQ2YsUUFBUSxFQUFFLE1BQU0sR0FTbkI7UWpDN0lELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQXlDeU1NLHNCekN6TWdCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQVdsQixVQUFVLENBUVIsU0FBUyxDQUFDO1lBRU4sSUFBSSxFQUFFLFFBQVE7WUFDZCxTQUFTLEVBQUUsSUFBSSxHQUVsQjtRekM5TVAsQXlDaU5JLHNCekNqTmtCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQTJCbEIsbUJBQW1CLENBQUM7VUFDbEIsZ0JBQWdCLEV4Q3BOWix1QkFBTztVd0NxTlgsVUFBVSxFQUFFLGdCQUFvQztVQUNoRCxLQUFLLEVBQUUsS0FBSztVQUNaLFNBQVMsRUFBRSxJQUFJO1VBQ2YsS0FBSyxFQUFFLEtBQUs7VUFDWixRQUFRLEVBQUUsUUFBUTtVQUNsQixPQUFPLEVBQUUsQ0FBQztVQUNWLE9BQU8sRUFBRSxDQUFDLEdBK0VYO1VqQ3RPRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEF5Q2lOSSxzQnpDak5rQixDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBdUxyQyxvQkFBb0IsQ0EyQmxCLG1CQUFtQixDQUFDO2NBV2hCLFVBQVUsRUFBRSxLQUFLO2NBQ2pCLEtBQUssRUFBRSxJQUFJO2NBQ1gsT0FBTyxFQUFFLFdBQVcsR0EwRXZCO1VBdkVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07WXpDak8xQyxBeUNpTkksc0J6Q2pOa0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLENBMkJsQixtQkFBbUIsQ0FBQztjQWlCaEIsVUFBVSxFQUFFLEtBQUssR0FzRXBCO1V6Q3hTTCxBeUNxT00sc0J6Q3JPZ0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLENBMkJsQixtQkFBbUIsQ0FvQmpCLE1BQU0sQ0FBQztZQUNMLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLE9BQU8sRUFBRSxVQUFVLEdBZ0VwQjtZakNsUEgsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO2NSckQ1QixBeUNxT00sc0J6Q3JPZ0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLENBMkJsQixtQkFBbUIsQ0FvQmpCLE1BQU0sQ0FBQztnQkFLSCxLQUFLLEVBQUUsSUFBSSxHQTZEZDtZQTFEQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO2N6QzdPNUMsQXlDcU9NLHNCekNyT2dCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQTJCbEIsbUJBQW1CLENBb0JqQixNQUFNLENBQUM7Z0JBU0gsT0FBTyxFQUFFLFNBQVMsR0F5RHJCO1lBdERDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07Y3pDalA1QyxBeUNxT00sc0J6Q3JPZ0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLENBMkJsQixtQkFBbUIsQ0FvQmpCLE1BQU0sQ0FBQztnQkFhSCxPQUFPLEVBQUUsUUFBUSxHQXFEcEI7WWpDck9ILE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtjUmxFL0IsQXlDcU9NLHNCekNyT2dCLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQTJCbEIsbUJBQW1CLENBb0JqQixNQUFNLENBQUM7Z0JBaUJILE9BQU8sRUFBRSxJQUFJO2dCQUNiLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixjQUFjLEVBQUUsUUFBUTtnQkFDeEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsVUFBVSxFQUFFLElBQUksR0E2Q25CO1lBMUNDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEdBQUc7Y3pDN1B6QyxBeUNxT00sc0J6Q3JPZ0IsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLENBMkJsQixtQkFBbUIsQ0FvQmpCLE1BQU0sQ0FBQztnQkF5QkgsWUFBWSxFQUFFLEtBQUssR0F5Q3RCO1l6Q3ZTUCxBeUNpUVEsc0J6Q2pRYyxDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBdUxyQyxvQkFBb0IsQ0EyQmxCLG1CQUFtQixDQW9CakIsTUFBTSxDQTRCSixPQUFPLENBQUM7Y0FDTixTQUFTLEVBQUUsSUFBSTtjQUNmLFdBQVcsRUFBRSxHQUFHO2NBQ2hCLFdBQVcsRUFBRSxDQUFDLEdBU2Y7Y0FQQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO2dCekN0UTlDLEF5Q2lRUSxzQnpDalFjLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQTJCbEIsbUJBQW1CLENBb0JqQixNQUFNLENBNEJKLE9BQU8sQ0FBQztrQnZDNUhaLFNBQVMsRUFBRSxxREFBb0UsR3VDd0kxRTtjakMzTUwsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO2dCUmxFL0IsQXlDaVFRLHNCekNqUWMsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLENBMkJsQixtQkFBbUIsQ0FvQmpCLE1BQU0sQ0E0QkosT0FBTyxDQUFDO2tCdkM1SFosU0FBUyxFQUFFLHFEQUFvRSxHdUN3STFFO1l6QzdRVCxBeUMrUVEsc0J6Qy9RYyxDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBdUxyQyxvQkFBb0IsQ0EyQmxCLG1CQUFtQixDQW9CakIsTUFBTSxDQTBDSixNQUFNLENBQUM7Y0FDTCxTQUFTLEVBQUUsSUFBSTtjQUNmLFdBQVcsRUFBRSxHQUFHO2NBQ2hCLGNBQWMsRUFBRSxTQUFTO2NBQ3pCLFdBQVcsRUFBRSxHQUFHLEdBS2pCO2NBSEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtnQnpDclI5QyxBeUMrUVEsc0J6Qy9RYyxDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBdUxyQyxvQkFBb0IsQ0EyQmxCLG1CQUFtQixDQW9CakIsTUFBTSxDQTBDSixNQUFNLENBQUM7a0J2QzFJWCxTQUFTLEVBQUUscURBQW9FLEd1Q21KMUU7WXpDeFJULEF5QzBSUSxzQnpDMVJjLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQTJCbEIsbUJBQW1CLENBb0JqQixNQUFNLENBcURKLFlBQVksQ0FBQztjQUNYLFNBQVMsRUFBRSxJQUFJO2NBQ2YsV0FBVyxFQUFFLEdBQUcsR0FVakI7Y2pDcE9MLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtnQlJsRS9CLEF5QzBSUSxzQnpDMVJjLENzQ0R0Qix5QkFBeUIsQ0dBekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLGVBQWUsQ0F1THJDLG9CQUFvQixDQTJCbEIsbUJBQW1CLENBb0JqQixNQUFNLENBcURKLFlBQVksQ0FBQztrQkFLVCxTQUFTLEVBQUUsS0FBSztrQkFDaEIsTUFBTSxFQUFFLElBQUksR0FNZjtjekN0U1QsQXlDbVNVLHNCekNuU1ksQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLENBMkJsQixtQkFBbUIsQ0FvQmpCLE1BQU0sQ0FxREosWUFBWSxDQVNWLE1BQU0sQ0FBQztnQkFDTCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtRakNoUFAsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1VSckQ1QixBeUM0U1Esc0J6QzVTYyxDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBdUxyQyxvQkFBb0IsQUFvSGpCLG1CQUFtQixDQUNsQixtQkFBbUIsQ0FDakIsWUFBWSxDQUFDO1lBRVQsT0FBTyxFQUFFLElBQUk7WUFDYixVQUFVLEVBQUUsSUFBSSxHQWNuQjtRQVpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07VXpDalQ5QyxBeUM0U1Esc0J6QzVTYyxDc0NEdEIseUJBQXlCLENHQXpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBdUxyQyxvQkFBb0IsQUFvSGpCLG1CQUFtQixDQUNsQixtQkFBbUIsQ0FDakIsWUFBWSxDQUFDO1lBTVQsVUFBVSxFQUFFLEtBQUssR0FXcEI7UWpDeFFMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVUnJENUIsQXlDcVRVLHNCekNyVFksQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLEFBb0hqQixtQkFBbUIsQ0FDbEIsbUJBQW1CLENBQ2pCLFlBQVksQ0FTVixZQUFZLENBQUM7WUFFVCxPQUFPLEVBQUUsSUFBSTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLE1BQU07WUFDbkIsZUFBZSxFQUFFLE1BQU0sR0FFMUI7UWpDdlFQLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVUnJENUIsQXlDK1RRLHNCekMvVGMsQ3NDRHRCLHlCQUF5QixDR0F6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsZUFBZSxDQXVMckMsb0JBQW9CLEFBb0hqQixtQkFBbUIsQ0FDbEIsbUJBQW1CLENBb0JqQixNQUFNLENBQUM7WUFFSCxPQUFPLEVBQUUsYUFBYSxHQUV6QjtJekNuVVQsQXlDeVVBLHNCekN6VXNCLENzQ0R0Qix5QkFBeUIsQ0cwVXpCLE9BQU8sQUFBQSxjQUFjLENBQUM7TUFDcEIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsS0FBSztNQUNiLE1BQU0sRUFBRSxNQUFNO01BQ2QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsUUFBUSxFQUFFLE1BQU07TUFDaEIsVUFBVSxFQUFFLE1BQU07TUFDbEIsVUFBVSxFQUFFLElBQUk7TUFDaEIsY0FBYyxFQUFFLElBQUk7TUFDcEIsT0FBTyxFQUFFLENBQUMsR0E2Qlg7TWpDN1NHLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtRUmxFL0IsQXlDeVVBLHNCekN6VXNCLENzQ0R0Qix5QkFBeUIsQ0cwVXpCLE9BQU8sQUFBQSxjQUFjLENBQUM7VUFZbEIsT0FBTyxFQUFFLENBQUMsR0EwQmI7TXpDL1dELEF5Q3dWRSxzQnpDeFZvQixDc0NEdEIseUJBQXlCLENHMFV6QixPQUFPLEFBQUEsY0FBYyxBQWVsQixPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE1BQU0sRUFBRSxHQUFHO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLElBQUksRUFBRSxHQUFHO1FYaFdULGFBQWEsRVdrV1UsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUc7UUFDeEQsVUFBVSxFQUFFLHdCQUF3QixHQUtyQztRakNwU0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBeUN3VkUsc0J6Q3hWb0IsQ3NDRHRCLHlCQUF5QixDRzBVekIsT0FBTyxBQUFBLGNBQWMsQUFlbEIsT0FBTyxDQUFDO1lBWUwsT0FBTyxFQUFFLElBQUksR0FFaEI7TXpDdFdILEF5Q3VXRSxzQnpDdldvQixDc0NEdEIseUJBQXlCLENHMFV6QixPQUFPLEFBQUEsY0FBYyxHQThCZixPQUFPLENBQUM7UUFDVixPQUFPLEVBQUUsQ0FBQztRQUNWLFVBQVUsRUFBRSxHQUFHLEdBS2hCO1FqQzVTQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEF5Q3VXRSxzQnpDdldvQixDc0NEdEIseUJBQXlCLENHMFV6QixPQUFPLEFBQUEsY0FBYyxHQThCZixPQUFPLENBQUM7WUFLUixVQUFVLEVBQUUsS0FBSyxHQUVwQjtJekM5V0gsQTBDRkEsc0IxQ0VzQixDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQUFFO01BRzFDLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUhJLElBQUk7TUFJbEIsUUFBUSxFQUFFLFFBQVEsR0FnS3JCO00xQ25LRCxBMENLSSxzQjFDTGtCLENzQ0R0Qix5QkFBeUIsQ0lEekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxlQUFlLEVBT3hDLFdBQVcsQ0FBQztRQUNSLFFBQVEsRUFBRSxNQUFNLEdBMEJuQjtRMUNoQ0wsQTBDUVEsc0IxQ1JjLENzQ0R0Qix5QkFBeUIsQ0lEekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxlQUFlLEVBT3hDLFdBQVcsQ0FHUCxnQkFBZ0IsQ0FBQztVeENzQ3JCLE1BQU0sRUFBRSxDQUFDO1VBQ1QsSUFBSSxFQUFFLENBQUM7VUFDUCxRQUFRLEVBQUUsUUFBUTtVQUNsQixLQUFLLEVBQUUsQ0FBQztVQUNSLEdBQUcsRUFBRSxDQUFDLEd3QzNCRDtVQVpHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sZ0JBQWdCLEVBQUUsTUFBTTtZMUNYdkQsQTBDUVEsc0IxQ1JjLENzQ0R0Qix5QkFBeUIsQ0lEekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxlQUFlLEVBT3hDLFdBQVcsQ0FHUCxnQkFBZ0IsQ0FBQztjQUlULE9BQU8sRUFBRSxJQUFJLEdBV3BCO1UxQ3ZCVCxBMENlWSxzQjFDZlUsQ3NDRHRCLHlCQUF5QixDSUR6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFPeEMsV0FBVyxDQUdQLGdCQUFnQixDQU9aLE1BQU0sQ0FBQztZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLElBQUk7WUFDWixJQUFJLEVBQUUsR0FBRztZQUNULEdBQUcsRUFBRSxHQUFHO1l4Q09wQixjQUFjLEV3Q05pQixxQkFBcUI7WXhDT3BELGFBQWEsRXdDUGtCLHFCQUFxQjtZeENRcEQsWUFBWSxFd0NSbUIscUJBQXFCO1l4Q1NwRCxpQkFBaUIsRXdDVGMscUJBQXFCO1l4Q1VwRCxTQUFTLEV3Q1ZzQixxQkFBcUI7WXhDV3BELDJCQUEyQixFQUFFLE1BQU07WXdDVnZCLFFBQVEsRUFBRSxRQUFRLEdBQ3JCO1ExQ3RCYixBMEN5QlEsc0IxQ3pCYyxDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQU94QyxXQUFXLENBb0JQLEtBQUssQ0FBQztVeENxQlYsTUFBTSxFQUFFLENBQUM7VUFDVCxJQUFJLEVBQUUsQ0FBQztVQUNQLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEtBQUssRUFBRSxDQUFDO1VBQ1IsR0FBRyxFQUFFLENBQUMsR3dDbkJEO1VBSEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxnQkFBZ0IsRUFBRSxNQUFNO1kxQzVCdkQsQTBDeUJRLHNCMUN6QmMsQ3NDRHRCLHlCQUF5QixDSUR6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFPeEMsV0FBVyxDQW9CUCxLQUFLLENBQUM7Y0FJRSxPQUFPLEVBQUUsSUFBSSxHQUVwQjtNMUMvQlQsQTBDbUNJLHNCMUNuQ2tCLENzQ0R0Qix5QkFBeUIsQ0lEekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxlQUFlLEVBcUN4QyxpQkFBaUIsQ0FBQztReENXbEIsTUFBTSxFQUFFLENBQUM7UUFDVCxJQUFJLEVBQUUsQ0FBQztRQUNQLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEtBQUssRUFBRSxDQUFDO1FBQ1IsR0FBRyxFQUFFLENBQUM7UXdDYkYsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBdkNELElBQUk7UUF3Q2QsZUFBZSxFQUFFLEtBQUs7UUFDdEIsbUJBQW1CLEVBQUUsTUFBTSxHQUs5QjtRbENxQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBMENtQ0ksc0IxQ25Da0IsQ3NDRHRCLHlCQUF5QixDSUR6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFxQ3hDLGlCQUFpQixDQUFDO1lBUVYsVUFBVSxFQUFFLEtBQUssR0FFeEI7TTFDN0NMLEEwQytDSSxzQjFDL0NrQixDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQWlEeEMseUJBQXlCLENBQUM7UXhDRDFCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsSUFBSSxFQUFFLENBQUM7UUFDUCxRQUFRLEVBQUUsUUFBUTtRQUNsQixLQUFLLEVBQUUsQ0FBQztRQUNSLEdBQUcsRUFBRSxDQUFDO1F3Q0RGLGdCQUFnQixFQUFFLHFCQUFxQixHQUMxQztNMUNsREwsQTBDcURRLHNCMUNyRGMsQ3NDRHRCLHlCQUF5QixDSUR6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFzRHhDLGtCQUFrQixDQUNkLElBQUksQ0FBQztRQUNELFVBQVUsRUF2REosSUFBSTtRQXdEVixRQUFRLEVBQUUsUUFBUSxHQVlyQjtRMUNuRVQsQTBDNERnQixzQjFDNURNLENzQ0R0Qix5QkFBeUIsQ0lEekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxlQUFlLEVBc0R4QyxrQkFBa0IsQ0FDZCxJQUFJLEFBTUMsV0FBVyxDQUNSLGdCQUFnQixDQUFDO1VBQ2IsS0FBSyxFQUFFLEtBQUs7VUFDWixZQUFZLEVBQUUsQ0FBQztVQUNmLFdBQVcsRUFBRSxJQUFJO1VBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBQ25CO00xQ2pFakIsQTBDcUVRLHNCMUNyRWMsQ3NDRHRCLHlCQUF5QixDSUR6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFzRHhDLGtCQUFrQixDQWlCZCxTQUFTLENBQUM7UUFDTixhQUFhLEVBQUUsSUFBSTtRQUNuQixhQUFhLEVBQUUsS0FBSztRQUNwQixVQUFVLEVBQUUsS0FBSyxHQUNwQjtNMUN6RVQsQTBDMkVRLHNCMUMzRWMsQ3NDRHRCLHlCQUF5QixDSUR6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFzRHhDLGtCQUFrQixDQXVCZCxFQUFFLENBQUM7UXhDMERQLFNBQVMsRUFBRSxxREFBb0U7UXdDeER2RSxjQUFjLEVBQUUsTUFBTTtRQUN0QixXQUFXLEVBQUUsR0FBRztRQUNoQixXQUFXLEVBQUUsR0FBRztRQUNoQixhQUFhLEVBQUUsSUFBSSxHQW1DdEI7UUFqQ0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVMUNsRmhELEEwQzJFUSxzQjFDM0VjLENzQ0R0Qix5QkFBeUIsQ0lEekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxlQUFlLEVBc0R4QyxrQkFBa0IsQ0F1QmQsRUFBRSxDQUFDO1lBUUssU0FBUyxFQUFFLElBQUksR0FnQ3RCO1ExQ25IVCxBMENzRlksc0IxQ3RGVSxDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQXNEeEMsa0JBQWtCLENBdUJkLEVBQUUsQ0FXRSxVQUFVLENBQUM7VUFDUCxRQUFRLEVBQUUsUUFBUTtVQUNsQixXQUFXLEVBQUUsR0FBRyxHQTBCbkI7VTFDbEhiLEEwQzBGZ0Isc0IxQzFGTSxDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQXNEeEMsa0JBQWtCLENBdUJkLEVBQUUsQ0FXRSxVQUFVLEFBSUwsTUFBTSxDQUFDO1lBQ0osT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLE1BQU0sRUFBRSxHQUFHO1lBQ1gsZ0JBQWdCLEV6Q2hHMUIsT0FBTztZeUNpR0csT0FBTyxFQUFFLFlBQVk7WUFDckIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsTUFBTSxFQUFFLElBQUk7WUFDWixJQUFJLEVBQUUsR0FBRztZeENqRnpCLGNBQWMsRURnQkwsR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1lDZmhELGtCQUFrQixFRGVULEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtZQ2RoRCxlQUFlLEVEY04sR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1lDYmhELGFBQWEsRURhSixHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7WUNaaEQsVUFBVSxFRFlELEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtZQ1hoRCwyQkFBMkIsRUFBRSxNQUFNO1l3QzhFbkIsZ0JBQWdCLEVBQUUsSUFBSSxHQUN6QjtVMUNyR2pCLEEwQ3dHb0Isc0IxQ3hHRSxDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQXNEeEMsa0JBQWtCLENBdUJkLEVBQUUsQ0FXRSxVQUFVLEFBaUJMLGFBQWEsQUFDVCxNQUFNLENBQUM7WUFDSixLQUFLLEVBQUUsQ0FBQyxHQUNYO1UxQzFHckIsQTBDOEdvQixzQjFDOUdFLENzQ0R0Qix5QkFBeUIsQ0lEekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxlQUFlLEVBc0R4QyxrQkFBa0IsQ0F1QmQsRUFBRSxDQVdFLFVBQVUsQUF1QkwsZUFBZSxBQUNYLE1BQU0sQ0FBQztZQUNKLEtBQUssRUFBRSxnQkFBZ0IsR0FDMUI7TTFDaEhyQixBMENxSFEsc0IxQ3JIYyxDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQXNEeEMsa0JBQWtCLENBaUVkLFVBQVUsQ0FBQztReENnQmYsU0FBUyxFQUFFLHFEQUFvRTtRd0NkdkUsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLEtBQUs7UUFDckIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsS0FBSyxFQUFFLGlCQUFpQjtRQUN4QixPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsSUFBSSxHQUtuQjtRQUhHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07VTFDOUhoRCxBMENxSFEsc0IxQ3JIYyxDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQXNEeEMsa0JBQWtCLENBaUVkLFVBQVUsQ0FBQztZQVVILFNBQVMsRUFBRSxJQUFJLEdBRXRCO00xQ2pJVCxBMENtSVEsc0IxQ25JYyxDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxFQXNEeEMsa0JBQWtCLENBK0VkLGdCQUFnQixDQUFDO1FBQ2IsTUFBTSxFQUFFLE9BQU87UXhDQ3ZCLFNBQVMsRUFBRSxxREFBb0U7UXdDQ3ZFLEtBQUssRXpDeElQLE9BQU87UXlDeUlMLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBS2I7UUFIRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1UxQzNJaEQsQTBDbUlRLHNCMUNuSWMsQ3NDRHRCLHlCQUF5QixDSUR6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFzRHhDLGtCQUFrQixDQStFZCxnQkFBZ0IsQ0FBQztZQVNULFNBQVMsRUFBRSxJQUFJLEdBRXRCO01BS0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRMUNuSmhELEEwQ2tKUSxzQjFDbEpjLENzQ0R0Qix5QkFBeUIsQ0lEekIsT0FBTyxBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxlQUFlLElBbUpwQyxrQkFBa0IsQUFBQSxxQkFBcUIsQUFDdEMsTUFBTSxDQUFDO1VBRUEsSUFBSSxFQUFFLEtBQUssR0FFbEI7TUFHRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1ExQ3pKaEQsQTBDd0pRLHNCMUN4SmMsQ3NDRHRCLHlCQUF5QixDSUR6QixPQUFPLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGVBQWUsSUFtSnBDLGtCQUFrQixBQUFBLHFCQUFxQixBQU90QyxPQUFPLENBQUM7VUFFRCxLQUFLLEVBQUUsS0FBSyxHQU9uQjtNQUpHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UTFDN0poRCxBMEN3SlEsc0IxQ3hKYyxDc0NEdEIseUJBQXlCLENJRHpCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBQUEsZUFBZSxJQW1KcEMsa0JBQWtCLEFBQUEscUJBQXFCLEFBT3RDLE9BQU8sQ0FBQztVQU1ELEtBQUssRUFBRSxpQkFBaUI7VUFDeEIsS0FBSyxFQUFFLEtBQUssR0FFbkI7STFDaktULEEyQ1BBLHNCM0NPc0IsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQUFDO01BQ2hCLFVBQVUsRUFBRSxNQUFNO01BQ2xCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLEtBQUssRTFDT1EsT0FBTyxHMENtTXZCO00zQ3RNRCxBMkNGSSxzQjNDRWtCLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0FLZixZQUFZLENBQUM7UUFDVCxPQUFPLEVBQUUsSUFBSSxHQUtoQjtRM0NKTCxBMkNDUSxzQjNDRGMsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQUtmLFlBQVksQUFHUCxNQUFNLENBQUM7VUFDSixPQUFPLEVBQUUsSUFBSSxHQUNoQjtNM0NIVCxBMkNNSSxzQjNDTmtCLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0FhZixVQUFVLENBQUM7UUFDUCxRQUFRLEVBQUUsTUFBTTtRQUNoQixhQUFhLEVBQUUsSUFBSSxHQXNDdEI7UTNDOUNMLEEyQ1VRLHNCM0NWYyxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBYWYsVUFBVSxDQUlOLGFBQWEsQ0FBQztVQUNWLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7UTNDWlQsQTJDY1Esc0IzQ2RjLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0FhZixVQUFVLENBUU4sV0FBVyxDQUFDO1VBQ1IsTUFBTSxFQUFFLElBQUksR0FDZjtRM0NoQlQsQTJDa0JRLHNCM0NsQmMsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQWFmLFVBQVUsQ0FZTixZQUFZLENBQUM7VUFDVCxNQUFNLEVBQUUsSUFBSSxHQUNmO1EzQ3BCVCxBMkNzQlEsc0IzQ3RCYyxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBYWYsVUFBVSxDQWdCTixZQUFZLENBQUM7VUFDVCxNQUFNLEVBQUUsSUFBSSxHQUNmO1EzQ3hCVCxBMkMwQlEsc0IzQzFCYyxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBYWYsVUFBVSxDQW9CTixjQUFjLENBQUM7VUFDWCxNQUFNLEVBQUUsSUFBSTtVQUNaLEtBQUssRUFBRSxJQUFJO1VBQ1gsU0FBUyxFQUFFLElBQUksR0FDbEI7UTNDOUJULEEyQ2dDUSxzQjNDaENjLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0FhZixVQUFVLENBMEJOLGNBQWMsQ0FBQztVQUNYLEtBQUssRUFBRSxJQUFJO1VBQ1gsU0FBUyxFQUFFLEtBQUs7VUFDaEIsTUFBTSxFQUFFLElBQUk7VUFDWixLQUFLLEVBQUUsSUFBSTtVQUNYLFNBQVMsRUFBRSxLQUFLLEdBUW5CO1VuQ3FCTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEEyQ2dDUSxzQjNDaENjLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0FhZixVQUFVLENBMEJOLGNBQWMsQ0FBQztjQVFQLFNBQVMsRUFBRSxLQUFLO2NBQ2hCLEtBQUssRUFBRSxJQUFJO2NBQ1gsS0FBSyxFQUFFLElBQUk7Y0FDWCxXQUFXLEVBQUUsTUFBTSxHQUUxQjtNM0M3Q1QsQTJDZ0RJLHNCM0NoRGtCLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQUFDO1FBQ1osVUFBVSxFQUFFLEtBQUs7UUFDakIsYUFBYSxFQUFFLEtBQUssR0FtSnZCO1FuQ25JRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEEyQ2dESSxzQjNDaERrQixDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0FBQztZQUtSLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxJQUFJLEdBK0l6QjtRbkNuSUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBMkNnREksc0IzQ2hEa0IsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQXVEZixlQUFlLENBQUM7WUFVUixZQUFZLEVBQUUsSUFBSSxHQTJJekI7UTNDck1MLEEyQzZEUSxzQjNDN0RjLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQWFYLFlBQVksQ0FBQztVQUNULE9BQU8sRUFBRSxJQUFJLEdBT2hCO1UzQ3JFVCxBMkNnRVksc0IzQ2hFVSxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0FhWCxZQUFZLENBR1IsWUFBWSxDQUFDO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsSUFBSTtZQUNaLGNBQWMsRUFBRSxNQUFNLEdBQ3pCO1EzQ3BFYixBMkN1RVEsc0IzQ3ZFYyxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0F1QlgsWUFBWSxDQUFDO1VBQ1QsYUFBYSxFQUFFLEtBQUssR0F3RXZCO1VuQzlFTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7WVJsRWhDLEEyQ3VFUSxzQjNDdkVjLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQXVCWCxZQUFZLENBQUM7Y0FJTCxhQUFhLEVBQUUsRUFBRSxHQXFFeEI7VTNDaEpULEEyQzhFWSxzQjNDOUVVLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQXVCWCxZQUFZLEFBT1AsY0FBYyxDQUFDO1lBQ1osV0FBVyxFQUFFLEtBQUssR0FVckI7WW5DdkJULE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztjUmxFaEMsQTJDOEVZLHNCM0M5RVUsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQXVEZixlQUFlLENBdUJYLFlBQVksQUFPUCxjQUFjLENBQUM7Z0JBSVIsV0FBVyxFQUFFLEtBQUssR0FPekI7WW5DdkJULE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtjUmxFL0IsQTJDOEVZLHNCM0M5RVUsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQXVEZixlQUFlLENBdUJYLFlBQVksQUFPUCxjQUFjLENBQUM7Z0JBUVIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsWUFBWSxFQUFFLEtBQUssR0FFMUI7VTNDekZiLEEyQzRGWSxzQjNDNUZVLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQXVCWCxZQUFZLEFBcUJQLElBQUssQ0FBQSxjQUFjLEVBQUU7WUFDbEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsY0FBYyxFQUFFLFNBQVM7WUFDekIsV0FBVyxFQUFFLFVBQVU7WUFDdkIsU0FBUyxFQUFFLFVBQVU7WUFDckIsVUFBVSxFQUFFLFVBQVUsR0FNekI7WTNDdkdiLEEyQ29HZ0Isc0IzQ3BHTSxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0F1QlgsWUFBWSxBQXFCUCxJQUFLLENBQUEsY0FBYyxFQVFoQixXQUFXLENBQUM7Y0FDUixPQUFPLEVBQUUsQ0FBQyxHQUNiO1UzQ3RHakIsQTJDeUdZLHNCM0N6R1UsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQXVEZixlQUFlLENBdUJYLFlBQVksQ0FrQ1IsRUFBRSxDQUFDO1lBQ0MsVUFBVSxFQUFFLElBQUk7WUFDaEIsYUFBYSxFQUFFLElBQUksR0FLdEI7WW5DOUNULE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztjUmxFaEMsQTJDeUdZLHNCM0N6R1UsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQXVEZixlQUFlLENBdUJYLFlBQVksQ0FrQ1IsRUFBRSxDQUFDO2dCekM0QlgsU0FBUyxFQUFFLHFEQUFvRSxHeUNyQnRFO1UzQ2hIYixBMkNrSFksc0IzQ2xIVSxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0F1QlgsWUFBWSxDQTJDUixXQUFXLENBQUM7WUFDUixTQUFTLEVBQUUsSUFBSTtZQUNmLGNBQWMsRUFBRSxNQUFNLEdBQ3pCO1UzQ3JIYixBMkN1SFksc0IzQ3ZIVSxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0F1QlgsWUFBWSxDQWdEUixPQUFPLENBQUM7WUFDSixTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxLQUFLO1lBQ2QsVUFBVSxFQUFFLE1BQU07WUFDbEIsV0FBVyxFQUFFLEdBQUc7WUFDaEIsV0FBVyxFQUFFLEdBQUc7WUFDaEIsY0FBYyxFQUFFLE1BQU07WUFDdEIsV0FBVyxFQUFFLEdBQUcsR0FLbkI7WUFIRyxNQUFNLEVBQUMsU0FBUyxFQUFFLE1BQU07YzNDaEl4QyxBMkN1SFksc0IzQ3ZIVSxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0F1QlgsWUFBWSxDQWdEUixPQUFPLENBQUM7Z0J6Q2NoQixTQUFTLEVBQUUscURBQW9FLEd5Q0Z0RTtVM0NuSWIsQTJDcUlZLHNCM0NySVUsQ3NDRHRCLHlCQUF5QixDS056QixPQUFPLEFBQUEsWUFBWSxDQXVEZixlQUFlLENBdUJYLFlBQVksQ0E4RFIsTUFBTSxDQUFDO1lBQ0gsY0FBYyxFQUFFLFNBQVM7WUFDekIsT0FBTyxFQUFFLEtBQUs7WUFDZCxVQUFVLEVBQUUsTUFBTTtZQUNsQixXQUFXLEVBQUUsR0FBRztZQUNoQixjQUFjLEVBQUUsTUFBTSxHQUt6QjtZbkM3RVQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO2NSbEUvQixBMkNxSVksc0IzQ3JJVSxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0F1QlgsWUFBWSxDQThEUixNQUFNLENBQUM7Z0J6Q0FmLFNBQVMsRUFBRSxxREFBb0UsR3lDVXRFO1EzQy9JYixBMkNrSlEsc0IzQ2xKYyxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0FrR1gsV0FBVyxDQUFDO1VBQ1IsTUFBTSxFQUFFLENBQUM7VUFDVCxLQUFLLEVBQUUsSUFBSTtVQUNYLEtBQUssRUFBRSxLQUFLLEdBMENmO1VuQzdITCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7WVJsRWhDLEEyQ2tKUSxzQjNDbEpjLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQWtHWCxXQUFXLENBQUM7Y0FNSixLQUFLLEVBQUUsZ0JBQWdCLEdBdUM5QjtVbkM3SEwsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1lSbEUvQixBMkNrSlEsc0IzQ2xKYyxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0FrR1gsV0FBVyxDQUFDO2NBVUosTUFBTSxFQUFFLEtBQUssR0FtQ3BCO1VuQzdITCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEEyQ2tKUSxzQjNDbEpjLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQWtHWCxXQUFXLENBQUM7Y0FjSixLQUFLLEVBQUUsSUFBSSxHQStCbEI7VTNDL0xULEEyQ21LWSxzQjNDbktVLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQWtHWCxXQUFXLENBaUJQLEVBQUUsQ0FBQztZQUNDLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsS0FBSyxHQXdCaEI7WTNDOUxiLEEyQ3lLZ0Isc0IzQ3pLTSxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0FrR1gsV0FBVyxDQWlCUCxFQUFFLENBTUUsTUFBTSxDQUFDO2NBQ0gsS0FBSyxFQUFFLElBQUk7Y0FDWCxNQUFNLEVBQUUsSUFBSSxHQVVmO2MzQ3JMakIsQTJDNktvQixzQjNDN0tFLENzQ0R0Qix5QkFBeUIsQ0tOekIsT0FBTyxBQUFBLFlBQVksQ0F1RGYsZUFBZSxDQWtHWCxXQUFXLENBaUJQLEVBQUUsQ0FNRSxNQUFNLEFBSUQsT0FBTyxDQUFDO2dCQUNMLE9BQU8sRUFBRSxFQUFFO2dCQUNYLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUM1S3hCLE9BQU87Z0IwQzZLQSxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsTUFBTSxFQUFFLElBQUk7Z0JBQ1osT0FBTyxFQUFFLENBQUMsR0FDYjtZM0NwTHJCLEEyQ3lMd0Isc0IzQ3pMRixDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0FrR1gsV0FBVyxDQWlCUCxFQUFFLEFBb0JHLGFBQWEsQ0FDVixNQUFNLEFBQ0QsT0FBTyxDQUFDO2NBQ0wsZ0JBQWdCLEUxQ3ZMM0IsT0FBTyxHMEN3TEM7UTNDM0x6QixBMkNpTVEsc0IzQ2pNYyxDc0NEdEIseUJBQXlCLENLTnpCLE9BQU8sQUFBQSxZQUFZLENBdURmLGVBQWUsQ0FpSlgsV0FBVyxDQUFDO1VBQ1IsT0FBTyxFQUFFLFlBQVk7VUFDckIsVUFBVSxFQUFFLElBQUksR0FDbkI7STNDcE1ULEE0Q1BBLHNCNUNPc0IsQ3NDRHRCLHlCQUF5QixDTU56QixPQUFPLEFBQUEsWUFBWSxDQUFDO01BVWhCLE9BQU8sRUFBRSxNQUFNLEdBeUVsQjtNNUM1RUQsQTRDSUksc0I1Q0prQixDc0NEdEIseUJBQXlCLENNTnpCLE9BQU8sQUFBQSxZQUFZLENBV2YsZUFBZSxDQUFDO1FBQ2QsS0FBSyxFQUFFLElBQUk7UUFFWCxPQUFPLEVBQUUsSUFBSTtRQUNiLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLFNBQVMsRUFBRSxNQUFNLEdBQ2xCO001Q1ZMLEE0Q1lJLHNCNUNaa0IsQ3NDRHRCLHlCQUF5QixDTU56QixPQUFPLEFBQUEsWUFBWSxDQW1CZixLQUFLLENBQUM7UUFDSixTQUFTLEVBQUUsSUFBSTtRQUNmLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLEtBQUssRUFBQyxPQUFPO1FBQ2IsV0FBVyxFQUFFLElBQUksR0FlbEI7UTVDL0JMLEE0Q2lCTSxzQjVDakJnQixDc0NEdEIseUJBQXlCLENNTnpCLE9BQU8sQUFBQSxZQUFZLENBbUJmLEtBQUssQ0FLSCxJQUFJLENBQ0o7VUFDSSxLQUFLLEVBQUMsT0FBTztVQUNiLFNBQVMsRUFBQyxJQUFJO1VBQ2QsV0FBVyxFQUFFLE1BQU07VUFDbkIsTUFBTSxFQUFDLENBQUM7VUFDUixPQUFPLEVBQUMsQ0FBQztVQUNULE9BQU8sRUFBQyxLQUFLLEdBQ2hCO1FBRUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztVNUMzQjlDLEE0Q1lJLHNCNUNaa0IsQ3NDRHRCLHlCQUF5QixDTU56QixPQUFPLEFBQUEsWUFBWSxDQW1CZixLQUFLLENBQUM7WUFnQkYsVUFBVSxFQUFFLE1BQU0sR0FHckI7TTVDL0JMLEE0Q2lDSSxzQjVDakNrQixDc0NEdEIseUJBQXlCLENNTnpCLE9BQU8sQUFBQSxZQUFZLENBd0NmLE1BQU0sQ0FBQztRQUNMLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVLEVBQUUsSUFBSTtRQUNoQixhQUFhLEVBQUUsSUFBSTtRQUNuQixLQUFLLEVBQUUsSUFBSTtRQUNYLFFBQVEsRUFBRSxNQUFNLEdBQ2pCO001Q3hDTCxBNEMwQ0ksc0I1QzFDa0IsQ3NDRHRCLHlCQUF5QixDTU56QixPQUFPLEFBQUEsWUFBWSxDQWlEZixTQUFTLENBQUM7UUFDUixLQUFLLEVBQUUsSUFBSTtRQUVYLE1BQU0sRUFBRSxJQUFJO1FBRVosT0FBTyxFQUFFLEdBQUcsR0FFYjtNNUNqREwsQTRDbURJLHNCNUNuRGtCLENzQ0R0Qix5QkFBeUIsQ01OekIsT0FBTyxBQUFBLFlBQVksQ0EwRGYsVUFBVSxDQUFDO1FBQ1QsS0FBSyxFQUFFLEdBQUc7UUFFVixPQUFPLEVBQUUsSUFBSTtRQUNiLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLENBQUMsR0FVVjtRNUNsRUwsQTRDMERNLHNCNUMxRGdCLENzQ0R0Qix5QkFBeUIsQ01OekIsT0FBTyxBQUFBLFlBQVksQ0EwRGYsVUFBVSxBQU9QLEtBQUssQ0FDTjtVQUNJLFVBQVUsRUFBQyxLQUFLLEdBQ25CO1FBQ0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztVNUM5RDlDLEE0Q21ESSxzQjVDbkRrQixDc0NEdEIseUJBQXlCLENNTnpCLE9BQU8sQUFBQSxZQUFZLENBMERmLFVBQVUsQ0FBQztZQVlQLEtBQUssRUFBRSxHQUFHO1lBQ1YsVUFBVSxFQUFFLE1BQU0sR0FFckI7TTVDbEVMLEE0Q29FSSxzQjVDcEVrQixDc0NEdEIseUJBQXlCLENNTnpCLE9BQU8sQUFBQSxZQUFZLENBMkVmLFlBQVksRTVDcEVoQixzQkFBc0IsQ3NDRHRCLHlCQUF5QixDTU56QixPQUFPLEFBQUEsWUFBWSxDQTJFRCxXQUFXLENBQUM7UUFDeEIsT0FBTyxFQUFFLEtBQUssR0FDZjtNNUN0RUwsQTRDd0VJLHNCNUN4RWtCLENzQ0R0Qix5QkFBeUIsQ01OekIsT0FBTyxBQUFBLFlBQVksQ0ErRWYsWUFBWSxDQUFDO1FBQ1gsV0FBVyxFQUFFLElBQUksR0FDbEI7STVDMUVMLEE2Q0ZBLHNCN0NFc0IsQ3NDRHRCLHlCQUF5QixDT0R6QixVQUFVLENBQUM7TUFDVCxnQkFBZ0IsRUFBRSxJQUFJLEdBZ0d2QjtNN0MvRkQsQTZDQ0Usc0I3Q0RvQixDc0NEdEIseUJBQXlCLENPRHpCLFVBQVUsQ0FHUixXQUFXLENBQUM7UUFDVixXQUFXLEVBQUUsS0FBSztRQUNsQixjQUFjLEVBQUUsS0FBSyxHQTJGdEI7UTdDOUZILEE2Q0tJLHNCN0NMa0IsQ3NDRHRCLHlCQUF5QixDT0R6QixVQUFVLENBR1IsV0FBVyxDQUlULGdCQUFnQixDQUFDO1VBQ2YsT0FBTyxFQUFFLElBQUk7VUFDYixTQUFTLEVBQUUsSUFBSTtVQUNmLFVBQVUsRUFBRSxNQUFNO1VBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBb0ZqQjtVN0M3RkwsQTZDV00sc0I3Q1hnQixDc0NEdEIseUJBQXlCLENPRHpCLFVBQVUsQ0FHUixXQUFXLENBSVQsZ0JBQWdCLEdBTVYsR0FBRyxDQUFDO1lBS04sSUFBSSxFQUFFLEdBQUc7WUFJVCxNQUFNLEVBQUUsTUFBTSxHQWtEZjtZN0N0RVAsQTZDWVEsc0I3Q1pjLENzQ0R0Qix5QkFBeUIsQ09EekIsVUFBVSxDQUdSLFdBQVcsQ0FJVCxnQkFBZ0IsR0FNVixHQUFHLENBQ0osQUFBQSxVQUFDLEFBQUEsRUFBWTtjQUNaLHdCQUF3QixFQUN6QjtZN0NkVCxBNkNpQlEsc0I3Q2pCYyxDc0NEdEIseUJBQXlCLENPRHpCLFVBQVUsQ0FHUixXQUFXLENBSVQsZ0JBQWdCLEdBTVYsR0FBRyxBQU1KLE9BQU8sQ0FBQztjQUNQLElBQUksRUFBRSxHQUFHLEdBQ1Y7WUFHRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7YzdDdEJoQyxBNkNXTSxzQjdDWGdCLENzQ0R0Qix5QkFBeUIsQ09EekIsVUFBVSxDQUdSLFdBQVcsQ0FJVCxnQkFBZ0IsR0FNVixHQUFHLENBQUM7Z0JBWUosSUFBSSxFQUFFLGNBQWMsR0ErQ3ZCO1k3Q3RFUCxBNkMwQlEsc0I3QzFCYyxDc0NEdEIseUJBQXlCLENPRHpCLFVBQVUsQ0FHUixXQUFXLENBSVQsZ0JBQWdCLEdBTVYsR0FBRyxDQWVMLEdBQUcsQ0FBQztjQUNGLFVBQVUsRUFBRSxLQUFLO2NBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO1k3QzdCVCxBNkMrQlEsc0I3Qy9CYyxDc0NEdEIseUJBQXlCLENPRHpCLFVBQVUsQ0FHUixXQUFXLENBSVQsZ0JBQWdCLEdBTVYsR0FBRyxDQW9CTCxXQUFXLENBQUM7Y0FDVixTQUFTLEVBQUUsSUFBSTtjQUNmLFdBQVcsRUFBRSxHQUFHO2NBQ2hCLE1BQU0sRUFBRSxXQUFXO2NBQ25CLFNBQVMsRUFBRSxHQUFHO2NBQ2QsS0FBSyxFQUFFLE9BQU8sR0FDZjtZN0NyQ1QsQTZDdUNRLHNCN0N2Q2MsQ3NDRHRCLHlCQUF5QixDT0R6QixVQUFVLENBR1IsV0FBVyxDQUlULGdCQUFnQixHQU1WLEdBQUcsQUE0QkosVUFBVSxDQUFDO2NBQ1YsTUFBTSxFQUFFLE9BQU87Y0FDZixRQUFRLEVBQUUsUUFBUSxHQTRCbkI7YzdDckVULEE2QzRDWSxzQjdDNUNVLENzQ0R0Qix5QkFBeUIsQ09EekIsVUFBVSxDQUdSLFdBQVcsQ0FJVCxnQkFBZ0IsR0FNVixHQUFHLEFBNEJKLFVBQVUsQUFJUixPQUFPLEFBQ0wsTUFBTSxDQUFDO2dCQUNOLE9BQU8sRUFBRSxFQUFFO2dCQUNYLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLEtBQUssRUFBRSxJQUFJO2dCQUNYLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFdBQVcsRUFBRSxlQUFlO2dCQUM1QixVQUFVLEVBQUUsZUFBZTtnQkFDM0IsZ0JBQWdCLEVBQUUsSUFBSTtnQjNDNUJoQyxjQUFjLEUyQzhCZSxhQUFhLENBQUMsd0JBQXdCO2dCM0M3Qm5FLGFBQWEsRTJDNkJnQixhQUFhLENBQUMsd0JBQXdCO2dCM0M1Qm5FLFlBQVksRTJDNEJpQixhQUFhLENBQUMsd0JBQXdCO2dCM0MzQm5FLGlCQUFpQixFMkMyQlksYUFBYSxDQUFDLHdCQUF3QjtnQjNDMUJuRSxTQUFTLEUyQzBCb0IsYUFBYSxDQUFDLHdCQUF3QjtnQjNDekJuRSwyQkFBMkIsRUFBRSxNQUFNO2dCMkMwQnpCLDJCQUEyQixFQUFFLEtBQUssR0FDbkM7YzdDMURiLEE2QzhEWSxzQjdDOURVLENzQ0R0Qix5QkFBeUIsQ09EekIsVUFBVSxDQUdSLFdBQVcsQ0FJVCxnQkFBZ0IsR0FNVixHQUFHLEFBNEJKLFVBQVUsQ0FzQlQsR0FBRyxBQUNBLE1BQU0sRTdDOURuQixzQkFBc0IsQ3NDRHRCLHlCQUF5QixDT0R6QixVQUFVLENBR1IsV0FBVyxDQUlULGdCQUFnQixHQU1WLEdBQUcsQUE0QkosVUFBVSxDQXNCVCxHQUFHLEFBRUEsT0FBTyxDQUFDO2dCQUNQLGNBQWMsRUFBRSxXQUFXLENBQUMsU0FBVSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsYUFBYTtnQkFFdkcsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFVLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxhQUFhLEdBQ2hHO1U3Q25FYixBNkN3RU0sc0I3Q3hFZ0IsQ3NDRHRCLHlCQUF5QixDT0R6QixVQUFVLENBR1IsV0FBVyxDQUlULGdCQUFnQixDQW1FZCxTQUFTLENBQUM7WUFDUixJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRSxDQUFDO1lBQ1QsT0FBTyxFQUFFLFNBQVM7WUFDbEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsT0FBTyxHQWFoQjtZN0M1RlAsQTZDaUZRLHNCN0NqRmMsQ3NDRHRCLHlCQUF5QixDT0R6QixVQUFVLENBR1IsV0FBVyxDQUlULGdCQUFnQixDQW1FZCxTQUFTLENBU1AsS0FBSyxDQUFDO2NBQ0osT0FBTyxFQUFFLElBQUk7Y0FDYixTQUFTLEVBQUUsSUFBSSxHQUNoQjtZN0NwRlQsQTZDc0ZRLHNCN0N0RmMsQ3NDRHRCLHlCQUF5QixDT0R6QixVQUFVLENBR1IsV0FBVyxDQUlULGdCQUFnQixDQW1FZCxTQUFTLENBY1AsU0FBUyxDQUFDO2NBQ1IsUUFBUSxFQUFFLFFBQVE7Y0FDbEIsS0FBSyxFQUFFLElBQUk7Y0FDWCxHQUFHLEVBQUUsSUFBSTtjQUNULE1BQU0sRUFBRSxPQUFPLEdBQ2hCO0k3QzNGVCxBOENEQSxzQjlDQ3NCLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBQUM7TUFDZixPQUFPLEVBQUUsTUFBTTtNQUNmLFFBQVEsRUFBRSxRQUFRO01BRWxCLHlCQUF5QixFQUFFLEtBQUssR0EwR2pDO005QzdHRCxBOENLRSxzQjlDTG9CLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBTWQsT0FBTyxDQUFDO1FBQ0osT0FBTyxFQUFFLElBQUksR0EyRGhCO1E5Q2pFSCxBOENRTSxzQjlDUmdCLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBTWQsT0FBTyxDQUdILEtBQUssQ0FBQztVQUNGLFVBQVUsRUFBRSxNQUFNO1VBQ2xCLElBQUksRUFBRSxHQUFHLEdBYVo7VTlDdkJQLEE4Q1lVLHNCOUNaWSxDc0NEdEIseUJBQXlCLENRQXpCLGdCQUFnQixDQU1kLE9BQU8sQ0FHSCxLQUFLLEdBSUMsR0FBRyxDQUFDO1k1Q3lIWixTQUFTLEVBQUUscURBQW9FO1k0Q3ZIckUsV0FBVyxFQUFFLEdBQUcsR0FRbkI7WTlDdEJYLEE4Q2dCYyxzQjlDaEJRLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBTWQsT0FBTyxDQUdILEtBQUssR0FJQyxHQUFHLEFBSUEsUUFBUSxDQUFDO2M1Q3FIcEIsU0FBUyxFQUFFLHFEQUFvRTtjNENuSGpFLFdBQVcsRUFBRSxHQUFHO2NBQ2hCLE1BQU0sRUFBRSxNQUFNO2NBQ2QsV0FBVyxFQUFFLEdBQUcsR0FDbkI7UTlDckJmLEE4Q3lCTSxzQjlDekJnQixDc0NEdEIseUJBQXlCLENRQXpCLGdCQUFnQixDQU1kLE9BQU8sQ0FvQkgsSUFBSSxDQUFDO1VBQ0QsSUFBSSxFQUFFLEdBQUc7VUFDVCxNQUFNLEVBQUUsT0FBTztVQUNmLE9BQU8sRUFBRSxJQUFJO1VBQ2IsZUFBZSxFQUFFLE1BQU0sR0FPMUI7VTlDcENQLEE4QytCVSxzQjlDL0JZLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBTWQsT0FBTyxDQW9CSCxJQUFJLENBTUEsS0FBSyxDQUFDO1lBQ0YsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsR0FBRztZQUNWLFVBQVUsRTdDcENkLE9BQU8sRzZDcUNOO1E5Q25DWCxBOENzQ00sc0I5Q3RDZ0IsQ3NDRHRCLHlCQUF5QixDUUF6QixnQkFBZ0IsQ0FNZCxPQUFPLENBaUNILE1BQU0sQ0FBQztVQUNILElBQUksRUFBRSxHQUFHO1VBQ1QsV0FBVyxFQUFFLEdBQUc7VTVDNkZ0QixTQUFTLEVBQUUscURBQW9FO1U0QzNGekUsV0FBVyxFQUFFLElBQUk7VUFDakIsT0FBTyxFQUFFLElBQUk7VUFDYixjQUFjLEVBQUUsTUFBTTtVQUN0QixlQUFlLEVBQUUsYUFBYSxHQW1CakM7VTlDaEVQLEE4Q2lEYyxzQjlDakRRLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBTWQsT0FBTyxDQWlDSCxNQUFNLEdBU0UsR0FBRyxHQUVDLEdBQUcsQ0FBQztZQUNKLE9BQU8sRUFBRSxNQUFNLEdBS2xCO1k5Q3ZEZixBOENvRGtCLHNCOUNwREksQ3NDRHRCLHlCQUF5QixDUUF6QixnQkFBZ0IsQ0FNZCxPQUFPLENBaUNILE1BQU0sR0FTRSxHQUFHLEdBRUMsR0FBRyxBQUdGLFlBQVksQ0FBQztjQUNWLFdBQVcsRUFBRSxDQUNqQixHQUFDO1U5Q3REbkIsQThDMERVLHNCOUMxRFksQ3NDRHRCLHlCQUF5QixDUUF6QixnQkFBZ0IsQ0FNZCxPQUFPLENBaUNILE1BQU0sQ0FvQkYsR0FBRyxDQUFDO1lBQ0EsU0FBUyxFQUFFLEtBQUs7WUFDaEIsYUFBYSxFQUFFLE9BQU87WUFDdEIsVUFBVSxFQUFFLE9BQU87WUFDbkIsT0FBTyxFQUFFLEtBQUssR0FDakI7TUFJVCxNQUFNLEVBQUMsU0FBUyxFQUFFLE1BQU07UTlDbkUxQixBOENEQSxzQjlDQ3NCLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBQUM7VUFxRVgsT0FBTyxFQUFFLE1BQU0sR0F5Q3BCO01BdENDLE1BQU0sRUFBQyxTQUFTLEVBQUUsS0FBSztROUN2RXpCLEE4Q3dFTSxzQjlDeEVnQixDc0NEdEIseUJBQXlCLENRQXpCLGdCQUFnQixDQXlFVixPQUFPLENBQUM7VUFDSixTQUFTLEVBQUUsSUFBSSxHQWtDbEI7VTlDM0dQLEE4QzRFVSxzQjlDNUVZLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBeUVWLE9BQU8sQ0FJSCxLQUFLLENBQUM7WUFDRixJQUFJLEVBQUUsSUFBSTtZQUNWLFlBQVksRUFBRSxJQUFJO1lBQ2xCLGFBQWEsRUFBRSxLQUFLLENBQUMsS0FBSyxDN0NqRjlCLE9BQU87WTZDa0ZILGNBQWMsRUFBRSxJQUFJLEdBQ3ZCO1U5Q2pGWCxBOENtRlUsc0I5Q25GWSxDc0NEdEIseUJBQXlCLENRQXpCLGdCQUFnQixDQXlFVixPQUFPLENBV0gsSUFBSSxDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMsR0FDVjtVOUNyRlgsQThDdUZVLHNCOUN2RlksQ3NDRHRCLHlCQUF5QixDUUF6QixnQkFBZ0IsQ0F5RVYsT0FBTyxDQWVILE1BQU0sQ0FBQztZQUNILElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFFLElBQUk7WUFDakIsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLEM3QzVGM0IsT0FBTztZNkM2RkgsT0FBTyxFQUFFLENBQUMsR0FlYjtZOUMxR1gsQThDNkZjLHNCOUM3RlEsQ3NDRHRCLHlCQUF5QixDUUF6QixnQkFBZ0IsQ0F5RVYsT0FBTyxDQWVILE1BQU0sR0FNRSxHQUFHLENBQUM7Y0FDSixPQUFPLEVBQUUsTUFBTSxHQUtsQjtjOUNuR2YsQThDZ0drQixzQjlDaEdJLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBeUVWLE9BQU8sQ0FlSCxNQUFNLEdBTUUsR0FBRyxHQUdDLEdBQUcsQ0FBQztnQkFDSixVQUFVLEVBQUUsZUFBZSxHQUM5QjtZOUNsR25CLEE4Q3FHYyxzQjlDckdRLENzQ0R0Qix5QkFBeUIsQ1FBekIsZ0JBQWdCLENBeUVWLE9BQU8sQ0FlSCxNQUFNLEdBY0UsR0FBRyxDQUFDO2NBQ0osUUFBUSxFQUFFLFFBQVE7Y0FDbEIsTUFBTSxFQUFFLFNBQVM7Y0FDakIsS0FBSyxFQUFFLElBQUksR0FDZDtJOUN6R2YsQStDREEsc0IvQ0NzQixDc0NEdEIseUJBQXlCLENTQXpCLE9BQU8sQUFBQSxnQkFBZ0IsQ0FBQztNQUN0QixnQkFBZ0IsRTlDSUwsT0FBTztNOENIbEIsV0FBVyxFQUFFLEtBQUs7TUFDbEIsY0FBYyxFQUFFLEtBQUssR0E4RXRCO00vQ2hGRCxBK0NHRSxzQi9DSG9CLENzQ0R0Qix5QkFBeUIsQ1NBekIsT0FBTyxBQUFBLGdCQUFnQixDQUlyQixhQUFhLENBQUM7UUFDWixVQUFVLEVBQUUsSUFBSTtRQUNoQixhQUFhLEVBQUUsR0FBRztRQUNsQixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQXFCMUM7US9DM0JILEErQ09JLHNCL0NQa0IsQ3NDRHRCLHlCQUF5QixDU0F6QixPQUFPLEFBQUEsZ0JBQWdCLENBSXJCLGFBQWEsR0FJUCxDQUFDLENBQUM7VUFDSixNQUFNLEVBQUUsTUFBTSxHQUNmO1EvQ1RMLEErQ2FNLHNCL0NiZ0IsQ3NDRHRCLHlCQUF5QixDU0F6QixPQUFPLEFBQUEsZ0JBQWdCLENBSXJCLGFBQWEsQ0FRWCxLQUFLLEFBRUYsSUFBSyxFQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYjtRL0NiYixzQkFBc0IsQ3NDRHRCLHlCQUF5QixDU0F6QixPQUFPLEFBQUEsZ0JBQWdCLENBSXJCLGFBQWEsQ0FTWCxRQUFRLEFBQ0wsSUFBSyxFQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixHQUFnQjtVQUNyQixLQUFLLEVBQUUsSUFBSTtVQUNYLE9BQU8sRUFBRSxLQUFLO1VBQ2QsWUFBWSxFQUFFLElBQUk7VUFDbEIsYUFBYSxFQUFFLEdBQUc7VUFDbEIsTUFBTSxFQUFFLG1CQUFtQjtVQUMzQixPQUFPLEVBQUUsSUFBSTtVQUNiLE1BQU0sRUFBRSxJQUFJO1VBQ1osVUFBVSxFQUFFLElBQUk7VUFDaEIsVUFBVSxFQUFFLE9BQU87VTdDK0d2QixTQUFTLEVBQUUscURBQW9FO1U2QzdHM0UsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEdBQy9DO00vQ3pCUCxBK0M2QkUsc0IvQzdCb0IsQ3NDRHRCLHlCQUF5QixDU0F6QixPQUFPLEFBQUEsZ0JBQWdCLENBOEJyQixZQUFZLENBQUM7UUFDWCxPQUFPLEVBQUUsWUFBWTtRQUNyQixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRTlDbENKLE9BQU87UThDbUNiLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsSUFBSTtRQUNiLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO00vQ3pDSCxBK0M0Q0ksc0IvQzVDa0IsQ3NDRHRCLHlCQUF5QixDU0F6QixPQUFPLEFBQUEsZ0JBQWdCLENBNENyQixFQUFFLENBQ0EsVUFBVSxDQUFDO1FBQ1QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsWUFBWSxHQStCdEI7US9DOUVMLEErQ2lETSxzQi9DakRnQixDc0NEdEIseUJBQXlCLENTQXpCLE9BQU8sQUFBQSxnQkFBZ0IsQ0E0Q3JCLEVBQUUsQ0FDQSxVQUFVLEFBS1AsTUFBTSxDQUFDO1VBQ04sT0FBTyxFQUFFLEVBQUU7VUFDWCxLQUFLLEVBQUUsZ0JBQWdCO1VBQ3ZCLE1BQU0sRUFBRSxHQUFHO1VBQ1gsZ0JBQWdCLEU5Q3ZEZCxPQUFPO1U4Q3dEVCxPQUFPLEVBQUUsWUFBWTtVQUNyQixRQUFRLEVBQUUsUUFBUTtVQUNsQixNQUFNLEVBQUUsS0FBSztVQUNiLElBQUksRUFBRSxLQUFLO1U3Q3hDZixjQUFjLEVEZ0JMLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ2ZoRCxrQkFBa0IsRURlVCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNkaEQsZUFBZSxFRGNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ2JoRCxhQUFhLEVEYUosR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDWmhELFVBQVUsRURZRCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNYaEQsMkJBQTJCLEVBQUUsTUFBTTtVNkNxQy9CLGdCQUFnQixFQUFFLElBQUk7VUFDdEIsT0FBTyxFQUFFLEVBQUUsR0FLWjtVdkNDSCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEErQ2lETSxzQi9DakRnQixDc0NEdEIseUJBQXlCLENTQXpCLE9BQU8sQUFBQSxnQkFBZ0IsQ0E0Q3JCLEVBQUUsQ0FDQSxVQUFVLEFBS1AsTUFBTSxDQUFDO2NBY0osTUFBTSxFQUFFLElBQUksR0FFZjtRL0NqRVAsQStDb0VRLHNCL0NwRWMsQ3NDRHRCLHlCQUF5QixDU0F6QixPQUFPLEFBQUEsZ0JBQWdCLENBNENyQixFQUFFLENBQ0EsVUFBVSxBQXVCUCxhQUFhLEFBQ1gsTUFBTSxDQUFDO1VBQ04sS0FBSyxFQUFFLENBQUMsR0FDVDtRL0N0RVQsQStDMEVRLHNCL0MxRWMsQ3NDRHRCLHlCQUF5QixDU0F6QixPQUFPLEFBQUEsZ0JBQWdCLENBNENyQixFQUFFLENBQ0EsVUFBVSxBQTZCUCxlQUFlLEFBQ2IsTUFBTSxDQUFDO1VBQ04sS0FBSyxFQUFFLGdCQUFnQixHQUN4QjtJL0M1RVQsQXNDaUJFLHNCdENqQm9CLENzQ0R0Qix5QkFBeUIsQ0FrQnZCLE9BQU8sQUFBQSx3QkFBd0IsQ0FBQztNQUM5QixRQUFRLEVBQUUsTUFBTSxHQTRGakI7TXRDOUdILEFzQ29CSSxzQnRDcEJrQixDc0NEdEIseUJBQXlCLENBa0J2QixPQUFPLEFBQUEsd0JBQXdCLENBRzdCLGtCQUFrQixDQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBNERwQjtRdENsRkwsQXNDd0JNLHNCdEN4QmdCLENzQ0R0Qix5QkFBeUIsQ0FrQnZCLE9BQU8sQUFBQSx3QkFBd0IsQ0FHN0Isa0JBQWtCLENBSWhCLEVBQUUsQ0FBQztVcEM2R0wsU0FBUyxFQUFFLHFEQUFvRTtVb0MzRzNFLGNBQWMsRUFBRSxPQUFPO1VBQ3ZCLFdBQVcsRUFBRSxHQUFHO1VBQ2hCLFdBQVcsRUFBRSxHQUFHO1VBQ2hCLGFBQWEsRUFBRSxJQUFJO1VBQ25CLEtBQUssRXJDM0JJLE9BQU8sR3FDcUVqQjtVOUJOSCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEFzQ3dCTSxzQnRDeEJnQixDc0NEdEIseUJBQXlCLENBa0J2QixPQUFPLEFBQUEsd0JBQXdCLENBRzdCLGtCQUFrQixDQUloQixFQUFFLENBQUM7Y0FTQyxXQUFXLEVBQUUsR0FBRyxHQXVDbkI7VXRDeEVQLEFzQ29DUSxzQnRDcENjLENzQ0R0Qix5QkFBeUIsQ0FrQnZCLE9BQU8sQUFBQSx3QkFBd0IsQ0FHN0Isa0JBQWtCLENBSWhCLEVBQUUsQ0FZQSxVQUFVLENBQUM7WUFDVCxRQUFRLEVBQUUsUUFBUTtZQUNsQixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxZQUFZLEdBZ0N0QjtZdEN2RVQsQXNDeUNVLHNCdEN6Q1ksQ3NDRHRCLHlCQUF5QixDQWtCdkIsT0FBTyxBQUFBLHdCQUF3QixDQUc3QixrQkFBa0IsQ0FJaEIsRUFBRSxDQVlBLFVBQVUsQUFLUCxNQUFNLENBQUM7Y0FDTixPQUFPLEVBQUUsRUFBRTtjQUNYLEtBQUssRUFBRSxnQkFBZ0I7Y0FDdkIsTUFBTSxFQUFFLEdBQUc7Y0FDWCxnQkFBZ0IsRXJDL0NsQixPQUFPO2NxQ2dETCxPQUFPLEVBQUUsWUFBWTtjQUNyQixRQUFRLEVBQUUsUUFBUTtjQUNsQixNQUFNLEVBQUUsS0FBSztjQUNiLElBQUksRUFBRSxLQUFLO2NwQ2hDbkIsY0FBYyxFRGdCTCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7Y0NmaEQsa0JBQWtCLEVEZVQsR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO2NDZGhELGVBQWUsRURjTixHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7Y0NiaEQsYUFBYSxFRGFKLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtjQ1poRCxVQUFVLEVEWUQsR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO2NDWGhELDJCQUEyQixFQUFFLE1BQU07Y29DNkIzQixnQkFBZ0IsRUFBRSxJQUFJO2NBQ3RCLE1BQU0sRUFBRSxHQUFHO2NBQ1gsT0FBTyxFQUFFLEVBQUUsR0FLWjtjOUJRUCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7Z0JSbEUvQixBc0N5Q1Usc0J0Q3pDWSxDc0NEdEIseUJBQXlCLENBa0J2QixPQUFPLEFBQUEsd0JBQXdCLENBRzdCLGtCQUFrQixDQUloQixFQUFFLENBWUEsVUFBVSxBQUtQLE1BQU0sQ0FBQztrQkFlSixNQUFNLEVBQUUsSUFBSSxHQUVmO1l0QzFEWCxBc0M2RFksc0J0QzdEVSxDc0NEdEIseUJBQXlCLENBa0J2QixPQUFPLEFBQUEsd0JBQXdCLENBRzdCLGtCQUFrQixDQUloQixFQUFFLENBWUEsVUFBVSxBQXdCUCxhQUFhLEFBQ1gsTUFBTSxDQUFDO2NBQ04sS0FBSyxFQUFFLENBQUMsR0FDVDtZdEMvRGIsQXNDbUVZLHNCdENuRVUsQ3NDRHRCLHlCQUF5QixDQWtCdkIsT0FBTyxBQUFBLHdCQUF3QixDQUc3QixrQkFBa0IsQ0FJaEIsRUFBRSxDQVlBLFVBQVUsQUE4QlAsZUFBZSxBQUNiLE1BQU0sQ0FBQztjQUNOLEtBQUssRUFBRSxnQkFBZ0IsR0FDeEI7UXRDckViLEFzQzBFTSxzQnRDMUVnQixDc0NEdEIseUJBQXlCLENBa0J2QixPQUFPLEFBQUEsd0JBQXdCLENBRzdCLGtCQUFrQixDQXNEaEIsZ0JBQWdCLENBQUM7VUFDZixNQUFNLEVBQUUsT0FBTztVcEMwRG5CLFNBQVMsRUFBRSxxREFBb0U7VW9DeEQzRSxLQUFLLEVyQy9FSCxPQUFPO1VxQ2dGVCxPQUFPLEVBQUUsWUFBWTtVQUNyQixZQUFZLEVBQUUsSUFBSTtVQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUNYO010Q2pGUCxBc0NvRkksc0J0Q3BGa0IsQ3NDRHRCLHlCQUF5QixDQWtCdkIsT0FBTyxBQUFBLHdCQUF3QixDQW1FN0IscUJBQXFCLENBQUM7UXBDakR0QixRQUFRLEVBQUUsUUFBUSxHb0MrRGpCO1F0Q2xHTCxBRXFDSSxzQkZyQ2tCLENzQ0R0Qix5QkFBeUIsQ0FrQnZCLE9BQU8sQUFBQSx3QkFBd0IsQ0FtRTdCLHFCQUFxQixBcEMvQ3BCLE9BQU8sQ0FBQztVQUNMLE9BQU8sRUFBRSxLQUFLO1VBQ2QsT0FBTyxFQUFFLEVBQUU7VUFDWCxLQUFLLEVBQUUsSUFBSTtVQUNYLFdBQVcsRUFBRSxNQUF5QixHQUN6QztRRjFDTCxBc0N1Rk0sc0J0Q3ZGZ0IsQ3NDRHRCLHlCQUF5QixDQWtCdkIsT0FBTyxBQUFBLHdCQUF3QixDQW1FN0IscUJBQXFCLENBR25CLGlCQUFpQixDQUFDO1VwQ3pDcEIsTUFBTSxFQUFFLENBQUM7VUFDVCxJQUFJLEVBQUUsQ0FBQztVQUNQLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEtBQUssRUFBRSxDQUFDO1VBQ1IsR0FBRyxFQUFFLENBQUM7VW9DdUNGLEtBQUssRUFBRSxJQUFJO1VBQ1gsZUFBZSxFQUFFLEtBQUs7VUFDdEIsbUJBQW1CLEVBQUUsTUFBTSxHQUM1QjtRdEM1RlAsQXNDOEZNLHNCdEM5RmdCLENzQ0R0Qix5QkFBeUIsQ0FrQnZCLE9BQU8sQUFBQSx3QkFBd0IsQ0FtRTdCLHFCQUFxQixDQVVuQix5QkFBeUIsQ0FBQztVcENoRDVCLE1BQU0sRUFBRSxDQUFDO1VBQ1QsSUFBSSxFQUFFLENBQUM7VUFDUCxRQUFRLEVBQUUsUUFBUTtVQUNsQixLQUFLLEVBQUUsQ0FBQztVQUNSLEdBQUcsRUFBRSxDQUFDO1VvQzhDRixnQkFBZ0IsRUFBRSxxQkFBcUIsR0FDeEM7TTlCL0JILE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtRUmxFL0IsQXNDc0dRLHNCdEN0R2MsQ3NDRHRCLHlCQUF5QixDQWtCdkIsT0FBTyxBQUFBLHdCQUF3QixHQW1GekIsa0JBQWtCLEFBRWpCLE9BQU8sQ0FBQztVQUNQO3dDQUM4QjtVQUM5QixLQUFLLEVBQUUsTUFBTTtVQUNiLGFBQWEsRUFBRSxzQ0FBc0MsR0FDdEQ7SXRDM0dULEFzQ2tIRSxzQnRDbEhvQixDc0NEdEIseUJBQXlCLENBbUh2QixrQkFBa0IsQUFBQSxlQUFlLENBQUM7TUFDaEMsYUFBYSxFQUFFLE1BQU0sR0FTdEI7TXRDNUhILEFzQ29ISSxzQnRDcEhrQixDc0NEdEIseUJBQXlCLENBbUh2QixrQkFBa0IsQUFBQSxlQUFlLEFBRTlCLHFCQUFxQixDQUN0QjtRQUNFLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7TTlCckRELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtRUmxFL0IsQXNDa0hFLHNCdENsSG9CLENzQ0R0Qix5QkFBeUIsQ0FtSHZCLGtCQUFrQixBQUFBLGVBQWUsQ0FBQztVQU85QixPQUFPLEVBQUUsSUFBSTtVQUNiLGFBQWEsRUFBRSxPQUFPLEdBRXpCO0l0QzVISCxBc0M2SEUsc0J0QzdIb0IsQ3NDRHRCLHlCQUF5QixDQThIdkIsT0FBTyxBQUFBLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztNQUNwRCxVQUFVLEVBQUUsT0FBTyxHQUNwQjtJdEMvSEgsQWdEREEsc0JoRENzQixDc0NEdEIseUJBQXlCLENVQXpCLHdCQUF3QixDQUFDO01BQ3JCLGNBQWMsRUFBRSxLQUFLO01BQ3JCLFdBQVcsRUFBRSxJQUFJLEdBdUJwQjtNaER4QkQsQWdER0ksc0JoREhrQixDc0NEdEIseUJBQXlCLENVQXpCLHdCQUF3QixDQUlwQixtQkFBbUIsQ0FBQztRQUNoQixVQUFVLEVBQUUsS0FBSyxHQW1CcEI7UXhDMkNELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQWdER0ksc0JoREhrQixDc0NEdEIseUJBQXlCLENVQXpCLHdCQUF3QixDQUlwQixtQkFBbUIsQ0FBQztZQUlaLFVBQVUsRUFBRSxHQUFHLEdBZ0J0QjtRaER2QkwsQWdEVVEsc0JoRFZjLENzQ0R0Qix5QkFBeUIsQ1VBekIsd0JBQXdCLENBSXBCLG1CQUFtQixDQU9mLGVBQWUsQ0FBQztVQUNaLE9BQU8sRUFBRSxTQUFTO1VBQ2xCLFVBQVUsRUFBRSxNQUFNO1VBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBU2I7VWhEdEJULEFnRGVZLHNCaERmVSxDc0NEdEIseUJBQXlCLENVQXpCLHdCQUF3QixDQUlwQixtQkFBbUIsQ0FPZixlQUFlLENBS1gsR0FBRyxDQUFDO1lBQ0EsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsUUFBUTtZQUNsQixTQUFTLEVBQUUsZ0JBQWdCO1k5Q1F2QyxjQUFjLEU4Q1BpQixnQkFBZ0I7WTlDUS9DLGFBQWEsRThDUmtCLGdCQUFnQjtZOUNTL0MsWUFBWSxFOENUbUIsZ0JBQWdCO1k5Q1UvQyxpQkFBaUIsRThDVmMsZ0JBQWdCO1k5Q1cvQyxTQUFTLEU4Q1hzQixnQkFBZ0I7WTlDWS9DLDJCQUEyQixFQUFFLE1BQU07WThDWHZCLDJCQUEyQixFQUFFLEtBQUssR0FDckM7SWhEckJiLEFzQ2lJRSxzQnRDaklvQixDc0NEdEIseUJBQXlCLENBa0l2Qix3QkFBd0IsQ0FBQztNQUN2QixXQUFXLEVBQUUsS0FBSyxHQUNuQjtJdENuSUgsQXNDc0lJLHNCdEN0SWtCLENzQ0R0Qix5QkFBeUIsQ0FzSXZCLE9BQU8sQUFBQSxpQkFBaUIsQUFBQSxlQUFlLENBQ3JDLHVCQUF1QixDQUFDO01BQ3RCLFFBQVEsRUFBRSxPQUFPLEdBQ2xCO0l0Q3hJTCxBaURHSSxzQmpESGtCLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBQUM7TUFDaEIsU0FBUyxFQUFFLElBQUk7TUFDZixLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxJQUFJO01BQ2IscUJBQXFCLEVBQUUsZUFBZTtNQUN0QyxrQkFBa0IsRUFBRSxTQUFTLEdBZ09oQztNQTlORyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FqRFY1QyxBaURHSSxzQmpESGtCLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBQUM7VUFRWixVQUFVLEVBQUUsS0FBSyxHQTZOeEI7TUExTkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRakRkM0MsQWlER0ksc0JqREhrQixDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQUFDO1VBWVosVUFBVSxFQUFFLEtBQUssR0F5TnhCO016Q3RLRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7UVJsRS9CLEFpREdJLHNCakRIa0IsQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FBQztVQWdCWixrQkFBa0IsRUFBRSx3QkFBd0IsR0FxTm5EO01qRHhPTCxBaURzQlEsc0JqRHRCYyxDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQW1CZixVQUFVLENBQUM7UUFDUCxXQUFXLEVBQUUsTUFBTTtRQUNuQixRQUFRLEVBQUUsTUFBTTtRQUNoQixRQUFRLEVBQUUsUUFBUTtRQUNsQixVQUFVLEVBQUUsSUFBSSxHQTZNbkI7UXpDcktMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQWlEc0JRLHNCakR0QmMsQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxDQUFDO1lBT0gsV0FBVyxFQUFFLE9BQU87WUFDcEIsUUFBUSxFQUFFLE1BQU07WUFDaEIsZ0JBQWdCLEVBQUUsT0FBTyxHQXdNaEM7UWpEdk9ULEFpRGtDWSxzQmpEbENVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQUFZTCxVQUFXLENBQUEsQ0FBQyxFQUFFO1VBQ1gsV0FBVyxFQUFFLE1BQU07VUFDbkIsUUFBUSxFQUFFLE1BQU0sR0FNbkI7VXpDd0JULE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtZUmxFL0IsQWlEa0NZLHNCakRsQ1UsQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxBQVlMLFVBQVcsQ0FBQSxDQUFDLEVBQUU7Y0FLUCxXQUFXLEVBQUUsT0FBTztjQUNwQixRQUFRLEVBQUUsTUFBTSxHQUV2QjtRakQxQ2IsQWlEK0NZLHNCakQvQ1UsQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxBQXlCTCxVQUFXLENBQUEsQ0FBQyxFQUFFO1VBQ1gsV0FBVyxFQUFFLE9BQU8sR0FNdkI7VXpDWVQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1lSbEUvQixBaUQrQ1ksc0JqRC9DVSxDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQW1CZixVQUFVLEFBeUJMLFVBQVcsQ0FBQSxDQUFDLEVBQUU7Y0FJUCxXQUFXLEVBQUUsT0FBTztjQUNwQixRQUFRLEVBQUUsTUFBTSxHQUV2QjtRakR0RGIsQWlEd0RZLHNCakR4RFUsQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxBQWtDTCxVQUFXLENBQUEsQ0FBQyxFQUFFO1VBQ1gsV0FBVyxFQUFFLE1BQU07VUFDbkIsUUFBUSxFQUFFLE1BQU07VUFDaEIsZ0JBQWdCLEVBQUUsT0FBTyxHQUs1QjtVekNFVCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEFpRHdEWSxzQmpEeERVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQUFrQ0wsVUFBVyxDQUFBLENBQUMsRUFBRTtjQU1QLE9BQU8sRUFBRSxJQUFJLEdBRXBCO1FqRGhFYixBaURrRVksc0JqRGxFVSxDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQW1CZixVQUFVLEFBNENMLFVBQVcsQ0FBQSxDQUFDLEVBQUU7VUFDWCxXQUFXLEVBQUUsT0FBTyxHQU12QjtVekNQVCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEFpRGtFWSxzQmpEbEVVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQUE0Q0wsVUFBVyxDQUFBLENBQUMsRUFBRTtjQUlQLFdBQVcsRUFBRSxPQUFPO2NBQ3BCLFFBQVEsRUFBRSxNQUFNLEdBRXZCO1FqRHpFYixBaUQ0RWdCLHNCakQ1RU0sQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxBQXFETCxVQUFXLENBQUEsQ0FBQyxFQUNULGtCQUFrQixBQUFBLFVBQVUsQ0FBQztVQUN6QixjQUFjLEVBQUUsS0FDcEIsR0FBQztRakQ5RWpCLEFpRGlGWSxzQmpEakZVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0EyRE4sWUFBWSxDQUFDO1VBQ1QsT0FBTyxFQUFFLEtBQUs7VUFDZCxPQUFPLEVBQUUsQ0FBQztVQUNWLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLFVBQVUsRUFBRSxNQUFNO1VBQ2xCLEtBQUssRUFBRSxJQUFJO1VBQ1gsU0FBUyxFQUFFLElBQUk7VUFDZixTQUFTLEVBQUUsS0FBSztVQUNoQixNQUFNLEVBQUUsSUFBSTtVQUNaLEdBQUcsRUFBRSxHQUFHO1VBQ1IsU0FBUyxFQUFFLGdCQUFnQjtVL0NqRXZDLGNBQWMsRStDa0VpQixnQkFBZ0I7VS9DakUvQyxhQUFhLEUrQ2lFa0IsZ0JBQWdCO1UvQ2hFL0MsWUFBWSxFK0NnRW1CLGdCQUFnQjtVL0MvRC9DLGlCQUFpQixFK0MrRGMsZ0JBQWdCO1UvQzlEL0MsU0FBUyxFK0M4RHNCLGdCQUFnQjtVL0M3RC9DLDJCQUEyQixFQUFFLE1BQU07VStDOER2QiwyQkFBMkIsRUFBRSxLQUFLO1VBQ2xDLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtVQU14Qzs7bUJBRUcsRUFnQk47VXpDcERULE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztZUmxFaEMsQWlEaUZZLHNCakRqRlUsQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxDQTJETixZQUFZLENBQUM7Yy9Db0RyQixTQUFTLEVBQUUscURBQW9FO2MrQ25DL0QsT0FBTyxFQUFFLE1BQU0sR0FvQnRCO1V6Q3BEVCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEFpRGlGWSxzQmpEakZVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0EyRE4sWUFBWSxDQUFDO2NBdUJMLE9BQU8sRUFBRSxhQUFhO2NBQ3RCLEdBQUcsRUFBRSxJQUFJO2NBQ1QsU0FBUyxFQUFFLElBQUk7Yy9DaEYvQixjQUFjLEUrQ2lGcUIsSUFBSTtjL0NoRnZDLGFBQWEsRStDZ0ZzQixJQUFJO2MvQy9FdkMsWUFBWSxFK0MrRXVCLElBQUk7Yy9DOUV2QyxpQkFBaUIsRStDOEVrQixJQUFJO2MvQzdFdkMsU0FBUyxFK0M2RTBCLElBQUk7Yy9DNUV2QywyQkFBMkIsRUFBRSxNQUFNO2MrQzZFbkIsV0FBVyxFQUFFLEdBQUc7Y0FDaEIsU0FBUyxFQUFFLElBQUk7Y0FDZixXQUFXLEVBQUUsS0FBSztjQUNsQixjQUFjLEVBQUUsU0FBUztjQUN6QixjQUFjLEVBQUUsTUFBTTtjQUN0QixVQUFVLEVBQUUsSUFBSTtjQUNoQixLQUFLLEVBQUUsR0FBRztjQUNWLE1BQU0sRUFBRSxJQUFJO2NBQ1osU0FBUyxFQUFFLEdBQUcsR0FFckI7UWpEdEhiLEFpRHdIWSxzQmpEeEhVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0FrR04sVUFBVSxDQUFDO1VBQ1AsUUFBUSxFQUFFLFFBQVE7VUFDbEIsT0FBTyxFQUFFLENBQUM7VUFDVixPQUFPLEVBQUUsWUFBWTtVQUNyQixLQUFLLEVBQUUsS0FBSztVQUNaLFNBQVMsRUFBRSxJQUFJO1VBQ2YsYUFBYSxFQUFFLElBQUksR0FvQ3RCO1V6Q2hHVCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEFpRHdIWSxzQmpEeEhVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0FrR04sVUFBVSxDQUFDO2NBU0gsV0FBVyxFQUFFLEdBQUcsR0FpQ3ZCO1VqRGxLYixBaURvSWdCLHNCakRwSU0sQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxDQWtHTixVQUFVLEFBWUwsTUFBTSxDQUFDO1lBQ0osT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLE1BQU0sRUFBRSxHQUFHO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixPQUFPLEVBQUUsWUFBWTtZQUNyQixRQUFRLEVBQUUsUUFBUTtZQUNsQixNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxLQUFLO1kvQzNIM0IsY0FBYyxFRGdCTCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7WUNmaEQsa0JBQWtCLEVEZVQsR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1lDZGhELGVBQWUsRURjTixHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7WUNiaEQsYUFBYSxFRGFKLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtZQ1poRCxVQUFVLEVEWUQsR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1lDWGhELDJCQUEyQixFQUFFLE1BQU07WStDd0huQixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLE1BQU0sRUFBRSxHQUFHO1lBQ1gsT0FBTyxFQUFFLEVBQUUsR0FLZDtZekNuRmIsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO2NSbEUvQixBaURvSWdCLHNCakRwSU0sQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxDQWtHTixVQUFVLEFBWUwsTUFBTSxDQUFDO2dCQWVBLE1BQU0sRUFBRSxJQUFJLEdBRW5CO1VqRHJKakIsQWlEd0pvQixzQmpEeEpFLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0FrR04sVUFBVSxBQStCTCxhQUFhLEFBQ1QsTUFBTSxDQUFDO1lBQ0osS0FBSyxFQUFFLENBQUMsR0FDWDtVakQxSnJCLEFpRDhKb0Isc0JqRDlKRSxDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQW1CZixVQUFVLENBa0dOLFVBQVUsQUFxQ0wsZUFBZSxBQUNYLE1BQU0sQ0FBQztZQUNKLEtBQUssRUFBRSxnQkFBZ0IsR0FDMUI7UWpEaEtyQixBaURxS2dCLHNCakRyS00sQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxBQThJTCxNQUFNLENBQ0gsR0FBRyxFakRyS25CLHNCQUFzQixDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQW1CZixVQUFVLEFBOElJLE9BQU8sQ0FDYixHQUFHLENBQUM7VUFDQSxNQUFNLEVBQUUsWUFBWSxHQUN2QjtRakR2S2pCLEFpRDBLWSxzQmpEMUtVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0FvSk4sR0FBRyxDQUFDO1VBQ0EsS0FBSyxFQUFFLElBQUk7VUFDWCxNQUFNLEVBQUUsSUFBSTtVQUNaLFVBQVUsRUFBRSxLQUFLO1VBQ2pCLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLE1BQU0sRUFBRSxZQUFZO1UvQzlKaEMsY0FBYyxFRGNWLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ2IxQyxrQkFBa0IsRURhZCxHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNaMUMsZUFBZSxFRFlYLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ1gxQyxhQUFhLEVEV1QsR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDVjFDLFVBQVUsRURVTixHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNUMUMsMkJBQTJCLEVBQUUsTUFBTSxHK0MrSjFCO1V6Q25IVCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEFpRDBLWSxzQmpEMUtVLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0FvSk4sR0FBRyxDQUFDO2NBU0ksT0FBTyxFQUFFLElBQUksR0FFcEI7UXpDbkhULE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQWlEdUxZLHNCakR2TFUsQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxDQWlLTixrQkFBa0IsQ0FBQztZQUVYLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsR0FBRztZQUNWLE1BQU0sRUFBRSxJQUFJLEdBRW5CO1FqRGhNYixBaURrTVksc0JqRGxNVSxDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQW1CZixVQUFVLENBNEtOLGVBQWUsQ0FBQztVQUNaLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLE9BQU8sRUFBRSxDQUFDO1VBQ1YsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsUUFBUSxHQWdDcEI7VXpDcEtULE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztZUmxFaEMsQWlEa01ZLHNCakRsTVUsQ3NDRHRCLHlCQUF5QixDV0N6QixtQkFBbUIsQ0FHZixtQkFBbUIsQ0FtQmYsVUFBVSxDQTRLTixlQUFlLENBQUM7Y0FPUixPQUFPLEVBQUUsUUFBUSxHQTZCeEI7VWpEdE9iLEFpRDRNZ0Isc0JqRDVNTSxDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQW1CZixVQUFVLENBNEtOLGVBQWUsQ0FVWCxZQUFZLENBQUM7WUFDVCxTQUFTLEVBQUUsSUFBSTtZQUNmLGNBQWMsRUFBRSxTQUFTO1lBQ3pCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLGFBQWEsRUFBRSxJQUFJLEdBS3RCO1l6Q3BKYixNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7Y1JsRWhDLEFpRDRNZ0Isc0JqRDVNTSxDc0NEdEIseUJBQXlCLENXQ3pCLG1CQUFtQixDQUdmLG1CQUFtQixDQW1CZixVQUFVLENBNEtOLGVBQWUsQ0FVWCxZQUFZLENBQUM7Z0IvQ3ZFekIsU0FBUyxFQUFFLHFEQUFvRSxHK0NpRmxFO1VqRHROakIsQWlEd05nQixzQmpEeE5NLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0E0S04sZUFBZSxDQXNCWCxrQkFBa0IsQ0FBQztZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLEdBQUc7WUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FVekI7WUFSRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO2NqRDdOeEQsQWlEd05nQixzQmpEeE5NLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0E0S04sZUFBZSxDQXNCWCxrQkFBa0IsQ0FBQztnQi9DbkYvQixTQUFTLEVBQUUscURBQW9FLEcrQ2dHbEU7WXpDbktiLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztjUmxFaEMsQWlEd05nQixzQmpEeE5NLENzQ0R0Qix5QkFBeUIsQ1dDekIsbUJBQW1CLENBR2YsbUJBQW1CLENBbUJmLFVBQVUsQ0E0S04sZUFBZSxDQXNCWCxrQkFBa0IsQ0FBQztnQkFVWCxTQUFTLEVBQUUsSUFBSTtnQkFDZixjQUFjLEVBQUUsSUFBSSxHQUUzQjtJakRyT2pCLEFrRERBLHNCbERDc0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0FBQztNQUNsQixjQUFjLEVBQUUsS0FBSyxHQStSdEI7TWxEL1JELEFrRElNLHNCbERKZ0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0FHakIsSUFBSSxHQUNFLE9BQU8sQUFBQSxZQUFZLENBQ3JCLEVBQUUsQ0FBQztRQUNELFVBQVUsRUFBRSxDQUFDLEdBQ2Q7TWxETlAsQWtEUUksc0JsRFJrQixDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQUdqQixJQUFJLEFBTUQsWUFBWSxDQUFDO1FBQ1osY0FBYyxFQUFFLElBQUksR0FDckI7TWxEVkwsQWtEYUUsc0JsRGJvQixDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQWNqQixFQUFFLENBQUM7UUFDRCxVQUFVLEVBQUUsSUFBSTtRQUNoQixhQUFhLEVBQUUsSUFBSSxHQUtwQjtRbERwQkgsQWtEaUJJLHNCbERqQmtCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBY2pCLEVBQUUsQUFJQyxZQUFZLENBQUM7VUFDWixNQUFNLEVBQUUsT0FBTyxHQUNoQjtNbERuQkwsQWtEcUJFLHNCbERyQm9CLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBc0JqQixZQUFZLENBQUMsZ0JBQWdCLENBQUM7UUFDNUIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsVUFBVSxFQUFFLGNBQWMsR0FDM0I7TWxEeEJILEFrRHlCRSxzQmxEekJvQixDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQTBCakIsWUFBWSxBQUFBLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QyxTQUFTLEVBQUUsVUFBVSxHQUN0QjtNbEQzQkgsQWtENEJFLHNCbEQ1Qm9CLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBQUM7UUFDYixRQUFRLEVBQUUsUUFBUTtRQUNsQixhQUFhLEVBQUUsSUFBSTtRQUNuQixPQUFPLEVBQUUsQ0FBQyxHQStQWDtRMUM1TkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBa0Q0QkUsc0JsRDVCb0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQ0FBQztZQU1YLFlBQVksRUFBRSxJQUFJO1lBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBMlB0QjtRbEQ5UkgsQWtEd0NNLHNCbER4Q2dCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLEFBVVgsTUFBTSxDQUVMLEdBQUcsRWxEeENULHNCQUFzQixDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQTZCakIsY0FBYyxBQVdYLEtBQUssQ0FDSixHQUFHLENBQUM7VUFDRixjQUFjLEVBQUUsYUFBYTtVQUM3QixNQUFNLEVBQUUsYUFBYTtVQUNyQixNQUFNLEVBQUUsT0FBTyxHQUNoQjtRbEQ1Q1AsQWtEOENNLHNCbEQ5Q2dCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLEFBVVgsTUFBTSxDQVFMLGNBQWMsRWxEOUNwQixzQkFBc0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQUFXWCxLQUFLLENBT0osY0FBYyxDQUFDO1VBQ2IsT0FBTyxFQUFFLENBQUMsR0FDWDtRbERoRFAsQWtEb0RNLHNCbERwRGdCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLEFBdUJYLFVBQVcsQ0FBQSxNQUFNLEVBQ2hCLGFBQWEsQ0FBQztVQUNaLElBQUksRUFBRSxtQ0FBbUMsR0FDMUM7UWxEdERQLEFrRDBETSxzQmxEMURnQixDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQTZCakIsY0FBYyxBQTZCWCxVQUFXLENBQUEsTUFBTSxFQUNoQixhQUFhLENBQUM7VUFDWixJQUFJLEVBQUUsbUNBQW1DLEdBQzFDO1FsRDVEUCxBa0RnRU0sc0JsRGhFZ0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQUFtQ1gsVUFBVyxDQUFBLE1BQU0sRUFDaEIsYUFBYSxDQUFDO1VBQ1osSUFBSSxFQUFFLG1DQUFtQyxHQUMxQztRMUNBSCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEFrRHVFUSxzQmxEdkVjLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLEFBMENULFVBQVcsQ0FBQSxNQUFNLEVBQ2hCLGFBQWEsQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLEdBQ1I7VWxEekVULEFrRDZFUSxzQmxEN0VjLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLEFBZ0RULFVBQVcsQ0FBQSxNQUFNLEVBQ2hCLGFBQWEsQ0FBQztZQUNaLElBQUksRUFBRSxtQ0FBbUMsR0FDMUM7VWxEL0VULEFrRG1GUSxzQmxEbkZjLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLEFBc0RULFVBQVcsQ0FBQSxNQUFNLEVBQ2hCLGFBQWEsQ0FBQztZQUNaLElBQUksRUFBRSxtQ0FBbUMsR0FDMUM7UTFDbkJMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQWtEMkZRLHNCbEQzRmMsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQUE4RFQsVUFBVyxDQUFBLE1BQU0sRUFDaEIsYUFBYSxDQUFDO1lBQ1osSUFBSSxFQUFFLENBQUMsR0FDUjtVbEQ3RlQsQWtEaUdRLHNCbERqR2MsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQUFvRVQsVUFBVyxDQUFBLE1BQU0sRUFDaEIsYUFBYSxDQUFDO1lBQ1osSUFBSSxFQUFFLG1DQUFtQyxHQUMxQztRMUNqQ0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBa0R5R1Esc0JsRHpHYyxDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQTZCakIsY0FBYyxBQTRFVCxVQUFXLENBQUEsTUFBTSxFQUNoQixhQUFhLENBQUM7WUFDWixJQUFJLEVBQUUsQ0FBQyxHQUNSO1FsRDNHVCxBa0QrR0ksc0JsRC9Ha0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQ0FtRlosR0FBRyxDQUFDO1VBQ0YsTUFBTSxFQUFFLElBQUk7VUFDWixLQUFLLEVBQUUsSUFBSTtVQUNYLFNBQVMsRUFBRSxJQUFJO1VBQ2YsVUFBVSxFQUFFLElBQUk7VUFDaEIsTUFBTSxFQUFFLElBQUk7VUFDWixjQUFjLEVBQUUsZUFBZTtVQUMvQixNQUFNLEVBQUUsZUFBZTtVaERyR3pCLGNBQWMsRURjVixHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNiMUMsa0JBQWtCLEVEYWQsR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDWjFDLGVBQWUsRURZWCxHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNYMUMsYUFBYSxFRFdULEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ1YxQyxVQUFVLEVEVU4sR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDVDFDLDJCQUEyQixFQUFFLE1BQU0sR2dEa0dsQztRbER4SEwsQWtEMEhJLHNCbEQxSGtCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0FBQztVQUNiOzt1Q0FFaUM7VUFDakMsUUFBUSxFQUFFLFFBQVE7VUFDbEIsS0FBSyxFQUFFLElBQUk7VUFDWCxVQUFVLEVBQUUsTUFBTTtVQUNsQixPQUFPLEVBQUUsQ0FBQztVQUNWLEtBQUssRWpEL0hNLE9BQU87VWlEZ0lsQixnQkFBZ0IsRWpEL0hULE9BQU87VWlEZ0lkLE9BQU8sRUFBRSxjQUFjO1VoRG5IekIsY0FBYyxFRGNWLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ2IxQyxrQkFBa0IsRURhZCxHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNaMUMsZUFBZSxFRFlYLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ1gxQyxhQUFhLEVEV1QsR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDVjFDLFVBQVUsRURVTixHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNUMUMsMkJBQTJCLEVBQUUsTUFBTSxHZ0R1UWxDO1UxQzNORCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEFrRDBISSxzQmxEMUhrQixDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQTZCakIsY0FBYyxDQThGWixjQUFjLENBQUM7Y0FjWCxPQUFPLEVBQUUsQ0FBQyxHQXFKYjtVbEQ3UkwsQWtEMklNLHNCbEQzSWdCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQUFpQlgsT0FBTyxDQUFDO1lBQ1AsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsR0FBRyxFQUFFLEtBQUs7WUFDVixTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxXQUFXLEVBQUUsR0FBRztZQUNoQixPQUFPLEVBQUUsQ0FBQyxHQUNYO1VsRHBKUCxBa0RzSk0sc0JsRHRKZ0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQ0E4RlosY0FBYyxBQTRCWCxLQUFLLENBQUM7WUFDTCxNQUFNLEVBQUUsZUFBZTtZQVF2Qjs7Ozs7bUJBS1csRUFDWjtZbERyS1AsQWtEMEpVLHNCbEQxSlksQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQ0E4RlosY0FBYyxBQTRCWCxLQUFLLENBR0osV0FBVyxBQUNSLHVCQUF1QixDQUFDO2NoRGhJL0IsY0FBYyxFZ0RpSWEsZUFBZTtjaERoSTFDLGFBQWEsRWdEZ0ljLGVBQWU7Y2hEL0gxQyxZQUFZLEVnRCtIZSxlQUFlO2NoRDlIMUMsaUJBQWlCLEVnRDhIVSxlQUFlO2NoRDdIMUMsU0FBUyxFZ0Q2SGtCLGVBQWU7Y2hENUgxQywyQkFBMkIsRUFBRSxNQUFNO2NnRDZIM0IsMkJBQTJCLEVBQUUsS0FBSyxHQUNuQztVbEQ3SlgsQWtEdUtNLHNCbER2S2dCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0E2Q1osbUJBQW1CLENBQUM7WUFDbEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixNQUFNLEVBQUUsZUFBZTtZQUN2QixPQUFPLEVBQUUsY0FBYztZQUN2Qjs7Ozs7Ozs7Ozs7OzttQkFhVyxFQUNaO1VsRDFMUCxBa0Q0TE0sc0JsRDVMZ0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQ0E4RlosY0FBYyxDQWtFWixFQUFFLENBQUM7WUFDRCxTQUFTLEVBQUUsSUFBSTtZQUNmLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1YsUUFBUSxFQUFFLFFBQVEsR0FTbkI7WTFDeElILE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtjUmxFL0IsQWtENExNLHNCbEQ1TGdCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0FrRVosRUFBRSxDQUFDO2dCaER2REwsU0FBUyxFQUFFLHFEQUFvRSxHZ0RxRTVFO1kxQ3hJSCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7Y1JsRS9CLEFrRDRMTSxzQmxENUxnQixDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQTZCakIsY0FBYyxDQThGWixjQUFjLENBa0VaLEVBQUUsQ0FBQztnQkFZQyxTQUFTLEVBQUUsSUFBSSxHQUVsQjtVbEQxTVAsQWtENE1NLHNCbEQ1TWdCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0FrRlosRUFBRSxDQUFDO1lBQ0QsU0FBUyxFQUFFLElBQUk7WUFDZixjQUFjLEVBQUUsS0FBSyxHQVN0QjtZMUNySkgsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO2NSbEUvQixBa0Q0TU0sc0JsRDVNZ0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQ0E4RlosY0FBYyxDQWtGWixFQUFFLENBQUM7Z0JoRHZFTCxTQUFTLEVBQUUscURBQW9FLEdnRGtGNUU7WTFDckpILE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtjUmxFL0IsQWtENE1NLHNCbEQ1TWdCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0FrRlosRUFBRSxDQUFDO2dCQVNDLFNBQVMsRUFBRSxJQUFJLEdBRWxCO1VsRHZOUCxBa0R5Tk0sc0JsRHpOZ0IsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQ0E4RlosY0FBYyxDQStGWixhQUFhLENBQUM7WUFDWixNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGdCQUFnQixFQUFFLElBQUk7WWhENU0xQixjQUFjLEVEZ0JMLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtZQ2ZoRCxrQkFBa0IsRURlVCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7WUNkaEQsZUFBZSxFRGNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtZQ2JoRCxhQUFhLEVEYUosR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1lDWmhELFVBQVUsRURZRCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7WUNYaEQsMkJBQTJCLEVBQUUsTUFBTTtZZ0R5TS9CLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsQ0FBQztZQUNSLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLG9CQUFvQjtZQUNwQixRQUFRLEVBQUUsUUFBUTtZQUNsQixVQUFVLEVBQUUsSUFBSTtZQUNoQixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFdBQVcsRUFBRSxLQUFLO1loRHROdEIsY0FBYyxFZ0R1TlUsS0FBSztZaER0TjdCLGtCQUFrQixFZ0RzTk0sS0FBSztZaERyTjdCLGVBQWUsRWdEcU5TLEtBQUs7WWhEcE43QixhQUFhLEVnRG9OVyxLQUFLO1loRG5ON0IsVUFBVSxFZ0RtTmMsS0FBSztZaERsTjdCLDJCQUEyQixFQUFFLE1BQU07WWdEbU4vQixPQUFPLEVBQUUsQ0FBQztZQUNWLG9CQUFvQixFQXdDckI7WWxEbFJQLEFrRDJPUSxzQmxEM09jLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0ErRlosYUFBYSxBQWtCVixLQUFLLENBQUM7Y0FDTCxPQUFPLEVBQUUsSUFBSTtjQUNiLE1BQU0sRUFBRSxJQUFJO2NBQ1osS0FBSyxFQUFFLGtDQUFrQztjQUN6QyxPQUFPLEVBQUUsQ0FBQztjaEQ5TmhCLGNBQWMsRWdEZ09OLE1BQU0sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSTtjaERoT3hELGtCQUFrQixFZ0QrTlYsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJO2NoRC9OeEQsZUFBZSxFZ0Q4TlAsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJO2NoRDlOeEQsYUFBYSxFZ0Q2TkwsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJO2NoRDdOeEQsVUFBVSxFZ0Q0TkYsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJO2NoRDVOeEQsMkJBQTJCLEVBQUUsTUFBTTtjZ0Q4TjdCLFVBQVUsRUFBRSxJQUFJLEdBYWpCO2MxQy9MTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7Z0JSbEUvQixBa0QyT1Esc0JsRDNPYyxDc0NEdEIseUJBQXlCLENZQXpCLG1CQUFtQixDQTZCakIsY0FBYyxDQThGWixjQUFjLENBK0ZaLGFBQWEsQUFrQlYsS0FBSyxDQUFDO2tCQVlILEtBQUssRUFBRSxrQ0FBa0MsR0FVNUM7YzFDL0xMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtnQlJsRS9CLEFrRDJPUSxzQmxEM09jLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0ErRlosYUFBYSxBQWtCVixLQUFLLENBQUM7a0JBZ0JILEtBQUssRUFBRSxrQ0FBa0MsR0FNNUM7YzFDL0xMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtnQlJsRS9CLEFrRDJPUSxzQmxEM09jLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0ErRlosYUFBYSxBQWtCVixLQUFLLENBQUM7a0JBb0JILEtBQUssRUFBRSxrQ0FBa0MsR0FFNUM7WWxEalFULEFrRG1RUSxzQmxEblFjLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0ErRlosYUFBYSxDQTBDWCxDQUFDLENBQUM7Y0FDQSxhQUFhLEVBQUUsSUFBSTtjQUNuQixjQUFjLEVBQUUsT0FBTztjQUN2QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtZbER2UVQsQWtEeVFRLHNCbER6UWMsQ3NDRHRCLHlCQUF5QixDWUF6QixtQkFBbUIsQ0E2QmpCLGNBQWMsQ0E4RlosY0FBYyxDQStGWixhQUFhLENBZ0RYLFVBQVUsQ0FBQztjQUNULFNBQVMsRUFBRSxJQUFJO2NBQ2YsVUFBVSxFQUFFLENBQUM7Y0FDYixLQUFLLEVBQUUsSUFBSTtjQUNYLEdBQUcsRUFBRSxHQUFHO2NBQ1IsUUFBUSxFQUFFLFFBQVE7Y0FDbEIsU0FBUyxFQUFFLElBQUk7Y0FDZixLQUFLLEVqRDdRRSxPQUFPLEdpRDhRZjtVbERqUlQsQWtEb1JNLHNCbERwUmdCLENzQ0R0Qix5QkFBeUIsQ1lBekIsbUJBQW1CLENBNkJqQixjQUFjLENBOEZaLGNBQWMsQ0EwSlosV0FBVyxDQUFDO1lBQ1YsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVqRHhSSCxPQUFPO1lpRHlSVCxNQUFNLEVBQUUsT0FBTztZQUNmLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsVUFBVSxFQUFFLElBQUksR0FDakI7SWxENVJQLEFzQ2tKRSxzQnRDbEpvQixDc0NEdEIseUJBQXlCLENBbUp2QixtQkFBbUI7SXRDbEpyQixzQkFBc0IsQ3NDRHRCLHlCQUF5QixDQW9KdkIscUJBQXFCLENBQUM7TUFDcEIsV0FBVyxFQUFFLEtBQUssR0FDbkI7SXRDckpILEFtRERBLHNCbkRDc0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FBQztNQUNwQixjQUFjLEVBQUUsS0FBSyxHQTBVdEI7TW5EMVVELEFtRENFLHNCbkREb0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FFbkIsS0FBSyxDQUFDO1FBQ0osYUFBYSxFQUFDLElBQUksR0ErQm5CO1FuRGpDSCxBbURHSSxzQm5ESGtCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBRW5CLEtBQUssQ0FFSCxJQUFJLENBQUM7VUFDSCxVQUFVLEVBQUUsTUFBTSxHQTRCbkI7VW5EaENMLEFtREtNLHNCbkRMZ0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FFbkIsS0FBSyxDQUVILElBQUksQ0FFRixFQUFFLENBQUM7WUFDRCxTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGNBQWMsRUFBRSxTQUFTO1lBQ3pCLGNBQWMsRUFBRSxNQUFNLEdBbUJ2QjtZbkQvQlAsQW1EYVEsc0JuRGJjLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBRW5CLEtBQUssQ0FFSCxJQUFJLENBRUYsRUFBRSxBQVFDLE1BQU0sQ0FBQztjQUNOLFdBQVcsRUFBRSxjQUFjLEdBQzVCO1luRGZULEFtRGdCUSxzQm5EaEJjLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBRW5CLEtBQUssQ0FFSCxJQUFJLENBRUYsRUFBRSxBQVdDLE9BQU8sQ0FBQztjQUNQLFdBQVcsRUFBRSxjQUFjLEdBYTVCO2NuRDlCVCxBbURtQlUsc0JuRG5CWSxDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQUVuQixLQUFLLENBRUgsSUFBSSxDQUVGLEVBQUUsQUFXQyxPQUFPLEFBR0wsT0FBTyxDQUFDO2dCQUNQLE9BQU8sRUFBRSxFQUFFO2dCQUNYLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLE1BQU0sRUFBRSxHQUFHO2dCQUNYLGdCQUFnQixFbER6QmxCLE9BQU87Z0JrRDBCTCxPQUFPLEVBQUUsWUFBWTtnQkFDckIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE1BQU0sRUFBRSxJQUFJO2dCQUNaLElBQUksRUFBRSxHQUFHO2dCakRWakIsY0FBYyxFRGdCTCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7Z0JDZmhELGtCQUFrQixFRGVULEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtnQkNkaEQsZUFBZSxFRGNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtnQkNiaEQsYUFBYSxFRGFKLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtnQkNaaEQsVUFBVSxFRFlELEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtnQkNYaEQsMkJBQTJCLEVBQUUsTUFBTSxHaURPNUI7TW5EN0JYLEFtRG9DTSxzQm5EcENnQixDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQW1DbkIsSUFBSSxHQUNFLE9BQU8sQUFBQSxZQUFZLENBQ3JCLEVBQUUsQ0FBQztRQUNELFVBQVUsRUFBRSxDQUFDLEdBQ2Q7TW5EdENQLEFtRHdDSSxzQm5EeENrQixDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQW1DbkIsSUFBSSxBQU1ELFlBQVksQ0FBQztRQUNaLGNBQWMsRUFBRSxJQUFJLEdBQ3JCO01uRDFDTCxBbUQ2Q0Usc0JuRDdDb0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0E4Q25CLEVBQUUsQ0FBQztRQUNELFVBQVUsRUFBRSxJQUFJO1FBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO1FuRHBESCxBbURpREksc0JuRGpEa0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0E4Q25CLEVBQUUsQUFJQyxZQUFZLENBQUM7VUFDWixNQUFNLEVBQUUsT0FBTyxHQUNoQjtNbkRuREwsQW1EcURFLHNCbkRyRG9CLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBc0RuQixFQUFFLENBQ0Y7UUFDRSxVQUFVLEVBQUUsTUFBTTtRQUNsQixhQUFhLEVBQUMsSUFBSSxHQUNuQjtNbkR6REgsQW1EMERFLHNCbkQxRG9CLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBMkRuQixZQUFZLENBQUMsZ0JBQWdCLENBQUM7UUFDNUIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsVUFBVSxFQUFFLGNBQWMsR0FDM0I7TW5EN0RILEFtRDhERSxzQm5EOURvQixDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQStEbkIsWUFBWSxBQUFBLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QyxTQUFTLEVBQUUsVUFBVSxHQUN0QjtNbkRoRUgsQW1EaUVFLHNCbkRqRW9CLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBQUM7UUFDYixRQUFRLEVBQUUsUUFBUTtRQUNsQixhQUFhLEVBQUUsSUFBSTtRQUNuQixPQUFPLEVBQUUsQ0FBQyxHQXFRWDtRM0N2UUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBbURpRUUsc0JuRGpFb0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQ0FBQztZQU1YLFlBQVksRUFBRSxJQUFJO1lBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBaVF0QjtRbkR6VUgsQW1ENkVNLHNCbkQ3RWdCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLEFBVVgsTUFBTSxDQUVMLEdBQUcsRW5EN0VULHNCQUFzQixDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQWtFbkIsY0FBYyxBQVdYLEtBQUssQ0FDSixHQUFHLENBQUM7VUFDRixjQUFjLEVBQUUsYUFBYTtVQUM3QixNQUFNLEVBQUUsYUFBYTtVQUNyQixNQUFNLEVBQUUsT0FBTyxHQUNoQjtRbkRqRlAsQW1EbUZNLHNCbkRuRmdCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLEFBVVgsTUFBTSxDQVFMLGNBQWMsRW5EbkZwQixzQkFBc0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQUFXWCxLQUFLLENBT0osY0FBYyxDQUFDO1VBQ2IsT0FBTyxFQUFFLENBQUMsR0FDWDtRbkRyRlAsQW1EeUZNLHNCbkR6RmdCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLEFBdUJYLFVBQVcsQ0FBQSxNQUFNLEVBQ2hCLGFBQWEsQ0FBQztVQUNaLElBQUksRUFBRSxtQ0FBbUMsR0FDMUM7UW5EM0ZQLEFtRCtGTSxzQm5EL0ZnQixDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQWtFbkIsY0FBYyxBQTZCWCxVQUFXLENBQUEsTUFBTSxFQUNoQixhQUFhLENBQUM7VUFDWixJQUFJLEVBQUUsbUNBQW1DLEdBQzFDO1FuRGpHUCxBbURxR00sc0JuRHJHZ0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQUFtQ1gsVUFBVyxDQUFBLE1BQU0sRUFDaEIsYUFBYSxDQUFDO1VBQ1osSUFBSSxFQUFFLG1DQUFtQyxHQUMxQztRbkR2R1AsQW1EMkdNLHNCbkQzR2dCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLEFBeUNYLFVBQVcsQ0FBQSxNQUFNLEVBQ2hCLGFBQWEsQ0FBQztVQUNaLElBQUksRUFBRSxtQ0FBbUMsR0FDMUM7UTNDM0NILE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQW1Ea0hRLHNCbkRsSGMsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQUFnRFQsVUFBVyxDQUFBLE1BQU0sRUFDaEIsYUFBYSxDQUFDO1lBQ1osSUFBSSxFQUFFLENBQUMsR0FDUjtVbkRwSFQsQW1Ed0hRLHNCbkR4SGMsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQUFzRFQsVUFBVyxDQUFBLE1BQU0sRUFDaEIsYUFBYSxDQUFDO1lBQ1osSUFBSSxFQUFFLG1DQUFtQyxHQUMxQztVbkQxSFQsQW1EOEhRLHNCbkQ5SGMsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQUE0RFQsVUFBVyxDQUFBLE1BQU0sRUFDaEIsYUFBYSxDQUFDO1lBQ1osSUFBSSxFQUFFLG1DQUFtQyxHQUMxQztRM0M5REwsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1VSbEUvQixBbURzSVEsc0JuRHRJYyxDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQWtFbkIsY0FBYyxBQW9FVCxVQUFXLENBQUEsTUFBTSxFQUNoQixhQUFhLENBQUM7WUFDWixJQUFJLEVBQUUsQ0FBQyxHQUNSO1VuRHhJVCxBbUQ0SVEsc0JuRDVJYyxDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQWtFbkIsY0FBYyxBQTBFVCxVQUFXLENBQUEsTUFBTSxFQUNoQixhQUFhLENBQUM7WUFDWixJQUFJLEVBQUUsbUNBQW1DLEdBQzFDO1EzQzVFTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEFtRG9KUSxzQm5EcEpjLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLEFBa0ZULFVBQVcsQ0FBQSxNQUFNLEVBQ2hCLGFBQWEsQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLEdBQ1I7UW5EdEpULEFtRDBKSSxzQm5EMUprQixDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQWtFbkIsY0FBYyxDQXlGWixHQUFHLENBQUM7VUFDRixNQUFNLEVBQUUsSUFBSTtVQUNaLEtBQUssRUFBRSxJQUFJO1VBQ1gsU0FBUyxFQUFFLElBQUk7VUFDZixVQUFVLEVBQUUsSUFBSTtVQUNoQixNQUFNLEVBQUUsSUFBSTtVQUNaLGNBQWMsRUFBRSxlQUFlO1VBQy9CLE1BQU0sRUFBRSxlQUFlO1VqRGhKekIsY0FBYyxFRGNWLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ2IxQyxrQkFBa0IsRURhZCxHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNaMUMsZUFBZSxFRFlYLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ1gxQyxhQUFhLEVEV1QsR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDVjFDLFVBQVUsRURVTixHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNUMUMsMkJBQTJCLEVBQUUsTUFBTSxHaUQ2SWxDO1FuRG5LTCxBbURxS0ksc0JuRHJLa0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQ0FvR1osY0FBYyxDQUFDO1VBQ2I7O3VDQUVpQztVQUNqQyxRQUFRLEVBQUUsUUFBUTtVQUNsQixLQUFLLEVBQUUsSUFBSTtVQUVYLE9BQU8sRUFBRSxDQUFDO1VBQ1YsS0FBSyxFbEQxS00sT0FBTztVa0QyS2xCLGdCQUFnQixFbEQxS1QsT0FBTztVa0QyS2QsT0FBTyxFQUFFLGNBQWM7VWpEOUp6QixjQUFjLEVEY1YsR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDYjFDLGtCQUFrQixFRGFkLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ1oxQyxlQUFlLEVEWVgsR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDWDFDLGFBQWEsRURXVCxHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNWMUMsVUFBVSxFRFVOLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ1QxQywyQkFBMkIsRUFBRSxNQUFNLEdpRGtUbEM7VTNDdFFELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtZUmxFL0IsQW1EcUtJLHNCbkRyS2tCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0FBQztjQWNYLE9BQU8sRUFBRSxDQUFDLEdBcUpiO1VuRHhVTCxBbURpTU0sc0JuRGpNZ0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQ0FvR1osY0FBYyxBQTRCWCxLQUFLLENBQUM7WUFDTCxNQUFNLEVBQUUsZUFBZTtZQVF2Qjs7Ozs7bUJBS1csRUFDWjtZbkRoTlAsQW1EcU1VLHNCbkRyTVksQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQ0FvR1osY0FBYyxBQTRCWCxLQUFLLENBR0osV0FBVyxBQUNSLHVCQUF1QixDQUFDO2NqRDNLL0IsY0FBYyxFaUQ0S2EsZUFBZTtjakQzSzFDLGFBQWEsRWlEMktjLGVBQWU7Y2pEMUsxQyxZQUFZLEVpRDBLZSxlQUFlO2NqRHpLMUMsaUJBQWlCLEVpRHlLVSxlQUFlO2NqRHhLMUMsU0FBUyxFaUR3S2tCLGVBQWU7Y2pEdksxQywyQkFBMkIsRUFBRSxNQUFNO2NpRHdLM0IsMkJBQTJCLEVBQUUsS0FBSyxHQUNuQztVbkR4TVgsQW1Ea05NLHNCbkRsTmdCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0E2Q1osbUJBQW1CLENBQUM7WUFDbEIsUUFBUSxFQUFFLFFBQVE7WUFFbEIsTUFBTSxFQUFFLGVBQWU7WUFDdkIsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQjs7Ozs7Ozs7Ozs7OzttQkFhVyxFQUNaO1VuRHJPUCxBbUR1T00sc0JuRHZPZ0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQ0FvR1osY0FBYyxDQWtFWixFQUFFLENBQUM7WUFDRCxTQUFTLEVBQUUsSUFBSTtZQUNmLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1YsUUFBUSxFQUFFLFFBQVEsR0FTbkI7WTNDbkxILE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtjUmxFL0IsQW1EdU9NLHNCbkR2T2dCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0FrRVosRUFBRSxDQUFDO2dCakRsR0wsU0FBUyxFQUFFLHFEQUFvRSxHaURnSDVFO1kzQ25MSCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7Y1JsRS9CLEFtRHVPTSxzQm5Edk9nQixDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQWtFbkIsY0FBYyxDQW9HWixjQUFjLENBa0VaLEVBQUUsQ0FBQztnQkFZQyxTQUFTLEVBQUUsSUFBSSxHQUVsQjtVbkRyUFAsQW1EdVBNLHNCbkR2UGdCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0FrRlosRUFBRSxDQUFDO1lBQ0QsU0FBUyxFQUFFLElBQUk7WUFDZixjQUFjLEVBQUUsS0FBSyxHQVN0QjtZM0NoTUgsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO2NSbEUvQixBbUR1UE0sc0JuRHZQZ0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQ0FvR1osY0FBYyxDQWtGWixFQUFFLENBQUM7Z0JqRGxITCxTQUFTLEVBQUUscURBQW9FLEdpRDZINUU7WTNDaE1ILE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtjUmxFL0IsQW1EdVBNLHNCbkR2UGdCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0FrRlosRUFBRSxDQUFDO2dCQVNDLFNBQVMsRUFBRSxJQUFJLEdBRWxCO1VuRGxRUCxBbURvUU0sc0JuRHBRZ0IsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQ0FvR1osY0FBYyxDQStGWixhQUFhLENBQUM7WUFDWixNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGdCQUFnQixFQUFFLElBQUk7WWpEdlAxQixjQUFjLEVEZ0JMLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtZQ2ZoRCxrQkFBa0IsRURlVCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7WUNkaEQsZUFBZSxFRGNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQXlCLENBQUMsSUFBSTtZQ2JoRCxhQUFhLEVEYUosR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1lDWmhELFVBQVUsRURZRCxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUF5QixDQUFDLElBQUk7WUNYaEQsMkJBQTJCLEVBQUUsTUFBTTtZaURvUC9CLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsQ0FBQztZQUNSLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLG9CQUFvQjtZQUNwQixRQUFRLEVBQUUsUUFBUTtZQUNsQixVQUFVLEVBQUUsSUFBSTtZQUNoQixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFdBQVcsRUFBRSxLQUFLO1lqRGpRdEIsY0FBYyxFaURrUVUsS0FBSztZakRqUTdCLGtCQUFrQixFaURpUU0sS0FBSztZakRoUTdCLGVBQWUsRWlEZ1FTLEtBQUs7WWpEL1A3QixhQUFhLEVpRCtQVyxLQUFLO1lqRDlQN0IsVUFBVSxFaUQ4UGMsS0FBSztZakQ3UDdCLDJCQUEyQixFQUFFLE1BQU07WWlEOFAvQixPQUFPLEVBQUUsQ0FBQztZQUNWLG9CQUFvQixFQXdDckI7WW5EN1RQLEFtRHNSUSxzQm5EdFJjLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0ErRlosYUFBYSxBQWtCVixLQUFLLENBQUM7Y0FDTCxPQUFPLEVBQUUsSUFBSTtjQUNiLE1BQU0sRUFBRSxJQUFJO2NBQ1osS0FBSyxFQUFFLGtDQUFrQztjQUN6QyxPQUFPLEVBQUUsQ0FBQztjakR6UWhCLGNBQWMsRWlEMlFOLE1BQU0sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSTtjakQzUXhELGtCQUFrQixFaUQwUVYsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJO2NqRDFReEQsZUFBZSxFaUR5UVAsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJO2NqRHpReEQsYUFBYSxFaUR3UUwsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJO2NqRHhReEQsVUFBVSxFaUR1UUYsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJO2NqRHZReEQsMkJBQTJCLEVBQUUsTUFBTTtjaUR5UTdCLFVBQVUsRUFBRSxJQUFJLEdBYWpCO2MzQzFPTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7Z0JSbEUvQixBbURzUlEsc0JuRHRSYyxDc0NEdEIseUJBQXlCLENhQXpCLHFCQUFxQixDQWtFbkIsY0FBYyxDQW9HWixjQUFjLENBK0ZaLGFBQWEsQUFrQlYsS0FBSyxDQUFDO2tCQVlILEtBQUssRUFBRSxrQ0FBa0MsR0FVNUM7YzNDMU9MLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtnQlJsRS9CLEFtRHNSUSxzQm5EdFJjLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0ErRlosYUFBYSxBQWtCVixLQUFLLENBQUM7a0JBZ0JILEtBQUssRUFBRSxrQ0FBa0MsR0FNNUM7YzNDMU9MLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtnQlJsRS9CLEFtRHNSUSxzQm5EdFJjLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0ErRlosYUFBYSxBQWtCVixLQUFLLENBQUM7a0JBb0JILEtBQUssRUFBRSxrQ0FBa0MsR0FFNUM7WW5ENVNULEFtRDhTUSxzQm5EOVNjLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0ErRlosYUFBYSxDQTBDWCxDQUFDLENBQUM7Y0FDQSxhQUFhLEVBQUUsSUFBSTtjQUNuQixjQUFjLEVBQUUsT0FBTztjQUN2QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtZbkRsVFQsQW1Eb1RRLHNCbkRwVGMsQ3NDRHRCLHlCQUF5QixDYUF6QixxQkFBcUIsQ0FrRW5CLGNBQWMsQ0FvR1osY0FBYyxDQStGWixhQUFhLENBZ0RYLFVBQVUsQ0FBQztjQUNULFNBQVMsRUFBRSxJQUFJO2NBQ2YsVUFBVSxFQUFFLENBQUM7Y0FDYixLQUFLLEVBQUUsSUFBSTtjQUNYLEdBQUcsRUFBRSxHQUFHO2NBQ1IsUUFBUSxFQUFFLFFBQVE7Y0FDbEIsU0FBUyxFQUFFLElBQUk7Y0FDZixLQUFLLEVsRHhURSxPQUFPLEdrRHlUZjtVbkQ1VFQsQW1EK1RNLHNCbkQvVGdCLENzQ0R0Qix5QkFBeUIsQ2FBekIscUJBQXFCLENBa0VuQixjQUFjLENBb0daLGNBQWMsQ0EwSlosV0FBVyxDQUFDO1lBQ1YsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVsRG5VSCxPQUFPO1lrRG9VVCxNQUFNLEVBQUUsT0FBTztZQUNmLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsVUFBVSxFQUFFLElBQUksR0FDakI7SW5EdlVQLEFvRERBLHNCcERDc0IsQ3NDRHRCLHlCQUF5QixDY0F6QixtQkFBbUIsQ0FBQztNQUNoQixzQkFBc0IsRUFBRSxLQUFLLEdBK0NoQztNcEQvQ0QsQW9ERUksc0JwREZrQixDc0NEdEIseUJBQXlCLENjQXpCLG1CQUFtQixDQUdmLDZCQUE2QixDQUFDO1FBQzFCLE9BQU8sRUFBRSxJQUFJO1FBQ2IscUJBQXFCLEVBQUUsZUFBZTtRQUN0QyxrQkFBa0IsRUFBRSxlQUFlLEdBeUN0QztRcEQ5Q0wsQW9ET1Esc0JwRFBjLENzQ0R0Qix5QkFBeUIsQ2NBekIsbUJBQW1CLENBR2YsNkJBQTZCLENBS3pCLFdBQVcsQ0FBQztVQUNSLFdBQVcsRUFBRSxNQUFNO1VBQ25CLFFBQVEsRUFBRSxNQUFNLEdBb0NuQjtVcEQ3Q1QsQW9EV1ksc0JwRFhVLENzQ0R0Qix5QkFBeUIsQ2NBekIsbUJBQW1CLENBR2YsNkJBQTZCLENBS3pCLFdBQVcsQUFJTixVQUFXLENBQUEsQ0FBQyxFQUFFO1lBQ1gsUUFBUSxFQUFFLE1BQU0sR0FDbkI7VXBEYmIsQW9Ea0JZLHNCcERsQlUsQ3NDRHRCLHlCQUF5QixDY0F6QixtQkFBbUIsQ0FHZiw2QkFBNkIsQ0FLekIsV0FBVyxBQVdOLFVBQVcsQ0FBQSxDQUFDLEVBQUU7WUFDWCxXQUFXLEVBQUUsTUFBTSxHQUN0QjtVcERwQmIsQW9EeUJZLHNCcER6QlUsQ3NDRHRCLHlCQUF5QixDY0F6QixtQkFBbUIsQ0FHZiw2QkFBNkIsQ0FLekIsV0FBVyxBQWtCTixVQUFXLENBQUEsQ0FBQyxFQUFFO1lBQ1gsV0FBVyxFQUFFLE1BQU0sR0FDdEI7VXBEM0JiLEFvRGdDWSxzQnBEaENVLENzQ0R0Qix5QkFBeUIsQ2NBekIsbUJBQW1CLENBR2YsNkJBQTZCLENBS3pCLFdBQVcsQUF5Qk4sVUFBVyxDQUFBLENBQUMsRUFBRTtZQUNYLFdBQVcsRUFBRSxNQUFNLEdBQ3RCO1VwRGxDYixBb0RvQ1ksc0JwRHBDVSxDc0NEdEIseUJBQXlCLENjQXpCLG1CQUFtQixDQUdmLDZCQUE2QixDQUt6QixXQUFXLEFBNkJOLFVBQVcsQ0FBQSxDQUFDLEVBQUU7WUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtVcER0Q2IsQW9Ed0NZLHNCcER4Q1UsQ3NDRHRCLHlCQUF5QixDY0F6QixtQkFBbUIsQ0FHZiw2QkFBNkIsQ0FLekIsV0FBVyxDQWlDUCxHQUFHLENBQUM7WUFDQSxLQUFLLEVBQUUsSUFBSTtZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osVUFBVSxFQUFFLEtBQUssR0FDcEI7SXBENUNiLEFxREFBLHNCckRBc0IsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FBQztNQUNuQixjQUFjLEVBQUMsSUFBSSxHQWtSdEI7TTdDak5HLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtRUmxFL0IsQXFER0ksc0JyREhrQixDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQUdsQixxQkFBcUIsQ0FBQztVQUVkLE9BQU8sRUFBRSxJQUFJLEdBOEhwQjtNckRuSUwsQXFEUVEsc0JyRFJjLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBR2xCLHFCQUFxQixHQUtiLElBQUksQ0FBQztRQUNMLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLENBQUMsR0FDakI7TXJEWFQsQXFEYVEsc0JyRGJjLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBR2xCLHFCQUFxQixDQVVqQixpQkFBaUIsQ0FBQztRQUNkLFFBQVEsRUFBRSxRQUFRLEdBMENyQjtRN0NVTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEFxRGFRLHNCckRiYyxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQUdsQixxQkFBcUIsQ0FVakIsaUJBQWlCLENBQUM7WUFJVixPQUFPLEVBQUUsSUFBSTtZQUNiLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFNBQVMsRUFBRSxJQUFJLEdBcUN0QjtRckR4RFQsQXFEc0JZLHNCckR0QlUsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FHbEIscUJBQXFCLENBVWpCLGlCQUFpQixBQVNaLE9BQU8sQ0FBQztVQUNMLE9BQU8sRUFBRSxFQUFFO1VBQ1gsUUFBUSxFQUFFLFFBQVE7VUFDbEIsS0FBSyxFQUFFLEdBQUc7VUFDVixNQUFNLEVBQUUsSUFBSTtVQUNaLElBQUksRUFBRSxJQUFJO1VBQ1YsU0FBUyxFQUFFLG9CQUFvQjtVbkRGM0MsY0FBYyxFbURHaUIsb0JBQW9CO1VuREZuRCxhQUFhLEVtREVrQixvQkFBb0I7VW5ERG5ELFlBQVksRW1EQ21CLG9CQUFvQjtVbkRBbkQsaUJBQWlCLEVtREFjLG9CQUFvQjtVbkRDbkQsU0FBUyxFbUREc0Isb0JBQW9CO1VuREVuRCwyQkFBMkIsRUFBRSxNQUFNO1VtRER2QiwyQkFBMkIsRUFBRSxLQUFLO1VBQ2xDLEdBQUcsRUFBRSxHQUFHO1VBQ1IsZ0JBQWdCLEVwRDdCZixPQUFPLEdvRDhCWDtRckRqQ2IsQXFEb0NnQixzQnJEcENNLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBR2xCLHFCQUFxQixDQVVqQixpQkFBaUIsQUFzQlosWUFBWSxBQUNSLE9BQU8sQ0FBQztVQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO1E3QzRCYixNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEFxRDBDZ0Isc0JyRDFDTSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQUdsQixxQkFBcUIsQ0FVakIsaUJBQWlCLEFBNEJaLFVBQVcsQ0FBQSxJQUFJLENBQ1gsT0FBTyxFckQxQ3hCLHNCQUFzQixDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQUdsQixxQkFBcUIsQ0FVakIsaUJBQWlCLEFBNEJPLFVBQVcsQ0FBQSxDQUFDLENBQzNCLE9BQU8sQ0FBQztZQUVELE9BQU8sRUFBRSxJQUFJLEdBRXBCO1E3Q29CYixNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEFxRGtEZ0Isc0JyRGxETSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQUdsQixxQkFBcUIsQ0FVakIsaUJBQWlCLEFBb0NaLFVBQVcsQ0FBQSxDQUFDLENBQ1IsT0FBTyxFckRsRHhCLHNCQUFzQixDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQUdsQixxQkFBcUIsQ0FVakIsaUJBQWlCLEFBb0NJLFVBQVcsQ0FBQSxDQUFDLENBQ3hCLE9BQU8sQ0FBQztZQUVELE9BQU8sRUFBRSxLQUFLLEdBRXJCO01yRHREakIsQXFENERnQixzQnJENURNLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBR2xCLHFCQUFxQixDQXVEakIsbUJBQW1CLEdBQ1gsaUJBQWlCLEFBQ2hCLE9BQU8sQ0FBQztRQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO01yRDlEakIsQXFEa0VRLHNCckRsRWMsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FHbEIscUJBQXFCLENBK0RqQixzQkFBc0IsQ0FBQztRQUNuQixNQUFNLEVBQUUsT0FBTztRQUNmLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLE1BQU07UUFDdEIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLFNBQVM7UUFDekIsT0FBTyxFQUFFLE1BQU07UUFDZixRQUFRLEVBQUUsUUFBUSxHQXVEckI7UTdDaEVMLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztVUmxFaEMsQXFEa0VRLHNCckRsRWMsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FHbEIscUJBQXFCLENBK0RqQixzQkFBc0IsQ0FBQztZbkRtRTNCLFNBQVMsRUFBRSxxREFBb0U7WW1EdERuRSxPQUFPLEVBQUUsS0FBSyxHQW1EckI7UTdDaEVMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQXFEa0VRLHNCckRsRWMsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FHbEIscUJBQXFCLENBK0RqQixzQkFBc0IsQ0FBQztZQWlCZixXQUFXLEVBQUUsR0FBRztZQUNoQixPQUFPLEVBQUUsUUFBUTtZQUNqQixNQUFNLEVBQUUsSUFBSSxHQTZDbkI7UXJEbElULEFxRHdGWSxzQnJEeEZVLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBR2xCLHFCQUFxQixDQStEakIsc0JBQXNCLEFBc0JqQixNQUFNLENBQUM7VUFDSixPQUFPLEVBQUUsRUFBRTtVQUNYLEtBQUssRUFBRSxDQUFDO1VBQ1IsU0FBUyxFQUFFLGlCQUFpQjtVQUM1QixNQUFNLEVBQUUsR0FBRztVQUNYLGdCQUFnQixFcEQvRnRCLE9BQU87VW9EZ0dELE9BQU8sRUFBRSxZQUFZO1VBQ3JCLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLDBCQUEwQjtVQUMxQixJQUFJLEVBQUUsSUFBSTtVQUNWLE1BQU0sRUFBRSxHQUFHO1VBQ1gsZ0NBQWdDO1VuRGxGNUMsY0FBYyxFRGNWLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ2IxQyxrQkFBa0IsRURhZCxHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNaMUMsZUFBZSxFRFlYLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtVQ1gxQyxhQUFhLEVEV1QsR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1VDVjFDLFVBQVUsRURVTixHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7VUNUMUMsMkJBQTJCLEVBQUUsTUFBTSxHbURvRjFCO1U3Q3hDVCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7WVJsRWhDLEFxRHdGWSxzQnJEeEZVLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBR2xCLHFCQUFxQixDQStEakIsc0JBQXNCLEFBc0JqQixNQUFNLENBQUM7Y0FlQSxTQUFTLEVBQUUsaUJBQWlCO2NBQzVCLElBQUksRUFBRSxHQUFHLEdBRWhCO1FyRDFHYixBcUQ4R2dCLHNCckQ5R00sQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FHbEIscUJBQXFCLENBK0RqQixzQkFBc0IsQUEwQ2pCLE9BQU8sQUFFSCxNQUFNLENBQUM7VUFDSixLQUFLLEVBQUUsaUJBQWlCLEdBSzNCO1U3Q2xEYixNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7WVJsRWhDLEFxRDhHZ0Isc0JyRDlHTSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQUdsQixxQkFBcUIsQ0ErRGpCLHNCQUFzQixBQTBDakIsT0FBTyxBQUVILE1BQU0sQ0FBQztjQUlBLEtBQUssRUFBRSxpQkFBaUIsR0FFL0I7UXJEcEhqQixBcUR1SG9CLHNCckR2SEUsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FHbEIscUJBQXFCLENBK0RqQixzQkFBc0IsQUEwQ2pCLE9BQU8sQUFVSCxhQUFhLEFBQ1QsTUFBTSxDQUFDO1VBQ0osS0FBSyxFQUFFLENBQUMsR0FDWDtRckR6SHJCLEFxRDZIb0Isc0JyRDdIRSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQUdsQixxQkFBcUIsQ0ErRGpCLHNCQUFzQixBQTBDakIsT0FBTyxBQWdCSCxlQUFlLEFBQ1gsTUFBTSxDQUFDO1VBQ0osS0FBSyxFQUFFLGdCQUFnQixHQUMxQjtNckQvSHJCLEFxRHFJSSxzQnJEcklrQixDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBQUM7UUFDZixVQUFVLEVBQUUsSUFBSSxHQTRJbkI7UTdDaE5ELE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztVUmxFaEMsQXFEcUlJLHNCckRySWtCLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBcUlsQixrQkFBa0IsQ0FBQztZQUlYLFVBQVUsRUFBRSxHQUFHO1lBQ2YsV0FBVyxFQUFFLElBQUksR0F3SXhCO1FyRGxSTCxBcUQrSVEsc0JyRC9JYyxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQUFDO1VBQ1gsU0FBUyxFQUFFLElBQUksR0FpSWxCO1VyRGpSVCxBcURrSlksc0JyRGxKVSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQUdWLGFBQWEsQ0FBQyxHQUFHLENBQUM7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLHFCQUFxQjtZQUNyQixTQUFTLEVBQUUsS0FBSztZQUNoQixNQUFNLEVBQUUsSUFBSTtZQUNaLHNCQUFzQjtZQUN0QixVQUFVLEVBQUUsS0FBSyxHQUtwQjtZN0MzRlQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO2NSbEUvQixBcURrSlksc0JyRGxKVSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQUdWLGFBQWEsQ0FBQyxHQUFHLENBQUM7Z0JBU1YsU0FBUyxFQUFFLEtBQUssR0FFdkI7VXJEN0piLEFxRCtKWSxzQnJEL0pVLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBcUlsQixrQkFBa0IsQ0FVZCxjQUFjLENBZ0JWLHlCQUF5QixDQUFDO1lBQ3RCLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBQ3RCO1VyRG5LYixBcURxS1ksc0JyRHJLVSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQXNCVixPQUFPLENBQUM7WUFDSixTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxLQUFLO1lBQ2QsVUFBVSxFQUFFLE1BQU07WUFDbEIsV0FBVyxFQUFFLEdBQUc7WUFDaEIsV0FBVyxFQUFFLEdBQUc7WUFDaEIsY0FBYyxFQUFFLE1BQU07WUFDdEIsV0FBVyxFQUFFLEdBQUcsR0FLbkI7WUFIRyxNQUFNLEVBQUMsU0FBUyxFQUFFLE1BQU07Y3JEOUt4QyxBcURxS1ksc0JyRHJLVSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQXNCVixPQUFPLENBQUM7Z0JuRGhDaEIsU0FBUyxFQUFFLHFEQUFvRSxHbUQ0Q3RFO1VyRGpMYixBcURtTFksc0JyRG5MVSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQW9DVixNQUFNLENBQUM7WUFDSCxjQUFjLEVBQUUsU0FBUztZQUN6QixPQUFPLEVBQUUsS0FBSztZQUNkLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLGNBQWMsRUFBRSxNQUFNLEdBS3pCO1k3QzNIVCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7Y1JsRS9CLEFxRG1MWSxzQnJEbkxVLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBcUlsQixrQkFBa0IsQ0FVZCxjQUFjLENBb0NWLE1BQU0sQ0FBQztnQm5EOUNmLFNBQVMsRUFBRSxxREFBb0UsR21Ed0R0RTtVckQ3TGIsQXFEaU1ZLHNCckRqTVUsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FxSWxCLGtCQUFrQixDQVVkLGNBQWMsQ0FrRFYsaUJBQWlCLENBQUM7WUFDZCxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxzQkFBcUI7WUFDNUMsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFdBQVcsRUFBRSxJQUFJLEdBc0RwQjtZN0N6TFQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO2NSbEUvQixBcURpTVksc0JyRGpNVSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQWtEVixpQkFBaUIsQ0FBQztnQkFPVixNQUFNLEVBQUUsSUFBSTtnQkFDWixXQUFXLEVBQUUsQ0FBQztnQkFDZCxZQUFZLEVBQUUsQ0FBQztnQkFDZixXQUFXLEVBQUUsSUFBSSxHQWdEeEI7WXJEM1BiLEFxRDhNZ0Isc0JyRDlNTSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQWtEVixpQkFBaUIsQUFhWixNQUFNLENBQUM7Y0FDSixPQUFPLEVBQUUsRUFBRTtjQUNYLFFBQVEsRUFBRSxRQUFRO2NBQ2xCLEtBQUssRUFBRSxJQUFJO2NBQ1gsTUFBTSxFQUFFLElBQUk7Y0FDWixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxzQkFBcUI7Y0FDNUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsc0JBQXFCO2NuRDFMM0QsY0FBYyxFbUQ0THFCLGNBQWM7Y25EM0xqRCxhQUFhLEVtRDJMc0IsY0FBYztjbkQxTGpELFlBQVksRW1EMEx1QixjQUFjO2NuRHpMakQsaUJBQWlCLEVtRHlMa0IsY0FBYztjbkR4TGpELFNBQVMsRW1Ed0wwQixjQUFjO2NuRHZMakQsMkJBQTJCLEVBQUUsTUFBTTtjbUR3TG5CLDJCQUEyQixFQUFFLEtBQUs7Y0FDbEMsR0FBRyxFQUFFLEtBQUs7Y0FDVixJQUFJLEVBQUUsTUFBTTtjQUNaLGdCQUFnQixFcER0TnZCLE9BQU8sR29EMk5IO2M3QzdKYixNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7Z0JSbEUvQixBcUQ4TWdCLHNCckQ5TU0sQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FxSWxCLGtCQUFrQixDQVVkLGNBQWMsQ0FrRFYsaUJBQWlCLEFBYVosTUFBTSxDQUFDO2tCQWVBLE9BQU8sRUFBRSxJQUFJLEdBRXBCO1lyRC9OakIsQXFEa09vQixzQnJEbE9FLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBcUlsQixrQkFBa0IsQ0FVZCxjQUFjLENBa0RWLGlCQUFpQixDQWdDYixlQUFlLENBQ1gsRUFBRSxDQUFDO2NBQ0MsU0FBUyxFQUFFLElBQUk7Y0FDZixjQUFjLEVBQUUsU0FBUztjQUN6QixhQUFhLEVBQUUsSUFBSTtjQUNuQixXQUFXLEVBQUUsR0FBRztjQUNoQixjQUFjLEVBQUUsTUFDcEIsR0FBQztZckR4T3JCLEFxRDJPZ0Isc0JyRDNPTSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQWtEVixpQkFBaUIsQ0EwQ2IsYUFBYSxDQUFDO2NBQ1YsY0FBYyxFQUFFLEdBQUcsR0FjdEI7Y3JEMVBqQixBcUQ4T29CLHNCckQ5T0UsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FxSWxCLGtCQUFrQixDQVVkLGNBQWMsQ0FrRFYsaUJBQWlCLENBMENiLGFBQWEsQ0FHVCxDQUFDLENBQUM7Z0JBQ0UsS0FBSyxFcERqUG5CLE9BQU87Z0JvRGtQTyxZQUFZLEVBQUUsSUFBSTtnQkFDbEIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsY0FBYyxFQUFFLEdBQUc7Z0JBQ25CLFVBQVUsRUFBRSxHQUFHLEdBQ2xCO2NyRHBQckIsQXFEc1BvQixzQnJEdFBFLENzQ0R0Qix5QkFBeUIsQ2VDekIsc0JBQXNCLENBcUlsQixrQkFBa0IsQ0FVZCxjQUFjLENBa0RWLGlCQUFpQixDQTBDYixhQUFhLENBV1QsSUFBSSxDQUFDO2dCQUNELE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsaUJBQWlCLEdBQzNCO1VyRHpQckIsQXFENlBZLHNCckQ3UFUsQ3NDRHRCLHlCQUF5QixDZUN6QixzQkFBc0IsQ0FxSWxCLGtCQUFrQixDQVVkLGNBQWMsQ0E4R1YsZ0JBQWdCLENBQUM7WUFDYixVQUFVLEVBQUUsSUFBSSxHQVluQjtZN0N4TVQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO2NSbEUvQixBcUQ2UFksc0JyRDdQVSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQThHVixnQkFBZ0IsQ0FBQztnQkFJVCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsYUFBYSxFQUFFLEtBQUssR0FRM0I7WXJEMVFiLEFxRHNRb0Isc0JyRHRRRSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQThHVixnQkFBZ0IsQ0FRWixXQUFXLEFBQ04sTUFBTSxDQUFDO2NBQ0osV0FBVyxFQUFFLElBQUksR0FDcEI7VXJEeFFyQixBcUQ0UVksc0JyRDVRVSxDc0NEdEIseUJBQXlCLENlQ3pCLHNCQUFzQixDQXFJbEIsa0JBQWtCLENBVWQsY0FBYyxDQTZIVixxQkFBcUIsQ0FBQztZQUNsQixXQUFXLEVBQUUsS0FBSztZQUNsQixZQUFZLEVBQUUsS0FBSztZQUNuQixhQUFhLEVBQUUsS0FBSyxHQUN2QjtJckRoUmIsQXFEcVJBLHNCckRyUnNCLENzQ0R0Qix5QkFBeUIsQ2VzUnpCLG9CQUFvQixDQUFDO01BQ2pCLE9BQU8sRUFBRSxJQUFJO01BQ2IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLElBQUksR0ErQmhCO003Q3JQRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7UVJsRS9CLEFxRHFSQSxzQnJEclJzQixDc0NEdEIseUJBQXlCLENlc1J6QixvQkFBb0IsQ0FBQztVQU1iLE9BQU8sRUFBRSxLQUFLLEdBNEJyQjtNckR2VEQsQXFEOFJJLHNCckQ5UmtCLENzQ0R0Qix5QkFBeUIsQ2VzUnpCLG9CQUFvQixDQVNoQixrQkFBa0IsQ0FBQztRQUNmLGdCQUFnQixFcERqU2QsT0FBTztRb0RrU1QsT0FBTyxFQUFFLEVBQUU7UUFDWCxRQUFRLEVBQUUsS0FBSztRQUNmLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLENBQUM7UUFDVCxLQUFLLEVBQUUsQ0FBQztRbkRuUlosY0FBYyxFRGNWLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtRQ2IxQyxrQkFBa0IsRURhZCxHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7UUNaMUMsZUFBZSxFRFlYLEdBQUcsQ0FBQyxJQUFHLENBQUMsOEJBQXlCLENBQUMsSUFBSTtRQ1gxQyxhQUFhLEVEV1QsR0FBRyxDQUFDLElBQUcsQ0FBQyw4QkFBeUIsQ0FBQyxJQUFJO1FDVjFDLFVBQVUsRURVTixHQUFHLENBQUMsSUFBRyxDQUFDLDhCQUF5QixDQUFDLElBQUk7UUNUMUMsMkJBQTJCLEVBQUUsTUFBTTtRbURnUi9CLE9BQU8sRUFBRSxLQUFLO1FBQ2QsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsRUFBRSxHQWNkO1FyRHRUTCxBcUQwU1Esc0JyRDFTYyxDc0NEdEIseUJBQXlCLENlc1J6QixvQkFBb0IsQ0FTaEIsa0JBQWtCLEFBWWIsS0FBSyxDQUFDO1VBQ0gsT0FBTyxFQUFFLElBQUk7VUFDYixNQUFNLEVBQUUsQ0FBQztVQUNULE9BQU8sRUFBRSxDQUFDLEdBQ2I7UXJEOVNULEFxRGdUUSxzQnJEaFRjLENzQ0R0Qix5QkFBeUIsQ2VzUnpCLG9CQUFvQixDQVNoQixrQkFBa0IsQ0FrQmQsQ0FBQyxDQUFDO1VBQ0UsTUFBTSxFQUFFLE9BQU87VW5ENUt2QixTQUFTLEVBQUUscURBQW9FO1VtRDhLdkUsS0FBSyxFQUFFLElBQUk7VUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtJckRyVFQsQXNEUEEsc0J0RE9zQixDc0NEdEIseUJBQXlCLENnQk56QixPQUFPLEFBQUEsY0FBYyxDQUFDO01BQ2xCLFdBQVcsRUFBRSxLQUFLO01BQ2xCLGNBQWMsRUFBRSxLQUFLLEdBa0R4QjtNdEQ3Q0QsQXNESEksc0J0REdrQixDc0NEdEIseUJBQXlCLENnQk56QixPQUFPLEFBQUEsY0FBYyxDQUlqQixlQUFlLENBQUM7UUFDWixVQUFVLEVBQUUsTUFBTTtRQUNsQixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUUsSUFBSSxHQUtmO1F0RExMLEFzREVRLHNCdERGYyxDc0NEdEIseUJBQXlCLENnQk56QixPQUFPLEFBQUEsY0FBYyxDQUlqQixlQUFlLENBS1gsQ0FBQyxDQUFDO1VBQ0UsU0FBUyxFQUFFLElBQUksR0FDbEI7TXRESlQsQXNET0ksc0J0RFBrQixDc0NEdEIseUJBQXlCLENnQk56QixPQUFPLEFBQUEsY0FBYyxDQWNqQixlQUFlLENBQUM7UUFDWixVQUFVLEVBQUUsTUFBTTtRQUNsQixNQUFNLEVBQUUsS0FBSyxHQW1DaEI7UXRENUNMLEFzRFdRLHNCdERYYyxDc0NEdEIseUJBQXlCLENnQk56QixPQUFPLEFBQUEsY0FBYyxDQWNqQixlQUFlLENBSVgsR0FBRyxDQUFDO1VwRE1SLGNBQWMsRW9ETGMsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO1VwRE0vQyxrQkFBa0IsRW9ETlUsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO1VwRE8vQyxlQUFlLEVvRFBhLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztVcERRL0MsYUFBYSxFb0RSZSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7VXBEUy9DLFVBQVUsRW9EVGtCLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztVcERVL0MsMkJBQTJCLEVBQUUsTUFBTTtVb0RUM0IsTUFBTSxFQUFFLElBQUk7VUFDWixVQUFVLEVBQUUsS0FBSztVQUNqQixHQUFHLEVBQUUsR0FBRztVcERXaEIsY0FBYyxFb0RUYyxnQkFBZ0I7VXBEVTVDLGFBQWEsRW9EVmUsZ0JBQWdCO1VwRFc1QyxZQUFZLEVvRFhnQixnQkFBZ0I7VXBEWTVDLGlCQUFpQixFb0RaVyxnQkFBZ0I7VXBEYTVDLFNBQVMsRW9EYm1CLGdCQUFnQjtVcERjNUMsMkJBQTJCLEVBQUUsTUFBTTtVb0RiM0IsMkJBQTJCLEVBQUUsS0FBSyxHQUNyQztRdERuQlQsQXNEcUJRLHNCdERyQmMsQ3NDRHRCLHlCQUF5QixDZ0JOekIsT0FBTyxBQUFBLGNBQWMsQ0FjakIsZUFBZSxDQWNYLFFBQVEsQ0FBQztVQUNMLE9BQU8sRUFBRSxDQUFDO1VBQ1YsUUFBUSxFQUFFLFFBQVE7VUFDbEIsSUFBSSxFQUFFLEdBQUc7VUFDVCxLQUFLLEVBQUUsSUFBSTtVQUNYLFNBQVMsRUFBRSxpQkFBaUI7VXBEQXBDLGNBQWMsRW9EQ2EscUJBQW9CO1VwREEvQyxhQUFhLEVvREFjLHFCQUFvQjtVcERDL0MsWUFBWSxFb0REZSxxQkFBb0I7VXBERS9DLGlCQUFpQixFb0RGVSxxQkFBb0I7VXBERy9DLFNBQVMsRW9ESGtCLHFCQUFvQjtVcERJL0MsMkJBQTJCLEVBQUUsTUFBTSxHb0RIOUI7UXRENUJULEFzRDhCUSxzQnREOUJjLENzQ0R0Qix5QkFBeUIsQ2dCTnpCLE9BQU8sQUFBQSxjQUFjLENBY2pCLGVBQWUsQ0F1QlgsS0FBSyxDQUFDO1VBQ0YsUUFBUSxFQUFFLFFBQVEsR0FDckI7UXREaENULEFzRG9DWSxzQnREcENVLENzQ0R0Qix5QkFBeUIsQ2dCTnpCLE9BQU8sQUFBQSxjQUFjLENBY2pCLGVBQWUsQUEyQlYsTUFBTSxDQUVILEtBQUssQ0FBQztVQUNGLE9BQU8sRUFBRSxDQUFDLEdBQ2I7UXREdENiLEFzRHdDWSxzQnREeENVLENzQ0R0Qix5QkFBeUIsQ2dCTnpCLE9BQU8sQUFBQSxjQUFjLENBY2pCLGVBQWUsQUEyQlYsTUFBTSxDQU1ILFFBQVEsQ0FBQztVQUNMLE9BQU8sRUFBRSxDQUFDLEdBQ2I7SXREMUNiLEFzQzJKRSxzQnRDM0pvQixDc0NEdEIseUJBQXlCLENBNEp2QixzQkFBc0IsQ0FBQztNQUNyQixXQUFXLEVBQUUsS0FBSyxHQUNuQjtJdEM3SkgsQXNDK0pFLHNCdEMvSm9CLENzQ0R0Qix5QkFBeUIsQ0FnS3ZCLE9BQU8sQ0FBQztNQUNOLFFBQVEsRUFBRSxRQUFRLEdBQ25CO0l0Q2pLSCxBc0NxS00sc0J0Q3JLZ0IsQ3NDRHRCLHlCQUF5QixDQW9LdkIsT0FBTyxBQUFBLHFCQUFxQixBQUN6QixNQUFNLENBQ0wsY0FBYyxDQUFDO01BQ2IsS0FBSyxFQUFFLElBQUksR0FDWjtJdEN2S1AsQXNDd0tNLHNCdEN4S2dCLENzQ0R0Qix5QkFBeUIsQ0FvS3ZCLE9BQU8sQUFBQSxxQkFBcUIsQUFDekIsTUFBTSxDQUlMLGVBQWUsQ0FBQztNQUNkLEtBQUssRUFBRSxLQUFLO01BQ1osYUFBYSxFQUFFLENBQUMsR0FDakI7SXRDM0tQLEFzQytLRSxzQnRDL0tvQixDc0NEdEIseUJBQXlCLENBZ0x2QixPQUFPLEFBQUEsc0JBQXNCLENBQUM7TUFDNUIsY0FBYyxFQUFFLElBQUksR0E4RHJCO010QzlPSCxBc0NrTEksc0J0Q2xMa0IsQ3NDRHRCLHlCQUF5QixDQWdMdkIsT0FBTyxBQUFBLHNCQUFzQixDQUczQixTQUFTLENBQUM7UUFDUixZQUFZLEVBQUUsSUFBSTtRQUNsQixhQUFhLEVBQUUsQ0FBQyxHQWdCakI7UTlCbElELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQXNDa0xJLHNCdENsTGtCLENzQ0R0Qix5QkFBeUIsQ0FnTHZCLE9BQU8sQUFBQSxzQkFBc0IsQ0FHM0IsU0FBUyxDQUFDO1lBS04sT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsSUFBSSxHQVluQjtRdENwTUwsQXNDMkxNLHNCdEMzTGdCLENzQ0R0Qix5QkFBeUIsQ0FnTHZCLE9BQU8sQUFBQSxzQkFBc0IsQ0FHM0IsU0FBUyxBQVNOLFlBQVksQ0FBQztVQUNaLGFBQWEsRUFBRSxJQUFJO1VBQ25CLFlBQVksRUFBRSxDQUFDLEdBTWhCO1U5QmpJSCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7WVJsRS9CLEFzQzJMTSxzQnRDM0xnQixDc0NEdEIseUJBQXlCLENBZ0x2QixPQUFPLEFBQUEsc0JBQXNCLENBRzNCLFNBQVMsQUFTTixZQUFZLENBQUM7Y0FLVixPQUFPLEVBQUUsTUFBTTtjQUNmLFVBQVUsRUFBRSxDQUFDLEdBRWhCO010Q25NUCxBc0NzTUksc0J0Q3RNa0IsQ3NDRHRCLHlCQUF5QixDQWdMdkIsT0FBTyxBQUFBLHNCQUFzQixDQXVCM0IsRUFBRSxDQUFDO1FBQ0QsY0FBYyxFQUFFLFNBQVM7UUFDekIsV0FBVyxFQUFFLEdBQUc7UUFDaEIsU0FBUyxFQUFFLElBQUksR0FDaEI7TXRDMU1MLEFzQzRNSSxzQnRDNU1rQixDc0NEdEIseUJBQXlCLENBZ0x2QixPQUFPLEFBQUEsc0JBQXNCLENBNkIzQixTQUFTLENBQUM7UUFDUixPQUFPLEVBQUUsS0FBSztRQUNkLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsY0FBYyxFQUFFLE9BQU8sR0FtQnhCO1F0Q25PTCxBc0NrTk0sc0J0Q2xOZ0IsQ3NDRHRCLHlCQUF5QixDQWdMdkIsT0FBTyxBQUFBLHNCQUFzQixDQTZCM0IsU0FBUyxDQU1QLGtCQUFrQixDQUFDO1VBQ2pCLFNBQVMsRUFBRSxJQUFJO1VBQ2YsY0FBYyxFQUFFLE1BQU07VUFDdEIsUUFBUSxFQUFFLFFBQVE7VUFDbEIsSUFBSSxFQUFFLE1BQU07VUFDWixLQUFLLEVBQUUsS0FBSztVQUNaLEdBQUcsRUFBRSxnQkFBZ0I7VUFDckIsU0FBUyxFQUFFLGdCQUFnQixHQVM1QjtVQVBDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07WXRDM041QyxBc0NrTk0sc0J0Q2xOZ0IsQ3NDRHRCLHlCQUF5QixDQWdMdkIsT0FBTyxBQUFBLHNCQUFzQixDQTZCM0IsU0FBUyxDQU1QLGtCQUFrQixDQUFDO2NBVWYsUUFBUSxFQUFFLFFBQVE7Y0FDbEIsR0FBRyxFQUFFLEtBQUs7Y0FDVixJQUFJLEVBQUUsS0FBSztjQUNYLFNBQVMsRUFBRSxJQUFJO2NBQ2YsS0FBSyxFQUFFLElBQUksR0FFZDtNdENsT1AsQXNDcU9JLHNCdENyT2tCLENzQ0R0Qix5QkFBeUIsQ0FnTHZCLE9BQU8sQUFBQSxzQkFBc0IsQ0FzRDNCLEdBQUcsQ0FBQztRQUNGLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO010Q3ZPTCxBc0N5T0ksc0J0Q3pPa0IsQ3NDRHRCLHlCQUF5QixDQWdMdkIsT0FBTyxBQUFBLHNCQUFzQixDQTBEM0IsUUFBUSxDQUFDO1FBQ1AsV0FBVyxFQUFFLElBQUk7UUFDakIsU0FBUyxFQUFFLElBQUk7UUFDZixjQUFjLEVBQUUsTUFBTSxHQUN2QjtJdEM3T0wsQXNDZ1BFLHNCdENoUG9CLENzQ0R0Qix5QkFBeUIsQ0FpUHZCLE9BQU8sQUFBQSxtQkFBbUIsQ0FBQztNQUN6QixjQUFjLEVBQUUsSUFBSSxHQU9yQjtNdEN4UEgsQXNDbVBJLHNCdENuUGtCLENzQ0R0Qix5QkFBeUIsQ0FpUHZCLE9BQU8sQUFBQSxtQkFBbUIsQ0FHeEIsWUFBWSxDQUFDO1FBQ1gsU0FBUyxFQUFFLElBQUk7UUFDZixjQUFjLEVBQUUsT0FBTztRQUN2QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtJdEN2UEwsQXNDMFBFLHNCdEMxUG9CLENzQ0R0Qix5QkFBeUIsQ0EyUHZCLE9BQU8sQUFBQSx3QkFBd0IsQ0FBQztNQUM5QixjQUFjLEVBQUUsSUFBSSxHQStDckI7TXRDMVNILEFzQzZQSSxzQnRDN1BrQixDc0NEdEIseUJBQXlCLENBMlB2QixPQUFPLEFBQUEsd0JBQXdCLENBRzdCLGVBQWUsQ0FBQztRQUNkLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGFBQWEsRUFBRSxLQUFLLEdBS3JCO1E5QmxNRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7VVJsRS9CLEFzQzZQSSxzQnRDN1BrQixDc0NEdEIseUJBQXlCLENBMlB2QixPQUFPLEFBQUEsd0JBQXdCLENBRzdCLGVBQWUsQ0FBQztZQUtaLGFBQWEsRUFBRSxHQUFHLEdBRXJCO010Q3BRTCxBc0N1UU0sc0J0Q3ZRZ0IsQ3NDRHRCLHlCQUF5QixDQTJQdkIsT0FBTyxBQUFBLHdCQUF3QixDQVk3QixXQUFXLEFBQ1IsSUFBSyxDQUFBLFlBQVksRUFBRTtRQUNsQixXQUFXLEVBQUUsSUFBSSxHQUNsQjtNdEN6UVAsQXNDNFFJLHNCdEM1UWtCLENzQ0R0Qix5QkFBeUIsQ0EyUHZCLE9BQU8sQUFBQSx3QkFBd0IsQ0FrQjdCLE9BQU8sQ0FBQztRQUNOLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLEtBQUssRXJDbFJELE9BQU8sR3FDdVJaO1E5Qm5ORCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7VVJsRWhDLEFzQzRRSSxzQnRDNVFrQixDc0NEdEIseUJBQXlCLENBMlB2QixPQUFPLEFBQUEsd0JBQXdCLENBa0I3QixPQUFPLENBQUM7WXBDdklSLFNBQVMsRUFBRSxzREFBb0UsR29DZ0o5RTtNdENyUkwsQXNDdVJJLHNCdEN2UmtCLENzQ0R0Qix5QkFBeUIsQ0EyUHZCLE9BQU8sQUFBQSx3QkFBd0IsQ0E2QjdCLE1BQU0sQ0FBQztRQUNMLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLFNBQVM7UUFDekIsV0FBVyxFQUFFLEdBQUcsR0FLakI7UTlCOU5ELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtVUmxFL0IsQXNDdVJJLHNCdEN2UmtCLENzQ0R0Qix5QkFBeUIsQ0EyUHZCLE9BQU8sQUFBQSx3QkFBd0IsQ0E2QjdCLE1BQU0sQ0FBQztZcENsSlAsU0FBUyxFQUFFLHFEQUFvRSxHb0MySjlFO010Q2hTTCxBc0NrU0ksc0J0Q2xTa0IsQ3NDRHRCLHlCQUF5QixDQTJQdkIsT0FBTyxBQUFBLHdCQUF3QixDQXdDN0IsWUFBWSxDQUFDO1FBQ1gsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsR0FBRyxHQUtqQjtRdEN6U0wsQXNDc1NNLHNCdEN0U2dCLENzQ0R0Qix5QkFBeUIsQ0EyUHZCLE9BQU8sQUFBQSx3QkFBd0IsQ0F3QzdCLFlBQVksQ0FJVixNQUFNLENBQUM7VUFDTCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtJOUJ0T0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO01SbEUvQixBc0M2U0ksc0J0QzdTa0IsQ3NDRHRCLHlCQUF5QixDQTZTdkIsT0FBTyxBQUFBLGtCQUFrQixBQUFBLHFCQUFxQixBQUMzQyxPQUFPLEV0QzdTWixzQkFBc0IsQ3NDRHRCLHlCQUF5QixDQTZTdkIsT0FBTyxBQUFBLGtCQUFrQixBQUFBLHFCQUFxQixBQUUzQyxNQUFNLENBQUM7UUFFSixPQUFPLEVBQUUsSUFBSSxHQUVoQjtJdENsVEwsQXNDb1RJLHNCdENwVGtCLENzQ0R0Qix5QkFBeUIsQ0E2U3ZCLE9BQU8sQUFBQSxrQkFBa0IsQUFBQSxxQkFBcUIsQUFRM0MsWUFBWSxBQUFBLGdCQUFnQixDQUFDO01BQzVCLFVBQVUsRUFBRSxNQUFNLEdBS25CO010QzFUTCxBc0N1VE0sc0J0Q3ZUZ0IsQ3NDRHRCLHlCQUF5QixDQTZTdkIsT0FBTyxBQUFBLGtCQUFrQixBQUFBLHFCQUFxQixBQVEzQyxZQUFZLEFBQUEsZ0JBQWdCLEdBR3ZCLE9BQU8sQ0FBQztRQUNWLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7SXRDelRQLEFzQzRUSSxzQnRDNVRrQixDc0NEdEIseUJBQXlCLENBNlN2QixPQUFPLEFBQUEsa0JBQWtCLEFBQUEscUJBQXFCLEFBZ0IzQyxnQkFBZ0IsQUFBQSxxQkFBcUIsQ0FBQztNQUNyQyxVQUFVLEVBQUUsS0FBSztNQUNqQixNQUFNLEVBQUUsS0FBSyxHQUtkO005QmpRRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7UVJsRS9CLEFzQzRUSSxzQnRDNVRrQixDc0NEdEIseUJBQXlCLENBNlN2QixPQUFPLEFBQUEsa0JBQWtCLEFBQUEscUJBQXFCLEFBZ0IzQyxnQkFBZ0IsQUFBQSxxQkFBcUIsQ0FBQztVQUtuQyxNQUFNLEVBQUUsS0FBSyxHQUVoQjtJdENuVUwsQXNDcVVJLHNCdENyVWtCLENzQ0R0Qix5QkFBeUIsQ0E2U3ZCLE9BQU8sQUFBQSxrQkFBa0IsQUFBQSxxQkFBcUIsQUF5QjNDLGdCQUFnQixBQUFBLHFCQUFxQixDQUFDO01wQzNTdkMsY0FBYyxFb0M2U08sY0FBYztNcEM1U25DLGFBQWEsRW9DNFNRLGNBQWM7TXBDM1NuQyxZQUFZLEVvQzJTUyxjQUFjO01wQzFTbkMsaUJBQWlCLEVvQzBTSSxjQUFjO01wQ3pTbkMsU0FBUyxFb0N5U1ksY0FBYztNcEN4U25DLDJCQUEyQixFQUFFLE1BQU07TW9DeVNqQywyQkFBMkIsRUFBRSxLQUFLLEdBQ25DO0l0Q3pVTCxBc0MyVUksc0J0QzNVa0IsQ3NDRHRCLHlCQUF5QixDQTZTdkIsT0FBTyxBQUFBLGtCQUFrQixBQUFBLHFCQUFxQixBQStCM0MsWUFBWSxBQUFBLGdCQUFnQixDQUFDO01wQ2pUOUIsY0FBYyxFb0NrVE8sZUFBZTtNcENqVHBDLGFBQWEsRW9DaVRRLGVBQWU7TXBDaFRwQyxZQUFZLEVvQ2dUUyxlQUFlO01wQy9TcEMsaUJBQWlCLEVvQytTSSxlQUFlO01wQzlTcEMsU0FBUyxFb0M4U1ksZUFBZTtNcEM3U3BDLDJCQUEyQixFQUFFLE1BQU07TW9DOFNqQywyQkFBMkIsRUFBRSxLQUFLLEdBQ25DO0l0QzlVTCxBc0NrVkksc0J0Q2xWa0IsQ3NDRHRCLHlCQUF5QixDQWtWdkIsT0FBTyxBQUFBLFVBQVUsQ0FDZixHQUFHLENBQUM7TUFDRixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO0l0Q3JWTCxBc0N5Vkksc0J0Q3pWa0IsQ3NDRHRCLHlCQUF5QixDQXlWdkIsT0FBTyxBQUFBLGVBQWUsQUFDbkIsc0JBQXNCLENBQUM7TUFDdEIsV0FBVyxFQUFFLElBQUksR0FDbEIifQ== */
