@charset "UTF-8";
@import url("../fonts/styles.css");
/*
Theme Name: Core Theme
Author: Frogspark
Version: 3000
*/
/* * * * * * * * * * * * * * *
 * WordPress Content Classes
 * * * * * * * * * * * * * * */
p {
  line-height: 41px;
  padding-top: 0px;
  font-family: 'Tisa', sans-serif;
  font-size: 20px;
  color: #3B3B3B; }

span {
  font-family: "Montserrat", sans-serif;
  font-weight: 300 !important; }

.content-section {
  padding: 80px 0px; }
  .content-section p, .content-section ul {
    font-family: 'Tisa', sans-serif;
    font-size: 20px;
    line-height: 41px; }
  .content-section p:not(:last-child), .content-section ul:not(:last-child) {
    padding-bottom: 30px; }
  .content-section p:last-child {
    margin-bottom: 0px; }
  .content-section ul:not(.sm-icons) {
    list-style-type: none;
    padding-left: 20px; }
    .content-section ul:not(.sm-icons) li::before {
      content: '•';
      position: absolute;
      top: 0px;
      left: -20px;
      color: #65A29A; }
  .content-section ul:not(.service-nav) li {
    position: relative; }

.footer-section {
  padding: 80px 0px; }

img {
  max-width: 100%; }

a, button {
  text-decoration: none !important;
  outline: none !important; }

h1, h2, h3, h4, h5 {
  margin: 0px;
  padding: 0px;
  line-height: 1.8em;
  color: #000;
  font-weight: 300 !important; }

h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 50px;
  font-weight: 300 !important; }

h2, h3, h4, h5 {
  font-family: "Montserrat", sans-serif; }

h4 {
  font-size: 20px;
  font-family: "Tisa", sans-serif;
  color: #65A29A !important; }

a, button {
  -o-transition: .5s;
  -ms-transition: .5s;
  -moz-transition: .5s;
  -webkit-transition: .5s;
  transition: .5s;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300 !important; }

ul li {
  font-family: #3B3B3B;
  margin: 0px;
  padding: 0px;
  line-height: 1.8em; }

.hamburger {
  position: absolute;
  right: 15px;
  top: 37px;
  cursor: pointer; }

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  background-color: #65A29A; }

.mobile-navlinks {
  opacity: 0;
  position: fixed;
  width: 0%;
  height: 100% !important;
  z-index: 600;
  background-image: url("/img/hero-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  list-style-type: none;
  height: 0%;
  padding-left: 0px;
  text-align: center;
  transition: .4s ease-in-out; }
  .mobile-navlinks .container {
    padding-top: 130px;
    width: 100%;
    left: -100vw;
    position: absolute; }
    .mobile-navlinks .container li {
      font-size: 28px;
      font-family: "Montserrat";
      font-weight: 300;
      line-height: 11.5vh;
      transform: rotate3d(1, 0, 0, 90deg);
      transition: 1.25s ease-in-out; }
      .mobile-navlinks .container li a {
        color: #3B3B3B !important; }

.navbar {
  min-height: 1px;
  height: inherit !important;
  margin-top: 25px;
  margin-bottom: 0px;
  padding: 0px; }
  .navbar ul {
    margin: 0px;
    padding: 0px; }
    .navbar ul li {
      list-style: none; }
      .navbar ul li a {
        padding-top: 10px !important; }
      .navbar ul li a:hover {
        color: #65A29A !important; }
  .navbar .container .navbar-brand {
    padding: 0px;
    height: auto; }
    .navbar .container .navbar-brand img {
      height: 66px;
      display: block;
      margin-left: 15px; }
  .navbar .container-fluid .navbar-brand {
    margin: 0px; }
    .navbar .container-fluid .navbar-brand img {
      height: 66px;
      width: auto; }

#navbar .navbar-nav {
  margin-top: 10px; }
  #navbar .navbar-nav li {
    display: table !important;
    height: 37px;
    vertical-align: middle;
    margin: 0px 25px; }
    #navbar .navbar-nav li > a {
      font-size: 18px;
      color: #000;
      margin: 0px;
      padding: 0px;
      line-height: 1.8em;
      font-size: 15px;
      display: table-cell !important;
      vertical-align: middle;
      height: 100%; }
    #navbar .navbar-nav li a:hover:not(.btn):not(.contact-section .overlay .container .row .contact-box .wrap .col-xs-4 input[type=submit]):not(.contact-section .overlay .container .row .contact-box .wrap .col-xs-8 input[type=submit]) {
      color: #65A29A !important; }
    #navbar .navbar-nav li a.btn {
      padding: 0px !important;
      margin-top: 10px; }
  #navbar .navbar-nav li:last-child {
    margin-top: 5px;
    margin-right: 0px !important; }

.navbar-inverse {
  background-color: transparent;
  border: none;
  position: fixed;
  transition: .5s ease-in-out;
  padding: 15px; }

.navbar-inverse.fixed-navbar {
  margin-top: 0px;
  background-color: #FBFBFB;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.05); }

.topgap {
  height: 0px;
  width: 100%;
  display: block; }

.btn, .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 input[type=submit], .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 input[type=submit] {
  transition: .25s ease-in-out;
  padding: 9px 41px !important;
  min-width: 165px;
  border-radius: 25px;
  border: 1px solid;
  font-size: 15px;
  font-family: "Montserrat" !important;
  font-weight: 300 !important; }

.btn.btn-primary, .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 input[type=submit], .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 input[type=submit] {
  color: #65A29A !important;
  border-color: #65A29A;
  background-color: transparent; }

.btn.btn-primary:hover, .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 input[type=submit]:hover, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 input[type=submit]:hover {
  background-color: #65A29A !important;
  color: #fff !important; }

.mobile-nav {
  display: none; }

.hero {
  padding: 186px 0px 126px 0px;
  height: initial;
  background-position: bottom center !important;
  background-size: cover !important; }
  .hero h1 {
    font-size: 50px;
    margin-bottom: 20px;
    color: #000;
    line-height: 71px; }
  .hero p {
    margin-top: 4px; }

.intro-parallax {
  padding-top: 60px !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-attachment: fixed !important; }
  .intro-parallax h1, .intro-parallax h2 {
    color: #fff !important; font-size: 50px; }
  .intro-parallax .service-carousel {
    padding-top: 50px; }
    .intro-parallax .service-carousel .owl-controls {
      display: none; }
    .intro-parallax .service-carousel .item {
      text-align: center; }
      .intro-parallax .service-carousel .item a {
        display: inline-block; }
      .intro-parallax .service-carousel .item span.circ {
        display: block;
        text-align: center;
        background-color: #65A29A;
        border-radius: 50%;
        position: relative;
        overflow: hidden;
        z-index: 0;
        height: 100px;
        width: 100px;
        box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5); }
        .intro-parallax .service-carousel .item span.circ img {
          z-index: 5; }
        .intro-parallax .service-carousel .item span.circ img.tick {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          transition: .25s ease-in-out;
          width: 45px;
          height: 34px; }
        .intro-parallax .service-carousel .item span.circ img.press {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          opacity: 0;
          transition: .5s ease-in-out;
          width: 30px;
          height: 42px; }
      .intro-parallax .service-carousel .item span.circ::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background-color: #fff;
        z-index: 0;
        transition: .75s ease-in-out; }
      .intro-parallax .service-carousel .item span.circ:hover img.tick {
        opacity: 0; }
      .intro-parallax .service-carousel .item span.circ:hover img.press {
        opacity: 1; }
      .intro-parallax .service-carousel .item span.circ:hover::before {
        opacity: 0;
        transform: scale(0); }
      .intro-parallax .service-carousel .item span.title {
        color: #fff;
        font-size: 18px;
        display: block;
        clear: both;
        margin-top: 20px; }

.parallax-no-content {
  height: 500px;
  background-attachment: fixed !important;
  background-position: center center !important;
  background-size: cover !important; }

.intro-about {
  padding: 100px 0px; }
  .intro-about p:first-child {
    padding-top: 10px; }

.image-col, .image-col-inner {
  height: 270px;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  border-radius: 10px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3); }

.testimonials-section {
  padding-top: 0px; }
  .testimonials-section .row {
    background-image: url("/img/test-bg.png");
    background-repeat: no-repeat;
    background-size: 35%;
    background-position: 75% 50%;
    position: relative; }
    .testimonials-section .row .col-md-12 {
      position: relative; }
      .testimonials-section .row .col-md-12 h1, .testimonials-section .row .col-md-12 h2 {
        border-top: 1px solid #D2D2D2;
        font-size: 50px;
        padding-top: 180px; }
      .testimonials-section .row .col-md-12 h1.no-bord {
        border: none;
        border-color: transparent; }
    .testimonials-section .row .test-wrap {
      text-align: center;
      padding: 0px 15% 0px 15%; }
      .testimonials-section .row .test-wrap p, .testimonials-section .row .test-wrap span {
        font-size: 20px; }
      .testimonials-section .row .test-wrap p {
        padding: 15px 100px 0px 100px;
        color: #65A29A; }
      .testimonials-section .row .test-wrap span.client {
        padding-top: 25px;
        display: inline-block;
        font-family: "Tisa" !important;
        color: #2F6860 !important;
        line-height: 2em !important; }
    .testimonials-section .row .owl-controls {
      width: 100%;
      text-align: center;
      display: inline-block; }
      .testimonials-section .row .owl-controls .owl-nav {
        display: none; }
      .testimonials-section .row .owl-controls .owl-dots {
        width: initial;
        text-align: center;
        display: inline-block;
        margin-top: 25px; }
        .testimonials-section .row .owl-controls .owl-dots .owl-dot {
          width: 30px;
          height: 30px;
          float: left;
          margin: 10px;
          position: relative; }
        .testimonials-section .row .owl-controls .owl-dots .owl-dot:hover::before {
          transform: scale(0); }
        .testimonials-section .row .owl-controls .owl-dots .owl-dot:hover::after {
          color: #2F6860; }
        .testimonials-section .row .owl-controls .owl-dots .owl-dot.active::before, .testimonials-section .row .owl-controls .owl-dots .owl-dot::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          height: 100%;
          width: 100%;
          border-radius: 50%;
          transition: .25s ease-in-out; }
        .testimonials-section .row .owl-controls .owl-dots .owl-dot.active::before {
          border: 1px solid #65A29A !important;
          transition: .25s ease-in-out; }
        .testimonials-section .row .owl-controls .owl-dots .owl-dot::after {
          background-color: #65A29A;
          transform: scale(0.3); }

footer {
  background-color: #FBFBFB; }
  footer h4 {
    padding-bottom: 10px;
    font-weight: lighter; }
  footer ul {
    list-style-type: none;
    padding: 0px 0px 0px 40px;
    margin: 0;
    position: relative; }
    footer ul .icon {
      top: 8px;
      left: -10px; }
    footer ul li {
      display: block;
      float: left;
      clear: both;
      line-height: 28px;
      position: relative;
      padding-bottom: 10px; }
      footer ul li .icon {
        top: 8px;
        left: -45px; }
      footer ul li a {
        font-family: "Montserrat" !important;
        color: #3B3B3B !important;
        transition: .25s ease-in-out;
        font-weight: 300 !important; }
      footer ul li a:hover {
        color: #65A29A !important; }
  footer .icon {
    display: block;
    position: absolute;
    top: 0;
    left: -45px;
    max-width: 20px; }
  footer .icon.icon-email {
    top: 7px; }
  footer .icon.icon-phone {
    top: 4px; }
  footer .icon.icon-service {
    top: 8px;
    left: 0px; }
  footer .icon.icon-page {
    top: 8px !important;
    left: 0px; }
  footer .sitemap .icon {
    top: -10px; }

.hero.header h1 {
  color: #fff; }

.hero.header h2 {
  color: #65A29A; }

.profile-section {
  padding-top: 0px; }
  .profile-section .row {
    padding-top: 80px;
    position: relative; }
  .profile-section .row:before {
    content: '';
    position: absolute;
    width: 100%;
    left: 0%;
    top: 0px;
    height: 1px;
    display: block;
    background: #d2d2d2; }
  .profile-section .avatar img {
    border-radius: 50%; }
  .profile-section .col-sm-8 {
    padding-left: 100px; }
    .profile-section .col-sm-8 h2 {
      font-size: 45px !important; }

.sm-icons {
  list-style-type: none;
  padding-left: 0px;
  padding-top: 10px; }
  .sm-icons li:not(:first-child) {
    margin-left: 20px; }
  .sm-icons li {
    float: left; }
    .sm-icons li a {
      width: 60px;
      height: 60px;
      display: table;
      text-align: center;
      border-radius: 50%; }
      .sm-icons li a i {
        color: #fff;
        font-size: 35px;
        display: table-cell;
        vertical-align: middle; }
    .sm-icons li a.fb {
      background-color: #3B5998; }
    .sm-icons li a.fb:hover {
      background-color: #2f4779; }
    .sm-icons li a.li {
      background-color: #0077B5; }
    .sm-icons li a.li:hover {
      background-color: #005f90; }

.blog-prev h1, .blog-prev h2 {
  padding-bottom: 0px; font-size: 50px; }

.blog-prev .date {
  color: #65A29A;
  font-size: 20px;
  padding-bottom: 20px; }

.blog-prev:not(:first-child) .col-md-12 h1 {
  padding-top: 40px;
  margin-top: 60px;
  border-top: 1px solid #D2D2D2; }

.blog-prev:last-child {
  padding-bottom: 40px; }

.single-post .hero.header h1 {
  padding-bottom: 0px;
  margin-bottom: 0px; }

.single-post .hero.header h4 {
  font-family: "Montserrat";
  font-weight: 300; }

.single-post .blog-post .img-wrap {
  padding: 0px 60px 80px 60px; }

.content-section.service img.service {
  margin-bottom: 40px; }

.content-section.service .image-col {
  box-shadow: none !important; }

.col-sm-5.nav-wrap .menu-tab {
  display: none;
  background-color: #65A29A;
  position: absolute;
  left: 0px;
  width: 100%;
  padding: 5px 15px; }
  .col-sm-5.nav-wrap .menu-tab i {
    margin-right: 15px;
    position: relative;
    top: -3px; }
  .col-sm-5.nav-wrap .menu-tab h4 {
    font-family: "Montserrat";
    font-weight: 300; }
  .col-sm-5.nav-wrap .menu-tab h4, .col-sm-5.nav-wrap .menu-tab i {
    display: inline-block;
    color: #fff !important; }

.col-sm-5.nav-wrap .service-nav {
  padding-left: 0px;
  list-style-type: none; }
  .col-sm-5.nav-wrap .service-nav li {
    padding-bottom: 35px; }
    .col-sm-5.nav-wrap .service-nav li a {
      color: #65A29A;
      font-size: 30px;
      line-height: 1.6em; }
    .col-sm-5.nav-wrap .service-nav li a.active {
      color: #2F6860; }
    .col-sm-5.nav-wrap .service-nav li a:hover {
      color: #2F6860; }
  .col-sm-5.nav-wrap .service-nav li:last-child {
    padding-bottom: 0px; }
  .col-sm-5.nav-wrap .service-nav li::before {
    display: none !important; }

.content-section.price .service-nav {
  padding-right: 25px; }

.content-section.price .price-body {
  padding-left: 0px !important;
  padding-right: 0px !important;
  text-align: left; }

.content-section.price h1.price, .content-section.price h2.price {
  padding: 25px 0px 20px;
  font-size: 25px !important; }

.content-section.price .nav-wrap {
  padding-top: 0px; }

.content-section.price .image-col {
  padding-left: 0px !important;
  padding-right: 0px !important; }

.contact-section {
  position: relative; }
  .contact-section #map {
    height: 550px;
    padding: 0;
    position: relative; }
  .contact-section #map.hidden-controls .gmnoprint {
    display: none !important; }
  .contact-section #map.hidden-controls .gm-style-cc {
    display: none !important; }
  .contact-section #map.hidden-controls a[href^="http://maps.google.com/maps"] {
    display: none !important; }
  .contact-section #map.hidden-controls a[href^="https://maps.google.com/maps"] {
    display: none !important; }
  .contact-section #map.hidden-controls::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(45deg, transparent, rgba(0, 0, 0, 0.23)); }
  .contact-section .form-hide {
    position: absolute;
    bottom: 0px;
    left: 45%;
    text-align: center;
    display: block;
    background-color: #65A29A;
    color: white;
    padding: 10px 0px;
    width: 10%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    transition: .5s ease-in-out;
    cursor: pointer;
    z-index: 500; }
  .contact-section .form-hide:hover {
    background-color: #2F6860; }
  .contact-section .overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    z-index: 4;
    transition: .5s ease-in-out;
    overflow: hidden; }
    .contact-section .overlay .container {
      height: 100%;
      display: table; }
      .contact-section .overlay .container .row {
        display: table-cell;
        vertical-align: middle; }
        .contact-section .overlay .container .row .contact-box {
          margin-top: -3%;
          padding: 0px;
          background-color: #fff;
          border-radius: 10px;
          box-shadow: 5px 5px 10px rgba(77, 77, 77, 0.5);
          overflow: hidden;
          transition: .45s ease-in-out; }
          .contact-section .overlay .container .row .contact-box h4 {
            color: #fff !important;
            background-color: #65A29A;
            font-family: "Montserrat";
            font-weight: 300;
            font-weight: 300;
            padding: 5px 10px 5px 25px;
            margin: 0; }
          .contact-section .overlay .container .row .contact-box .ul {
            margin-left: -5px; }
          .contact-section .overlay .container .row .contact-box .child-list, .contact-section .overlay .container .row .contact-box .sm-icon {
            margin-left: 0px !important; }
          .contact-section .overlay .container .row .contact-box .wrap {
            padding: 0px 30px;
            display: block; }
            .contact-section .overlay .container .row .contact-box .wrap .col-xs-4, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 {
              padding: 20px 0px 50px 0px; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul {
                list-style-type: none;
                padding-left: 0px;
                padding-top: 20px;
                margin-left: -5px; }
                .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul li, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul li {
                  font-size: 15px;
                  color: #65A29A;
                  font-family: "Montserrat";
                  font-weight: 300; }
                  .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul li a, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul li a {
                    color: #65A29A; }
                  .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul li a:hover, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul li a:hover {
                    color: #2F6860; }
                  .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul li a:visited, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul li a:visited {
                    color: #65A29A; }
                  .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul li ul, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul li ul {
                    padding-top: 20px; }
                    .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul li ul li:not(:first-child), .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul li ul li:not(:first-child) {
                      margin-left: 10px; }
                  .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul li a, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul li a {
                    height: 30px;
                    width: 30px; }
                    .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 ul li a i, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 ul li a i {
                      font-size: 15px !important; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_title, .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_description, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_title, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_description {
                display: none; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 input[type=submit], .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 input[type=submit] {
                margin-left: 5px; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 input[type=submit]:focus, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 input[type=submit]:focus {
                outline: none !important; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_confirmation_message, .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .validation_error, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_confirmation_message, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .validation_error {
                color: #f44336;
                font-family: "Montserrat";
                font-weight: 300; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .validation_message, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .validation_message {
                font-size: 9px;
                color: #f44336 !important; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields label, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields label {
                display: none; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields li, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields li {
                padding: 5px; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields li:nth-child(1), .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields li:nth-child(1) {
                float: left;
                width: 50%; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields li:nth-child(2), .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields li:nth-child(2) {
                float: left;
                width: 50%; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields li:nth-child(3), .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields li:nth-child(3) {
                float: left;
                width: 100%; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields input, .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields textarea, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields input, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields textarea {
                background-color: #EFEFEF;
                color: #3B3B3B;
                font-family: "Montserrat";
                font-weight: 300 !important;
                border: none;
                border-radius: 5px;
                font-size: 14px;
                width: 100%;
                padding: 5px 10px; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields input:focus, .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields textarea:focus, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields input:focus, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields textarea:focus {
                outline: none !important;
                border-color: transparent !important;
                border: none !important; }
              .contact-section .overlay .container .row .contact-box .wrap .col-xs-4 .gform_fields textarea, .contact-section .overlay .container .row .contact-box .wrap .col-xs-8 .gform_fields textarea {
                width: 100%;
                height: 110px;
                resize: none !important; }
  .contact-section .overlay.hidden-form .contact-box {
    margin-top: 550px !important;
    transition: 0.5s ease-in-out; }
  .contact-section .overlay.hidden-form.behind {
    z-index: -1; }

.serv-item {
  display: block;
  margin: 30px 0px; }

.serv-item span {
  display: inline-block;
  margin-top: 15px; }

.serv-bg {
  background-size: cover !important;
  background-position: center center !important;
  width: 100%;
  height: 250px;
  margin: 15px 0px; }

.single-service .content-section p {
  font-size: 16px !important;
  line-height: 1.6em !important; }

.page-template-page-services .content-section {
  padding: 25px 0px 80px; }

/**** MEDIA QUERIES ****/
@media screen and (max-width: 1199px) {
  .row.circles .title {
    font-size: 14px !important; }
  .service-nav li:not(:last-child) {
    padding-bottom: 20px !important; }
  .contact-box .col-xs-4 ul li {
    font-size: 12px !important; }
  .service-body {
    padding-top: 30px; } }

@media screen and (max-width: 1025px) {
  .hero h1 {
    font-size: 40px !important;
    margin-bottom: 0px; }
  .testimonials-section .col-md-12 h1 {
    padding-top: 120px !important; } }

@media screen and (max-width: 991px) {
  .scroll-btm {
    position: fixed;
    width: 100%;
    bottom: 0px;
    left: 0px;
    right: auto !important;
    top: auto !important;
    padding: 10px !important;
    text-align: center !important;
    z-index: 100 !important;
    transform: rotate(0deg) !important;
  }
  
  .service-body.col-sm-8 {
    float: none !important;
    width: 100% !important;
  }
  
  #navbar .navbar-nav li > a {
    font-size: 12px;
  }
  
  .intro-parallax h1, .intro-parallax h2 {
    font-size: 24px;
  }
  
  #navbar .navbar-nav li a.btn {
    min-width: 100px;
    margin-top: 15px;
    top: 5px;
  }
  
  .navbar-nav li {
    margin: 0px 10px !important; }
  .hero .col-md-6 h1 {
    margin-bottom: 0px; }
  .hero .col-md-6 p:first-child {
    padding-top: 20px; }
  .intro-about {
    padding: 50px 0px 60px 0px; }
    .intro-about p:first-child {
      padding-top: 0px; }
    .intro-about .image-col {
      margin-top: 40px; }
  .profile-section {
    padding-top: 0px; }
    .profile-section .col-sm-8 {
      padding-left: 15px; }
      .profile-section .col-sm-8 h2 {
        font-size: 40px; }
      .profile-section .col-sm-8 p {
        margin-bottom: 0px; }
  .testimonials-section h1 {
    padding-top: 60px !important; }
  .testimonials-section .test-wrap p {
    padding: 15px 0px 0px 0px !important; }
  .content-section.service .col-sm-offset-5 {
    clear: both; }
  .service-nav li a {
    font-size: 20px !important; }
  .content-section.price {
    padding: 20px 0px 50px 0px !important; }
  .contact-box {
    margin-left: 20%;
    width: 80%; }
    .contact-box .col-xs-4 ul li {
      font-size: 12px !important; } }

@media screen and (max-width: 767px) {
  .hero, .content-section, .intro-about {
    padding: 40px 0px !important; }
  .content-section p, .content-section ul > li, .intro-about p, .intro-about ul > li, .hero p, .hero ul > li {
    font-size: 16px !important; }
  .content-section ul, .intro-about ul, .hero ul {
    text-align: left; }
  .content-section p:not(:last-child), .content-section ul:not(last-child), .intro-about p:not(:last-child), .intro-about ul:not(last-child), .hero p:not(:last-child), .hero ul:not(last-child) {
    padding-bottom: 20px !important;
    margin-bottom: 0px !important; }
  .profile-section .row:before {
    content: '';
    position: absolute;
    width: 92%;
    left: 4%;
    top: 0px;
    height: 1px;
    display: block;
    background: #d2d2d2; }
  h1 {
    font-size: 35px !important;
    line-height: 1.6em !important; }
  .navbar {
    margin-top: 0px;
    padding-top: 15px !important; }
  .topgap {
    height: 96px; }
  .navbar-fixed-top {
    background-color: #FBFBFB;
    padding-bottom: 15px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); }
  .navbar-brand {
    margin-left: 0px !important; }
    .navbar-brand img {
      margin-left: 0px !important; }
  .mobile-nav {
    display: block; }
  .mobile-nav-wrap.show-menu {
    visibility: visible; }
    .mobile-nav-wrap.show-menu .mobile-navlinks {
      visibility: visible;
      width: 100%;
      opacity: 1; }
      .mobile-nav-wrap.show-menu .mobile-navlinks .container {
        left: 0; }
        .mobile-nav-wrap.show-menu .mobile-navlinks .container li {
          transform: rotate3d(1, 0, 0, 0deg); }
  .contact-section .overlay.hidden-form .contact-box {
    margin-top: 700px !important;
    transition: 0.5s ease-in-out; }
  .intro-parallax {
    background-attachment: scroll !important;
    padding: 40px 0px 50px 0px !important; }
    .intro-parallax .row.circles .col-sm-2 {
      width: inherit !important; }
      .intro-parallax .row.circles .col-sm-2 .circ {
        width: 150px !important;
        height: 150px !important; }
      .intro-parallax .row.circles .col-sm-2 .title {
        font-size: 30px !important; }
    .intro-parallax .row.circles .col-sm-2:not(:first-child) {
      margin-top: 30px; }
  .parallax-no-content {
    background-attachment: scroll !important;
    height: 350px !important; }
  .intro-about {
    padding: 40px 0px 0px 0px !important; }
    .intro-about .col-md-6 p {
      padding-top: 0px; }
    .intro-about .col-md-6 p:last-child {
      padding-bottom: 20px; }
    .intro-about .image-col {
      margin: 0px 15px; }
  .testimonials-section .row {
    background-position: 75% 20%; }
    .testimonials-section .row h1 {
      padding-top: 60px !important; }
    .testimonials-section .row h1.no-bord {
      padding-top: 0px !important; }
    .testimonials-section .row .test-wrap {
      padding: 0px 5% 0px 5%; }
      .testimonials-section .row .test-wrap p {
        padding: 15px;
        margin-bottom: 0px !important; }
    .testimonials-section .row .owl-controls .owl-dots .owl-dot:hover::before {
      transform: scale(1) !important; }
  .single-post .img-wrap {
    padding: 0px 0px 60px 0px !important; }
  footer {
    text-align: center; }
    footer .col-sm-4 {
      clear: both; }
    footer .col-sm-4:not(:first-child) {
      margin-top: 30px; }
    footer .icon {
      display: none; }
    footer ul {
      display: block;
      text-align: center;
      padding-left: 0px; }
      footer ul li {
        float: none; }
    footer .address ul {
      display: inline-block; }
      footer .address ul li {
        text-align: center; }
  .profile-section {
    text-align: center;
    padding-bottom: 0px !important;
    padding-top: 0px !important; }
    .profile-section .row {
      padding: 50px 0px; }
    .profile-section .avatar {
      padding-bottom: 40px; }
      .profile-section .avatar img {
        width: 50%;
        height: auto;
        display: inline; }
    .profile-section .col-sm-8 {
      padding: 0px 15px; }
      .profile-section .col-sm-8 h2 {
        padding-bottom: 10px; }
      .profile-section .col-sm-8 .sm-icons {
        text-align: center;
        padding-top: 15px; }
        .profile-section .col-sm-8 .sm-icons li {
          float: none !important;
          display: inline-block; }
  .content-section.service {
    padding-top: 0px !important; }
    .content-section.service .image-col-inner {
      margin-left: 15px !important;
      margin-right: 15px !important; }
    .content-section.service .col-sm-offset-5 {
      text-align: center; }
      .content-section.service .col-sm-offset-5 p:first-child {
        padding-top: 30px; }
    .content-section.service .image-col {
      box-shadow: none !important;
      width: 100%;
      margin-top: 65px !important; }
    .content-section.service .col-sm-7 {
      padding-top: 0px; }
  .content-section.price {
    padding-top: 0px !important; }
    .content-section.price .col-sm-7.price-body {
      padding-left: 15px; }
      .content-section.price .col-sm-7.price-body h1 {
        font-size: 25px !important;
        margin-bottom: 15px !important; }
    .content-section.price .pull-right {
      float: none !important;
      margin-top: 70px;
      width: 95.5%;
      margin-left: 15px;
      margin-right: 15px; }
    .content-section.price .image-col {
      max-width: 340px !important;
      margin: auto !important;
      box-shadow: none !important;
      margin-top: 65px !important;
      padding-top: 0px !important; }
  .col-sm-5.nav-wrap {
    padding-top: 0px !important; }
    .col-sm-5.nav-wrap .menu-tab {
      display: block;
      z-index: 8; }
    .col-sm-5.nav-wrap .service-nav {
      position: absolute;
      top: 40px;
      padding: 25px 0px 25px 0px !important;
      width: 100%;
      left: -100%;
      background-color: #2F6860;
      z-index: 5;
      transition: 0.5s ease; }
      .col-sm-5.nav-wrap .service-nav li {
        width: 100%;
        padding-left: 15px;
        padding: 0px; }
        .col-sm-5.nav-wrap .service-nav li a {
          display: block;
          font-size: 20px !important;
          color: #fff !important; }
    .col-sm-5.nav-wrap .service-nav.shown {
      background-color: #2F6860;
      left: 0%;
      transition: 0.2s ease; }
      .col-sm-5.nav-wrap .service-nav.shown li a {
        padding-left: 15px; }
      .col-sm-5.nav-wrap .service-nav.shown li:nth-of-type(1) {
        top: 20px; }
      .col-sm-5.nav-wrap .service-nav.shown li:nth-of-type(2) {
        top: 70px; }
      .col-sm-5.nav-wrap .service-nav.shown li:nth-of-type(3) {
        top: 120px; }
      .col-sm-5.nav-wrap .service-nav.shown li:nth-of-type(4) {
        top: 170px; }
      .col-sm-5.nav-wrap .service-nav.shown li:nth-of-type(5) {
        top: 220px; }
      .col-sm-5.nav-wrap .service-nav.shown li:nth-of-type(6) {
        top: 270px; }
  .col-sm-5.nav-wrap.fixed-top {
    position: fixed;
    top: 95px;
    width: 100%;
    z-index: 5; }
  .blog-prev:not(:first-child) .col-md-12 h1 {
    padding-top: 45px; }
  #map {
    height: 700px !important; }
  .contact-section .overlay {
    margin-left: initial !important;
    width: 100%;
    padding: 40px 0px; }
    .contact-section .overlay .contact-box {
      width: 100%;
      margin-left: initial !important; }
  .content-section.singleblog-section {
    padding-top: 0px !important; }
    .content-section.singleblog-section .sblog-inner {
      padding-left: 0px;
      padding-right: 0px; }
      .content-section.singleblog-section .sblog-inner .img-wrap {
        padding-bottom: 20px !important; }
      .content-section.singleblog-section .sblog-inner p {
        padding-left: 15px;
        padding-right: 15px; }
        
  .mobile-nav-wrap.show-menu .mobile-navlinks .container li {
    line-height: 1em !important;
  }
  
  .callback-section h4 {
    font-size: 22px !important;
  }
  
  .testimonials-section .row .col-md-12 h1, .testimonials-section .row .col-md-12 h2 {
    font-size: 24px !important;
  }
  
  .callback-section .gform_wrapper {
    margin-top: 25px;
  }
  
  .mob-call {
    position: fixed;
    top: 26px;
    font-size: 30px;
    right: 79px;
    color: #67a29a !important;
  }
  
  .sidebar-item h4 {
    text-align: left !important;
    display: inline-block !important;
  }
  
  .sidebar {
    margin-top: 25px !important;
  }
  
  .sidebar-item a {
    text-align: left !important;
  }
  
  .mobile-navlinks .container li a {
    color: #3B3B3B !important;
    display: block;
    padding: 10px !important;
    line-height: 1.4em !important;
    font-size: 22px !important;
  }

}

@media screen and (max-width: 600px) {
  h1 {
    font-size: 25px !important; }
  .content-section p:not(:last-child) {
    padding-bottom: 20px !important; }
  .testimonials-section {
    padding: 0px !important; }
    .testimonials-section .row h1 {
      padding-top: 25px !important; }
    .testimonials-section .row h1.no-bord {
      padding-top: 40px !important; }
    .testimonials-section .row .test-wrap {
      padding: 0px; }
      .testimonials-section .row .test-wrap p {
        padding: 15px 0px 0px 0px; }
    .testimonials-section .test-carousel {
      padding-bottom: 25px; }
  .profile-section .row {
    padding: 40px 0px !important; }
  .blog-prev:not(:first-child) .col-md-12 h2 {
    margin-top: 55px !important; }
  .blog-prev:last-child {
    padding-bottom: 20px; }
  .single-post .img-wrap {
    padding: 0px 0px 40px 0px !important; }
  .service-image.image-col {
    width: 100% !important;
    margin: 0px !important;
    border-radius: 0px !important;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 40px;
    width: 100%;
    height: auto; }
    .service-image.image-col .image-col-inner {
      padding: 0px;
      margin-top: 0px !important;
      margin-bottom: 0px !important;
      border-radius: 0px !important; }
  .content-section.service {
    padding-bottom: 30px !important; }
    .content-section.service .col-sm-offset-5 p:first-child {
      padding-top: 30px !important; }
  .service-nav {
    padding: 10px 0px; }
    .service-nav li {
      line-height: 35px !important; }
  .content-section.price {
    padding: 0px 0px 30px 0px !important; }
    .content-section.price .price-body {
      text-align: center;
      margin-top: 10px;
      padding-left: 15px !important;
      padding-right: 15px !important; } }

@media screen and (max-width: 500px) {
  .contact-section .contact-box .col-xs-4, .contact-section .contact-box .col-xs-8 {
    clear: both;
    width: 100%;
    padding: 10px 0px 10px 0px !important; }
  .contact-section .contact-box .col-xs-8 {
    padding-bottom: 30px !important; }
  .profile-section .avatar {
    padding-bottom: 20px !important; } }

@media screen and (max-width: 450px) {
  .hero h1, h1 {
    font-size: 32px !important; } }
    
.content-section .sblog-inner li::before {
  position: relative !important;
  left: -10px !important;
}

.page-template-page-home .hero {
  padding: 186px 0px 50px 0px;
}

.intro-parallax .service-carousel .item a .hand-icon {
  position: absolute;
  bottom: 0px;
  right: 0px;
  display: block;
  height: 30px;
  width: 30px;
  background: #6ba299;
  border-radius: 50%;
  line-height: 30px;
  color: #fff;
  text-align: center;
}

.intro-parallax .service-carousel .item a {
  position: relative;
}

.btn.btn-white {
  border-color: #fff !important;
  color: #fff !important;
}

.btn.btn-white:hover {
  background: #fff !important;
  color: #6ba299 !important;
}

.intro-parallax .btn-white {
  margin-top: 50px;
}

.callback-section {
  background: url(/img/hero-bg.jpg);
  background-size: cover !important;
  background-position: bottom center !important;
  text-align: center;
}

.callback-section h4 {
  font-size: 40px;
}

.callback-section p {
  font-size: 18px !important;
}

.scroll-btm, .scroll-btm:hover, .scroll-btm:focus {
  display: block;
  position: fixed;
  right: 0px;
  padding: 15px;
  background: #65A29A !important;
  color: #fff;
  display: block;
  position: fixed;
  right: -70px;
  padding: 15px 25px;
  background: #65A29A !important;
  color: #fff;
  top: 40%;
  transform: rotate(-90deg);
  border-radius: 20px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}

.callback-section .gform_fields input {
  background-color: #EFEFEF;
  color: #3B3B3B;
  font-family: "Montserrat";
  font-weight: 300 !important;
  border: none;
  border-radius: 5px;
  font-size: 14px;
  width: 100%;
  padding: 5px 10px;
  margin-bottom: 15px !important;
  outline: none !important;
}

.callback-section ul, .callback-section ul li {
  margin: 0px !important;
  padding: 0px !important;
  list-style-type: none !important;
}

.callback-section ul:not(.sm-icons) li::before {
  display: none !important;
}

.callback-section p:not(:last-child) {
  padding-bottom: 0px !important;
}

.callback-section label {
  display: none;
}

.callback-section input[type=submit] {
      transition: .25s ease-in-out;
    padding: 9px 41px !important;
    min-width: 165px;
    border-radius: 25px;
    border: 1px solid;
    font-size: 15px;
    font-family: "Montserrat" !important;
    font-weight: 300 !important;
    color: #65A29A !important;
    border-color: #65A29A;
    background-color: transparent;
    margin-top: 15px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCJ2YXJpYWJsZXMuc2NzcyIsIm1peGlucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJ21peGlucy5zY3NzJztcbi8qXG5UaGVtZSBOYW1lOiBDb3JlIFRoZW1lXG5BdXRob3I6IEZyb2dzcGFya1xuVmVyc2lvbjogMzAwMFxuKi9cblxuXG4vKiAqICogKiAqICogKiAqICogKiAqICogKiAqICpcbiAqIFdvcmRQcmVzcyBDb250ZW50IENsYXNzZXNcbiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKi9cblxucCB7XG4gIGxpbmUtaGVpZ2h0OiA0MXB4O1xuICBwYWRkaW5nLXRvcDowcHg7XG4gIGZvbnQtZmFtaWx5OidUaXNhJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOjIwcHg7XG4gIGNvbG9yOiRib2R5O1xufVxuXG5zcGFuIHtcbiAgICBmb250LWZhbWlseTokaGVhZGVyRm9udCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50LXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6ODBweCAwcHg7XG5cdHAsIHVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6J1Rpc2EnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MXB4O1xuICAgIH1cbiAgICBwOm5vdCg6bGFzdC1jaGlsZCksIHVsOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjMwcHg7XG4gICAgfVxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xuICAgIH1cbiAgICB1bDpub3QoLnNtLWljb25zKSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTpub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MjBweDtcbiAgICAgICAgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OifigKInO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6MHB4O1xuICAgICAgICAgICAgbGVmdDotMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiRoZWFkZXJTZWM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWw6bm90KC5zZXJ2aWNlLW5hdil7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6ODBweCAwcHg7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuYSwgYnV0dG9uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICBjb2xvcjokaGVhZGVyO1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbmgxIHtcbiAgICBmb250LWZhbWlseTokaGVhZGVyRm9udCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6NTBweDtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbmgyLCBoMywgaDQsIGg1IHtcbiAgICBmb250LWZhbWlseTokc3ViSGVhZGVyRm9udCwgc2Fucy1zZXJpZjtcbn1cblxuaDQgIHtcbiAgICBmb250LXNpemU6MjBweDtcbiAgICBmb250LWZhbWlseTokYm9keUZvbnQsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6JGJvZHlTZWMhaW1wb3J0YW50O1xufVxuXG5hLCBidXR0b24ge1xuICAtby10cmFuc2l0aW9uOi41cztcbiAgLW1zLXRyYW5zaXRpb246LjVzO1xuICAtbW96LXRyYW5zaXRpb246LjVzO1xuICAtd2Via2l0LXRyYW5zaXRpb246LjVzO1xuICB0cmFuc2l0aW9uOi41cztcbiAgZm9udC1mYW1pbHk6J01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbnVsIHtcbiAgICBsaSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRsaXN0O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgfVxufVxuXG4uaGFtYnVyZ2VyIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDoxNXB4O1xuICAgIHRvcDozN3B4O1xuICAgIGN1cnNvcjpwb2ludGVyO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRib2R5U2VjO1xufVxuXG4ubW9iaWxlLW5hdmxpbmtzIHtcbiAgICBvcGFjaXR5OjA7XG4gICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgd2lkdGg6MCU7XG4gICAgaGVpZ2h0OjEwMCUhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6NjAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCcvaW1nL2hlcm8tYmcuanBnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6bm9uZTtcbiAgICBoZWlnaHQ6MCU7XG4gICAgcGFkZGluZy1sZWZ0OjBweDtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOi40cyBlYXNlLWluLW91dDtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6MTMwcHg7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGxlZnQ6LTEwMHZ3O1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOjI4cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTokaGVhZGVyRm9udDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjExLjV2aDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMSwwLDAsOTBkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjoxLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiRib2R5IWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5hdmJhciB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIGhlaWdodDppbmhlcml0IWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOjI1cHg7XG5cdG1hcmdpbi1ib3R0b206IDBweDtcblx0cGFkZGluZzogMHB4O1xuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjokYm9keVNlYyFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDo2NnB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDo2NnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNuYXZiYXIge1xuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OnRhYmxlIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDozN3B4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luOjBweCAyNXB4O1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICBjb2xvcjokbmF2TGluaztcbiAgICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICAgICAgICAgICBmb250LXNpemU6MTVweDtcbiAgICAgICAgICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6aG92ZXI6bm90KC5idG4pIHtcbiAgICAgICAgICAgICAgICBjb2xvcjokYm9keVNlYyFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLmJ0biB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6NXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5hdmJhci1pbnZlcnNlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0cG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zaXRpb246LjVzIGVhc2UtaW4tb3V0O1xuICAgIHBhZGRpbmc6MTVweDtcbn1cblxuLm5hdmJhci1pbnZlcnNlLmZpeGVkLW5hdmJhciB7XG4gICAgbWFyZ2luLXRvcDowcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokZm9vdGVyQmc7XG4gICAgYm94LXNoYWRvdzowcHggMnB4IDJweCByZ2JhKDAsMCwwLDAuMDUpO1xufVxuXG4udG9wZ2FwIHtcbiAgaGVpZ2h0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJ0biB7XG4gICAgdHJhbnNpdGlvbjouMjVzIGVhc2UtaW4tb3V0O1xuICAgIHBhZGRpbmc6OXB4IDQxcHghaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDoxNjVweDtcbiAgICBib3JkZXItcmFkaXVzOjI1cHg7XG4gICAgYm9yZGVyOjFweCBzb2xpZDtcbiAgICBmb250LXNpemU6MTVweDtcbiAgICBmb250LWZhbWlseTokYnRuRm9udCFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG4uYnRuLmJ0bi1wcmltYXJ5IHtcbiAgICBjb2xvcjokYnRuUHJpbWFyeSFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiRidG5QcmltYXJ5O1xuICAgIGJhY2tncm91bmQtY29sb3I6JHRyYW47XG59XG5cbi5idG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6JGJ0blByaW1hcnkhaW1wb3J0YW50O1xuICAgIGNvbG9yOiNmZmYhaW1wb3J0YW50O1xufVxuXG4ubW9iaWxlLW5hdi13cmFwIHtcbn1cblxuLm1vYmlsZS1uYXYge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVybyB7XG4gICAgcGFkZGluZzoxODZweCAwcHggMTI2cHggMHB4OztcbiAgICBoZWlnaHQ6aW5pdGlhbDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgY29sb3I6JGhlcm9IZWFkZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjcxcHg7XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cbn1cblxuLmludHJvLXBhcmFsbGF4IHtcbiAgICBwYWRkaW5nLXRvcDo2MHB4IWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXIhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6Zml4ZWQhaW1wb3J0YW50O1xuICAgIGgxIHtcbiAgICAgICAgY29sb3I6JHBhZ2VIZWFkZXIhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2VydmljZS1jYXJvdXNlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOjUwcHg7XG4gICAgICAgIC5vd2wtY29udHJvbHMge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4uY2lyYyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjaXJjQmdIb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6MDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzo1cHggNXB4IDEwcHggcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDo1O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZy50aWNrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjouMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6NDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDozNHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZy5wcmVzcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246LjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDo0MnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4uY2lyYzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjUwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokY2lyY0JnO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OjA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246Ljc1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Bhbi5jaXJjOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBpbWcudGljayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW1nLnByZXNzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuLmNpcmM6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGJvZHlJbnZlcnNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MThweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6Ym90aDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ucGFyYWxsYXgtbm8tY29udGVudCB7XG4gICAgaGVpZ2h0OjUwMHB4O1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZCFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXIhaW1wb3J0YW50O1xufVxuXG4uaW50cm8tYWJvdXQge1xuICAgIHBhZGRpbmc6MTAwcHggMHB4O1xuICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDoxMHB4O1xuICAgIH1cbn1cblxuLmltYWdlLWNvbCwgLmltYWdlLWNvbC1pbm5lciB7XG4gICAgaGVpZ2h0OjI3MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlciFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0IWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXIhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6MTBweDtcbiAgICBib3gtc2hhZG93OjBweCAycHggNHB4IHJnYmEoMCwwLDAsMC4zKTtcbn1cblxuLnRlc3RpbW9uaWFscy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDowcHg7XG4gICAgLnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCcvaW1nL3Rlc3QtYmcucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjM1JTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjo3NSUgNTAlO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgLmNvbC1tZC0xMiB7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAjRDJEMkQyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjE4MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDEubm8tYm9yZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZXN0LXdyYXAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOjBweCAxNSUgMHB4IDE1JTtcbiAgICAgICAgICAgIHAsIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzoxNXB4IDEwMHB4IDBweCAxMDBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjokYm9keVNlYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4uY2xpZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDoyNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRib2R5Rm9udCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6JGJvZHlTZWNBY2MhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAub3dsLWNvbnRyb2xzIHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAub3dsLW5hdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm93bC1kb3RzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDppbml0aWFsO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MjVweDtcbiAgICAgICAgICAgICAgICAub3dsLWRvdCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46MTBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5vd2wtZG90OmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06c2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5vd2wtZG90OmhvdmVyOjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGJvZHlTZWNBY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5vd2wtZG90LmFjdGl2ZTo6YmVmb3JlLCAub3dsLWRvdDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9BYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246LjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm93bC1kb3QuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRib2R5U2VjIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjouMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAub3dsLWRvdDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRib2R5U2VjO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06c2NhbGUoMC4zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokZm9vdGVyQmc7XG4gICAgaDQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgICAgICBmb250LXdlaWdodDpsaWdodGVyO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTpub25lO1xuICAgICAgICBwYWRkaW5nOjBweCAwcHggMHB4IDQwcHg7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgdG9wOjhweDtcbiAgICAgICAgICAgIGxlZnQ6LTEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MTBweDtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICB0b3A6OHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6LTQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTokaGVhZGVyRm9udCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6JGJvZHkhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246LjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjokYm9keVNlYyFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZHJlc3Mge1xuICAgIH1cbiAgICAuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDotNDVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHB4O1xuICAgIH1cbiAgICAuaWNvbi5pY29uLWVtYWlsIHtcbiAgICAgIHRvcDogN3B4O1xuICAgIH1cbiAgICAuaWNvbi5pY29uLXBob25lIHtcbiAgICAgIHRvcDogNHB4O1xuICAgIH1cbiAgICAuaWNvbi5pY29uLXNlcnZpY2Uge1xuICAgICAgdG9wOiA4cHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgfVxuICAgIC5pY29uLmljb24tcGFnZSB7XG4gICAgICB0b3A6IDhweCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogMHB4O1xuICAgIH1cbiAgICAuc2l0ZW1hcCB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHRvcDotMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9hYm91dCBzdWJwYWdlXG5cbi5oZXJvLmhlYWRlciB7XG4gICAgaDEge1xuICAgICAgICBjb2xvcjokcGFnZUhlYWRlcjtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBjb2xvcjokcGFnZVN1YmhlYWRlcjtcbiAgICB9XG59XG5cbi5wcm9maWxlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOjBweDtcbiAgICAucm93IHtcbiAgICAgICAgcGFkZGluZy10b3A6ODBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAucm93OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMCU7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDJkMmQyO1xuICAgIH1cbiAgICAuYXZhdGFyIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbC1zbS04IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjEwMHB4O1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6NDVweCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnNtLWljb25zIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6bm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6MHB4O1xuICAgIHBhZGRpbmctdG9wOjEwcHg7XG4gICAgbGk6bm90KDpmaXJzdC1jaGlsZCl7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjIwcHg7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDo2MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OjYwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjUwJTtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiRib2R5SW52ZXJzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MzVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEuZmIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZmJCbHVlO1xuICAgICAgICB9XG4gICAgICAgIGEuZmI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZmJCbHVlSG92ZXI7XG4gICAgICAgIH1cbiAgICAgICAgYS5saSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRsaUJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgYS5saTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRsaUJsdWVIb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gYmxvZyBwYWdlIFxuXG4uYmxvZy1wcmV2IHtcbiAgICBoMSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjBweDtcbiAgICB9XG4gICAgLmRhdGUge1xuICAgICAgICBjb2xvcjokYm9keVNlYztcbiAgICAgICAgZm9udC1zaXplOjIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjIwcHg7XG4gICAgfVxufVxuXG4uYmxvZy1wcmV2Om5vdCg6Zmlyc3QtY2hpbGQpe1xuICAgIC5jb2wtbWQtMTIge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDo0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDo2MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGxpbmVCcmVhaztcbiAgICAgICAgfVxuICAgIH0gICAgXG59XG5cbi5ibG9nLXByZXY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206NDBweDtcbn1cblxuLy8gc2luZ2xlIHBvc3QgXG5cbi5zaW5nbGUtcG9zdCB7XG4gICAgLmhlcm8uaGVhZGVyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6JGhlYWRlckZvbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDozMDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsb2ctcG9zdCB7XG4gICAgICAgIC5pbWctd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nOjBweCA2MHB4IDgwcHggNjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc2VydmljZXNcbi5jb250ZW50LXNlY3Rpb24uc2VydmljZSB7XG4gICAgaW1nLnNlcnZpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjQwcHg7XG4gICAgfVxuICAgIC5pbWFnZS1jb2wge1xuICAgICAgICBib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmNvbC1zbS01Lm5hdi13cmFwIHtcbiAgICAubWVudS10YWIge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJvZHlTZWM7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBsZWZ0OjBweDtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgcGFkZGluZzo1cHggMTVweDtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTokaGVhZGVyRm9udDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgICAgfVxuICAgICAgICBoNCwgaSB7XG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiRib2R5SW52ZXJzZSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNlcnZpY2UtbmF2IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjBweDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOm5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjM1cHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjokc2lkZU5hdkxpbms7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjMwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYS5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiRzaWRlTmF2TGlua0FjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiRzaWRlTmF2TGlua0FjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjBweDtcbiAgICAgICAgfVxuICAgICAgICBsaTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250ZW50LXNlY3Rpb24ucHJpY2Uge1xuICAgIC5zZXJ2aWNlLW5hdiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MjVweDtcbiAgICB9XG4gICAgLnByaWNlLWJvZHkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MHB4IWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDowcHghaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgfVxuICAgIGgxLnByaWNlIHtcbiAgICAgICAgcGFkZGluZzoyNXB4IDBweCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdi13cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6MHB4O1xuICAgIH1cbiAgICAuaW1hZ2UtY29sIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjBweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MHB4IWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jb250YWN0LXNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICNtYXAge1xuICAgIGhlaWdodDo1NTBweDtcbiAgICBwYWRkaW5nOjA7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgfVxuXG4gICAgI21hcC5oaWRkZW4tY29udHJvbHMge1xuICAgICAgICAuZ21ub3ByaW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmdtLXN0eWxlLWNjIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgYVtocmVmXj1cImh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwc1wiXXtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICBhW2hyZWZePVwiaHR0cHM6Ly9tYXBzLmdvb2dsZS5jb20vbWFwc1wiXXtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWFwLmhpZGRlbi1jb250cm9sczo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBwc2V1ZG9BYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMCwwLDAsMCksIHJnYmEoMCwwLDAsMC4yMykpO1xuICAgIH1cblxuICAgIC5mb3JtLWhpZGUge1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOjBweDtcbiAgICAgICAgbGVmdDo0NSU7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRib2R5U2VjO1xuICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgcGFkZGluZzoxMHB4IDBweDtcbiAgICAgICAgd2lkdGg6MTAlO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEwcHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246LjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgICAgei1pbmRleDo1MDA7XG4gICAgfVxuICAgIC5mb3JtLWhpZGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRib2R5U2VjQWNjO1xuICAgIH1cbiAgICAub3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIHotaW5kZXg6NDtcbiAgICAgICAgdHJhbnNpdGlvbjouNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICAgICAgICAgIC5jb250YWN0LWJveCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LTMlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYm9keUludmVyc2U7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzo1cHggNXB4IDEwcHggcmdiYSg3Nyw3Nyw3NywwLjUpO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246LjQ1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JGJvZHlJbnZlcnNlIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJvZHlTZWM7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTokaGVhZGVyRm9udDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6NXB4IDEwcHggNXB4IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudWwge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5jaGlsZC1saXN0LCAuc20taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrOyAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb2wteHMtNCwgLmNvbC14cy04IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjIwcHggMHB4IDUwcHggMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOm5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDowcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRib2R5U2VjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JGhlYWRlckZvbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDozMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokYm9keVNlYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRib2R5U2VjQWNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYTp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokYm9keVNlYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDoyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpOm5vdCg6Zmlyc3QtY2hpbGQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDoxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNXB4IWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdmb3JtX3RpdGxlLCAuZ2Zvcm1fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9c3VibWl0XXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYnRuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5idG4uYnRuLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5idG4uYnRuLXByaW1hcnk6aG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9c3VibWl0XTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6bm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSwgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojZjQ0MzM2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTokaGVhZGVyRm9udDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTo5cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZm9ybV9maWVsZHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzo1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGk6bnRoLWNoaWxkKDEpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaTpudGgtY2hpbGQoMil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6NTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRmb3JtQmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokYm9keTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRoZWFkZXJGb250O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6NXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ6Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6bm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6JHRyYW4haW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmUhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU6bm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3ZlcmxheS5oaWRkZW4tZm9ybSB7XG4gICAgICAgIC5jb250YWN0LWJveCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjU1MHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246MC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vdmVybGF5LmhpZGRlbi1mb3JtLmJlaGluZCB7XG4gICAgICAgIHotaW5kZXg6LTE7XG4gICAgfVxuXG59XG5cblxuLnNlcnYtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDMwcHggMHB4O1xufVxuXG4uc2Vydi1pdGVtIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5zZXJ2LWJnIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1MHB4O1xuICBtYXJnaW46IDE1cHggMHB4O1xufVxuXG4uc2luZ2xlLXNlcnZpY2UgLmNvbnRlbnQtc2VjdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXNlcnZpY2VzIC5jb250ZW50LXNlY3Rpb24ge1xuICBwYWRkaW5nOiAyNXB4IDBweCA4MHB4O1xufVxuXG4vLyBDdXN0b20gU3R5bGVzXG5cbi8qKioqIE1FRElBIFFVRVJJRVMgKioqKi9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnJvdy5jaXJjbGVzIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zZXJ2aWNlLW5hdiB7XG4gICAgICAgIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MjBweCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhY3QtYm94IHtcbiAgICAgICAgLmNvbC14cy00IHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxMnB4IWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNlcnZpY2UtYm9keSB7XG4gICAgICAgIHBhZGRpbmctdG9wOjMwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuICAgIC5oZXJvIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOjQwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRlc3RpbW9uaWFscy1zZWN0aW9uIHtcbiAgICAgICAgLmNvbC1tZC0xMiB7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTIwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSBcblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjowcHggMTNweCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhlcm8ge1xuICAgICAgICAuY29sLW1kLTYge1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW50cm8tYWJvdXQge1xuICAgICAgICBwYWRkaW5nOjUwcHggMHB4IDYwcHggMHB4O1xuICAgICAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjBweDtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UtY29sIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6NDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZmlsZS1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6MHB4O1xuICAgICAgICAuY29sLXNtLTgge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjE1cHg7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudGVzdGltb25pYWxzLXNlY3Rpb24ge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDo2MHB4IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudGVzdC13cmFwIHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MTVweCAwcHggMHB4IDBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQtc2VjdGlvbi5zZXJ2aWNlIHtcbiAgICAgICAgLmNvbC1zbS1vZmZzZXQtNSB7XG4gICAgICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZXJ2aWNlLW5hdiB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudC1zZWN0aW9uLnByaWNlIHtcbiAgICAgICAgcGFkZGluZzoyMHB4IDBweCA1MHB4IDBweCFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtYm94IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MjAlO1xuICAgICAgICB3aWR0aDo4MCU7XG4gICAgICAgIC5jb2wteHMtNCB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5oZXJvLCAuY29udGVudC1zZWN0aW9uLCAuaW50cm8tYWJvdXQge1xuICAgICAgICBwYWRkaW5nOjQwcHggMHB4IWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRlbnQtc2VjdGlvbiwgLmludHJvLWFib3V0LCAuaGVybyB7XG4gICAgICAgIHAsIHVsID4gbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOjE2cHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgfVxuICAgICAgICBwOm5vdCg6bGFzdC1jaGlsZCksIHVsOm5vdChsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjIwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9maWxlLXNlY3Rpb24gLnJvdzpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogOTIlO1xuICAgICAgbGVmdDogNCU7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDJkMmQyO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTozNXB4IWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS42ZW0haW1wb3J0YW50O1xuICAgIH1cbiAgICAubmF2YmFyIHtcbiAgICAgICAgbWFyZ2luLXRvcDowcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOjE1cHghaW1wb3J0YW50O1xuICAgIH1cbiAgICAudG9wZ2FwIHtcbiAgICAgICAgaGVpZ2h0Ojk2cHg7XG4gICAgfVxuICAgIC5uYXZiYXItZml4ZWQtdG9wIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZm9vdGVyQmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjE1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6MHB4IDJweCA0cHggcmdiYSgwLDAsMCwwLjEpO1xuICAgIH1cbiAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MHB4IWltcG9ydGFudDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjBweCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1vYmlsZS1uYXYge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgICAubW9iaWxlLW5hdi13cmFwLnNob3ctbWVudSB7XG4gICAgICAgIHZpc2liaWxpdHk6dmlzaWJsZTtcbiAgICAgICAgLm1vYmlsZS1uYXZsaW5rcyB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OnZpc2libGU7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgxLDAsMCwwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3Qtc2VjdGlvbiB7ICAgIFxuICAgICAgLm92ZXJsYXkuaGlkZGVuLWZvcm0ge1xuICAgICAgICAuY29udGFjdC1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDo3MDBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOjAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW50cm8tcGFyYWxsYXgge1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6c2Nyb2xsIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzo0MHB4IDBweCA1MHB4IDBweCFpbXBvcnRhbnQ7XG4gICAgICAgIC5yb3cuY2lyY2xlcyB7XG4gICAgICAgICAgICAuY29sLXNtLTIge1xuICAgICAgICAgICAgICAgIHdpZHRoOmluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIC5jaXJjIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTUwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTUwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MzBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbC1zbS0yOm5vdCg6Zmlyc3QtY2hpbGQpe1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucGFyYWxsYXgtbm8tY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDpzY3JvbGwhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6MzUwcHghaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaW50cm8tYWJvdXQge1xuICAgICAgICBwYWRkaW5nOjQwcHggMHB4IDBweCAwcHghaW1wb3J0YW50O1xuICAgICAgICAuY29sLW1kLTYge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZS1jb2wge1xuICAgICAgICAgICAgbWFyZ2luOjBweCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbHMtc2VjdGlvbiB7XG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjo3NSUgMjAlO1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjYwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDEubm8tYm9yZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50ZXN0LXdyYXAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MHB4IDUlIDBweCA1JTtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm93bC1jb250cm9scyB7XG4gICAgICAgICAgICAgICAgLm93bC1kb3RzIHtcbiAgICAgICAgICAgICAgICAgICAgLm93bC1kb3Qge1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5vd2wtZG90OmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDEpIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaW5nbGUtcG9zdCB7XG4gICAgICAgIC5pbWctd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nOjBweCAwcHggNjBweCAwcHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9vdGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIC5jb2wtc20tNCB7XG4gICAgICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgICB9XG4gICAgICAgIC5jb2wtc20tNDpub3QoOmZpcnN0LWNoaWxkKXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MzBweDtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjBweDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hZGRyZXNzIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGFib3V0XG4gICAgLnByb2ZpbGUtc2VjdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTowcHghaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDowcHghaW1wb3J0YW50O1xuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIHBhZGRpbmc6NTBweCAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbC1zbS04IHtcbiAgICAgICAgICAgIHBhZGRpbmc6MHB4IDE1cHg7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbS1pY29ucyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTVweDtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0Om5vbmUhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQtc2VjdGlvbi5zZXJ2aWNlIHtcbiAgICAgICAgcGFkZGluZy10b3A6MHB4IWltcG9ydGFudDtcbiAgICAgICAgLmltYWdlLWNvbC1pbm5lciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDoxNXB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDoxNXB4IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuY29sLXNtLW9mZnNldC01IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UtY29sIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjVweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5jb2wtc20tNyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDowcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQtc2VjdGlvbi5wcmljZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOjBweCFpbXBvcnRhbnQ7XG4gICAgICAgIC5jb2wtc20tNy5wcmljZS1ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxNXB4O1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyNXB4IWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtcmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjcwcHg7XG4gICAgICAgICAgICB3aWR0aDo5NS41JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MTVweDtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UtY29sIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDY1cHggIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbC1zbS01Lm5hdi13cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6MHB4IWltcG9ydGFudDtcbiAgICAgICAgLm1lbnUtdGFiIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB6LWluZGV4Ojg7XG4gICAgICAgIH1cbiAgICAgICAgLnNlcnZpY2UtbmF2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOjI1cHggMHB4IDI1cHggMHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBsZWZ0Oi0xMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYm9keVNlY0FjYztcbiAgICAgICAgICAgIHotaW5kZXg6NTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246MC41cyBlYXNlO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjE1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGJvZHlJbnZlcnNlIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlcnZpY2UtbmF2LnNob3duIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJvZHlTZWNBY2M7XG4gICAgICAgICAgICBsZWZ0OjAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjowLjJzIGVhc2U7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJHRvcDogMjA7XG4gICAgICAgICAgICAkaTogMTtcblxuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcblxuICAgICAgICAgICAgICAgIGxpOm50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDokdG9wICsgcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJGk6ICRpICsgMTtcbiAgICAgICAgICAgICAgICAkdG9wOiAkdG9wICsgNTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLXNtLTUubmF2LXdyYXAuZml4ZWQtdG9wIHtcbiAgICAgICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgICAgIHRvcDo5NXB4O1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB6LWluZGV4OjU7XG4gICAgfVxuICAgIC5ibG9nLXByZXY6bm90KDpmaXJzdC1jaGlsZCl7XG4gICAgICAgIC5jb2wtbWQtMTIge1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgXG4gICAgfVxuICAgICNtYXAge1xuICAgICAgaGVpZ2h0OiA3MDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29udGFjdC1zZWN0aW9uIC5vdmVybGF5IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6aW5pdGlhbCFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIHBhZGRpbmc6NDBweCAwcHg7XG4gICAgICAgIC5jb250YWN0LWJveCB7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6aW5pdGlhbCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQtc2VjdGlvbi5zaW5nbGVibG9nLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDowcHghaW1wb3J0YW50O1xuICAgICAgICAuc2Jsb2ctaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuICAgICAgICAgICAgLmltZy13cmFwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToyMHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS1oaWRlIHtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6MjVweCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250ZW50LXNlY3Rpb24gcDpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICBwYWRkaW5nLWJvdHRvbToyMHB4IWltcG9ydGFudDtcbiAgICB9XG5cdC50ZXN0aW1vbmlhbHMtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6MHB4IWltcG9ydGFudDtcbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MjVweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMS5uby1ib3JkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDo0MHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50ZXN0LXdyYXAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MHB4O1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjE1cHggMHB4IDBweCAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZXN0LWNhcm91c2VsIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjI1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2ZpbGUtc2VjdGlvbiAucm93IHtcbiAgICAgICAgcGFkZGluZzo0MHB4IDBweCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ibG9nLXByZXY6bm90KDpmaXJzdC1jaGlsZCl7XG4gICAgICAgIC5jb2wtbWQtMTIge1xuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6NTVweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsb2ctcHJldjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MjBweDtcbiAgICB9XG4gICAgLnNpbmdsZS1wb3N0IHtcbiAgICAgICAgLmltZy13cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MHB4IDBweCA0MHB4IDBweCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNlcnZpY2UtaW1hZ2UuaW1hZ2UtY29sIHtcbiAgICAgICAgd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjowcHghaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOjBweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDowcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDo0MHB4O1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC5pbWFnZS1jb2wtaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowcHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50LXNlY3Rpb24uc2VydmljZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjMwcHghaW1wb3J0YW50O1xuICAgICAgICAuY29sLXNtLW9mZnNldC01IHtcbiAgICAgICAgICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjMwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zZXJ2aWNlLW5hdiB7XG4gICAgICAgIHBhZGRpbmc6MTBweCAwcHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjM1cHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50LXNlY3Rpb24ucHJpY2Uge1xuICAgICAgICBwYWRkaW5nOjBweCAwcHggMzBweCAwcHghaW1wb3J0YW50O1xuICAgICAgICAucHJpY2UtYm9keSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxNXB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MTVweCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLmNvbnRhY3Qtc2VjdGlvbiB7XG4gICAgICAgIC5jb250YWN0LWJveCB7XG4gICAgICAgICAgICAuY29sLXhzLTQsIC5jb2wteHMtOCB7XG4gICAgICAgICAgICAgICAgY2xlYXI6Ym90aDtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MTBweCAwcHggMTBweCAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb2wteHMtOCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MzBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2ZpbGUtc2VjdGlvbiB7XG4gICAgICAgIC5hdmF0YXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MjBweCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgLmhlcm8gaDEsIGgxIHtcbiAgICAgICAgZm9udC1zaXplOjMycHghaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4iLCJAaW1wb3J0IHVybCgnLi4vZm9udHMvc3R5bGVzLmNzcycpO1xuXG4vLyBjb2xvcnNcbiRkYXJrR3JleTojM0IzQjNCO1xuJHRlYWw6IzY1QTI5QTtcbiRkYXJrVGVhbDojMkY2ODYwO1xuJGJsYWNrOiMwMDA7XG4kd2hpdGU6I2ZmZjtcbiRtZWRpdW1HcmF5OiNEMkQyRDI7XG4kbWVkaXVtR3JheTI6I0VGRUZFRjtcbiRsaWdodEdyYXk6I0ZCRkJGQjtcblxuJGZiQmx1ZTojM0I1OTk4O1xuJGZiQmx1ZUhvdmVyOiMyZjQ3Nzk7XG4kbGlCbHVlOiMwMDc3QjU7XG4kbGlCbHVlSG92ZXI6IzAwNWY5MDtcbiR0cmFuOnRyYW5zcGFyZW50O1xuXG4vLyBsYXlvdXQgdmFyc1xuJGJvZHk6JGRhcmtHcmV5O1xuJGJvZHlJbnZlcnNlOiR3aGl0ZTtcbiRib2R5U2VjOiR0ZWFsO1xuJGJvZHlTZWNBY2M6JGRhcmtUZWFsO1xuXG4kbGlzdDokZGFya0dyZXk7XG4kbmF2TGluazokYmxhY2s7XG4kaWNvbjokdGVhbDtcblxuJGJ0blByaW1hcnk6JHRlYWw7XG5cbiRoZWFkZXI6JGJsYWNrO1xuJGhlYWRlclNlYzokdGVhbDtcblxuJGhlcm9IZWFkZXI6JGJsYWNrO1xuJHBhZ2VIZWFkZXI6JHdoaXRlO1xuJHBhZ2VTdWJoZWFkZXI6JHRlYWw7XG5cbiRjaXJjQmc6JHdoaXRlO1xuJGNpcmNCZ0hvdmVyOiR0ZWFsO1xuXG4kc2lkZU5hdkxpbms6JHRlYWw7XG4kc2lkZU5hdkxpbmtBY2M6JGRhcmtUZWFsO1xuXG4kZm9vdGVyQmc6JGxpZ2h0R3JheTtcblxuJGZvcm1CZzokbWVkaXVtR3JheTI7XG5cbiRsaW5lQnJlYWs6JG1lZGl1bUdyYXk7XG5cbi8vIGZvbnQgdmFyc1xuJGhlYWRlckZvbnQ6J01vbnRzZXJyYXQnO1xuJHN1YkhlYWRlckZvbnQ6J01vbnRzZXJyYXQnO1xuJGxpc3RGb250OidNb250c2VycmF0JztcbiRidG5Gb250OidNb250c2VycmF0JztcbiRib2R5Rm9udDonVGlzYSc7IiwiQG1peGluIGNlbnRlcmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuQG1peGluIHBzZXVkb0Fic29sdXRlIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlO1xufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FDQUEsT0FBTyxDQUFDLDBCQUFJO0FERVo7Ozs7RUFJRTtBQUdGOzsrQkFFK0I7QUFFL0IsQUFBQSxDQUFDLENBQUM7RUFDQSxXQUFXLEVBQUUsSUFBSTtFQUNqQixXQUFXLEVBQUMsR0FBRztFQUNmLFdBQVcsRUFBQyxrQkFBa0I7RUFDOUIsU0FBUyxFQUFDLElBQUk7RUFDZCxLQUFLLEVDZkcsT0FBTyxHRGdCaEI7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUFDRCxXQUFXLEVDNEJILFlBQVksRUQ1QkssVUFBVTtFQUNuQyxXQUFXLEVBQUUsY0FBYyxHQUM5Qjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFDLFFBQVEsR0E0Qm5CO0VBN0JELEFBRUMsZ0JBRmUsQ0FFZixDQUFDLEVBRkYsQUFFSSxnQkFGWSxDQUVaLEVBQUUsQ0FBQztJQUNDLFdBQVcsRUFBQyxrQkFBa0I7SUFDOUIsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQU5MLEFBT0ksZ0JBUFksQ0FPWixDQUFDLEFBQUEsSUFBSyxDQUFBLEFBQUEsV0FBVyxHQVByQixBQU93QixnQkFQUixDQU9RLEVBQUUsQUFBQSxJQUFLLENBQUEsQUFBQSxXQUFXLEVBQUM7SUFDbkMsY0FBYyxFQUFDLElBQUksR0FDdEI7RUFUTCxBQVVJLGdCQVZZLENBVVosQ0FBQyxBQUFBLFdBQVcsQ0FBQztJQUNULGFBQWEsRUFBQyxHQUFHLEdBQ3BCO0VBWkwsQUFhSSxnQkFiWSxDQWFaLEVBQUUsQUFBQSxJQUFLLENBQUEsQUFBQSxTQUFTLEVBQUU7SUFDZCxlQUFlLEVBQUMsSUFBSTtJQUNwQixZQUFZLEVBQUMsSUFBSSxHQVFwQjtJQXZCTCxBQWdCUSxnQkFoQlEsQ0FhWixFQUFFLEFBQUEsSUFBSyxDQUFBLEFBQUEsU0FBUyxFQUdaLEVBQUUsQUFBQSxRQUFRLENBQUM7TUFDUCxPQUFPLEVBQUMsS0FBSztNQUNiLFFBQVEsRUFBQyxRQUFRO01BQ2pCLEdBQUcsRUFBQyxHQUFHO01BQ1AsSUFBSSxFQUFDLEtBQUs7TUFDVixLQUFLLEVDM0NYLE9BQU8sR0Q0Q0o7RUF0QlQsQUF5QlEsZ0JBekJRLENBd0JaLEVBQUUsQUFBQSxJQUFLLENBQUEsQUFBQSxZQUFZLEVBQ2YsRUFBRSxDQUFDO0lBQ0MsUUFBUSxFQUFDLFFBQVEsR0FDcEI7O0FBSVQsQUFBQSxlQUFlLENBQUM7RUFDWixPQUFPLEVBQUMsUUFBUSxHQUNuQjs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFQUNGLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEsQ0FBQyxFQUFFLEFBQUEsTUFBTSxDQUFDO0VBQ1IsZUFBZSxFQUFFLGVBQWU7RUFDaEMsT0FBTyxFQUFFLGVBQWUsR0FDekI7O0FBRUQsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLENBQUM7RUFDakIsTUFBTSxFQUFFLEdBQUc7RUFDWCxPQUFPLEVBQUUsR0FBRztFQUNaLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLEtBQUssRUNwRUEsSUFBSTtFRHFFVCxXQUFXLEVBQUUsY0FBYyxHQUM1Qjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUNDLFdBQVcsRUM3QkgsWUFBWSxFRDZCSyxVQUFVO0VBQ25DLFNBQVMsRUFBQyxJQUFJO0VBQ2QsV0FBVyxFQUFFLGNBQWMsR0FDOUI7O0FBRUQsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLENBQUM7RUFDWCxXQUFXLEVDbENBLFlBQVksRURrQ0ssVUFBVSxHQUN6Qzs7QUFFRCxBQUFBLEVBQUUsQ0FBRTtFQUNBLFNBQVMsRUFBQyxJQUFJO0VBQ2QsV0FBVyxFQ3BDTCxNQUFNLEVEb0NXLFVBQVU7RUFDakMsS0FBSyxFQ3ZGSCxPQUFPLENEdUZLLFVBQVUsR0FDM0I7O0FBRUQsQUFBQSxDQUFDLEVBQUUsQUFBQSxNQUFNLENBQUM7RUFDUixhQUFhLEVBQUMsR0FBRztFQUNqQixjQUFjLEVBQUMsR0FBRztFQUNsQixlQUFlLEVBQUMsR0FBRztFQUNuQixrQkFBa0IsRUFBQyxHQUFHO0VBQ3RCLFVBQVUsRUFBQyxHQUFHO0VBQ2QsV0FBVyxFQUFDLHdCQUF3QjtFQUNwQyxXQUFXLEVBQUUsY0FBYyxHQUM1Qjs7QUFFRCxBQUNJLEVBREYsQ0FDRSxFQUFFLENBQUM7RUFDQyxXQUFXLEVDdkdULE9BQU87RUR3R1QsTUFBTSxFQUFFLEdBQUc7RUFDWCxPQUFPLEVBQUUsR0FBRztFQUNaLFdBQVcsRUFBRSxLQUFLLEdBQ3JCOztBQUdMLEFBQUEsVUFBVSxDQUFDO0VBQ1AsUUFBUSxFQUFDLFFBQVE7RUFDakIsS0FBSyxFQUFDLElBQUk7RUFDVixHQUFHLEVBQUMsSUFBSTtFQUNSLE1BQU0sRUFBQyxPQUFPLEdBQ2pCOztBQUVELEFBQUEsZ0JBQWdCLEVBQUUsQUFBQSxnQkFBZ0IsQUFBQSxRQUFRLEVBQUUsQUFBQSxnQkFBZ0IsQUFBQSxPQUFPLENBQUM7RUFDaEUsZ0JBQWdCLEVDckhkLE9BQU8sR0RzSFo7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU8sRUFBQyxDQUFDO0VBQ1QsUUFBUSxFQUFDLEtBQUs7RUFDZCxLQUFLLEVBQUMsRUFBRTtFQUNSLE1BQU0sRUFBQyxJQUFJLENBQUEsVUFBVTtFQUNyQixPQUFPLEVBQUMsR0FBRztFQUNYLGdCQUFnQixFQUFDLHVCQUF1QjtFQUN4QyxpQkFBaUIsRUFBQyxTQUFTO0VBQzNCLGVBQWUsRUFBQyxLQUFLO0VBQ3JCLGVBQWUsRUFBQyxJQUFJO0VBQ3BCLE1BQU0sRUFBQyxFQUFFO0VBQ1QsWUFBWSxFQUFDLEdBQUc7RUFDaEIsVUFBVSxFQUFDLE1BQU07RUFDakIsVUFBVSxFQUFDLGVBQWUsR0FrQjdCO0VBL0JELEFBY0ksZ0JBZFksQ0FjWixVQUFVLENBQUM7SUFDUCxXQUFXLEVBQUMsS0FBSztJQUNqQixLQUFLLEVBQUMsSUFBSTtJQUNWLElBQUksRUFBQyxNQUFNO0lBQ1gsUUFBUSxFQUFDLFFBQVEsR0FZcEI7SUE5QkwsQUFtQlEsZ0JBbkJRLENBY1osVUFBVSxDQUtOLEVBQUUsQ0FBQztNQUNDLFNBQVMsRUFBQyxJQUFJO01BQ2QsV0FBVyxFQy9GWCxZQUFZO01EZ0daLFdBQVcsRUFBQyxHQUFHO01BQ2YsV0FBVyxFQUFDLE1BQU07TUFDbEIsU0FBUyxFQUFFLHdCQUFxQjtNQUNoQyxVQUFVLEVBQUMsaUJBQWlCLEdBSS9CO01BN0JULEFBMEJZLGdCQTFCSSxDQWNaLFVBQVUsQ0FLTixFQUFFLENBT0UsQ0FBQyxDQUFDO1FBQ0UsS0FBSyxFQ3BKWCxPQUFPLENEb0pVLFVBQVUsR0FDeEI7O0FBS2IsQUFBQSxPQUFPLENBQUM7RUFDSixVQUFVLEVBQUUsR0FBRztFQUNmLE1BQU0sRUFBQyxPQUFPLENBQUEsVUFBVTtFQUN4QixVQUFVLEVBQUMsSUFBSTtFQUNsQixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsR0FBRyxHQWtDWjtFQXZDRCxBQU1JLE9BTkcsQ0FNSCxFQUFFLENBQUM7SUFDQyxNQUFNLEVBQUUsR0FBRztJQUNYLE9BQU8sRUFBRSxHQUFHLEdBVWY7SUFsQkwsQUFTUSxPQVRELENBTUgsRUFBRSxDQUdFLEVBQUUsQ0FBQztNQUNDLFVBQVUsRUFBQyxJQUFJLEdBT2xCO01BakJULEFBV1ksT0FYTCxDQU1ILEVBQUUsQ0FHRSxFQUFFLENBRUUsQ0FBQyxDQUFDO1FBQ0UsV0FBVyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQzdCO01BYmIsQUFjWSxPQWRMLENBTUgsRUFBRSxDQUdFLEVBQUUsQ0FLRSxDQUFDLEFBQUEsTUFBTSxDQUFDO1FBQ0osS0FBSyxFQ3hLZixPQUFPLENEd0tpQixVQUFVLEdBQzNCO0VBaEJiLEFBb0JRLE9BcEJELENBbUJILFVBQVUsQ0FDTixhQUFhLENBQUM7SUFDVixPQUFPLEVBQUUsR0FBRztJQUNaLE1BQU0sRUFBQyxJQUFJLEdBTWQ7SUE1QlQsQUF1QlksT0F2QkwsQ0FtQkgsVUFBVSxDQUNOLGFBQWEsQ0FHVCxHQUFHLENBQUM7TUFDQSxNQUFNLEVBQUMsSUFBSTtNQUNYLE9BQU8sRUFBRSxLQUFLO01BQ2QsV0FBVyxFQUFDLElBQUksR0FDbkI7RUEzQmIsQUErQlEsT0EvQkQsQ0E4QkgsZ0JBQWdCLENBQ1osYUFBYSxDQUFDO0lBQ1YsTUFBTSxFQUFFLEdBQUcsR0FLZDtJQXJDVCxBQWlDWSxPQWpDTCxDQThCSCxnQkFBZ0IsQ0FDWixhQUFhLENBRVQsR0FBRyxDQUFDO01BQ0EsTUFBTSxFQUFDLElBQUk7TUFDWCxLQUFLLEVBQUMsSUFBSSxHQUNiOztBQUtiLEFBQ0ksT0FERyxDQUNILFdBQVcsQ0FBQztFQUNSLFVBQVUsRUFBQyxJQUFJLEdBNkJsQjtFQS9CTCxBQUdRLE9BSEQsQ0FDSCxXQUFXLENBRVAsRUFBRSxDQUFDO0lBQ0MsT0FBTyxFQUFDLEtBQUssQ0FBQSxVQUFVO0lBQ3ZCLE1BQU0sRUFBQyxJQUFJO0lBQ1gsY0FBYyxFQUFDLE1BQU07SUFDckIsTUFBTSxFQUFDLFFBQVEsR0FtQmxCO0lBMUJULEFBUWMsT0FSUCxDQUNILFdBQVcsQ0FFUCxFQUFFLEdBS0ksQ0FBQyxDQUFDO01BQ0MsU0FBUyxFQUFFLElBQUk7TUFDZixLQUFLLEVDMU1mLElBQUk7TUQyTU0sTUFBTSxFQUFFLEdBQUc7TUFDWCxPQUFPLEVBQUUsR0FBRztNQUNaLFdBQVcsRUFBRSxLQUFLO01BQ2xCLFNBQVMsRUFBQyxJQUFJO01BQ2QsT0FBTyxFQUFDLFVBQVUsQ0FBQSxVQUFVO01BQzVCLGNBQWMsRUFBQyxNQUFNO01BQ3JCLE1BQU0sRUFBQyxJQUFJLEdBQ2Y7SUFsQmIsQUFtQlksT0FuQkwsQ0FDSCxXQUFXLENBRVAsRUFBRSxDQWdCRSxDQUFDLEFBQUEsTUFBTSxBQUFBLElBQUssQ0FBQSxBQUFBLElBQUksQ0FBVCxJQUFLLENBMmhCeEIsQUEzaEJ3QixnQkEyaEJSLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0F1Q0wsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxFQTFwQmYsSUFBSyxDQTJoQnhCLEFBM2hCd0IsZ0JBMmhCUixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBdUNoQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBLEdBMXBCSjtNQUNkLEtBQUssRUN0TmYsT0FBTyxDRHNOaUIsVUFBVSxHQUMzQjtJQXJCYixBQXNCWSxPQXRCTCxDQUNILFdBQVcsQ0FFUCxFQUFFLENBbUJFLENBQUMsQUFBQSxJQUFJLENBQUM7TUFDRixPQUFPLEVBQUMsR0FBRyxDQUFBLFVBQVU7TUFDckIsVUFBVSxFQUFDLElBQUksR0FDbEI7RUF6QmIsQUEyQlEsT0EzQkQsQ0FDSCxXQUFXLENBMEJQLEVBQUUsQUFBQSxXQUFXLENBQUM7SUFDVixVQUFVLEVBQUMsR0FBRztJQUNkLFlBQVksRUFBRSxjQUFjLEdBQy9COztBQUlULEFBQUEsZUFBZSxDQUFDO0VBQ2YsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxLQUFLO0VBQ1osVUFBVSxFQUFDLGVBQWU7RUFDMUIsT0FBTyxFQUFDLElBQUksR0FDZjs7QUFFRCxBQUFBLGVBQWUsQUFBQSxhQUFhLENBQUM7RUFDekIsVUFBVSxFQUFDLEdBQUc7RUFDZCxnQkFBZ0IsRUN4T1QsT0FBTztFRHlPZCxVQUFVLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQWdCLEdBQzFDOztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ04sTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsQUFBQSxJQUFJLEVBd2ZKLEFBeGZBLGdCQXdmZ0IsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQXVDTCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBLEdBL0hsQyxBQXhmQSxnQkF3ZmdCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdVLFNBQVMsQ0F1Q2hCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsRUF2bkI3QjtFQUNELFVBQVUsRUFBQyxnQkFBZ0I7RUFDM0IsT0FBTyxFQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUEsVUFBVTtFQUMxQixTQUFTLEVBQUMsS0FBSztFQUNmLGFBQWEsRUFBQyxJQUFJO0VBQ2xCLE1BQU0sRUFBQyxTQUFTO0VBQ2hCLFNBQVMsRUFBQyxJQUFJO0VBQ2QsV0FBVyxFQzlNTixZQUFZLENEOE1HLFVBQVU7RUFDOUIsV0FBVyxFQUFFLGNBQWMsR0FDOUI7O0FBRUQsQUFBQSxJQUFJLEFBQUEsWUFBWSxFQTZlaEIsQUE3ZUEsZ0JBNmVnQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHRCxTQUFTLENBdUNMLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsR0EvSGxDLEFBN2VBLGdCQTZlZ0IsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQXVDaEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxFQTVtQmpCO0VBQ2IsS0FBSyxFQ3BRSCxPQUFPLENEb1FRLFVBQVU7RUFDM0IsWUFBWSxFQ3JRVixPQUFPO0VEc1FULGdCQUFnQixFQzFQZCxXQUFXLEdEMlBoQjs7QUFFRCxBQUFBLElBQUksQUFBQSxZQUFZLEFBQUEsTUFBTSxFQXVldEIsQUF2ZUEsZ0JBdWVnQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHRCxTQUFTLENBdUNMLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsQ0F0bUJsQixNQUFNLEVBdWV0QixBQXZlQSxnQkF1ZWdCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdVLFNBQVMsQ0F1Q2hCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsQ0F0bUJsQixNQUFNLENBQUM7RUFDbkIsZ0JBQWdCLEVDMVFkLE9BQU8sQ0QwUW1CLFVBQVU7RUFDdEMsS0FBSyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQ3ZCOztBQUtELEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLEtBQUssQ0FBQztFQUNGLE9BQU8sRUFBQyxtQkFBbUI7RUFDM0IsTUFBTSxFQUFDLE9BQU87RUFDakIsbUJBQW1CLEVBQUUsd0JBQXdCO0VBQzFDLGVBQWUsRUFBRSxnQkFBZ0IsR0FVcEM7RUFkRCxBQUtJLEtBTEMsQ0FLRCxFQUFFLENBQUM7SUFDQyxTQUFTLEVBQUUsSUFBSTtJQUNmLGFBQWEsRUFBRSxJQUFJO0lBQ25CLEtBQUssRUMzUk4sSUFBSTtJRDRSSCxXQUFXLEVBQUMsSUFBSSxHQUNuQjtFQVZMLEFBV0ksS0FYQyxDQVdELENBQUMsQ0FBQztJQUNBLFVBQVUsRUFBRSxHQUFHLEdBQ2hCOztBQUdMLEFBQUEsZUFBZSxDQUFDO0VBQ1osV0FBVyxFQUFDLElBQUksQ0FBQSxVQUFVO0VBQzFCLGVBQWUsRUFBQyxLQUFLLENBQUEsVUFBVTtFQUMvQixpQkFBaUIsRUFBQyxTQUFTLENBQUEsVUFBVTtFQUNyQyxtQkFBbUIsRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFBLFVBQVU7RUFDM0MscUJBQXFCLEVBQUMsS0FBSyxDQUFBLFVBQVUsR0E0RXhDO0VBakZELEFBTUksZUFOVyxDQU1YLEVBQUUsQ0FBQztJQUNDLEtBQUssRUN6U04sSUFBSSxDRHlTYyxVQUFVLEdBQzlCO0VBUkwsQUFTSSxlQVRXLENBU1gsaUJBQWlCLENBQUM7SUFDZCxXQUFXLEVBQUMsSUFBSSxHQXFFbkI7SUEvRUwsQUFXUSxlQVhPLENBU1gsaUJBQWlCLENBRWIsYUFBYSxDQUFDO01BQ1YsT0FBTyxFQUFDLElBQUksR0FDZjtJQWJULEFBY1EsZUFkTyxDQVNYLGlCQUFpQixDQUtiLEtBQUssQ0FBQztNQUNFLFVBQVUsRUFBQyxNQUFNLEdBK0R4QjtNQTlFVCxBQWdCZ0IsZUFoQkQsQ0FTWCxpQkFBaUIsQ0FLYixLQUFLLENBRUcsQ0FBQyxDQUFDO1FBQ0UsT0FBTyxFQUFDLFlBQVksR0FDdkI7TUFsQmpCLEFBbUJnQixlQW5CRCxDQVNYLGlCQUFpQixDQUtiLEtBQUssQ0FLRyxJQUFJLEFBQUEsS0FBSyxDQUFDO1FBQ04sT0FBTyxFQUFDLEtBQUs7UUFDYixVQUFVLEVBQUMsTUFBTTtRQUNqQixnQkFBZ0IsRUMzVDlCLE9BQU87UUQ0VE8sYUFBYSxFQUFDLEdBQUc7UUFDakIsUUFBUSxFQUFDLFFBQVE7UUFDakIsUUFBUSxFQUFDLE1BQU07UUFDZixPQUFPLEVBQUMsQ0FBQztRQUNULE1BQU0sRUFBQyxLQUFLO1FBQ1osS0FBSyxFQUFDLEtBQUs7UUFDWCxVQUFVLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWUsR0FpQjFDO1FBOUNqQixBQThCb0IsZUE5QkwsQ0FTWCxpQkFBaUIsQ0FLYixLQUFLLENBS0csSUFBSSxBQUFBLEtBQUssQ0FXTCxHQUFHLENBQUM7VUFDQSxPQUFPLEVBQUMsQ0FBQyxHQUNaO1FBaENyQixBQWlDb0IsZUFqQ0wsQ0FTWCxpQkFBaUIsQ0FLYixLQUFLLENBS0csSUFBSSxBQUFBLEtBQUssQ0FjTCxHQUFHLEFBQUEsS0FBSyxDQUFDO1VFelUzQixRQUFRLEVBQUUsUUFBUTtVQUNsQixHQUFHLEVBQUUsR0FBRztVQUNSLElBQUksRUFBRSxHQUFHO1VBQ1QsU0FBUyxFQUFFLHFCQUFxQjtVRndVVixVQUFVLEVBQUMsZ0JBQWdCO1VBQzNCLEtBQUssRUFBQyxJQUFJO1VBQ1YsTUFBTSxFQUFDLElBQUksR0FDZDtRQXRDckIsQUF1Q29CLGVBdkNMLENBU1gsaUJBQWlCLENBS2IsS0FBSyxDQUtHLElBQUksQUFBQSxLQUFLLENBb0JMLEdBQUcsQUFBQSxNQUFNLENBQUM7VUUvVTVCLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEdBQUcsRUFBRSxHQUFHO1VBQ1IsSUFBSSxFQUFFLEdBQUc7VUFDVCxTQUFTLEVBQUUscUJBQXFCO1VGOFVWLE9BQU8sRUFBQyxDQUFDO1VBQ1QsVUFBVSxFQUFDLGVBQWU7VUFDMUIsS0FBSyxFQUFDLElBQUk7VUFDVixNQUFNLEVBQUMsSUFBSSxHQUNkO01BN0NyQixBQStDZ0IsZUEvQ0QsQ0FTWCxpQkFBaUIsQ0FLYixLQUFLLENBaUNHLElBQUksQUFBQSxLQUFLLEFBQUEsUUFBUSxDQUFDO1FBQ2QsT0FBTyxFQUFDLEVBQUU7UUFDVixRQUFRLEVBQUMsUUFBUTtRQUNqQixHQUFHLEVBQUMsQ0FBQztRQUNMLElBQUksRUFBQyxDQUFDO1FBQ04sS0FBSyxFQUFDLElBQUk7UUFDVixNQUFNLEVBQUMsSUFBSTtRQUNYLGFBQWEsRUFBQyxHQUFHO1FBQ2pCLGdCQUFnQixFQ3pWN0IsSUFBSTtRRDBWUyxPQUFPLEVBQUMsQ0FBQztRQUNULFVBQVUsRUFBQyxnQkFBZ0IsR0FDOUI7TUExRGpCLEFBNERvQixlQTVETCxDQVNYLGlCQUFpQixDQUtiLEtBQUssQ0E2Q0csSUFBSSxBQUFBLEtBQUssQUFBQSxNQUFNLENBQ1gsR0FBRyxBQUFBLEtBQUssQ0FBQztRQUNMLE9BQU8sRUFBQyxDQUFDLEdBQ1o7TUE5RHJCLEFBK0RvQixlQS9ETCxDQVNYLGlCQUFpQixDQUtiLEtBQUssQ0E2Q0csSUFBSSxBQUFBLEtBQUssQUFBQSxNQUFNLENBSVgsR0FBRyxBQUFBLE1BQU0sQ0FBQztRQUNOLE9BQU8sRUFBQyxDQUFDLEdBQ1o7TUFqRXJCLEFBbUVnQixlQW5FRCxDQVNYLGlCQUFpQixDQUtiLEtBQUssQ0FxREcsSUFBSSxBQUFBLEtBQUssQUFBQSxNQUFNLEFBQUEsUUFBUSxDQUFDO1FBQ3BCLE9BQU8sRUFBQyxDQUFDO1FBQ1QsU0FBUyxFQUFDLFFBQVEsR0FDckI7TUF0RWpCLEFBdUVnQixlQXZFRCxDQVNYLGlCQUFpQixDQUtiLEtBQUssQ0F5REcsSUFBSSxBQUFBLE1BQU0sQ0FBQztRQUNQLEtBQUssRUMxV2xCLElBQUk7UUQyV1MsU0FBUyxFQUFDLElBQUk7UUFDZCxPQUFPLEVBQUMsS0FBSztRQUNiLEtBQUssRUFBQyxJQUFJO1FBQ1YsVUFBVSxFQUFDLElBQUksR0FDbEI7O0FBTWpCLEFBQUEsb0JBQW9CLENBQUM7RUFDakIsTUFBTSxFQUFDLEtBQUs7RUFDWixxQkFBcUIsRUFBQyxLQUFLLENBQUEsVUFBVTtFQUNyQyxtQkFBbUIsRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFBLFVBQVU7RUFDM0MsZUFBZSxFQUFDLEtBQUssQ0FBQSxVQUFVLEdBQ2xDOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1QsT0FBTyxFQUFDLFNBQVMsR0FJcEI7RUFMRCxBQUVJLFlBRlEsQ0FFUixDQUFDLEFBQUEsWUFBWSxDQUFDO0lBQ1YsV0FBVyxFQUFDLElBQUksR0FDbkI7O0FBR0wsQUFBQSxVQUFVLEVBQUUsQUFBQSxnQkFBZ0IsQ0FBQztFQUN6QixNQUFNLEVBQUMsS0FBSztFQUNaLGVBQWUsRUFBQyxLQUFLLENBQUEsVUFBVTtFQUMvQixpQkFBaUIsRUFBQyxTQUFTLENBQUEsVUFBVTtFQUNyQyxtQkFBbUIsRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFBLFVBQVU7RUFDM0MsYUFBYSxFQUFDLElBQUk7RUFDbEIsVUFBVSxFQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBQ3pDOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDbEIsV0FBVyxFQUFDLEdBQUcsR0E4RWxCO0VBL0VELEFBRUkscUJBRmlCLENBRWpCLElBQUksQ0FBQztJQUNELGdCQUFnQixFQUFDLHVCQUF1QjtJQUN4QyxpQkFBaUIsRUFBQyxTQUFTO0lBQzNCLGVBQWUsRUFBQyxHQUFHO0lBQ25CLG1CQUFtQixFQUFDLE9BQU87SUFDM0IsUUFBUSxFQUFDLFFBQVEsR0F1RXBCO0lBOUVMLEFBUVEscUJBUmEsQ0FFakIsSUFBSSxDQU1BLFVBQVUsQ0FBQztNQUNQLFFBQVEsRUFBQyxRQUFRLEdBU3BCO01BbEJULEFBVVkscUJBVlMsQ0FFakIsSUFBSSxDQU1BLFVBQVUsQ0FFTixFQUFFLENBQUM7UUFDQyxVQUFVLEVBQUMsaUJBQWlCO1FBQzVCLFdBQVcsRUFBQyxLQUFLLEdBQ3BCO01BYmIsQUFjWSxxQkFkUyxDQUVqQixJQUFJLENBTUEsVUFBVSxDQU1OLEVBQUUsQUFBQSxRQUFRLENBQUM7UUFDUCxNQUFNLEVBQUMsSUFBSTtRQUNYLFlBQVksRUFBQyxXQUFXLEdBQzNCO0lBakJiLEFBbUJRLHFCQW5CYSxDQUVqQixJQUFJLENBaUJBLFVBQVUsQ0FBQztNQUNQLFVBQVUsRUFBQyxNQUFNO01BQ2pCLE9BQU8sRUFBQyxlQUFlLEdBZTFCO01BcENULEFBc0JZLHFCQXRCUyxDQUVqQixJQUFJLENBaUJBLFVBQVUsQ0FHTixDQUFDLEVBdEJiLEFBc0JlLHFCQXRCTSxDQUVqQixJQUFJLENBaUJBLFVBQVUsQ0FHSCxJQUFJLENBQUM7UUFDSixTQUFTLEVBQUMsSUFBSSxHQUNqQjtNQXhCYixBQXlCWSxxQkF6QlMsQ0FFakIsSUFBSSxDQWlCQSxVQUFVLENBTU4sQ0FBQyxDQUFDO1FBQ0UsT0FBTyxFQUFDLG9CQUFvQjtRQUM1QixLQUFLLEVDMWFmLE9BQU8sR0QyYUE7TUE1QmIsQUE2QlkscUJBN0JTLENBRWpCLElBQUksQ0FpQkEsVUFBVSxDQVVOLElBQUksQUFBQSxPQUFPLENBQUM7UUFDUixXQUFXLEVBQUMsSUFBSTtRQUNoQixPQUFPLEVBQUMsWUFBWTtRQUNwQixXQUFXLEVDN1hqQixNQUFNLENENlhxQixVQUFVO1FBQy9CLEtBQUssRUMvYVgsT0FBTyxDRCthZ0IsVUFBVTtRQUMzQixXQUFXLEVBQUUsY0FBYyxHQUM5QjtJQW5DYixBQXFDUSxxQkFyQ2EsQ0FFakIsSUFBSSxDQW1DQSxhQUFhLENBQUM7TUFDVixLQUFLLEVBQUMsSUFBSTtNQUNWLFVBQVUsRUFBQyxNQUFNO01BQ2pCLE9BQU8sRUFBQyxZQUFZLEdBcUN2QjtNQTdFVCxBQTBDWSxxQkExQ1MsQ0FFakIsSUFBSSxDQW1DQSxhQUFhLENBS1QsUUFBUSxDQUFDO1FBQ0wsT0FBTyxFQUFDLElBQUksR0FDZjtNQTVDYixBQTZDWSxxQkE3Q1MsQ0FFakIsSUFBSSxDQW1DQSxhQUFhLENBUVQsU0FBUyxDQUFDO1FBQ04sS0FBSyxFQUFDLE9BQU87UUFDYixVQUFVLEVBQUMsTUFBTTtRQUNqQixPQUFPLEVBQUMsWUFBWTtRQUNwQixVQUFVLEVBQUMsSUFBSSxHQTJCbEI7UUE1RWIsQUFrRGdCLHFCQWxESyxDQUVqQixJQUFJLENBbUNBLGFBQWEsQ0FRVCxTQUFTLENBS0wsUUFBUSxDQUFDO1VBQ0wsS0FBSyxFQUFDLElBQUk7VUFDVixNQUFNLEVBQUMsSUFBSTtVQUNYLEtBQUssRUFBQyxJQUFJO1VBQ1YsTUFBTSxFQUFDLElBQUk7VUFDWCxRQUFRLEVBQUMsUUFBUSxHQUNwQjtRQXhEakIsQUF5RGdCLHFCQXpESyxDQUVqQixJQUFJLENBbUNBLGFBQWEsQ0FRVCxTQUFTLENBWUwsUUFBUSxBQUFBLE1BQU0sQUFBQSxRQUFRLENBQUM7VUFDbkIsU0FBUyxFQUFDLFFBQVEsR0FDckI7UUEzRGpCLEFBNERnQixxQkE1REssQ0FFakIsSUFBSSxDQW1DQSxhQUFhLENBUVQsU0FBUyxDQWVMLFFBQVEsQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFBO1VBQ2pCLEtBQUssRUMzY2YsT0FBTyxHRDRjQTtRQTlEakIsQUErRGdCLHFCQS9ESyxDQUVqQixJQUFJLENBbUNBLGFBQWEsQ0FRVCxTQUFTLENBa0JMLFFBQVEsQUFBQSxPQUFPLEFBQUEsUUFBUSxFQS9EdkMsQUErRHlDLHFCQS9EcEIsQ0FFakIsSUFBSSxDQW1DQSxhQUFhLENBUVQsU0FBUyxDQWtCb0IsUUFBUSxBQUFBLE9BQU8sQ0FBQztVRTFjckQsT0FBTyxFQUFDLEVBQUU7VUFDVixRQUFRLEVBQUMsUUFBUTtVQUNqQixHQUFHLEVBQUMsQ0FBQztVQUNMLElBQUksRUFBQyxDQUFDO1VBQ04sTUFBTSxFQUFDLElBQUk7VUFDWCxLQUFLLEVBQUMsSUFBSTtVRnVjTSxhQUFhLEVBQUMsR0FBRztVQUNqQixVQUFVLEVBQUMsZ0JBQWdCLEdBQzlCO1FBbkVqQixBQW9FZ0IscUJBcEVLLENBRWpCLElBQUksQ0FtQ0EsYUFBYSxDQVFULFNBQVMsQ0F1QkwsUUFBUSxBQUFBLE9BQU8sQUFBQSxRQUFRLENBQUM7VUFDcEIsTUFBTSxFQUFDLEdBQUcsQ0FBQyxLQUFLLENDcGQ5QixPQUFPLENEb2RnQyxVQUFVO1VBQ25DLFVBQVUsRUFBQyxnQkFBZ0IsR0FDOUI7UUF2RWpCLEFBd0VnQixxQkF4RUssQ0FFakIsSUFBSSxDQW1DQSxhQUFhLENBUVQsU0FBUyxDQTJCTCxRQUFRLEFBQUEsT0FBTyxDQUFDO1VBQ1osZ0JBQWdCLEVDeGQ5QixPQUFPO1VEeWRPLFNBQVMsRUFBQyxVQUFVLEdBQ3ZCOztBQU1qQixBQUFBLE1BQU0sQ0FBQztFQUNILGdCQUFnQixFQzNkVCxPQUFPLEdEMmhCakI7RUFqRUQsQUFFSSxNQUZFLENBRUYsRUFBRSxDQUFDO0lBQ0MsY0FBYyxFQUFDLElBQUk7SUFDbkIsV0FBVyxFQUFDLE9BQU8sR0FDdEI7RUFMTCxBQU1JLE1BTkUsQ0FNRixFQUFFLENBQUM7SUFDQyxlQUFlLEVBQUMsSUFBSTtJQUNwQixPQUFPLEVBQUMsZ0JBQWdCO0lBQ3hCLE1BQU0sRUFBQyxDQUFDO0lBQ1IsUUFBUSxFQUFDLFFBQVEsR0EwQnBCO0lBcENMLEFBV1EsTUFYRixDQU1GLEVBQUUsQ0FLRSxLQUFLLENBQUM7TUFDRixHQUFHLEVBQUMsR0FBRztNQUNQLElBQUksRUFBQyxLQUFLLEdBQ2I7SUFkVCxBQWVRLE1BZkYsQ0FNRixFQUFFLENBU0UsRUFBRSxDQUFDO01BQ0MsT0FBTyxFQUFDLEtBQUs7TUFDYixLQUFLLEVBQUMsSUFBSTtNQUNWLEtBQUssRUFBQyxJQUFJO01BQ1YsV0FBVyxFQUFDLElBQUk7TUFDaEIsUUFBUSxFQUFDLFFBQVE7TUFDakIsY0FBYyxFQUFDLElBQUksR0FjdEI7TUFuQ1QsQUFzQlksTUF0Qk4sQ0FNRixFQUFFLENBU0UsRUFBRSxDQU9FLEtBQUssQ0FBQztRQUNGLEdBQUcsRUFBQyxHQUFHO1FBQ1AsSUFBSSxFQUFDLEtBQUssR0FDYjtNQXpCYixBQTBCWSxNQTFCTixDQU1GLEVBQUUsQ0FTRSxFQUFFLENBV0UsQ0FBQyxDQUFDO1FBQ0UsV0FBVyxFQzdjZixZQUFZLENENmNlLFVBQVU7UUFDakMsS0FBSyxFQzdmWCxPQUFPLENENmZVLFVBQVU7UUFDckIsVUFBVSxFQUFDLGdCQUFnQjtRQUMzQixXQUFXLEVBQUUsY0FBYyxHQUM5QjtNQS9CYixBQWdDWSxNQWhDTixDQU1GLEVBQUUsQ0FTRSxFQUFFLENBaUJFLENBQUMsQUFBQSxNQUFNLENBQUM7UUFDSixLQUFLLEVDamdCZixPQUFPLENEaWdCaUIsVUFBVSxHQUMzQjtFQWxDYixBQXVDSSxNQXZDRSxDQXVDRixLQUFLLENBQUM7SUFDRixPQUFPLEVBQUMsS0FBSztJQUNiLFFBQVEsRUFBQyxRQUFRO0lBQ2pCLEdBQUcsRUFBQyxDQUFDO0lBQ0wsSUFBSSxFQUFDLEtBQUs7SUFDVixTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQTdDTCxBQThDSSxNQTlDRSxDQThDRixLQUFLLEFBQUEsV0FBVyxDQUFDO0lBQ2YsR0FBRyxFQUFFLEdBQUcsR0FDVDtFQWhETCxBQWlESSxNQWpERSxDQWlERixLQUFLLEFBQUEsV0FBVyxDQUFDO0lBQ2YsR0FBRyxFQUFFLEdBQUcsR0FDVDtFQW5ETCxBQW9ESSxNQXBERSxDQW9ERixLQUFLLEFBQUEsYUFBYSxDQUFDO0lBQ2pCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLEdBQUcsR0FDVjtFQXZETCxBQXdESSxNQXhERSxDQXdERixLQUFLLEFBQUEsVUFBVSxDQUFDO0lBQ2QsR0FBRyxFQUFFLGNBQWM7SUFDbkIsSUFBSSxFQUFFLEdBQUcsR0FDVjtFQTNETCxBQTZEUSxNQTdERixDQTRERixRQUFRLENBQ0osS0FBSyxDQUFDO0lBQ0YsR0FBRyxFQUFDLEtBQUssR0FDWjs7QUFNVCxBQUNJLEtBREMsQUFBQSxPQUFPLENBQ1IsRUFBRSxDQUFDO0VBQ0MsS0FBSyxFQ3BpQk4sSUFBSSxHRHFpQk47O0FBSEwsQUFJSSxLQUpDLEFBQUEsT0FBTyxDQUlSLEVBQUUsQ0FBQztFQUNDLEtBQUssRUMxaUJQLE9BQU8sR0QyaUJSOztBQUdMLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixXQUFXLEVBQUMsR0FBRyxHQTJCbEI7RUE1QkQsQUFFSSxnQkFGWSxDQUVaLElBQUksQ0FBQztJQUNELFdBQVcsRUFBQyxJQUFJO0lBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBQ3JCO0VBTEwsQUFNSSxnQkFOWSxDQU1aLElBQUksQUFBQSxPQUFPLENBQUM7SUFDVixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLEVBQUU7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLE1BQU0sRUFBRSxHQUFHO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsT0FBTyxHQUNwQjtFQWZMLEFBaUJRLGdCQWpCUSxDQWdCWixPQUFPLENBQ0gsR0FBRyxDQUFDO0lBQ0osYUFBYSxFQUFDLEdBQUcsR0FDaEI7RUFuQlQsQUFxQkksZ0JBckJZLENBcUJaLFNBQVMsQ0FBQztJQUNOLFlBQVksRUFBQyxLQUFLLEdBSXJCO0lBMUJMLEFBdUJRLGdCQXZCUSxDQXFCWixTQUFTLENBRUwsRUFBRSxDQUFDO01BQ0MsU0FBUyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQzNCOztBQUtULEFBQUEsU0FBUyxDQUFDO0VBQ04sZUFBZSxFQUFDLElBQUk7RUFDcEIsWUFBWSxFQUFDLEdBQUc7RUFDaEIsV0FBVyxFQUFDLElBQUksR0FnQ25CO0VBbkNELEFBSUksU0FKSyxDQUlMLEVBQUUsQUFBQSxJQUFLLENBQUEsQUFBQSxZQUFZLEVBQUM7SUFDaEIsV0FBVyxFQUFDLElBQUksR0FDbkI7RUFOTCxBQU9JLFNBUEssQ0FPTCxFQUFFLENBQUM7SUFDQyxLQUFLLEVBQUMsSUFBSSxHQTBCYjtJQWxDTCxBQVNRLFNBVEMsQ0FPTCxFQUFFLENBRUUsQ0FBQyxDQUFDO01BQ0UsS0FBSyxFQUFDLElBQUk7TUFDVixNQUFNLEVBQUMsSUFBSTtNQUNYLE9BQU8sRUFBQyxLQUFLO01BQ2IsVUFBVSxFQUFDLE1BQU07TUFDakIsYUFBYSxFQUFDLEdBQUcsR0FPcEI7TUFyQlQsQUFlWSxTQWZILENBT0wsRUFBRSxDQUVFLENBQUMsQ0FNRyxDQUFDLENBQUM7UUFDRSxLQUFLLEVDemxCZCxJQUFJO1FEMGxCSyxTQUFTLEVBQUMsSUFBSTtRQUNkLE9BQU8sRUFBQyxVQUFVO1FBQ2xCLGNBQWMsRUFBQyxNQUFNLEdBQ3hCO0lBcEJiLEFBc0JRLFNBdEJDLENBT0wsRUFBRSxDQWVFLENBQUMsQUFBQSxHQUFHLENBQUM7TUFDRCxnQkFBZ0IsRUMzbEJwQixPQUFPLEdENGxCTjtJQXhCVCxBQXlCUSxTQXpCQyxDQU9MLEVBQUUsQ0FrQkUsQ0FBQyxBQUFBLEdBQUcsQUFBQSxNQUFNLENBQUM7TUFDUCxnQkFBZ0IsRUM3bEJmLE9BQU8sR0Q4bEJYO0lBM0JULEFBNEJRLFNBNUJDLENBT0wsRUFBRSxDQXFCRSxDQUFDLEFBQUEsR0FBRyxDQUFDO01BQ0QsZ0JBQWdCLEVDL2xCcEIsT0FBTyxHRGdtQk47SUE5QlQsQUErQlEsU0EvQkMsQ0FPTCxFQUFFLENBd0JFLENBQUMsQUFBQSxHQUFHLEFBQUEsTUFBTSxDQUFDO01BQ1AsZ0JBQWdCLEVDam1CZixPQUFPLEdEa21CWDs7QUFNVCxBQUNJLFVBRE0sQ0FDTixFQUFFLENBQUM7RUFDQyxjQUFjLEVBQUMsR0FBRyxHQUNyQjs7QUFITCxBQUlJLFVBSk0sQ0FJTixLQUFLLENBQUM7RUFDRixLQUFLLEVDeG5CUCxPQUFPO0VEeW5CTCxTQUFTLEVBQUMsSUFBSTtFQUNkLGNBQWMsRUFBQyxJQUFJLEdBQ3RCOztBQUdMLEFBRVEsVUFGRSxBQUFBLElBQUssQ0FBQSxBQUFBLFlBQVksRUFDdkIsVUFBVSxDQUNOLEVBQUUsQ0FBQztFQUNDLFdBQVcsRUFBQyxJQUFJO0VBQ2hCLFVBQVUsRUFBQyxJQUFJO0VBQ2YsVUFBVSxFQUFDLEdBQUcsQ0FBQyxLQUFLLENDL25CcEIsT0FBTyxHRGdvQlY7O0FBSVQsQUFBQSxVQUFVLEFBQUEsV0FBVyxDQUFDO0VBQ2xCLGNBQWMsRUFBQyxJQUFJLEdBQ3RCOztBQUlELEFBRVEsWUFGSSxDQUNSLEtBQUssQUFBQSxPQUFPLENBQ1IsRUFBRSxDQUFDO0VBQ0MsY0FBYyxFQUFDLEdBQUc7RUFDbEIsYUFBYSxFQUFDLEdBQUcsR0FDcEI7O0FBTFQsQUFNUSxZQU5JLENBQ1IsS0FBSyxBQUFBLE9BQU8sQ0FLUixFQUFFLENBQUM7RUFDQyxXQUFXLEVDdm1CWCxZQUFZO0VEd21CQSxXQUFXLEVBQUMsR0FBRyxHQUM5Qjs7QUFUVCxBQVlRLFlBWkksQ0FXUixVQUFVLENBQ04sU0FBUyxDQUFDO0VBQ04sT0FBTyxFQUFDLGtCQUFrQixHQUM3Qjs7QUFLVCxBQUNJLGdCQURZLEFBQUEsUUFBUSxDQUNwQixHQUFHLEFBQUEsUUFBUSxDQUFDO0VBQ1IsYUFBYSxFQUFDLElBQUksR0FDckI7O0FBSEwsQUFJSSxnQkFKWSxBQUFBLFFBQVEsQ0FJcEIsVUFBVSxDQUFDO0VBQ1AsVUFBVSxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQzVCOztBQUdMLEFBQ0ksU0FESyxBQUFBLFNBQVMsQ0FDZCxTQUFTLENBQUM7RUFDTixPQUFPLEVBQUMsSUFBSTtFQUNaLGdCQUFnQixFQzdxQmxCLE9BQU87RUQ4cUJMLFFBQVEsRUFBQyxRQUFRO0VBQ2pCLElBQUksRUFBQyxHQUFHO0VBQ1IsS0FBSyxFQUFDLElBQUk7RUFDVixPQUFPLEVBQUMsUUFBUSxHQWNuQjtFQXJCTCxBQVFRLFNBUkMsQUFBQSxTQUFTLENBQ2QsU0FBUyxDQU9MLENBQUMsQ0FBQztJQUNFLFlBQVksRUFBQyxJQUFJO0lBQ2pCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxJQUFJLEdBQ1o7RUFaVCxBQWFRLFNBYkMsQUFBQSxTQUFTLENBQ2QsU0FBUyxDQVlMLEVBQUUsQ0FBQztJQUNDLFdBQVcsRUMxb0JYLFlBQVk7SUQyb0JBLFdBQVcsRUFBQyxHQUFHLEdBQzlCO0VBaEJULEFBaUJRLFNBakJDLEFBQUEsU0FBUyxDQUNkLFNBQVMsQ0FnQkwsRUFBRSxFQWpCVixBQWlCWSxTQWpCSCxBQUFBLFNBQVMsQ0FDZCxTQUFTLENBZ0JELENBQUMsQ0FBQztJQUNGLE9BQU8sRUFBQyxZQUFZO0lBQ3BCLEtBQUssRUMxckJWLElBQUksQ0QwckJtQixVQUFVLEdBQy9COztBQXBCVCxBQXNCSSxTQXRCSyxBQUFBLFNBQVMsQ0FzQmQsWUFBWSxDQUFDO0VBQ1QsWUFBWSxFQUFDLEdBQUc7RUFDaEIsZUFBZSxFQUFDLElBQUksR0FxQnZCO0VBN0NMLEFBeUJRLFNBekJDLEFBQUEsU0FBUyxDQXNCZCxZQUFZLENBR1IsRUFBRSxDQUFDO0lBQ0MsY0FBYyxFQUFDLElBQUksR0FZdEI7SUF0Q1QsQUEyQlksU0EzQkgsQUFBQSxTQUFTLENBc0JkLFlBQVksQ0FHUixFQUFFLENBRUUsQ0FBQyxDQUFDO01BQ0UsS0FBSyxFQ3RzQmYsT0FBTztNRHVzQkcsU0FBUyxFQUFDLElBQUk7TUFDZCxXQUFXLEVBQUUsS0FBSyxHQUNyQjtJQS9CYixBQWdDWSxTQWhDSCxBQUFBLFNBQVMsQ0FzQmQsWUFBWSxDQUdSLEVBQUUsQ0FPRSxDQUFDLEFBQUEsT0FBTyxDQUFDO01BQ0wsS0FBSyxFQzFzQlgsT0FBTyxHRDJzQko7SUFsQ2IsQUFtQ1ksU0FuQ0gsQUFBQSxTQUFTLENBc0JkLFlBQVksQ0FHUixFQUFFLENBVUUsQ0FBQyxBQUFBLE1BQU0sQ0FBQztNQUNKLEtBQUssRUM3c0JYLE9BQU8sR0Q4c0JKO0VBckNiLEFBdUNRLFNBdkNDLEFBQUEsU0FBUyxDQXNCZCxZQUFZLENBaUJSLEVBQUUsQUFBQSxXQUFXLENBQUM7SUFDVixjQUFjLEVBQUMsR0FBRyxHQUNyQjtFQXpDVCxBQTBDUSxTQTFDQyxBQUFBLFNBQVMsQ0FzQmQsWUFBWSxDQW9CUixFQUFFLEFBQUEsUUFBUSxDQUFDO0lBQ1AsT0FBTyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQ3pCOztBQUlULEFBQ0ksZ0JBRFksQUFBQSxNQUFNLENBQ2xCLFlBQVksQ0FBQztFQUNULGFBQWEsRUFBQyxJQUFJLEdBQ3JCOztBQUhMLEFBSUksZ0JBSlksQUFBQSxNQUFNLENBSWxCLFdBQVcsQ0FBQztFQUNSLFlBQVksRUFBQyxHQUFHLENBQUEsVUFBVTtFQUMxQixhQUFhLEVBQUMsR0FBRyxDQUFBLFVBQVU7RUFDM0IsVUFBVSxFQUFDLElBQUksR0FDbEI7O0FBUkwsQUFTSSxnQkFUWSxBQUFBLE1BQU0sQ0FTbEIsRUFBRSxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBQyxhQUFhO0VBQ3JCLFNBQVMsRUFBRSxlQUFlLEdBQzdCOztBQVpMLEFBYUksZ0JBYlksQUFBQSxNQUFNLENBYWxCLFNBQVMsQ0FBQztFQUNOLFdBQVcsRUFBQyxHQUFHLEdBQ2xCOztBQWZMLEFBZ0JJLGdCQWhCWSxBQUFBLE1BQU0sQ0FnQmxCLFVBQVUsQ0FBQztFQUNQLFlBQVksRUFBQyxHQUFHLENBQUEsVUFBVTtFQUMxQixhQUFhLEVBQUMsR0FBRyxDQUFBLFVBQVUsR0FDOUI7O0FBR0wsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFFBQVEsRUFBQyxRQUFRLEdBNk1wQjtFQTlNRCxBQUVJLGdCQUZZLENBRVosSUFBSSxDQUFDO0lBQ0wsTUFBTSxFQUFDLEtBQUs7SUFDWixPQUFPLEVBQUMsQ0FBQztJQUNULFFBQVEsRUFBQyxRQUFRLEdBQ2hCO0VBTkwsQUFTUSxnQkFUUSxDQVFaLElBQUksQUFBQSxnQkFBZ0IsQ0FDaEIsVUFBVSxDQUFDO0lBQ1AsT0FBTyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQ3pCO0VBWFQsQUFZUSxnQkFaUSxDQVFaLElBQUksQUFBQSxnQkFBZ0IsQ0FJaEIsWUFBWSxDQUFDO0lBQ1QsT0FBTyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQ3pCO0VBZFQsQUFlUSxnQkFmUSxDQVFaLElBQUksQUFBQSxnQkFBZ0IsQ0FPaEIsQ0FBQyxDQUFBLEFBQUEsSUFBQyxFQUFNLDZCQUE2QixBQUFuQyxFQUFvQztJQUNsQyxPQUFPLEVBQUMsZUFDWixHQUFFO0VBakJWLEFBbUJRLGdCQW5CUSxDQVFaLElBQUksQUFBQSxnQkFBZ0IsQ0FXaEIsQ0FBQyxDQUFBLEFBQUEsSUFBQyxFQUFNLDhCQUE4QixBQUFwQyxFQUFxQztJQUNuQyxPQUFPLEVBQUMsZUFDWixHQUFFO0VBckJWLEFBd0JJLGdCQXhCWSxDQXdCWixJQUFJLEFBQUEsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0lFcHdCNUIsT0FBTyxFQUFDLEVBQUU7SUFDVixRQUFRLEVBQUMsUUFBUTtJQUNqQixHQUFHLEVBQUMsQ0FBQztJQUNMLElBQUksRUFBQyxDQUFDO0lBQ04sTUFBTSxFQUFDLElBQUk7SUFDWCxLQUFLLEVBQUMsSUFBSTtJRml3Qk4sVUFBVSxFQUFDLHdEQUF1RCxHQUNyRTtFQTNCTCxBQTZCSSxnQkE3QlksQ0E2QlosVUFBVSxDQUFDO0lBQ1AsUUFBUSxFQUFDLFFBQVE7SUFDakIsTUFBTSxFQUFDLEdBQUc7SUFDVixJQUFJLEVBQUMsR0FBRztJQUNSLFVBQVUsRUFBQyxNQUFNO0lBQ2pCLE9BQU8sRUFBQyxLQUFLO0lBQ2IsZ0JBQWdCLEVDbnhCbEIsT0FBTztJRG94QkwsS0FBSyxFQUFDLEtBQUs7SUFDWCxPQUFPLEVBQUMsUUFBUTtJQUNoQixLQUFLLEVBQUMsR0FBRztJQUNULHNCQUFzQixFQUFDLElBQUk7SUFDM0IsdUJBQXVCLEVBQUMsSUFBSTtJQUM1QixVQUFVLEVBQUMsZUFBZTtJQUMxQixNQUFNLEVBQUMsT0FBTztJQUNkLE9BQU8sRUFBQyxHQUFHLEdBQ2Q7RUE1Q0wsQUE2Q0ksZ0JBN0NZLENBNkNaLFVBQVUsQUFBQSxNQUFNLENBQUM7SUFDYixnQkFBZ0IsRUM3eEJkLE9BQU8sR0Q4eEJaO0VBL0NMLEFBZ0RJLGdCQWhEWSxDQWdEWixRQUFRLENBQUM7SUFDTCxRQUFRLEVBQUMsUUFBUTtJQUNqQixNQUFNLEVBQUMsSUFBSTtJQUNYLEtBQUssRUFBQyxJQUFJO0lBQ1YsR0FBRyxFQUFDLENBQUM7SUFDTCxPQUFPLEVBQUMsQ0FBQztJQUNULFVBQVUsRUFBQyxlQUFlO0lBQzFCLFFBQVEsRUFBQyxNQUFNLEdBMElsQjtJQWpNTCxBQXdEUSxnQkF4RFEsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FBQztNQUNQLE1BQU0sRUFBQyxJQUFJO01BQ1gsT0FBTyxFQUFDLEtBQUssR0FzSWhCO01BaE1ULEFBMkRZLGdCQTNESSxDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FBQztRQUNELE9BQU8sRUFBQyxVQUFVO1FBQ2xCLGNBQWMsRUFBQyxNQUFNLEdBa0l4QjtRQS9MYixBQThEZ0IsZ0JBOURBLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0FBQztVQUNULFVBQVUsRUFBQyxHQUFHO1VBQ2QsT0FBTyxFQUFDLEdBQUc7VUFDWCxnQkFBZ0IsRUM5eUI3QixJQUFJO1VEK3lCUyxhQUFhLEVBQUMsSUFBSTtVQUNsQixVQUFVLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQWtCO1VBQzFDLFFBQVEsRUFBQyxNQUFNO1VBQ2YsVUFBVSxFQUFDLGdCQUFnQixHQXlIOUI7VUE5TGpCLEFBc0VvQixnQkF0RUosQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQVFSLEVBQUUsQ0FBQztZQUNDLEtBQUssRUNwekJ0QixJQUFJLENEb3pCK0IsVUFBVTtZQUM1QixnQkFBZ0IsRUN4ekJsQyxPQUFPO1lEeXpCVyxXQUFXLEVDM3dCdkIsWUFBWTtZRDR3QkEsV0FBVyxFQUFDLEdBQUc7WUFDZixXQUFXLEVBQUMsR0FBRztZQUNmLE9BQU8sRUFBQyxpQkFBaUI7WUFDekIsTUFBTSxFQUFDLENBQUMsR0FDWDtVQTlFckIsQUErRW9CLGdCQS9FSixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBaUJSLEdBQUcsQ0FBQztZQUNGLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO1VBakZyQixBQWtGb0IsZ0JBbEZKLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0FvQlIsV0FBVyxFQWxGL0IsQUFrRmlDLGdCQWxGakIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQW9CSyxRQUFRLENBQUM7WUFDcEIsV0FBVyxFQUFFLGNBQWMsR0FDNUI7VUFwRnJCLEFBcUZvQixnQkFyRkosQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBQUM7WUFDRixPQUFPLEVBQUMsUUFBUTtZQUNoQixPQUFPLEVBQUMsS0FBSyxHQXNHaEI7WUE3THJCLEFBd0Z3QixnQkF4RlIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxFQXhGakMsQUF3Rm1DLGdCQXhGbkIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQUFDO2NBQ2pCLE9BQU8sRUFBQyxpQkFBaUIsR0FtRzVCO2NBNUx6QixBQTBGNEIsZ0JBMUZaLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0FFTCxFQUFFLEVBMUY5QixBQTBGNEIsZ0JBMUZaLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdVLFNBQVMsQ0FFaEIsRUFBRSxDQUFDO2dCQUNDLGVBQWUsRUFBQyxJQUFJO2dCQUNwQixZQUFZLEVBQUMsR0FBRztnQkFDaEIsV0FBVyxFQUFDLElBQUk7Z0JBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBNkJwQjtnQkEzSDdCLEFBK0ZnQyxnQkEvRmhCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0FFTCxFQUFFLENBS0UsRUFBRSxFQS9GbEMsQUErRmdDLGdCQS9GaEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQUVoQixFQUFFLENBS0UsRUFBRSxDQUFDO2tCQUNDLFNBQVMsRUFBQyxJQUFJO2tCQUNkLEtBQUssRUNqMUJuQyxPQUFPO2tCRGsxQnVCLFdBQVcsRUNweUJuQyxZQUFZO2tCRHF5QkEsV0FBVyxFQUFDLEdBQUcsR0F1Qk47a0JBMUhqQyxBQW9Hb0MsZ0JBcEdwQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHRCxTQUFTLENBRUwsRUFBRSxDQUtFLEVBQUUsQ0FLRSxDQUFDLEVBcEdyQyxBQW9Hb0MsZ0JBcEdwQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBRWhCLEVBQUUsQ0FLRSxFQUFFLENBS0UsQ0FBQyxDQUFDO29CQUNFLEtBQUssRUNyMUJ2QyxPQUFPLEdEczFCd0I7a0JBdEdyQyxBQXVHb0MsZ0JBdkdwQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHRCxTQUFTLENBRUwsRUFBRSxDQUtFLEVBQUUsQ0FRRSxDQUFDLEFBQUEsTUFBTSxFQXZHM0MsQUF1R29DLGdCQXZHcEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQUVoQixFQUFFLENBS0UsRUFBRSxDQVFFLENBQUMsQUFBQSxNQUFNLENBQUM7b0JBQ0osS0FBSyxFQ3YxQm5DLE9BQU8sR0R3MUJvQjtrQkF6R3JDLEFBMEdvQyxnQkExR3BCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0FFTCxFQUFFLENBS0UsRUFBRSxDQVdFLENBQUMsQUFBQSxRQUFRLEVBMUc3QyxBQTBHb0MsZ0JBMUdwQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBRWhCLEVBQUUsQ0FLRSxFQUFFLENBV0UsQ0FBQyxBQUFBLFFBQVEsQ0FBQztvQkFDTixLQUFLLEVDMzFCdkMsT0FBTyxHRDQxQndCO2tCQTVHckMsQUE2R29DLGdCQTdHcEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQUVMLEVBQUUsQ0FLRSxFQUFFLENBY0UsRUFBRSxFQTdHdEMsQUE2R29DLGdCQTdHcEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQUVoQixFQUFFLENBS0UsRUFBRSxDQWNFLEVBQUUsQ0FBQztvQkFDQyxXQUFXLEVBQUMsSUFBSSxHQUluQjtvQkFsSHJDLEFBK0d3QyxnQkEvR3hCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0FFTCxFQUFFLENBS0UsRUFBRSxDQWNFLEVBQUUsQ0FFRSxFQUFFLEFBQUEsSUFBSyxDQUFBLEFBQUEsWUFBWSxHQS9HM0QsQUErR3dDLGdCQS9HeEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQUVoQixFQUFFLENBS0UsRUFBRSxDQWNFLEVBQUUsQ0FFRSxFQUFFLEFBQUEsSUFBSyxDQUFBLEFBQUEsWUFBWSxFQUFDO3NCQUNoQixXQUFXLEVBQUMsSUFBSSxHQUNuQjtrQkFqSHpDLEFBbUhvQyxnQkFuSHBCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0FFTCxFQUFFLENBS0UsRUFBRSxDQW9CRSxDQUFDLEVBbkhyQyxBQW1Ib0MsZ0JBbkhwQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBRWhCLEVBQUUsQ0FLRSxFQUFFLENBb0JFLENBQUMsQ0FBQztvQkFDRSxNQUFNLEVBQUMsSUFBSTtvQkFDWCxLQUFLLEVBQUMsSUFBSSxHQUliO29CQXpIckMsQUFzSHdDLGdCQXRIeEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQUVMLEVBQUUsQ0FLRSxFQUFFLENBb0JFLENBQUMsQ0FHRyxDQUFDLEVBdEh6QyxBQXNId0MsZ0JBdEh4QixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBRWhCLEVBQUUsQ0FLRSxFQUFFLENBb0JFLENBQUMsQ0FHRyxDQUFDLENBQUM7c0JBQ0UsU0FBUyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQzNCO2NBeEh6QyxBQTRINEIsZ0JBNUhaLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0FvQ0wsWUFBWSxFQTVIeEMsQUE0SDBDLGdCQTVIMUIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQW9DUyxrQkFBa0IsRUE1SDVELEFBNEg0QixnQkE1SFosQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQW9DaEIsWUFBWSxFQTVIeEMsQUE0SDBDLGdCQTVIMUIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQW9DRixrQkFBa0IsQ0FBQztnQkFDN0IsT0FBTyxFQUFDLElBQUksR0FDZjtjQTlIN0IsQUErSDRCLGdCQS9IWixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHRCxTQUFTLENBdUNMLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsR0EvSGxDLEFBK0g0QixnQkEvSFosQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQXVDaEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxFQUFZO2dCQUdkLFdBQVcsRUFBQyxHQUFHLEdBQ2xCO2NBbkk3QixBQXVJNEIsZ0JBdklaLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0ErQ0wsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQUFZLE1BQU0sRUF2SXBELEFBdUk0QixnQkF2SVosQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQStDaEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQUFZLE1BQU0sQ0FBQztnQkFDckIsT0FBTyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQ3pCO2NBekk3QixBQTBJNEIsZ0JBMUlaLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0FrREwsMkJBQTJCLEVBMUl2RCxBQTBJeUQsZ0JBMUl6QyxDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHRCxTQUFTLENBa0R3QixpQkFBaUIsRUExSTFFLEFBMEk0QixnQkExSVosQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQWtEaEIsMkJBQTJCLEVBMUl2RCxBQTBJeUQsZ0JBMUl6QyxDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBa0RhLGlCQUFpQixDQUFDO2dCQUMzQyxLQUFLLEVBQUMsT0FBTztnQkFDYixXQUFXLEVDOTBCL0IsWUFBWTtnQkQrMEJBLFdBQVcsRUFBQyxHQUFHLEdBQ1Y7Y0E5STdCLEFBK0k0QixnQkEvSVosQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQXVETCxtQkFBbUIsRUEvSS9DLEFBK0k0QixnQkEvSVosQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQXVEaEIsbUJBQW1CLENBQUM7Z0JBQ2hCLFNBQVMsRUFBQyxHQUFHO2dCQUNiLEtBQUssRUFBRSxrQkFBa0IsR0FDNUI7Y0FsSjdCLEFBb0pnQyxnQkFwSmhCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0EyREwsYUFBYSxDQUNULEtBQUssRUFwSnJDLEFBb0pnQyxnQkFwSmhCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdVLFNBQVMsQ0EyRGhCLGFBQWEsQ0FDVCxLQUFLLENBQUM7Z0JBQ0YsT0FBTyxFQUFDLElBQUksR0FDZjtjQXRKakMsQUF1SmdDLGdCQXZKaEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQTJETCxhQUFhLENBSVQsRUFBRSxFQXZKbEMsQUF1SmdDLGdCQXZKaEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQTJEaEIsYUFBYSxDQUlULEVBQUUsQ0FBQztnQkFDQyxPQUFPLEVBQUMsR0FBRyxHQUNkO2NBekpqQyxBQTBKZ0MsZ0JBMUpoQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHRCxTQUFTLENBMkRMLGFBQWEsQ0FPVCxFQUFFLEFBQUEsVUFBVyxDQUFBLEFBQUEsQ0FBQyxHQTFKOUMsQUEwSmdDLGdCQTFKaEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQTJEaEIsYUFBYSxDQU9ULEVBQUUsQUFBQSxVQUFXLENBQUEsQUFBQSxDQUFDLEVBQUM7Z0JBQ1gsS0FBSyxFQUFDLElBQUk7Z0JBQ1YsS0FBSyxFQUFDLEdBQUcsR0FDWjtjQTdKakMsQUE4SmdDLGdCQTlKaEIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQTJETCxhQUFhLENBV1QsRUFBRSxBQUFBLFVBQVcsQ0FBQSxBQUFBLENBQUMsR0E5SjlDLEFBOEpnQyxnQkE5SmhCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdVLFNBQVMsQ0EyRGhCLGFBQWEsQ0FXVCxFQUFFLEFBQUEsVUFBVyxDQUFBLEFBQUEsQ0FBQyxFQUFDO2dCQUNYLEtBQUssRUFBQyxJQUFJO2dCQUNWLEtBQUssRUFBQyxHQUFHLEdBQ1o7Y0FqS2pDLEFBa0tnQyxnQkFsS2hCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0EyREwsYUFBYSxDQWVULEVBQUUsQUFBQSxVQUFXLENBQUEsQUFBQSxDQUFDLEdBbEs5QyxBQWtLZ0MsZ0JBbEtoQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBMkRoQixhQUFhLENBZVQsRUFBRSxBQUFBLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBQztnQkFDWCxLQUFLLEVBQUMsSUFBSTtnQkFDVixLQUFLLEVBQUMsSUFBSSxHQUNiO2NBcktqQyxBQXNLZ0MsZ0JBdEtoQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHRCxTQUFTLENBMkRMLGFBQWEsQ0FtQlQsS0FBSyxFQXRLckMsQUFzS3VDLGdCQXRLdkIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQTJETCxhQUFhLENBbUJGLFFBQVEsRUF0Sy9DLEFBc0tnQyxnQkF0S2hCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdVLFNBQVMsQ0EyRGhCLGFBQWEsQ0FtQlQsS0FBSyxFQXRLckMsQUFzS3VDLGdCQXRLdkIsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR1UsU0FBUyxDQTJEaEIsYUFBYSxDQW1CRixRQUFRLENBQUM7Z0JBQ1osZ0JBQWdCLEVDbDVCdkMsT0FBTztnQkRtNUJnQixLQUFLLEVDejVCL0IsT0FBTztnQkQwNUJtQixXQUFXLEVDMzJCbkMsWUFBWTtnQkQ0MkJZLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixNQUFNLEVBQUMsSUFBSTtnQkFDWCxhQUFhLEVBQUMsR0FBRztnQkFDakIsU0FBUyxFQUFDLElBQUk7Z0JBQ2QsS0FBSyxFQUFDLElBQUk7Z0JBQ1YsT0FBTyxFQUFDLFFBQVEsR0FDbkI7Y0FoTGpDLEFBaUxnQyxnQkFqTGhCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0EyREwsYUFBYSxDQThCVCxLQUFLLEFBQUEsTUFBTSxFQWpMM0MsQUFpTDZDLGdCQWpMN0IsQ0FnRFosUUFBUSxDQVFKLFVBQVUsQ0FHTixJQUFJLENBR0EsWUFBWSxDQXVCUixLQUFLLENBR0QsU0FBUyxDQTJETCxhQUFhLENBOEJJLFFBQVEsQUFBQSxNQUFNLEVBakwzRCxBQWlMZ0MsZ0JBakxoQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBMkRoQixhQUFhLENBOEJULEtBQUssQUFBQSxNQUFNLEVBakwzQyxBQWlMNkMsZ0JBakw3QixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBMkRoQixhQUFhLENBOEJJLFFBQVEsQUFBQSxNQUFNLENBQUM7Z0JBQ3hCLE9BQU8sRUFBQyxJQUFJLENBQUEsVUFBVTtnQkFDdEIsWUFBWSxFQ3Y1QjFDLFdBQVcsQ0R1NUJxQyxVQUFVO2dCQUM1QixNQUFNLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDeEI7Y0FyTGpDLEFBc0xnQyxnQkF0TGhCLENBZ0RaLFFBQVEsQ0FRSixVQUFVLENBR04sSUFBSSxDQUdBLFlBQVksQ0F1QlIsS0FBSyxDQUdELFNBQVMsQ0EyREwsYUFBYSxDQW1DVCxRQUFRLEVBdEx4QyxBQXNMZ0MsZ0JBdExoQixDQWdEWixRQUFRLENBUUosVUFBVSxDQUdOLElBQUksQ0FHQSxZQUFZLENBdUJSLEtBQUssQ0FHVSxTQUFTLENBMkRoQixhQUFhLENBbUNULFFBQVEsQ0FBQztnQkFDTCxLQUFLLEVBQUMsSUFBSTtnQkFDVixNQUFNLEVBQUMsS0FBSztnQkFDWixNQUFNLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDeEI7RUExTGpDLEFBb01RLGdCQXBNUSxDQW1NWixRQUFRLEFBQUEsWUFBWSxDQUNoQixZQUFZLENBQUM7SUFDVCxVQUFVLEVBQUMsS0FBSyxDQUFBLFVBQVU7SUFDMUIsVUFBVSxFQUFDLGdCQUFnQixHQUM5QjtFQXZNVCxBQTBNSSxnQkExTVksQ0EwTVosUUFBUSxBQUFBLFlBQVksQUFBQSxPQUFPLENBQUM7SUFDeEIsT0FBTyxFQUFDLEVBQUUsR0FDYjs7QUFLTCxBQUFBLFVBQVUsQ0FBQztFQUNULE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQsQUFBVyxVQUFELENBQUMsSUFBSSxDQUFDO0VBQ2QsT0FBTyxFQUFFLFlBQVk7RUFDckIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFDUCxlQUFlLEVBQUUsZ0JBQWdCO0VBQ2pDLG1CQUFtQixFQUFFLHdCQUF3QjtFQUM3QyxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxLQUFLO0VBQ2IsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQsQUFBaUMsZUFBbEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7RUFDakMsU0FBUyxFQUFFLGVBQWU7RUFDMUIsV0FBVyxFQUFFLGdCQUFnQixHQUM5Qjs7QUFFRCxBQUE2Qiw0QkFBRCxDQUFDLGdCQUFnQixDQUFDO0VBQzVDLE9BQU8sRUFBRSxhQUFhLEdBQ3ZCOztBQUlELHlCQUF5QjtBQUV6QixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VBQ2hDLEFBQWEsSUFBVCxBQUFBLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQSxVQUFVLEdBQzVCO0VBQ0QsQUFDSSxZQURRLENBQ1IsRUFBRSxBQUFBLElBQUssQ0FBQSxBQUFBLFdBQVcsRUFBRTtJQUNoQixjQUFjLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDaEM7RUFFTCxBQUdZLFlBSEEsQ0FDUixTQUFTLENBQ0wsRUFBRSxDQUNFLEVBQUUsQ0FBQztJQUNDLFNBQVMsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUMzQjtFQUliLEFBQUEsYUFBYSxDQUFDO0lBQ1YsV0FBVyxFQUFDLElBQUksR0FDbkI7O0FBR0wsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFQUNoQyxBQUNJLEtBREMsQ0FDRCxFQUFFLENBQUM7SUFDQyxTQUFTLEVBQUMsSUFBSSxDQUFBLFVBQVU7SUFDeEIsYUFBYSxFQUFDLEdBQUcsR0FDcEI7RUFFTCxBQUVRLHFCQUZhLENBQ2pCLFVBQVUsQ0FDTixFQUFFLENBQUM7SUFDQyxXQUFXLEVBQUMsS0FBSyxDQUFBLFVBQVUsR0FDOUI7O0FBS2IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQUMvQixBQUNJLFdBRE8sQ0FDUCxFQUFFLENBQUM7SUFDQyxNQUFNLEVBQUMsR0FBRyxDQUFDLElBQUksQ0FBQSxVQUFVLEdBQzVCO0VBRUwsQUFFUSxLQUZILENBQ0QsU0FBUyxDQUNMLEVBQUUsQ0FBQztJQUNDLGFBQWEsRUFBQyxHQUFHLEdBQ3BCO0VBSlQsQUFLUSxLQUxILENBQ0QsU0FBUyxDQUlMLENBQUMsQUFBQSxZQUFZLENBQUM7SUFDVixXQUFXLEVBQUMsSUFBSSxHQUNuQjtFQUdULEFBQUEsWUFBWSxDQUFDO0lBQ1QsT0FBTyxFQUFDLGlCQUFpQixHQU81QjtJQVJELEFBRUksWUFGUSxDQUVSLENBQUMsQUFBQSxZQUFZLENBQUM7TUFDVixXQUFXLEVBQUMsR0FBRyxHQUNsQjtJQUpMLEFBS0ksWUFMUSxDQUtSLFVBQVUsQ0FBQztNQUNQLFVBQVUsRUFBQyxJQUFJLEdBQ2xCO0VBRUwsQUFBQSxnQkFBZ0IsQ0FBQztJQUNiLFdBQVcsRUFBQyxHQUFHLEdBVWxCO0lBWEQsQUFFSSxnQkFGWSxDQUVaLFNBQVMsQ0FBQztNQUNOLFlBQVksRUFBQyxJQUFJLEdBT3BCO01BVkwsQUFJUSxnQkFKUSxDQUVaLFNBQVMsQ0FFTCxFQUFFLENBQUM7UUFDQyxTQUFTLEVBQUMsSUFBSSxHQUNqQjtNQU5ULEFBT1EsZ0JBUFEsQ0FFWixTQUFTLENBS0wsQ0FBQyxDQUFDO1FBQ0UsYUFBYSxFQUFDLEdBQUcsR0FDcEI7RUFHVCxBQUNJLHFCQURpQixDQUNqQixFQUFFLENBQUM7SUFDQyxXQUFXLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDN0I7RUFITCxBQUtRLHFCQUxhLENBSWpCLFVBQVUsQ0FDTixDQUFDLENBQUM7SUFDRSxPQUFPLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBLFVBQVUsR0FDckM7RUFHVCxBQUNJLGdCQURZLEFBQUEsUUFBUSxDQUNwQixnQkFBZ0IsQ0FBQztJQUNiLEtBQUssRUFBQyxJQUFJLEdBQ2I7RUFFTCxBQUVRLFlBRkksQ0FDUixFQUFFLENBQ0UsQ0FBQyxDQUFDO0lBQ0UsU0FBUyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQzNCO0VBR1QsQUFBQSxnQkFBZ0IsQUFBQSxNQUFNLENBQUM7SUFDbkIsT0FBTyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQSxVQUFVLEdBQ3RDO0VBRUQsQUFBQSxZQUFZLENBQUM7SUFDVCxXQUFXLEVBQUMsR0FBRztJQUNmLEtBQUssRUFBQyxHQUFHLEdBUVo7SUFWRCxBQUtZLFlBTEEsQ0FHUixTQUFTLENBQ0wsRUFBRSxDQUNFLEVBQUUsQ0FBQztNQUNDLFNBQVMsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUMzQjs7QUFNakIsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQUMvQixBQUFBLEtBQUssRUFBRSxBQUFBLGdCQUFnQixFQUFFLEFBQUEsWUFBWSxDQUFDO0lBQ2xDLE9BQU8sRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFBLFVBQVUsR0FDN0I7RUFDRCxBQUNJLGdCQURZLENBQ1osQ0FBQyxFQURMLEFBQ1ksZ0JBREksQ0FDVCxFQUFFLEdBQUcsRUFBRSxFQURJLEFBQ2QsWUFEMEIsQ0FDMUIsQ0FBQyxFQURhLEFBQ04sWUFEa0IsQ0FDdkIsRUFBRSxHQUFHLEVBQUUsRUFEa0IsQUFDNUIsS0FEaUMsQ0FDakMsQ0FBQyxFQUQyQixBQUNwQixLQUR5QixDQUM5QixFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1AsU0FBUyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQzNCO0VBSEwsQUFJSSxnQkFKWSxDQUlaLEVBQUUsRUFKWSxBQUlkLFlBSjBCLENBSTFCLEVBQUUsRUFKMEIsQUFJNUIsS0FKaUMsQ0FJakMsRUFBRSxDQUFDO0lBQ0MsVUFBVSxFQUFDLElBQUksR0FDbEI7RUFOTCxBQU9JLGdCQVBZLENBT1osQ0FBQyxBQUFBLElBQUssQ0FBQSxBQUFBLFdBQVcsR0FQckIsQUFPd0IsZ0JBUFIsQ0FPUSxFQUFFLEFBQUEsSUFBSyxDQUFBLEFBQUEsVUFBVSxHQVB2QixBQU9kLFlBUDBCLENBTzFCLENBQUMsQUFBQSxJQUFLLENBQUEsQUFBQSxXQUFXLEdBUEgsQUFPTSxZQVBNLENBT04sRUFBRSxBQUFBLElBQUssQ0FBQSxBQUFBLFVBQVUsR0FQVCxBQU81QixLQVBpQyxDQU9qQyxDQUFDLEFBQUEsSUFBSyxDQUFBLEFBQUEsV0FBVyxHQVBXLEFBT1IsS0FQYSxDQU9iLEVBQUUsQUFBQSxJQUFLLENBQUEsQUFBQSxVQUFVLEVBQUM7SUFDbEMsY0FBYyxFQUFDLElBQUksQ0FBQSxVQUFVO0lBQzdCLGFBQWEsRUFBQyxHQUFHLENBQUEsVUFBVSxHQUM5QjtFQUVMLEFBQWlCLGdCQUFELENBQUMsSUFBSSxBQUFBLE9BQU8sQ0FBQztJQUMzQixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxHQUFHO0lBQ1YsSUFBSSxFQUFFLEVBQUU7SUFDUixHQUFHLEVBQUUsR0FBRztJQUNSLE1BQU0sRUFBRSxHQUFHO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsT0FBTyxHQUNwQjtFQUNELEFBQUEsRUFBRSxDQUFDO0lBQ0MsU0FBUyxFQUFDLElBQUksQ0FBQSxVQUFVO0lBQ3hCLFdBQVcsRUFBQyxLQUFLLENBQUEsVUFBVSxHQUM5QjtFQUNELEFBQUEsT0FBTyxDQUFDO0lBQ0osVUFBVSxFQUFDLEdBQUc7SUFDZCxXQUFXLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDN0I7RUFDRCxBQUFBLE9BQU8sQ0FBQztJQUNKLE1BQU0sRUFBQyxJQUFJLEdBQ2Q7RUFDRCxBQUFBLGlCQUFpQixDQUFDO0lBQ2QsZ0JBQWdCLEVDbm5DYixPQUFPO0lEb25DVixjQUFjLEVBQUMsSUFBSTtJQUNuQixVQUFVLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWUsR0FDekM7RUFDRCxBQUFBLGFBQWEsQ0FBQztJQUNWLFdBQVcsRUFBQyxHQUFHLENBQUEsVUFBVSxHQUk1QjtJQUxELEFBRUksYUFGUyxDQUVULEdBQUcsQ0FBQztNQUNBLFdBQVcsRUFBQyxHQUFHLENBQUEsVUFBVSxHQUM1QjtFQUVMLEFBQUEsV0FBVyxDQUFDO0lBQ1IsT0FBTyxFQUFDLEtBQUssR0FDaEI7RUFDRCxBQUFBLGdCQUFnQixBQUFBLFVBQVUsQ0FBQztJQUN2QixVQUFVLEVBQUMsT0FBTyxHQVlyQjtJQWJELEFBRUksZ0JBRlksQUFBQSxVQUFVLENBRXRCLGdCQUFnQixDQUFDO01BQ2IsVUFBVSxFQUFDLE9BQU87TUFDbEIsS0FBSyxFQUFDLElBQUk7TUFDVixPQUFPLEVBQUMsQ0FBQyxHQU9aO01BWkwsQUFNUSxnQkFOUSxBQUFBLFVBQVUsQ0FFdEIsZ0JBQWdCLENBSVosVUFBVSxDQUFDO1FBQ1AsSUFBSSxFQUFDLENBQUMsR0FJVDtRQVhULEFBUVksZ0JBUkksQUFBQSxVQUFVLENBRXRCLGdCQUFnQixDQUlaLFVBQVUsQ0FFTixFQUFFLENBQUM7VUFDQyxTQUFTLEVBQUUsdUJBQW9CLEdBQ2xDO0VBS2IsQUFFSSxnQkFGWSxDQUNkLFFBQVEsQUFBQSxZQUFZLENBQ2xCLFlBQVksQ0FBQztJQUNULFVBQVUsRUFBQyxLQUFLLENBQUEsVUFBVTtJQUMxQixVQUFVLEVBQUMsZ0JBQWdCLEdBQzlCO0VBSUwsQUFBQSxlQUFlLENBQUM7SUFDWixxQkFBcUIsRUFBQyxNQUFNLENBQUEsVUFBVTtJQUN0QyxPQUFPLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFBLFVBQVUsR0FnQnRDO0lBbEJELEFBSVEsZUFKTyxDQUdYLElBQUksQUFBQSxRQUFRLENBQ1IsU0FBUyxDQUFDO01BQ04sS0FBSyxFQUFDLE9BQU8sQ0FBQSxVQUFVLEdBUTFCO01BYlQsQUFNWSxlQU5HLENBR1gsSUFBSSxBQUFBLFFBQVEsQ0FDUixTQUFTLENBRUwsS0FBSyxDQUFDO1FBQ0YsS0FBSyxFQUFDLEtBQUssQ0FBQSxVQUFVO1FBQ3JCLE1BQU0sRUFBQyxLQUFLLENBQUEsVUFBVSxHQUN6QjtNQVRiLEFBVVksZUFWRyxDQUdYLElBQUksQUFBQSxRQUFRLENBQ1IsU0FBUyxDQU1MLE1BQU0sQ0FBQztRQUNILFNBQVMsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUMzQjtJQVpiLEFBY1EsZUFkTyxDQUdYLElBQUksQUFBQSxRQUFRLENBV1IsU0FBUyxBQUFBLElBQUssQ0FBQSxBQUFBLFlBQVksRUFBQztNQUN2QixVQUFVLEVBQUMsSUFBSSxHQUNsQjtFQUdULEFBQUEsb0JBQW9CLENBQUM7SUFDakIscUJBQXFCLEVBQUMsTUFBTSxDQUFBLFVBQVU7SUFDdEMsTUFBTSxFQUFDLEtBQUssQ0FBQSxVQUFVLEdBQ3pCO0VBQ0QsQUFBQSxZQUFZLENBQUM7SUFDVCxPQUFPLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBLFVBQVUsR0FZckM7SUFiRCxBQUdRLFlBSEksQ0FFUixTQUFTLENBQ0wsQ0FBQyxDQUFDO01BQ0UsV0FBVyxFQUFDLEdBQUcsR0FDbEI7SUFMVCxBQU1RLFlBTkksQ0FFUixTQUFTLENBSUwsQ0FBQyxBQUFBLFdBQVcsQ0FBQztNQUNULGNBQWMsRUFBQyxJQUFJLEdBQ3RCO0lBUlQsQUFVSSxZQVZRLENBVVIsVUFBVSxDQUFDO01BQ1AsTUFBTSxFQUFDLFFBQVEsR0FDbEI7RUFFTCxBQUNJLHFCQURpQixDQUNqQixJQUFJLENBQUM7SUFDRCxtQkFBbUIsRUFBQyxPQUFPLEdBdUI5QjtJQXpCTCxBQUdRLHFCQUhhLENBQ2pCLElBQUksQ0FFQSxFQUFFLENBQUM7TUFDQyxXQUFXLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDN0I7SUFMVCxBQU1RLHFCQU5hLENBQ2pCLElBQUksQ0FLQSxFQUFFLEFBQUEsUUFBUSxDQUFDO01BQ1AsV0FBVyxFQUFDLEdBQUcsQ0FBQSxVQUFVLEdBQzVCO0lBUlQsQUFTUSxxQkFUYSxDQUNqQixJQUFJLENBUUEsVUFBVSxDQUFDO01BQ1AsT0FBTyxFQUFDLGFBQWEsR0FLeEI7TUFmVCxBQVdZLHFCQVhTLENBQ2pCLElBQUksQ0FRQSxVQUFVLENBRU4sQ0FBQyxDQUFDO1FBQ0UsT0FBTyxFQUFDLElBQUk7UUFDWixhQUFhLEVBQUMsR0FBRyxDQUFBLFVBQVUsR0FDOUI7SUFkYixBQW9CZ0IscUJBcEJLLENBQ2pCLElBQUksQ0FlQSxhQUFhLENBQ1QsU0FBUyxDQUdMLFFBQVEsQUFBQSxNQUFNLEFBQUEsUUFBUSxDQUFDO01BQ25CLFNBQVMsRUFBQyxRQUFRLENBQUEsVUFBVSxHQUMvQjtFQU1qQixBQUNJLFlBRFEsQ0FDUixTQUFTLENBQUM7SUFDTixPQUFPLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFBLFVBQVUsR0FDckM7RUFHTCxBQUFBLE1BQU0sQ0FBQztJQUNILFVBQVUsRUFBQyxNQUFNLEdBMEJwQjtJQTNCRCxBQUVJLE1BRkUsQ0FFRixTQUFTLENBQUM7TUFDTixLQUFLLEVBQUMsSUFBSSxHQUNiO0lBSkwsQUFLSSxNQUxFLENBS0YsU0FBUyxBQUFBLElBQUssQ0FBQSxBQUFBLFlBQVksRUFBQztNQUN2QixVQUFVLEVBQUMsSUFBSSxHQUNsQjtJQVBMLEFBUUksTUFSRSxDQVFGLEtBQUssQ0FBQztNQUNGLE9BQU8sRUFBQyxJQUFJLEdBQ2Y7SUFWTCxBQVdJLE1BWEUsQ0FXRixFQUFFLENBQUM7TUFDQyxPQUFPLEVBQUMsS0FBSztNQUNiLFVBQVUsRUFBQyxNQUFNO01BQ2pCLFlBQVksRUFBQyxHQUFHLEdBSW5CO01BbEJMLEFBZVEsTUFmRixDQVdGLEVBQUUsQ0FJRSxFQUFFLENBQUM7UUFDQyxLQUFLLEVBQUMsSUFBSSxHQUNiO0lBakJULEFBb0JRLE1BcEJGLENBbUJGLFFBQVEsQ0FDSixFQUFFLENBQUM7TUFDQyxPQUFPLEVBQUMsWUFBWSxHQUl2QjtNQXpCVCxBQXNCWSxNQXRCTixDQW1CRixRQUFRLENBQ0osRUFBRSxDQUVFLEVBQUUsQ0FBQztRQUNDLFVBQVUsRUFBQyxNQUFNLEdBQ3BCO0VBTWIsQUFBQSxnQkFBZ0IsQ0FBQztJQUNiLFVBQVUsRUFBQyxNQUFNO0lBQ2pCLGNBQWMsRUFBQyxHQUFHLENBQUEsVUFBVTtJQUM1QixXQUFXLEVBQUMsR0FBRyxDQUFBLFVBQVUsR0EwQjVCO0lBN0JELEFBSUksZ0JBSlksQ0FJWixJQUFJLENBQUM7TUFDRCxPQUFPLEVBQUMsUUFBUSxHQUNuQjtJQU5MLEFBT0ksZ0JBUFksQ0FPWixPQUFPLENBQUM7TUFNSixjQUFjLEVBQUMsSUFBSSxHQUN0QjtNQWRMLEFBUVEsZ0JBUlEsQ0FPWixPQUFPLENBQ0gsR0FBRyxDQUFDO1FBQ0EsS0FBSyxFQUFDLEdBQUc7UUFDVCxNQUFNLEVBQUMsSUFBSTtRQUNYLE9BQU8sRUFBQyxNQUFNLEdBQ2pCO0lBWlQsQUFlSSxnQkFmWSxDQWVaLFNBQVMsQ0FBQztNQUNOLE9BQU8sRUFBQyxRQUFRLEdBWW5CO01BNUJMLEFBaUJRLGdCQWpCUSxDQWVaLFNBQVMsQ0FFTCxFQUFFLENBQUM7UUFDQyxjQUFjLEVBQUMsSUFBSSxHQUN0QjtNQW5CVCxBQW9CUSxnQkFwQlEsQ0FlWixTQUFTLENBS0wsU0FBUyxDQUFDO1FBQ04sVUFBVSxFQUFDLE1BQU07UUFDakIsV0FBVyxFQUFDLElBQUksR0FLbkI7UUEzQlQsQUF1QlksZ0JBdkJJLENBZVosU0FBUyxDQUtMLFNBQVMsQ0FHTCxFQUFFLENBQUM7VUFDQyxLQUFLLEVBQUMsSUFBSSxDQUFBLFVBQVU7VUFDcEIsT0FBTyxFQUFDLFlBQVksR0FDdkI7RUFJYixBQUFBLGdCQUFnQixBQUFBLFFBQVEsQ0FBQztJQUNyQixXQUFXLEVBQUMsR0FBRyxDQUFBLFVBQVUsR0FtQjVCO0lBcEJELEFBRUksZ0JBRlksQUFBQSxRQUFRLENBRXBCLGdCQUFnQixDQUFDO01BQ2IsV0FBVyxFQUFDLElBQUksQ0FBQSxVQUFVO01BQzFCLFlBQVksRUFBQyxJQUFJLENBQUEsVUFBVSxHQUM5QjtJQUxMLEFBTUksZ0JBTlksQUFBQSxRQUFRLENBTXBCLGdCQUFnQixDQUFDO01BQ2IsVUFBVSxFQUFDLE1BQU0sR0FJcEI7TUFYTCxBQVFRLGdCQVJRLEFBQUEsUUFBUSxDQU1wQixnQkFBZ0IsQ0FFWixDQUFDLEFBQUEsWUFBWSxDQUFDO1FBQ1YsV0FBVyxFQUFDLElBQUksR0FDbkI7SUFWVCxBQVlJLGdCQVpZLEFBQUEsUUFBUSxDQVlwQixVQUFVLENBQUM7TUFDUCxVQUFVLEVBQUMsSUFBSSxDQUFBLFVBQVU7TUFDekIsS0FBSyxFQUFDLElBQUk7TUFDVixVQUFVLEVBQUUsZUFBZSxHQUM5QjtJQWhCTCxBQWlCSSxnQkFqQlksQUFBQSxRQUFRLENBaUJwQixTQUFTLENBQUM7TUFDTixXQUFXLEVBQUMsR0FBRyxHQUNsQjtFQUVMLEFBQUEsZ0JBQWdCLEFBQUEsTUFBTSxDQUFDO0lBQ25CLFdBQVcsRUFBQyxHQUFHLENBQUEsVUFBVSxHQXNCNUI7SUF2QkQsQUFFSSxnQkFGWSxBQUFBLE1BQU0sQ0FFbEIsU0FBUyxBQUFBLFdBQVcsQ0FBQztNQUNqQixZQUFZLEVBQUMsSUFBSSxHQUtwQjtNQVJMLEFBSVEsZ0JBSlEsQUFBQSxNQUFNLENBRWxCLFNBQVMsQUFBQSxXQUFXLENBRWhCLEVBQUUsQ0FBQztRQUNDLFNBQVMsRUFBQyxJQUFJLENBQUEsVUFBVTtRQUN4QixhQUFhLEVBQUUsZUFBZSxHQUNqQztJQVBULEFBU0ksZ0JBVFksQUFBQSxNQUFNLENBU2xCLFdBQVcsQ0FBQztNQUNSLEtBQUssRUFBQyxJQUFJLENBQUEsVUFBVTtNQUNwQixVQUFVLEVBQUMsSUFBSTtNQUNmLEtBQUssRUFBQyxLQUFLO01BQ1gsV0FBVyxFQUFDLElBQUk7TUFDaEIsWUFBWSxFQUFDLElBQUksR0FDcEI7SUFmTCxBQWdCSSxnQkFoQlksQUFBQSxNQUFNLENBZ0JsQixVQUFVLENBQUM7TUFDVCxTQUFTLEVBQUUsZ0JBQWdCO01BQzNCLE1BQU0sRUFBRSxlQUFlO01BQ3ZCLFVBQVUsRUFBRSxlQUFlO01BQzNCLFVBQVUsRUFBRSxlQUFlO01BQzNCLFdBQVcsRUFBRSxjQUFjLEdBQzVCO0VBRUwsQUFBQSxTQUFTLEFBQUEsU0FBUyxDQUFDO0lBQ2YsV0FBVyxFQUFDLEdBQUcsQ0FBQSxVQUFVLEdBZ0Q1QjtJQWpERCxBQUVJLFNBRkssQUFBQSxTQUFTLENBRWQsU0FBUyxDQUFDO01BQ04sT0FBTyxFQUFDLEtBQUs7TUFDYixPQUFPLEVBQUMsQ0FBQyxHQUNaO0lBTEwsQUFNSSxTQU5LLEFBQUEsU0FBUyxDQU1kLFlBQVksQ0FBQztNQUNULFFBQVEsRUFBQyxRQUFRO01BQ2pCLEdBQUcsRUFBQyxJQUFJO01BQ1IsT0FBTyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQSxVQUFVO01BQ25DLEtBQUssRUFBQyxJQUFJO01BQ1YsSUFBSSxFQUFDLEtBQUs7TUFDVixnQkFBZ0IsRUN6MUNsQixPQUFPO01EMDFDTCxPQUFPLEVBQUMsQ0FBQztNQUNULFVBQVUsRUFBQyxTQUFTLEdBV3ZCO01BekJMLEFBZVEsU0FmQyxBQUFBLFNBQVMsQ0FNZCxZQUFZLENBU1IsRUFBRSxDQUFDO1FBQ0MsS0FBSyxFQUFDLElBQUk7UUFDVixZQUFZLEVBQUMsSUFBSTtRQUNqQixPQUFPLEVBQUMsR0FBRyxHQU1kO1FBeEJULEFBbUJZLFNBbkJILEFBQUEsU0FBUyxDQU1kLFlBQVksQ0FTUixFQUFFLENBSUUsQ0FBQyxDQUFDO1VBQ0UsT0FBTyxFQUFDLEtBQUs7VUFDYixTQUFTLEVBQUMsSUFBSSxDQUFBLFVBQVU7VUFDeEIsS0FBSyxFQ2oyQ2xCLElBQUksQ0RpMkMyQixVQUFVLEdBQy9CO0lBdkJiLEFBMEJJLFNBMUJLLEFBQUEsU0FBUyxDQTBCZCxZQUFZLEFBQUEsTUFBTSxDQUFDO01BQ2YsZ0JBQWdCLEVDeDJDbEIsT0FBTztNRHkyQ0wsSUFBSSxFQUFDLEVBQUU7TUFDUCxVQUFVLEVBQUMsU0FBUyxHQW1CdkI7TUFoREwsQUErQlksU0EvQkgsQUFBQSxTQUFTLENBMEJkLFlBQVksQUFBQSxNQUFNLENBSWQsRUFBRSxDQUNFLENBQUMsQ0FBQztRQUNFLFlBQVksRUFBQyxJQUFJLEdBQ3BCO01BakNiLEFBeUNZLFNBekNILEFBQUEsU0FBUyxDQTBCZCxZQUFZLEFBQUEsTUFBTSxDQWVWLEVBQUUsQUFBQSxZQUFhLENBQUEsQUFBQSxDQUFDLEVBQU07UUFDbEIsR0FBRyxFQUFDLElBQVMsR0FDaEI7TUEzQ2IsQUF5Q1ksU0F6Q0gsQUFBQSxTQUFTLENBMEJkLFlBQVksQUFBQSxNQUFNLENBZVYsRUFBRSxBQUFBLFlBQWEsQ0FBQSxBQUFBLENBQUMsRUFBTTtRQUNsQixHQUFHLEVBQUMsSUFBUyxHQUNoQjtNQTNDYixBQXlDWSxTQXpDSCxBQUFBLFNBQVMsQ0EwQmQsWUFBWSxBQUFBLE1BQU0sQ0FlVixFQUFFLEFBQUEsWUFBYSxDQUFBLEFBQUEsQ0FBQyxFQUFNO1FBQ2xCLEdBQUcsRUFBQyxLQUFTLEdBQ2hCO01BM0NiLEFBeUNZLFNBekNILEFBQUEsU0FBUyxDQTBCZCxZQUFZLEFBQUEsTUFBTSxDQWVWLEVBQUUsQUFBQSxZQUFhLENBQUEsQUFBQSxDQUFDLEVBQU07UUFDbEIsR0FBRyxFQUFDLEtBQVMsR0FDaEI7TUEzQ2IsQUF5Q1ksU0F6Q0gsQUFBQSxTQUFTLENBMEJkLFlBQVksQUFBQSxNQUFNLENBZVYsRUFBRSxBQUFBLFlBQWEsQ0FBQSxBQUFBLENBQUMsRUFBTTtRQUNsQixHQUFHLEVBQUMsS0FBUyxHQUNoQjtNQTNDYixBQXlDWSxTQXpDSCxBQUFBLFNBQVMsQ0EwQmQsWUFBWSxBQUFBLE1BQU0sQ0FlVixFQUFFLEFBQUEsWUFBYSxDQUFBLEFBQUEsQ0FBQyxFQUFNO1FBQ2xCLEdBQUcsRUFBQyxLQUFTLEdBQ2hCO0VBUWIsQUFBQSxTQUFTLEFBQUEsU0FBUyxBQUFBLFVBQVUsQ0FBQztJQUN6QixRQUFRLEVBQUMsS0FBSztJQUNkLEdBQUcsRUFBQyxJQUFJO0lBQ1IsS0FBSyxFQUFDLElBQUk7SUFDVixPQUFPLEVBQUMsQ0FBQyxHQUNaO0VBQ0QsQUFFUSxVQUZFLEFBQUEsSUFBSyxDQUFBLEFBQUEsWUFBWSxFQUN2QixVQUFVLENBQ04sRUFBRSxDQUFDO0lBQ0MsV0FBVyxFQUFDLElBQUksR0FDbkI7RUFHVCxBQUFBLElBQUksQ0FBQztJQUNILE1BQU0sRUFBRSxnQkFBZ0IsR0FDekI7RUFDRCxBQUFpQixnQkFBRCxDQUFDLFFBQVEsQ0FBQztJQUN0QixXQUFXLEVBQUMsT0FBTyxDQUFBLFVBQVU7SUFDN0IsS0FBSyxFQUFDLElBQUk7SUFDVixPQUFPLEVBQUMsUUFBUSxHQUtuQjtJQVJELEFBSUksZ0JBSlksQ0FBQyxRQUFRLENBSXJCLFlBQVksQ0FBQztNQUNULEtBQUssRUFBQyxJQUFJO01BQ1YsV0FBVyxFQUFDLE9BQU8sQ0FBQSxVQUFVLEdBQ2hDO0VBRUwsQUFBQSxnQkFBZ0IsQUFBQSxtQkFBbUIsQ0FBQztJQUNoQyxXQUFXLEVBQUMsR0FBRyxDQUFBLFVBQVUsR0FZNUI7SUFiRCxBQUVJLGdCQUZZLEFBQUEsbUJBQW1CLENBRS9CLFlBQVksQ0FBQztNQUNULFlBQVksRUFBQyxHQUFHO01BQ2hCLGFBQWEsRUFBQyxHQUFHLEdBUXBCO01BWkwsQUFLUSxnQkFMUSxBQUFBLG1CQUFtQixDQUUvQixZQUFZLENBR1IsU0FBUyxDQUFDO1FBQ04sY0FBYyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQ2hDO01BUFQsQUFRUSxnQkFSUSxBQUFBLG1CQUFtQixDQUUvQixZQUFZLENBTVIsQ0FBQyxDQUFDO1FBQ0UsWUFBWSxFQUFDLElBQUk7UUFDakIsYUFBYSxFQUFDLElBQUksR0FDckI7O0FBT2IsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQUMvQixBQUFBLEVBQUUsQ0FBQztJQUNDLFNBQVMsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUMzQjtFQUNELEFBQWlCLGdCQUFELENBQUMsQ0FBQyxBQUFBLElBQUssQ0FBQSxBQUFBLFdBQVcsRUFBQztJQUMvQixjQUFjLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDaEM7RUFDSixBQUFBLHFCQUFxQixDQUFDO0lBQ2YsT0FBTyxFQUFDLEdBQUcsQ0FBQSxVQUFVLEdBa0J4QjtJQW5CSixBQUdXLHFCQUhVLENBRWQsSUFBSSxDQUNBLEVBQUUsQ0FBQztNQUNDLFdBQVcsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUM3QjtJQUxaLEFBTVcscUJBTlUsQ0FFZCxJQUFJLENBSUEsRUFBRSxBQUFBLFFBQVEsQ0FBQztNQUNQLFdBQVcsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUM3QjtJQVJaLEFBU1cscUJBVFUsQ0FFZCxJQUFJLENBT0EsVUFBVSxDQUFDO01BQ1AsT0FBTyxFQUFDLEdBQUcsR0FJZDtNQWRaLEFBV2UscUJBWE0sQ0FFZCxJQUFJLENBT0EsVUFBVSxDQUVOLENBQUMsQ0FBQztRQUNFLE9BQU8sRUFBQyxnQkFBZ0IsR0FDM0I7SUFiaEIsQUFnQk8scUJBaEJjLENBZ0JkLGNBQWMsQ0FBQztNQUNYLGNBQWMsRUFBQyxJQUFJLEdBQ3RCO0VBRUwsQUFBaUIsZ0JBQUQsQ0FBQyxJQUFJLENBQUM7SUFDbEIsT0FBTyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUEsVUFBVSxHQUM3QjtFQUNELEFBRVEsVUFGRSxBQUFBLElBQUssQ0FBQSxBQUFBLFlBQVksRUFDdkIsVUFBVSxDQUNOLEVBQUUsQ0FBQztJQUNDLFVBQVUsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUM1QjtFQUdULEFBQUEsVUFBVSxBQUFBLFdBQVcsQ0FBQztJQUNsQixjQUFjLEVBQUMsSUFBSSxHQUN0QjtFQUNELEFBQ0ksWUFEUSxDQUNSLFNBQVMsQ0FBQztJQUNOLE9BQU8sRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUEsVUFBVSxHQUNyQztFQUVMLEFBQUEsY0FBYyxBQUFBLFVBQVUsQ0FBQztJQUNyQixLQUFLLEVBQUMsSUFBSSxDQUFBLFVBQVU7SUFDcEIsTUFBTSxFQUFDLEdBQUcsQ0FBQSxVQUFVO0lBQ3BCLGFBQWEsRUFBQyxHQUFHLENBQUEsVUFBVTtJQUMzQixZQUFZLEVBQUMsR0FBRztJQUNoQixhQUFhLEVBQUMsR0FBRztJQUNqQixXQUFXLEVBQUMsSUFBSTtJQUNoQixLQUFLLEVBQUMsSUFBSTtJQUNWLE1BQU0sRUFBRSxJQUFJLEdBT2Y7SUFmRCxBQVNJLGNBVFUsQUFBQSxVQUFVLENBU3BCLGdCQUFnQixDQUFDO01BQ2IsT0FBTyxFQUFDLEdBQUc7TUFDWCxVQUFVLEVBQUUsY0FBYztNQUMxQixhQUFhLEVBQUUsY0FBYztNQUM3QixhQUFhLEVBQUMsR0FBRyxDQUFBLFVBQVUsR0FDOUI7RUFFTCxBQUFBLGdCQUFnQixBQUFBLFFBQVEsQ0FBQztJQUNyQixjQUFjLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FNaEM7SUFQRCxBQUdRLGdCQUhRLEFBQUEsUUFBUSxDQUVwQixnQkFBZ0IsQ0FDWixDQUFDLEFBQUEsWUFBWSxDQUFDO01BQ1YsV0FBVyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBQzdCO0VBR1QsQUFBQSxZQUFZLENBQUM7SUFDVCxPQUFPLEVBQUMsUUFBUSxHQUluQjtJQUxELEFBRUksWUFGUSxDQUVSLEVBQUUsQ0FBQztNQUNDLFdBQVcsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUM3QjtFQUVMLEFBQUEsZ0JBQWdCLEFBQUEsTUFBTSxDQUFDO0lBQ25CLE9BQU8sRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUEsVUFBVSxHQU9yQztJQVJELEFBRUksZ0JBRlksQUFBQSxNQUFNLENBRWxCLFdBQVcsQ0FBQztNQUNSLFVBQVUsRUFBQyxNQUFNO01BQ2pCLFVBQVUsRUFBQyxJQUFJO01BQ2YsWUFBWSxFQUFDLElBQUksQ0FBQSxVQUFVO01BQzNCLGFBQWEsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUMvQjs7QUFJVCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VBQy9CLEFBRVEsZ0JBRlEsQ0FDWixZQUFZLENBQ1IsU0FBUyxFQUZqQixBQUVtQixnQkFGSCxDQUNaLFlBQVksQ0FDRyxTQUFTLENBQUM7SUFDakIsS0FBSyxFQUFDLElBQUk7SUFDVixLQUFLLEVBQUMsSUFBSTtJQUNWLE9BQU8sRUFBQyw0QkFBNEIsR0FDdkM7RUFOVCxBQU9RLGdCQVBRLENBQ1osWUFBWSxDQU1SLFNBQVMsQ0FBQztJQUNOLGNBQWMsRUFBQyxJQUFJLENBQUEsVUFBVSxHQUNoQztFQUdULEFBQ0ksZ0JBRFksQ0FDWixPQUFPLENBQUM7SUFDSixjQUFjLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDaEM7O0FBSVQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQUMvQixBQUFNLEtBQUQsQ0FBQyxFQUFFLEVBQUUsQUFBQSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUMsSUFBSSxDQUFBLFVBQVUsR0FDM0IifQ== */
