/*######################################################################*/
/* base */
/*######################################################################*/
/* import */
@import url(../node_modules/bootstrap/dist/css/bootstrap.min.css);
@import url(../frameworks/bootswatch/bootswatch_paper.css);
@import url("https://use.typekit.net/iaw7wgg.css");
@import url("https://fonts.googleapis.com/css?family=Playfair+Display:400,700");
@import url(../frameworks/fontawesome/css/font-awesome.min.css);
@import url(../frameworks/slickslider/slick.css);
@import url(../frameworks/slickslider/slick-theme.css);
@import url(../frameworks/animate.css/animate.css);
/* variables */
/* extends */
h4, p, body, .footer_all .container .site-footer-copyright .terms a, .home_page .contact_all, .home_page .contact_all .text h5, .diy_page .order_all, .diy_page .order_all .text h5 {
  font-family: "europa", sans-serif;
  font-weight: 400; }

.footer_all .container .site-footer-copyright .terms .small, .home_page .ourgardens_all .content h5, .home_page .contact_all .text p, .diy_page .diykits_all .content h5, .diy_page .order_all .text p {
  font-family: "europa", sans-serif;
  font-weight: 300; }

h3, .bold, .btn, .btn:hover,
.btn.btn-primary, .btn.btn-primary:hover, .font__styles, .menu, .nav__container ul, .nav__container ul li a, .footer_all .container .nav li a, .footer_all .container .nav li a:hover, .footer_all .container .nav li a:focus, .footer_all .container .site-footer-copyright .address h5, .footer_all .container .site-footer-copyright .terms .copyright, .home_page #why-mvg .container .content .emphasis, .home_page .instagram_all #sb_instagram .sbi_follow_btn a, .home_page .subscribe_all .container .content #mailchimp input {
  font-family: "europa", sans-serif;
  font-weight: 700; }

h1, h2, .landing_page .landing_all .container .content .input-field blockquote p {
  font-family: 'Playfair Display', serif;
  font-weight: 400; }

.home_page .ourgardens_all .content h2, .home_page .ourgardens_all .content h3, .home_page .instagram_all h2, .diy_page .diykits_all .content h2, .diy_page .diykits_all .content h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 700; }

/* particials */
/*######################################################################*/
/* global presets */
/*######################################################################*/
h1, h2, h3, h4, h5, h6, h7 {
  margin: 0px;
  padding: 0px;
  color: white; }

h1 {
  font-size: 60px;
  margin-bottom: 40px; }

h2 {
  font-size: 45px;
  line-height: 40px;
  margin-bottom: 40px; }

h3 {
  font-size: 22px;
  line-height: 28px;
  color: white;
  margin-bottom: 5px; }

p {
  font-size: 17px;
  line-height: 27px;
  color: white; }

/* structure */
html {
  height: 100%;
  overflow-x: hidden; }

body {
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  body .section {
    background-color: white;
    width: 100%;
    min-height: 800px; }
    @media (max-width: 768px) {
      body .section {
        min-height: 10px; } }
    @media (min-width: 1930px) {
      body .section .container {
        min-height: 1200px; } }
  body.body-hidden {
    overflow: hidden; }

.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

.col-xs-5ths {
  width: 20%;
  float: left; }

@media (min-width: 768px) {
  .col-sm-5ths {
    width: 20%;
    float: left; } }

@media (min-width: 992px) {
  .col-md-5ths {
    width: 20%;
    float: left; } }

@media (min-width: 1200px) {
  .col-lg-5ths {
    width: 20%;
    float: left; } }

a, a:hover {
  color: #7F9918; }

.btn, .btn:hover,
.btn.btn-primary, .btn.btn-primary:hover {
  background-color: #7F9918;
  font-size: 14px;
  padding: 10px 30px;
  text-transform: uppercase;
  color: white;
  letter-spacing: 1.5px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  margin-top: 20px; }
  .btn.btn-md, .btn:hover.btn-md,
  .btn.btn-primary.btn-md, .btn.btn-primary:hover.btn-md {
    padding: 15px 35px;
    font-size: 24px;
    border-width: 4px; }
  .btn.btn-lg, .btn:hover.btn-lg,
  .btn.btn-primary.btn-lg, .btn.btn-primary:hover.btn-lg {
    padding: 30px 60px;
    font-size: 28px;
    border-width: 5px; }
  .btn.btn:hover, .btn:hover.btn:hover,
  .btn.btn-primary.btn:hover, .btn.btn-primary:hover.btn:hover {
    background-color: #5a6d11; }
  @media (max-width: 768px) {
    .btn, .btn:hover,
    .btn.btn-primary, .btn.btn-primary:hover {
      padding: 10px 20px; } }

.btn.btn-primary:active {
  background-color: #5a6d11;
  background-image: -webkit-radial-gradient(circle, #36410a 10%, #5a6d11 11%);
  background-image: -o-radial-gradient(circle, #36410a 10%, #5a6d11 11%);
  background-image: radial-gradient(circle, #36410a 10%, #5a6d11 11%); }

.no-gutter > [class*='col-'] {
  padding-right: 0;
  padding-left: 0; }

.w100 {
  width: 100%; }

.arrow-down {
  display: block;
  position: absolute;
  bottom: 80px;
  left: 0;
  right: 0;
  z-index: 98;
  text-align: center;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .arrow-down {
      bottom: 20px; } }

::-moz-selection {
  /* Code for Firefox */
  background: #7F9918; }

::selection {
  background: #7F9918; }

/* Maximum width of 600 pixels. */
@media screen and (max-width: 767px) {
  .full_width,
  .one_half,
  .one_third,
  .two_third,
  .one_fourth,
  .three_fourth,
  .one_fifth,
  .two_fifth,
  .three_fifth,
  .four_fifth,
  .one_sixth,
  .five_sixth {
    clear: both;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1em; }
    .full_width div,
    .one_half div,
    .one_third div,
    .two_third div,
    .one_fourth div,
    .three_fourth div,
    .one_fifth div,
    .two_fifth div,
    .three_fifth div,
    .four_fifth div,
    .one_sixth div,
    .five_sixth div {
      padding: 0px !important; } }

textarea:focus, textarea.form-control:focus, input.form-control:focus, input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=number]:focus, [type=text].form-control:focus, [type=password].form-control:focus, [type=email].form-control:focus, [type=tel].form-control:focus, [contenteditable].form-control:focus {
  -webkit-box-shadow: inset 0 -2px 0 #7F9918;
  box-shadow: inset 0 -2px 0 #7F9918; }

@media (max-width: 992px) {
  .navbar-header {
    float: none; }
  .navbar-left, .navbar-right {
    float: none !important; }
  .navbar-toggle {
    display: block; }
  .navbar-collapse {
    border-top: 1px solid transparent;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); }
  .navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px; }
  .navbar-collapse.collapse {
    display: none !important; }
  .navbar-nav {
    float: none !important;
    margin-top: 7.5px; }
  .navbar-nav > li {
    float: none; }
  .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px; }
  .collapse.in {
    display: block !important; } }

/*######################################################################*/
/* structure */
/*######################################################################*/
/* CUSTOM HEADER */
.sticky {
  position: fixed;
  top: 0;
  width: 100%; }

.sticky + .content {
  padding-top: 60px; }

.home_page {
  padding: 0px !important; }

.font__styles, .menu, .nav__container ul {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  color: white; }
  @media (max-width: 768px) {
    .font__styles, .menu, .nav__container ul {
      font-size: 8px; } }

body {
  width: 100%; }

main {
  width: 100vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background-color: black;
  min-height: 2000px; }

nav {
  width: 100vw;
  position: fixed;
  height: 100vh; }
  nav.nav-z {
    z-index: 95; }

.menu {
  background: black;
  border: 1px solid white;
  outline: black solid 5px;
  color: white;
  position: fixed;
  padding: 15px 20px;
  top: 101px;
  right: 10%;
  cursor: pointer;
  z-index: 100; }
  @media (max-width: 1200px) {
    .menu {
      right: 5%;
      padding: 10px 15px; } }
  @media (max-width: 992px) {
    .menu {
      right: 2%;
      top: 40px;
      padding: 5px 10px; } }
  @media (max-width: 768px) {
    .menu {
      right: 3%;
      top: 20px;
      padding: 3px 6px;
      outline: white solid .2px; } }

.block__reveal {
  background: black;
  height: 100vh;
  position: absolute; }

#block__01 {
  right: 0%; }

#block__02 {
  right: 25%; }

#block__03 {
  right: 50%; }

#block__04 {
  right: 75%; }

.nav__container {
  position: absolute;
  width: 50%;
  left: 25%;
  height: 100vh;
  text-align: center; }
  .nav__container.nav-index {
    z-index: 102; }

.nav__container ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 16px; }

.nav__container ul li {
  padding: 20px 0;
  cursor: pointer; }
  @media (max-width: 768px) {
    .nav__container ul li {
      padding: 10px 0; } }

.nav__container ul li a {
  font-size: 14px;
  color: #fff; }
  @media (max-width: 768px) {
    .nav__container ul li a {
      font-size: 11px; } }

.hide {
  display: none; }

.z-none {
  z-index: 0 !important; }

.back-to-top {
  margin-top: 50px; }
  @media (max-width: 768px) {
    .back-to-top h4 {
      font-size: 27px;
      text-align: center;
      margin: 10px 0px; } }

.footer_all {
  background-color: black;
  padding: 0 0 20px 0;
  color: white; }
  .footer_all .container {
    border-top: 1px solid white;
    padding-top: 20px; }
    .footer_all .container .nav li a {
      color: white;
      font-size: 14px;
      text-transform: capitalize;
      letter-spacing: 1px;
      padding: 7px 15px; }
      .footer_all .container .nav li a:hover, .footer_all .container .nav li a:focus {
        background-color: transparent; }
    .footer_all .container .social img {
      height: 30px;
      margin: 10px 10px; }
    .footer_all .container .site-footer-copyright {
      text-align: right;
      padding-top: 10px; }
      .footer_all .container .site-footer-copyright .address h5 {
        font-size: 17px;
        letter-spacing: .5px;
        margin-bottom: 2px; }
      .footer_all .container .site-footer-copyright .address p {
        font-size: 15px;
        line-height: 19px; }
      .footer_all .container .site-footer-copyright .terms a {
        color: white;
        font-size: 14px; }
      .footer_all .container .site-footer-copyright .terms .copyright {
        font-size: 14px;
        color: white;
        margin-top: 10px;
        margin-bottom: 0px; }
      .footer_all .container .site-footer-copyright .terms .small {
        font-size: 13px;
        margin-top: -3px; }
      .footer_all .container .site-footer-copyright .terms a {
        font-size: 13px; }
  @media (max-width: 992px) {
    .footer_all .address {
      margin-top: 0px;
      text-align: center; }
    .footer_all .terms {
      margin-top: 0px;
      text-align: center; }
    .footer_all .nav.pull-right {
      float: none !important; }
    .footer_all .nav li {
      float: none;
      text-align: center; } }
  @media (max-width: 768px) {
    .footer_all .pull-right {
      float: none !important;
      text-align: center; } }

/*######################################################################*/
/* pages */
/*######################################################################*/
/*#################################*/
/* homepage */
/*#################################*/
.home_page {
  min-height: 1000px; }
  .home_page .intro_all {
    position: relative;
    min-height: 900px;
    overflow: hidden;
    background-color: black;
    background-image: url(../images/site/plant-right.png);
    background-position: top right;
    background-repeat: no-repeat; }
    .home_page .intro_all .container {
      position: relative; }
      .home_page .intro_all .container .content {
        position: absolute;
        top: 100px;
        left: 100px;
        color: white;
        z-index: 10;
        text-align: left; }
        .home_page .intro_all .container .content h2 {
          font-size: 60px;
          margin-bottom: 40px;
          line-height: 65px; }
        .home_page .intro_all .container .content .logo {
          height: 100px;
          margin-top: 100px;
          margin-left: 85px; }
          .home_page .intro_all .container .content .logo img {
            width: 190px; }
        .home_page .intro_all .container .content .bordered {
          border-left: 3px white solid;
          min-height: 450px;
          margin-top: 100px; }
          .home_page .intro_all .container .content .bordered .btn {
            margin-top: 30px;
            z-index: 110; }
    @media (max-width: 992px) {
      .home_page .intro_all {
        min-height: 850px; }
        .home_page .intro_all .container .content {
          width: 100%;
          top: 0px;
          left: 0px; }
          .home_page .intro_all .container .content .logo {
            height: 100px;
            margin-left: 0px;
            margin-top: 30px; }
            .home_page .intro_all .container .content .logo img {
              width: 160px; }
          .home_page .intro_all .container .content .bordered {
            padding: 0px 50px 0 0px;
            margin-top: 80px; } }
    @media (max-width: 768px) {
      .home_page .intro_all {
        min-height: 650px; }
        .home_page .intro_all .container .content {
          width: 100%;
          top: 0px;
          left: 0px; }
          .home_page .intro_all .container .content .logo {
            height: 80px;
            margin-left: 23px;
            margin-top: 20px; }
            .home_page .intro_all .container .content .logo img {
              width: 120px; }
          .home_page .intro_all .container .content .bordered {
            padding: 0px 80px 0 10px;
            margin-top: 50px;
            border: none; }
          .home_page .intro_all .container .content h2 {
            font-size: 35px;
            line-height: 40px; }
          .home_page .intro_all .container .content h3 {
            font-size: 18px;
            line-height: 24px; } }
  .home_page #why-mvg {
    background-color: black;
    min-height: 900px;
    padding: 100px 0;
    position: relative; }
    .home_page #why-mvg h1 {
      text-align: center;
      margin-bottom: 15px; }
    .home_page #why-mvg h2 {
      font-size: 25px;
      text-align: center; }
    .home_page #why-mvg h3 {
      font-size: 17px; }
    .home_page #why-mvg .container {
      position: relative; }
      .home_page #why-mvg .container .content .emphasis {
        font-style: italic; }
      .home_page #why-mvg .container .content .numbered-points {
        padding: 50px 0px; }
        .home_page #why-mvg .container .content .numbered-points .padded {
          padding: 20px 0px; }
        .home_page #why-mvg .container .content .numbered-points .inset {
          margin-left: 15%; }
        .home_page #why-mvg .container .content .numbered-points #number-one {
          height: 100px;
          background-image: url(../images/site/no-1.svg);
          -webkit-background-size: contain;
          background-size: contain;
          background-repeat: no-repeat; }
        .home_page #why-mvg .container .content .numbered-points #number-two {
          height: 100px;
          background-image: url(../images/site/no-2.svg);
          -webkit-background-size: contain;
          background-size: contain;
          background-repeat: no-repeat; }
        .home_page #why-mvg .container .content .numbered-points #number-three {
          height: 100px;
          background-image: url(../images/site/no-3.svg);
          -webkit-background-size: contain;
          background-size: contain;
          background-repeat: no-repeat; }
    .home_page #why-mvg .gallery_all {
      background-color: #7F9918;
      height: 510px;
      max-width: 1070px;
      margin: 0 auto;
      margin-bottom: 60px;
      -webkit-box-shadow: 15px 15px white;
      box-shadow: 15px 15px white; }
      .home_page #why-mvg .gallery_all h2 {
        text-align: left;
        font-size: 32px;
        line-height: 40px; }
      .home_page #why-mvg .gallery_all p {
        font-size: 20px;
        line-height: 30px; }
      .home_page #why-mvg .gallery_all .strip {
        background-color: black;
        padding: 30px 50px 0px 80px;
        margin-left: -30px;
        margin-top: 40px;
        position: absolute;
        z-index: 30; }
      .home_page #why-mvg .gallery_all #gallery-copy {
        margin-top: 250px;
        padding-left: 50px;
        padding-right: 60px; }
      .home_page #why-mvg .gallery_all .gallery-slider {
        padding: 40px; }
        .home_page #why-mvg .gallery_all .gallery-slider .item {
          text-align: center;
          height: 430px; }
          .home_page #why-mvg .gallery_all .gallery-slider .item .image {
            -webkit-background-size: cover;
            background-size: cover;
            background-position: center center;
            height: 430px; }
        .home_page #why-mvg .gallery_all .gallery-slider .slick-prev {
          left: 50px;
          z-index: 10;
          background-image: url(../images/site/arrow-left.png); }
        .home_page #why-mvg .gallery_all .gallery-slider .slick-next {
          right: 50px;
          z-index: 10;
          background-image: url(../images/site/arrow-right.png); }
        .home_page #why-mvg .gallery_all .gallery-slider .slick-dots {
          bottom: 10px;
          text-align: right;
          right: 30px; }
      @media (max-width: 1200px) {
        .home_page #why-mvg .gallery_all #gallery-copy {
          margin-top: 280px; }
        .home_page #why-mvg .gallery_all h2 {
          font-size: 30px; } }
      @media (max-width: 992px) {
        .home_page #why-mvg .gallery_all {
          min-height: 820px;
          -webkit-box-shadow: 7px 7px white;
          box-shadow: 7px 7px white; }
          .home_page #why-mvg .gallery_all h2 {
            text-align: left;
            font-size: 32px;
            line-height: 40px; }
          .home_page #why-mvg .gallery_all p {
            font-size: 20px;
            line-height: 30px;
            margin-bottom: 2px; }
          .home_page #why-mvg .gallery_all .strip {
            background-color: black;
            padding: 30px 50px 0px 80px;
            margin-left: -30px;
            margin-top: 40px;
            position: absolute;
            z-index: 30; }
          .home_page #why-mvg .gallery_all #gallery-copy {
            margin-top: 50px;
            padding-left: 50px;
            padding-right: 60px;
            padding-top: 210px; }
          .home_page #why-mvg .gallery_all .gallery-slider {
            padding: 40px; }
            .home_page #why-mvg .gallery_all .gallery-slider .item {
              text-align: center;
              height: 430px; }
              .home_page #why-mvg .gallery_all .gallery-slider .item .image {
                -webkit-background-size: cover;
                background-size: cover;
                background-position: center center;
                height: 430px; }
            .home_page #why-mvg .gallery_all .gallery-slider .slick-prev {
              left: 50px;
              z-index: 10;
              background-image: url(../images/site/arrow-left.png); }
            .home_page #why-mvg .gallery_all .gallery-slider .slick-next {
              right: 50px;
              z-index: 10;
              background-image: url(../images/site/arrow-right.png); }
            .home_page #why-mvg .gallery_all .gallery-slider .slick-dots {
              bottom: 10px;
              text-align: right;
              right: 30px; } }
      @media (max-width: 768px) {
        .home_page #why-mvg .gallery_all {
          min-height: 750px;
          -webkit-box-shadow: 7px 7px white;
          box-shadow: 7px 7px white; }
          .home_page #why-mvg .gallery_all p {
            font-size: 18px;
            line-height: 25px; }
          .home_page #why-mvg .gallery_all .strip {
            padding: 20px 20px 0px 20px;
            margin-left: -20px;
            margin-top: 25px; }
            .home_page #why-mvg .gallery_all .strip h2 {
              font-size: 25px;
              line-height: 35px;
              margin-bottom: 24px; }
          .home_page #why-mvg .gallery_all #gallery-copy {
            margin-top: 0px;
            padding-left: 0px;
            padding-right: 0px;
            padding-top: 215px;
            padding-bottom: 20px; }
          .home_page #why-mvg .gallery_all .gallery-slider {
            padding: 5px; }
            .home_page #why-mvg .gallery_all .gallery-slider .item {
              height: 400px; }
              .home_page #why-mvg .gallery_all .gallery-slider .item .image {
                -webkit-background-size: cover;
                background-size: cover;
                background-position: center; }
            .home_page #why-mvg .gallery_all .gallery-slider .slick-prev {
              left: 0px; }
            .home_page #why-mvg .gallery_all .gallery-slider .slick-next {
              right: 0px; }
            .home_page #why-mvg .gallery_all .gallery-slider .slick-dots {
              bottom: -20px;
              text-align: right;
              right: 30px; } }
    .home_page #why-mvg .plant-left {
      display: block;
      position: absolute;
      top: -600px;
      left: 0;
      right: 0px; }
    .home_page #why-mvg .black-line-45 {
      display: block;
      position: absolute;
      bottom: 0px;
      left: 0;
      right: 0px;
      z-index: 15;
      text-align: right;
      margin-bottom: -170px;
      margin-right: 100px; }
    .home_page #why-mvg .arrow-down {
      bottom: 40px; }
    @media (max-width: 992px) {
      .home_page #why-mvg {
        padding: 50px 35px; }
        .home_page #why-mvg .container {
          width: 100%; }
          .home_page #why-mvg .container .content h2 {
            font-size: 32px;
            text-align: center; }
          .home_page #why-mvg .container .content .numbered-points {
            padding: 0 0px; }
            .home_page #why-mvg .container .content .numbered-points .inset {
              margin-left: -15px; }
            .home_page #why-mvg .container .content .numbered-points #number-one {
              height: 80px;
              margin-bottom: 15px; }
            .home_page #why-mvg .container .content .numbered-points #number-two {
              height: 80px;
              margin-bottom: 15px; }
            .home_page #why-mvg .container .content .numbered-points #number-three {
              height: 80px;
              margin-bottom: 15px; }
        .home_page #why-mvg .plant-left {
          top: -550px;
          left: -200px; }
        .home_page #why-mvg .black-line-45 {
          display: none; } }
    @media (max-width: 768px) {
      .home_page #why-mvg {
        min-height: 700px;
        padding: 50px 15px; }
        .home_page #why-mvg .container {
          width: 100%;
          padding: 0px; }
          .home_page #why-mvg .container .content h1 {
            font-size: 32px;
            text-align: left; }
          .home_page #why-mvg .container .content h2 {
            font-size: 25px;
            line-height: 25px;
            text-align: left; }
          .home_page #why-mvg .container .content .numbered-points {
            padding: 0 15px; }
            .home_page #why-mvg .container .content .numbered-points .inset {
              margin-left: 0; }
            .home_page #why-mvg .container .content .numbered-points #number-one {
              height: 80px;
              margin-bottom: 30px; }
            .home_page #why-mvg .container .content .numbered-points #number-two {
              height: 80px;
              margin-bottom: 30px; }
            .home_page #why-mvg .container .content .numbered-points #number-three {
              height: 80px;
              margin-bottom: 30px; }
        .home_page #why-mvg .plant-left {
          display: none; }
        .home_page #why-mvg .black-line-45 {
          display: none; } }
  .home_page .ourgardens_all {
    padding: 150px 0px;
    background-color: white;
    min-height: 1000px;
    position: relative;
    max-width: 1070px;
    margin: 0 auto; }
    .home_page .ourgardens_all .content h2 {
      color: black;
      text-align: left; }
    .home_page .ourgardens_all .content h3 {
      color: white;
      font-size: 55px; }
    .home_page .ourgardens_all .content h4 {
      color: black;
      font-size: 19px;
      margin-top: 20px;
      line-height: 30px; }
    .home_page .ourgardens_all .content h5 {
      font-size: 16px;
      margin-top: 15px; }
    .home_page .ourgardens_all .content .padded {
      padding: 60px 0px; }
    .home_page .ourgardens_all .content #garden-left img {
      width: 100%;
      -webkit-box-shadow: -15px 15px black;
      box-shadow: -15px 15px black; }
    .home_page .ourgardens_all .content #garden-text-right {
      padding-right: 200px; }
      .home_page .ourgardens_all .content #garden-text-right .strip {
        background-color: black;
        padding: 40px 0 40px 100px;
        margin: 50px 0 0 -100px;
        width: 547px; }
    .home_page .ourgardens_all .content #garden-right {
      padding-right: 20px;
      margin-left: 0px; }
      .home_page .ourgardens_all .content #garden-right img {
        width: 100%;
        -webkit-box-shadow: 15px 15px black;
        box-shadow: 15px 15px black; }
    .home_page .ourgardens_all .content #garden-text-left {
      padding: 0px 50px 0 0;
      padding-top: 150px; }
      .home_page .ourgardens_all .content #garden-text-left .strip {
        background-color: black;
        padding: 30px 0 30px 100px;
        margin: -100px 0 0 -100px;
        width: 550px;
        position: absolute; }
    @media (max-width: 768px) {
      .home_page .ourgardens_all {
        min-height: 700px;
        padding: 50px 15px; }
        .home_page .ourgardens_all .container {
          width: 100%; }
          .home_page .ourgardens_all .container .content .padded {
            padding: 30px 0px; }
          .home_page .ourgardens_all .container .content h4 {
            padding-right: 90px; }
          .home_page .ourgardens_all .container .content #garden-left img {
            width: 100%;
            -webkit-box-shadow: -15px 15px black;
            box-shadow: -15px 15px black; }
          .home_page .ourgardens_all .container .content #garden-text-right {
            padding-right: 20px;
            padding-bottom: 20px; }
            .home_page .ourgardens_all .container .content #garden-text-right h3 {
              font-size: 35px; }
            .home_page .ourgardens_all .container .content #garden-text-right .strip {
              background-color: black;
              padding: 20px 50px;
              margin-left: -50px;
              margin-top: 0px;
              width: 100%; }
          .home_page .ourgardens_all .container .content #garden-right {
            padding-left: 0px; }
            .home_page .ourgardens_all .container .content #garden-right img {
              width: 100%;
              -webkit-box-shadow: 15px 15px black;
              box-shadow: 15px 15px black; }
          .home_page .ourgardens_all .container .content #garden-text-left {
            padding-right: 0px;
            padding-top: 0px;
            padding-bottom: 20px; }
            .home_page .ourgardens_all .container .content #garden-text-left h3 {
              font-size: 35px; }
            .home_page .ourgardens_all .container .content #garden-text-left h5 {
              margin-top: 5px; }
            .home_page .ourgardens_all .container .content #garden-text-left .strip {
              background-color: black;
              padding: 20px 50px;
              margin-left: -50px;
              margin-top: 0px;
              width: 100%;
              position: absolute; }
            .home_page .ourgardens_all .container .content #garden-text-left .mobile-text {
              padding-top: 100px; } }
    @media (max-width: 992px) {
      .home_page .ourgardens_all {
        min-height: 1400px;
        padding: 50px 15px 100px 15px; }
        .home_page .ourgardens_all .btn {
          margin-bottom: 20px; }
        .home_page .ourgardens_all .content .padded {
          padding: 0px; }
        .home_page .ourgardens_all .content #garden-text-right h3 {
          font-size: 35px; }
        .home_page .ourgardens_all .content #garden-text-right h4 {
          padding-right: 90px; }
        .home_page .ourgardens_all .content #garden-text-right .strip {
          background-color: black;
          padding: 20px 50px;
          margin-left: -50px;
          margin-top: 0px;
          width: 100%; }
        .home_page .ourgardens_all .content #garden-left img {
          width: 80%;
          margin-left: 10px; }
        .home_page .ourgardens_all .content #garden-text-left .strip {
          padding: 0 0 0 0;
          margin-left: -50px;
          margin-top: 0px;
          width: 70%; }
        .home_page .ourgardens_all .content #garden-right {
          padding-left: 0px; }
          .home_page .ourgardens_all .content #garden-right img {
            width: 95%;
            margin-left: 10px; }
        .home_page .ourgardens_all .arrow-down {
          bottom: 40px; } }
    @media (max-width: 1200px) {
      .home_page .ourgardens_all .content .padded {
        padding: 30px 0px; }
      .home_page .ourgardens_all .content h3 {
        font-size: 35px; }
      .home_page .ourgardens_all .content #garden-text-right {
        padding-right: 50px; }
        .home_page .ourgardens_all .content #garden-text-right .strip {
          margin: 0 0 0 -100px;
          padding: 20px 100px 20px 95px; }
      .home_page .ourgardens_all .content #garden-text-left {
        padding-right: 0px;
        padding-top: 0px;
        padding-bottom: 20px; }
        .home_page .ourgardens_all .content #garden-text-left h5 {
          margin-top: 5px; }
        .home_page .ourgardens_all .content #garden-text-left .strip {
          background-color: black;
          padding: 20px 100px 20px 95px;
          margin-top: 0px;
          width: 150%;
          position: absolute; }
        .home_page .ourgardens_all .content #garden-text-left .mobile-text {
          padding-top: 100px; } }
  .home_page .instagram_all {
    padding: 100px 0px;
    background-color: #7F9918;
    position: relative; }
    .home_page .instagram_all h2 {
      color: white;
      text-align: left;
      padding-left: 16px;
      margin-bottom: 10px; }
    .home_page .instagram_all #sb_instagram .sbi_follow_btn a {
      -webkit-border-radius: 0px;
      border-radius: 0px;
      font-size: 16px;
      padding: 10px 20px;
      letter-spacing: 1.8px; }
    .home_page .instagram_all .black-line-45 {
      display: block;
      position: absolute;
      top: 270px;
      left: -200px;
      z-index: 15; }
    @media (max-width: 992px) {
      .home_page .instagram_all {
        padding: 40px 0px; }
        .home_page .instagram_all .black-line-45 {
          display: none; } }
    @media (max-width: 1200px) {
      .home_page .instagram_all .black-line-45 {
        top: auto;
        bottom: -195px;
        left: -250px; } }
  .home_page .subscribe_all {
    padding: 100px 0px;
    min-height: 490px;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center;
    background-image: url(../images/site/subscribe-background.jpg); }
    .home_page .subscribe_all h2 {
      color: black;
      font-size: 57px;
      line-height: 54px; }
    .home_page .subscribe_all h3 {
      color: black;
      padding-left: 40px; }
    .home_page .subscribe_all .container .content {
      text-align: right; }
      .home_page .subscribe_all .container .content #mailchimp input {
        text-transform: uppercase;
        text-align: center;
        background-color: black;
        color: white;
        -webkit-border-radius: 0px;
        border-radius: 0px;
        width: 90%;
        margin-right: 0;
        margin-top: 20px;
        margin-bottom: 10px;
        border: none;
        font-size: 13px;
        letter-spacing: 1.5px;
        padding: 10px 0px; }
      .home_page .subscribe_all .container .content #mailchimp .button {
        background-color: #7F9918;
        width: inherit;
        height: inherit;
        padding: 5px 20px;
        font-size: 16px;
        margin-top: 0px; }
    @media (max-width: 768px) {
      .home_page .subscribe_all {
        min-height: 400px;
        padding: 65px 0px; }
        .home_page .subscribe_all .content h2 {
          font-size: 45px; }
        .home_page .subscribe_all .content h3 {
          font-size: 19px;
          line-height: 26px; } }
    @media (max-width: 992px) {
      .home_page .subscribe_all h3 {
        padding-left: 120px; } }
    @media (max-width: 1200px) {
      .home_page .subscribe_all h3 {
        padding-left: 40px; } }
  .home_page .contact_all {
    padding: 100px 0px;
    background-color: black;
    text-align: center;
    position: relative; }
    .home_page .contact_all label {
      color: white;
      font-size: 15px; }
    .home_page .contact_all .text {
      color: white;
      margin-bottom: 70px; }
      .home_page .contact_all .text h2 {
        font-size: 50px;
        margin-bottom: 50px; }
      .home_page .contact_all .text h4 {
        margin-bottom: 10px; }
      .home_page .contact_all .text p {
        font-size: 18px;
        line-height: 22px; }
      .home_page .contact_all .text h5 {
        margin-bottom: 5px;
        font-size: 17px;
        line-height: 23px; }
      .home_page .contact_all .text #director-details {
        margin-bottom: 130px;
        margin-top: 30px; }
    .home_page .contact_all .form {
      text-align: left; }
    .home_page .contact_all .white-line-45 {
      display: block;
      position: absolute;
      top: -80px;
      right: 80px;
      z-index: 15; }
    @media (max-width: 1200px) {
      .home_page .contact_all .white-line-45 {
        top: -250px;
        right: -200px; } }
    @media (max-width: 768px) {
      .home_page .contact_all {
        padding: 40px 0px; }
        .home_page .contact_all .text {
          margin-bottom: 0px; }
          .home_page .contact_all .text h2 {
            font-size: 30px;
            margin-bottom: 20px; }
        .home_page .contact_all .white-line-45 {
          display: none; } }
    @media (max-width: 992px) {
      .home_page .contact_all .white-line-45 {
        display: none; } }

/*#################################*/
/* diy page */
/*#################################*/
.diy_page {
  min-height: 100px; }
  .diy_page .intro_all {
    position: relative;
    min-height: 700px;
    overflow: hidden;
    background-color: black;
    background-image: url(../images/site/plant-right.png);
    background-position: top right;
    background-repeat: no-repeat; }
    .diy_page .intro_all .container {
      position: relative; }
      .diy_page .intro_all .container .content h3 {
        margin-bottom: 10px; }
      .diy_page .intro_all .container .content h4 {
        margin-bottom: 10px; }
      .diy_page .intro_all .container .content h5 {
        margin-bottom: 10px; }
      .diy_page .intro_all .container .content h6 {
        margin-bottom: 10px; }
      .diy_page .intro_all .container .content p {
        margin-top: 20px; }
      .diy_page .intro_all .container .content .logo {
        height: 100px;
        margin-top: 100px;
        margin-left: 85px; }
        .diy_page .intro_all .container .content .logo img {
          width: 190px; }
      .diy_page .intro_all .container .content .diy-intro {
        min-height: 350px;
        margin-top: 80px;
        margin-left: 72px; }
      .diy_page .intro_all .container .sale_all {
        background-color: #7F9918;
        height: 510px;
        max-width: 1070px;
        margin: 0 auto;
        margin-bottom: 60px;
        -webkit-box-shadow: 15px 15px white;
        box-shadow: 15px 15px white;
        margin: 0px 87px; }
        .diy_page .intro_all .container .sale_all .strip {
          background-color: black;
          padding: 30px 50px 0px 80px;
          margin-left: -30px;
          margin-top: 40px;
          position: absolute;
          z-index: 30; }
          .diy_page .intro_all .container .sale_all .strip h2 {
            text-align: left;
            font-size: 32px;
            line-height: 40px; }
            .diy_page .intro_all .container .sale_all .strip h2 .small {
              color: white; }
        .diy_page .intro_all .container .sale_all #gallery-copy {
          margin-top: 290px;
          padding-left: 50px;
          padding-right: 60px; }
          .diy_page .intro_all .container .sale_all #gallery-copy p {
            font-size: 20px;
            line-height: 30px; }
          .diy_page .intro_all .container .sale_all #gallery-copy a {
            color: white;
            text-decoration: underline; }
        .diy_page .intro_all .container .sale_all .gallery-slider {
          padding: 40px; }
          .diy_page .intro_all .container .sale_all .gallery-slider .item {
            text-align: center;
            height: 430px; }
            .diy_page .intro_all .container .sale_all .gallery-slider .item .image {
              -webkit-background-size: cover;
              background-size: cover;
              background-position: center center;
              height: 430px; }
          .diy_page .intro_all .container .sale_all .gallery-slider .slick-prev {
            left: 50px;
            z-index: 10;
            background-image: url(../images/site/arrow-left.png); }
          .diy_page .intro_all .container .sale_all .gallery-slider .slick-next {
            right: 50px;
            z-index: 10;
            background-image: url(../images/site/arrow-right.png); }
          .diy_page .intro_all .container .sale_all .gallery-slider .slick-dots {
            bottom: 10px;
            text-align: right;
            right: 30px; }
    .diy_page .intro_all .arrow-down {
      bottom: 40px; }
    @media (max-width: 1200px) {
      .diy_page .intro_all #gallery-copy {
        margin-top: 280px; }
      .diy_page .intro_all h2 {
        font-size: 30px; } }
    @media (max-width: 992px) {
      .diy_page .intro_all {
        min-height: 500px;
        -webkit-box-shadow: 7px 7px white;
        box-shadow: 7px 7px white; }
        .diy_page .intro_all .container .content {
          padding-right: 100px; }
          .diy_page .intro_all .container .content .logo {
            height: 100px;
            margin-left: 0px;
            margin-top: 30px; }
            .diy_page .intro_all .container .content .logo img {
              width: 160px; }
          .diy_page .intro_all .container .content .diy-intro {
            margin-left: 0px; }
          .diy_page .intro_all .container .content .sale_all {
            margin: 0px 0px;
            min-height: 920px; }
            .diy_page .intro_all .container .content .sale_all .strip {
              background-color: black;
              padding: 30px 50px 0px 80px;
              margin-left: -30px;
              margin-top: 40px;
              position: absolute;
              z-index: 30; }
              .diy_page .intro_all .container .content .sale_all .strip h2 {
                text-align: left;
                font-size: 32px;
                line-height: 40px; }
            .diy_page .intro_all .container .content .sale_all #gallery-copy {
              margin-top: 50px;
              padding-left: 50px;
              padding-right: 60px;
              padding-top: 230px; }
              .diy_page .intro_all .container .content .sale_all #gallery-copy p {
                font-size: 20px;
                line-height: 30px;
                margin-bottom: 2px; }
            .diy_page .intro_all .container .content .sale_all .gallery-slider {
              padding: 40px; }
              .diy_page .intro_all .container .content .sale_all .gallery-slider .item {
                text-align: center;
                height: 430px; }
                .diy_page .intro_all .container .content .sale_all .gallery-slider .item .image {
                  -webkit-background-size: cover;
                  background-size: cover;
                  background-position: center center;
                  height: 430px; }
              .diy_page .intro_all .container .content .sale_all .gallery-slider .slick-prev {
                left: 50px;
                z-index: 10;
                background-image: url(../images/site/arrow-left.png); }
              .diy_page .intro_all .container .content .sale_all .gallery-slider .slick-next {
                right: 50px;
                z-index: 10;
                background-image: url(../images/site/arrow-right.png); }
              .diy_page .intro_all .container .content .sale_all .gallery-slider .slick-dots {
                bottom: 10px;
                text-align: right;
                right: 30px; } }
    @media (max-width: 768px) {
      .diy_page .intro_all {
        min-height: 500px;
        -webkit-box-shadow: 7px 7px white;
        box-shadow: 7px 7px white; }
        .diy_page .intro_all .container .content {
          padding-right: 0px; }
          .diy_page .intro_all .container .content .logo {
            height: 80px;
            margin-left: 8px;
            margin-top: 20px; }
            .diy_page .intro_all .container .content .logo img {
              width: 120px; }
          .diy_page .intro_all .container .content .diy-intro {
            min-height: 380px;
            margin-top: 50px;
            margin-left: 0px; }
          .diy_page .intro_all .container .content .sale_all {
            margin: 0px 0px;
            min-height: 850px; }
            .diy_page .intro_all .container .content .sale_all .strip {
              padding: 20px 20px 0px 20px;
              margin-left: -20px;
              margin-top: 25px; }
              .diy_page .intro_all .container .content .sale_all .strip h2 {
                font-size: 25px;
                line-height: 35px;
                margin-bottom: 24px; }
            .diy_page .intro_all .container .content .sale_all #gallery-copy {
              margin-top: 0px;
              padding-left: 0px;
              padding-right: 0px;
              padding-top: 200px;
              padding-bottom: 20px; }
            .diy_page .intro_all .container .content .sale_all .gallery-slider {
              padding: 5px; }
              .diy_page .intro_all .container .content .sale_all .gallery-slider .item {
                height: 400px; }
                .diy_page .intro_all .container .content .sale_all .gallery-slider .item .image {
                  -webkit-background-size: cover;
                  background-size: cover;
                  background-position: center; }
              .diy_page .intro_all .container .content .sale_all .gallery-slider .slick-prev {
                left: 0px; }
              .diy_page .intro_all .container .content .sale_all .gallery-slider .slick-next {
                right: 0px; }
              .diy_page .intro_all .container .content .sale_all .gallery-slider .slick-dots {
                bottom: -20px;
                text-align: right;
                right: 30px; } }
  .diy_page .diykits_all {
    padding: 150px 0px;
    background-color: white;
    min-height: 1000px;
    position: relative;
    max-width: 1070px;
    margin: 0 auto; }
    .diy_page .diykits_all .content h2 {
      color: black;
      text-align: left; }
    .diy_page .diykits_all .content h3 {
      color: white;
      font-size: 55px; }
    .diy_page .diykits_all .content h4 {
      color: black;
      font-size: 19px;
      margin-top: 20px;
      line-height: 30px; }
    .diy_page .diykits_all .content h5 {
      font-size: 16px;
      margin-top: 15px; }
    .diy_page .diykits_all .content .padded {
      padding: 60px 0px; }
    .diy_page .diykits_all .content #garden-left img {
      width: 100%;
      -webkit-box-shadow: -15px 15px black;
      box-shadow: -15px 15px black; }
    .diy_page .diykits_all .content #garden-text-right {
      padding-right: 200px; }
      .diy_page .diykits_all .content #garden-text-right .strip {
        background-color: black;
        padding: 40px 0 40px 100px;
        margin: 50px 0 0 -100px;
        width: 547px; }
    .diy_page .diykits_all .content #garden-right {
      padding-right: 20px;
      margin-left: 0px; }
      .diy_page .diykits_all .content #garden-right img {
        width: 100%;
        -webkit-box-shadow: 15px 15px black, -1px 1px 4px 0px rgba(0, 0, 0, 0.16);
        box-shadow: 15px 15px black, -1px 1px 4px 0px rgba(0, 0, 0, 0.16); }
    .diy_page .diykits_all .content #garden-text-left {
      padding: 0px 50px 0 0;
      padding-top: 150px; }
      .diy_page .diykits_all .content #garden-text-left .strip {
        background-color: black;
        padding: 30px 0 30px 100px;
        margin: -100px 0 0 -100px;
        width: 550px;
        position: absolute; }
    .diy_page .diykits_all .black-line-45 {
      display: block;
      position: absolute;
      top: -30px;
      left: 0;
      right: 0;
      z-index: 15;
      text-align: right; }
    @media (max-width: 768px) {
      .diy_page .diykits_all {
        min-height: 700px;
        padding: 50px 15px; }
        .diy_page .diykits_all .container {
          width: 100%; }
          .diy_page .diykits_all .container .content .padded {
            padding: 30px 0px; }
          .diy_page .diykits_all .container .content h4 {
            padding-right: 90px; }
          .diy_page .diykits_all .container .content #garden-left img {
            width: 100%;
            -webkit-box-shadow: -15px 15px black;
            box-shadow: -15px 15px black; }
          .diy_page .diykits_all .container .content #garden-text-right {
            padding-right: 20px;
            padding-bottom: 20px; }
            .diy_page .diykits_all .container .content #garden-text-right h3 {
              font-size: 35px; }
            .diy_page .diykits_all .container .content #garden-text-right .strip {
              background-color: black;
              padding: 20px 50px;
              margin-left: -50px;
              margin-top: 0px;
              width: 100%; }
          .diy_page .diykits_all .container .content #garden-right {
            padding-left: 0px; }
            .diy_page .diykits_all .container .content #garden-right img {
              width: 100%;
              -webkit-box-shadow: 15px 15px black;
              box-shadow: 15px 15px black; }
          .diy_page .diykits_all .container .content #garden-text-left {
            padding-right: 0px;
            padding-top: 0px;
            padding-bottom: 20px; }
            .diy_page .diykits_all .container .content #garden-text-left h3 {
              font-size: 35px; }
            .diy_page .diykits_all .container .content #garden-text-left h5 {
              margin-top: 5px; }
            .diy_page .diykits_all .container .content #garden-text-left .strip {
              background-color: black;
              padding: 20px 50px;
              margin-left: -50px;
              margin-top: 0px;
              width: 100%;
              position: absolute; }
            .diy_page .diykits_all .container .content #garden-text-left .mobile-text {
              padding-top: 100px; } }
    @media (max-width: 992px) {
      .diy_page .diykits_all {
        min-height: 1400px;
        padding: 50px 15px 100px 15px; }
        .diy_page .diykits_all .btn {
          margin-bottom: 20px; }
        .diy_page .diykits_all .content .padded {
          padding: 0px; }
        .diy_page .diykits_all .content #garden-text-right h3 {
          font-size: 35px; }
        .diy_page .diykits_all .content #garden-text-right h4 {
          padding-right: 90px; }
        .diy_page .diykits_all .content #garden-text-right .strip {
          background-color: black;
          padding: 20px 50px;
          margin-left: -50px;
          margin-top: 0px;
          width: 100%; }
        .diy_page .diykits_all .content #garden-left img {
          width: 80%;
          margin-left: 10px; }
        .diy_page .diykits_all .content #garden-text-left .strip {
          padding: 0 0 0 0;
          margin-left: -50px;
          margin-top: 0px;
          width: 70%; }
        .diy_page .diykits_all .content #garden-right {
          padding-left: 0px; }
          .diy_page .diykits_all .content #garden-right img {
            width: 95%;
            margin-left: 10px; }
        .diy_page .diykits_all .black-line-45 {
          display: none; }
        .diy_page .diykits_all .arrow-down {
          bottom: 40px; } }
    @media (max-width: 1200px) {
      .diy_page .diykits_all .content .padded {
        padding: 30px 0px; }
      .diy_page .diykits_all .content h3 {
        font-size: 35px; }
      .diy_page .diykits_all .content #garden-text-right {
        padding-right: 50px; }
        .diy_page .diykits_all .content #garden-text-right .strip {
          margin: 0 0 0 -100px;
          padding: 20px 100px 20px 95px; }
      .diy_page .diykits_all .content #garden-text-left {
        padding-right: 0px;
        padding-top: 0px;
        padding-bottom: 20px; }
        .diy_page .diykits_all .content #garden-text-left h5 {
          margin-top: 5px; }
        .diy_page .diykits_all .content #garden-text-left .strip {
          background-color: black;
          padding: 20px 100px 20px 95px;
          margin-top: 0px;
          width: 150%;
          position: absolute; }
        .diy_page .diykits_all .content #garden-text-left .mobile-text {
          padding-top: 100px; } }
  .diy_page .order_all {
    padding: 100px 0px;
    background-color: black;
    text-align: center;
    position: relative; }
    .diy_page .order_all label {
      color: white;
      font-size: 15px; }
    .diy_page .order_all .text {
      color: white;
      margin-bottom: 70px; }
      .diy_page .order_all .text h2 {
        font-size: 50px;
        margin-bottom: 50px; }
      .diy_page .order_all .text p {
        font-size: 18px;
        line-height: 22px; }
      .diy_page .order_all .text h5 {
        margin-bottom: 5px;
        font-size: 17px;
        line-height: 23px; }
    .diy_page .order_all .form {
      text-align: left; }
    .diy_page .order_all .white-line-45 {
      display: block;
      position: absolute;
      top: -80px;
      right: 80px;
      z-index: 15; }
    @media (max-width: 1200px) {
      .diy_page .order_all .white-line-45 {
        top: -250px;
        right: -200px; } }
    @media (max-width: 768px) {
      .diy_page .order_all {
        padding: 40px 0px; }
        .diy_page .order_all .text {
          margin-bottom: 0px; }
          .diy_page .order_all .text h2 {
            font-size: 30px;
            margin-bottom: 20px; }
        .diy_page .order_all .white-line-45 {
          display: none; } }
    @media (max-width: 992px) {
      .diy_page .order_all .white-line-45 {
        display: none; } }

/*#################################*/
/* landing page */
/*#################################*/
.landing_page .landing_all {
  position: relative;
  min-height: 95vh;
  overflow: hidden;
  background-color: black;
  background-image: url(../images/site/plant-right.png);
  background-position: top right;
  background-repeat: no-repeat; }
  .landing_page .landing_all .container {
    position: relative; }
    .landing_page .landing_all .container .content h3 {
      margin-bottom: 10px; }
    .landing_page .landing_all .container .content h4 {
      margin-bottom: 10px; }
    .landing_page .landing_all .container .content h5 {
      margin-bottom: 10px; }
    .landing_page .landing_all .container .content h6 {
      margin-bottom: 10px; }
    .landing_page .landing_all .container .content p {
      margin-top: 20px; }
    .landing_page .landing_all .container .content .logo {
      height: 100px;
      margin-top: 100px;
      margin-left: 85px; }
      .landing_page .landing_all .container .content .logo img {
        width: 190px; }
    .landing_page .landing_all .container .content .input-field {
      min-height: 450px;
      margin-top: 80px;
      margin-left: 72px; }
      .landing_page .landing_all .container .content .input-field blockquote {
        border-left: 2px solid #ffffff; }
        .landing_page .landing_all .container .content .input-field blockquote p {
          font-size: 25px;
          line-height: 35px;
          padding: 20px 5px;
          margin: 0; }
      .landing_page .landing_all .container .content .input-field img {
        max-width: 100%;
        height: auto; }
      .landing_page .landing_all .container .content .input-field .btn {
        margin-top: 30px;
        margin-bottom: 30px;
        z-index: 110; }
  @media (max-width: 992px) {
    .landing_page .landing_all {
      min-height: 1000px; }
      .landing_page .landing_all .container .content {
        padding-right: 100px; }
        .landing_page .landing_all .container .content .logo {
          height: 100px;
          margin-left: 0px;
          margin-top: 30px; }
          .landing_page .landing_all .container .content .logo img {
            width: 160px; } }
  @media (max-width: 768px) {
    .landing_page .landing_all {
      min-height: 1000px; }
      .landing_page .landing_all .container .content {
        padding-right: 30px; }
        .landing_page .landing_all .container .content .logo {
          height: 80px;
          margin-left: 8px;
          margin-top: 20px; }
          .landing_page .landing_all .container .content .logo img {
            width: 120px; }
        .landing_page .landing_all .container .content .input-field {
          min-height: 450px;
          margin-top: 50px;
          margin-left: 0px; }
        .landing_page .landing_all .container .content h1 {
          font-size: 45px;
          line-height: 45px;
          margin-bottom: 15px; }
        .landing_page .landing_all .container .content h2 {
          font-size: 35px;
          line-height: 40px;
          margin-bottom: 15px; }
        .landing_page .landing_all .container .content h3 {
          font-size: 30px;
          line-height: 35px;
          margin-bottom: 15px; }
        .landing_page .landing_all .container .content h4 {
          margin-bottom: 15px; }
        .landing_page .landing_all .container .content h5 {
          margin-bottom: 15px; } }

/*#################################*/
/* 404 page */
/*#################################*/
.error404_page .error404_all {
  position: relative;
  min-height: 95vh;
  overflow: hidden;
  background-color: black;
  background-image: url(../images/site/plant-right.png);
  background-position: top right;
  background-repeat: no-repeat; }
  .error404_page .error404_all .container {
    position: relative; }
    .error404_page .error404_all .container .content {
      position: absolute;
      top: 100px;
      left: 100px;
      color: white;
      z-index: 10;
      text-align: left; }
      .error404_page .error404_all .container .content h2 {
        font-size: 60px;
        margin-bottom: 40px;
        line-height: 65px; }
      .error404_page .error404_all .container .content .logo {
        height: 100px;
        margin-top: 100px;
        margin-left: 85px; }
        .error404_page .error404_all .container .content .logo img {
          width: 190px; }
      .error404_page .error404_all .container .content .oh-dear {
        min-height: 450px;
        margin-top: 100px; }
        .error404_page .error404_all .container .content .oh-dear .btn {
          margin-top: 30px;
          z-index: 110; }
  @media (max-width: 992px) {
    .error404_page .error404_all {
      min-height: 1000px; }
      .error404_page .error404_all .container .content {
        width: 100%;
        top: 0px;
        left: 0px; }
        .error404_page .error404_all .container .content .logo {
          height: 100px;
          margin-left: 0px;
          margin-top: 30px; }
          .error404_page .error404_all .container .content .logo img {
            width: 160px; }
        .error404_page .error404_all .container .content .oh-dear {
          padding: 0px 50px 0 20px;
          margin-top: 80px; } }
  @media (max-width: 768px) {
    .error404_page .error404_all {
      min-height: 1000px; }
      .error404_page .error404_all .container .content {
        width: 100%;
        top: 0px;
        left: 0px; }
        .error404_page .error404_all .container .content .logo {
          height: 80px;
          margin-left: 23px;
          margin-top: 20px; }
          .error404_page .error404_all .container .content .logo img {
            width: 120px; }
        .error404_page .error404_all .container .content .oh-dear {
          padding: 0px 80px 0 20px;
          margin-top: 50px;
          border: none; }
        .error404_page .error404_all .container .content h2 {
          font-size: 35px;
          line-height: 40px; }
        .error404_page .error404_all .container .content h3 {
          font-size: 18px;
          line-height: 24px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,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QkFBZ0I7VUFBQyxpQkFBZ0IsRUFBcUI7VUE5Q3pGO1lBOEN5RSxhQUFZLEVBQUc7UUE5Q3hGO1VBK0N3Qix5QkFBd0I7VUFBQyxpQkFBZ0IsRUFBRyxFQUFBO0VBT2pFO0lBdERIO01BdURPLG1CQUFrQixFQWdCckI7TUF2RUo7UUEwRGUsWUFBVztRQUFDLFNBQVE7UUFDcEIsVUFBUyxFQU9SO1FBbEVoQjtVQTZEcUIsYUFBWTtVQUFDLGtCQUFpQjtVQUFDLGlCQUFnQixFQUFxQjtVQTdEekY7WUE2RHlFLGFBQVksRUFBRztRQTdEeEY7VUE4RHdCLHlCQUF3QjtVQUFDLGlCQUFnQjtVQUFDLGFBQVksRUFBRztRQTlEakY7VUErRGtCLGdCQUFlO1VBQUMsa0JBQWlCLEVBQUc7UUEvRHREO1VBZ0VrQixnQkFBZTtVQUFDLGtCQUFpQixFQUFHLEVBQUEiLCJmaWxlIjoic3R5bGVzaGVldC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyovXG4vKiBiYXNlICovXG4vKiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMqL1xuXG4vKiBpbXBvcnQgKi9cbi8vYm9vc3RyYXBcbkBpbXBvcnQgJy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvZGlzdC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MnO1xuQGltcG9ydCAnLi4vZnJhbWV3b3Jrcy9ib290c3dhdGNoL2Jvb3Rzd2F0Y2hfcGFwZXIuY3NzJztcblxuLy9mb250c1xuQGltcG9ydCB1cmwoXCJodHRwczovL3VzZS50eXBla2l0Lm5ldC9pYXc3d2dnLmNzc1wiKTtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UGxheWZhaXIrRGlzcGxheTo0MDAsNzAwJyk7XG4vL2ZvbnRhd2Vzb21lXG5AaW1wb3J0ICcuLi9mcmFtZXdvcmtzL2ZvbnRhd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyc7IFxuLy9zbGlja3NsaWRlclxuQGltcG9ydCAnLi4vZnJhbWV3b3Jrcy9zbGlja3NsaWRlci9zbGljay5jc3MnOyBcbkBpbXBvcnQgJy4uL2ZyYW1ld29ya3Mvc2xpY2tzbGlkZXIvc2xpY2stdGhlbWUuY3NzJzsgXG4vL2FuaW1hdGUgY3NzXG5AaW1wb3J0ICcuLi9mcmFtZXdvcmtzL2FuaW1hdGUuY3NzL2FuaW1hdGUuY3NzJztcblxuXG5cblxuLyogdmFyaWFibGVzICovXG4vLyRjb2xvci1wcmltYXJ5OiMxMTlENkE7XG4kY29sb3ItcHJpbWFyeTojN0Y5OTE4O1xuJGNvbG9yLXNlY29uZGFyeTpibGFjazsgXG5cbiRjb2wteHM6NzY4cHg7XG4kY29sLXNtOjk5MnB4OyAgXG4kY29sLW1kOjEyMDBweDtcbiRjb2wtbGc6MTkzMHB4O1xuXG5cbi8qIGV4dGVuZHMgKi9cbiVmb250e2ZvbnQtZmFtaWx5OlwiZXVyb3BhXCIsIHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwfVxuJWZvbnQtbGlnaHR7Zm9udC1mYW1pbHk6IFwiZXVyb3BhXCIsIHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6MzAwO31cbiVmb250LWJvbGR7Zm9udC1mYW1pbHk6IFwiZXVyb3BhXCIsIHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO30gXG4lZm9udC1mYW5jeXtmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjtmb250LXdlaWdodDo0MDA7fSBcbiVmb250LWZhbmN5LWJvbGR7Zm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO30gXG5cbiBcblxuLyogcGFydGljaWFscyAqL1xuXG5cblxuXG5cblxuLyojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjKi9cbi8qIGdsb2JhbCBwcmVzZXRzICovXG4vKiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMqL1xuXG4gXG5cbi8vaGVhZGluZ3NcbmgxLGgyLGgzLGg0LGg1LGg2LGg3e21hcmdpbjowcHg7cGFkZGluZzowcHg7Y29sb3I6d2hpdGU7fVxuaDF7Zm9udC1zaXplOjYwcHg7QGV4dGVuZCAlZm9udC1mYW5jeTttYXJnaW4tYm90dG9tOjQwcHg7fVxuaDJ7Zm9udC1zaXplOjQ1cHg7bGluZS1oZWlnaHQ6NDBweDtAZXh0ZW5kICVmb250LWZhbmN5O21hcmdpbi1ib3R0b206NDBweDtcbiAgICB9XG5oM3tmb250LXNpemU6MjJweDtAZXh0ZW5kICVmb250LWJvbGQ7bGluZS1oZWlnaHQ6MjhweDtjb2xvcjp3aGl0ZTttYXJnaW4tYm90dG9tOjVweDt9XG5oNHtAZXh0ZW5kICVmb250O31cbnB7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MjdweDtAZXh0ZW5kICVmb250O2NvbG9yOndoaXRlO31cbi5ib2xke0BleHRlbmQgJWZvbnQtYm9sZDt9XG5cbi8qIHN0cnVjdHVyZSAqL1xuaHRtbHtoZWlnaHQ6MTAwJTtvdmVyZmxvdy14OmhpZGRlbjt9XG5ib2R5e2hlaWdodDoxMDAlOyBcbiAgICBAZXh0ZW5kICVmb250OyBcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAgIC5zZWN0aW9ue1xuICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBtaW4taGVpZ2h0OjgwMHB4O1xuXG4gICAgICAgIC8vbW9iaWxlIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXhzKSB7XG4gICAgICAgICAgICAgICBtaW4taGVpZ2h0OjEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLy9kZXNrdG9wIGxhcmdlIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkY29sLWxnKSB7LmNvbnRhaW5lcnttaW4taGVpZ2h0OjEyMDBweDt9IH1cbiAgICB9XG4gICAgJi5ib2R5LWhpZGRlbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG5cbi8vYm9vdHN0cmFwIDUgY29sdW1uXG4uY29sLXhzLTV0aHMsXG4uY29sLXNtLTV0aHMsXG4uY29sLW1kLTV0aHMsXG4uY29sLWxnLTV0aHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi5jb2wteHMtNXRocyB7XG4gIHdpZHRoOiAyMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXNtLTV0aHMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsgXG4gIC5jb2wtbWQtNXRocyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbC1sZy01dGhzIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLy9idG5zXG5hLGE6aG92ZXJ7Y29sb3I6JGNvbG9yLXByaW1hcnk7fVxuLmJ0biwuYnRuOmhvdmVyLFxuLmJ0bi5idG4tcHJpbWFyeSwuYnRuLmJ0bi1wcmltYXJ5OmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5OyBcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBwYWRkaW5nOjEwcHggMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOjEuNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBtYXJnaW4tdG9wOjIwcHg7XG4gICAgXG4gICAgJi5idG4tbWR7cGFkZGluZzoxNXB4IDM1cHg7Zm9udC1zaXplOjI0cHg7Ym9yZGVyLXdpZHRoOiA0cHg7fVxuICAgICYuYnRuLWxne3BhZGRpbmc6MzBweCA2MHB4O2ZvbnQtc2l6ZToyOHB4O2JvcmRlci13aWR0aDogNXB4O31cblxuICAgICYuYnRuOmhvdmVye2JhY2tncm91bmQtY29sb3I6ZGFya2VuKCRjb2xvci1wcmltYXJ5LCAxMCUpO30gIFxuICAgIFxuICAgIFxuICAgIC8vbW9iaWxlXG4gICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC14cykge1xuICAgICAgICBwYWRkaW5nOjEwcHggMjBweDtcbiAgICB9ICBcbn0gIFxuLmJ0bi5idG4tcHJpbWFyeTphY3RpdmV7XG4gICAgJHZhci1jb2xvci1saWdodDpkYXJrZW4oJGNvbG9yLXByaW1hcnksMTAlKTtcbiAgICAkdmFyLWNvbG9yLWRhcms6ZGFya2VuKCRjb2xvci1wcmltYXJ5LDIwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZhci1jb2xvci1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICR2YXItY29sb3ItZGFyayAxMCUsICR2YXItY29sb3ItbGlnaHQgMTElKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkdmFyLWNvbG9yLWRhcmsgMTAlLCAkdmFyLWNvbG9yLWxpZ2h0IDExJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJHZhci1jb2xvci1kYXJrIDEwJSwgJHZhci1jb2xvci1saWdodCAxMSUpO1xufVxuXG5cblxuLy9ubyBndXR0ZXJzXG4ubm8tZ3V0dGVyID4gW2NsYXNzKj0nY29sLSddIHtcbiAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgcGFkZGluZy1sZWZ0OjA7XG59XG5cblxuXG4vL3dpZHRoIDEwMFxuLncxMDB7d2lkdGg6MTAwJTt9XG5cblxuICAgIC5hcnJvdy1kb3due1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDgwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiA5ODtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgXG4gICAgLy9tb2JpbGUgXG4gICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC14cykge1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuXG5cblxuXG46Oi1tb3otc2VsZWN0aW9uIHsgLyogQ29kZSBmb3IgRmlyZWZveCAqL1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG59XG5cblxuLy9jaGFuZ2UgbWVkaWEgcXVlcnkgZm9yIGNvbHVtbnMgcGx1Z2luXG4vKiBNYXhpbXVtIHdpZHRoIG9mIDYwMCBwaXhlbHMuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXHQuZnVsbF93aWR0aCxcblx0Lm9uZV9oYWxmLFxuXHQub25lX3RoaXJkLFxuXHQudHdvX3RoaXJkLFxuXHQub25lX2ZvdXJ0aCxcblx0LnRocmVlX2ZvdXJ0aCxcblx0Lm9uZV9maWZ0aCxcblx0LnR3b19maWZ0aCxcblx0LnRocmVlX2ZpZnRoLFxuXHQuZm91cl9maWZ0aCxcblx0Lm9uZV9zaXh0aCxcblx0LmZpdmVfc2l4dGgge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGRpdntwYWRkaW5nOjBweCAhaW1wb3J0YW50O31cblx0fVxufVxuXG5cbi8vYm9vdHN3YXRjaCBjaGFuZ2UgZm9ybSBjb2xvclxudGV4dGFyZWE6Zm9jdXMsIHRleHRhcmVhLmZvcm0tY29udHJvbDpmb2N1cywgaW5wdXQuZm9ybS1jb250cm9sOmZvY3VzLCBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLCBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cywgaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsIGlucHV0W3R5cGU9bnVtYmVyXTpmb2N1cywgW3R5cGU9dGV4dF0uZm9ybS1jb250cm9sOmZvY3VzLCBbdHlwZT1wYXNzd29yZF0uZm9ybS1jb250cm9sOmZvY3VzLCBbdHlwZT1lbWFpbF0uZm9ybS1jb250cm9sOmZvY3VzLCBbdHlwZT10ZWxdLmZvcm0tY29udHJvbDpmb2N1cywgW2NvbnRlbnRlZGl0YWJsZV0uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICRjb2xvci1wcmltYXJ5O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICRjb2xvci1wcmltYXJ5O1xufVxuXG5cbi8vVG9nZ2xlIGhhbWJ1cmdlciBhdCBTTSBzaXplXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkY29sLXNtKSB7XG4gIC5uYXZiYXItaGVhZGVyIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5uYXZiYXItbGVmdCwubmF2YmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhci10b2dnbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgfVxuICAubmF2YmFyLWZpeGVkLXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gIH1cbiAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLW5hdiB7XG4gICAgICBmbG9hdDogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiA3LjVweDtcbiAgfVxuICAubmF2YmFyLW5hdj5saSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAubmF2YmFyLW5hdj5saT5hIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cbiAgLmNvbGxhcHNlLmlue1xuICAgICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuXG5cbi8qIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyovXG4vKiBzdHJ1Y3R1cmUgKi9cbi8qIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyovXG5cblxuXG5cblxuLyogQ1VTVE9NIEhFQURFUiAqL1xuXG4uc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RpY2t5ICsgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuXG4uaG9tZV9wYWdlIHtcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLmZvbnRfX3N0eWxlcywgLm1lbnUsIC5uYXZfX2NvbnRhaW5lciB1bCB7XG4gICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC14cykge2ZvbnQtc2l6ZTo4cHg7fVxuICB9XG4gIFxuICBib2R5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgbWFpbiB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgbWluLWhlaWdodDogMjAwMHB4O1xuICB9XG4gIFxuICBuYXYge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAmLm5hdi16IHtcbiAgICAgICAgei1pbmRleDogOTU7XG4gICAgfVxuICB9XG4gIFxuICAubWVudSB7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgb3V0bGluZTogYmxhY2sgc29saWQgNXB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIHRvcDogMTAxcHg7XG4gICAgcmlnaHQ6IDEwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIFxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wtbWQpIHtyaWdodDo1JTtwYWRkaW5nOjEwcHggMTVweDt9XG4gICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC1zbSkge3JpZ2h0OjIlO3RvcDo0MHB4O3BhZGRpbmc6NXB4IDEwcHg7fVxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wteHMpIHtyaWdodDozJTt0b3A6MjBweDtwYWRkaW5nOjNweCA2cHg7b3V0bGluZTp3aGl0ZSBzb2xpZCAuMnB4O31cbiAgfVxuICBcbiAgLmJsb2NrX19yZXZlYWwge1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIFxuICAjYmxvY2tfXzAxIHtcbiAgICByaWdodDogMCU7XG4gIH1cbiAgXG4gICNibG9ja19fMDIge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbiAgXG4gICNibG9ja19fMDMge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbiAgXG4gICNibG9ja19fMDQge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cbiAgIFxuICAubmF2X19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNTAlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmLm5hdi1pbmRleCB7XG4gICAgICAgIHotaW5kZXg6IDEwMjtcbiAgICB9XG4gIH1cbiAgLm5hdl9fY29udGFpbmVyIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cbiAgLm5hdl9fY29udGFpbmVyIHVsIGxpIHsgXG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBcbiAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wteHMpIHtwYWRkaW5nOjEwcHggMDt9XG4gICAgXG4gIH1cbiAgLm5hdl9fY29udGFpbmVyIHVsIGxpIGEge1xuICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBcbiAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wteHMpIHtmb250LXNpemU6MTFweDt9XG4gIH1cblxuXG4vLyAubmF2LWluZGV4IHtcbi8vICAgICBvcGFjaXR5OiAwO1xuLy8gICAgIHotaW5kZXg6IDA7XG4vLyAgICAgZGlzcGxheTogbm9uZTtcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgbGVmdDogLTUwJTtcbi8vIH1cblxuLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi56LW5vbmUge1xuICAgIHotaW5kZXg6IDAgIWltcG9ydGFudDtcbn1cblxuXG5cbiAgICBcbiAgICAuYmFjay10by10b3B7XG4gICAgICAgbWFyZ2luLXRvcDo1MHB4OyBcbiAgICAvL21vYmlsZSBcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXhzKSB7IFxuICAgICAgICBoNHtmb250LXNpemU6MjdweDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MTBweCAwcHg7fVxuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgfVxuXG5cbiAgICAuZm9vdGVyX2FsbHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcbiAgICAgICAgcGFkZGluZzowIDAgMjBweCAwO1xuICAgICAgICBjb2xvcjp3aGl0ZTtcblxuICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHdoaXRlO3BhZGRpbmctdG9wOjIwcHg7IFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAubmF2e1xuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6d2hpdGU7Zm9udC1zaXplOjE0cHg7QGV4dGVuZCAlZm9udC1ib2xkO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7bGV0dGVyLXNwYWNpbmc6MXB4O3BhZGRpbmc6N3B4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsJjpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O0BleHRlbmQgJWZvbnQtYm9sZDt9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuc29jaWFse2ltZ3toZWlnaHQ6MzBweDttYXJnaW46MTBweCAxMHB4O319XG5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnNpdGUtZm9vdGVyLWNvcHlyaWdodCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTBweDtcbiAgICAgICAgICAgICAgICAuYWRkcmVzc3tcbiAgICAgICAgICAgICAgICAgICAgaDV7QGV4dGVuZCAlZm9udC1ib2xkO2ZvbnQtc2l6ZToxN3B4O2xldHRlci1zcGFjaW5nOi41cHg7bWFyZ2luLWJvdHRvbToycHg7fVxuICAgICAgICAgICAgICAgICAgICBwe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE5cHg7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRlcm1ze1xuICAgICAgICAgICAgICAgICAgICBhe2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxNHB4O31cbiAgICAgICAgICAgICAgICAgICAgLmNvcHlyaWdodHtmb250LXNpemU6MTRweDtjb2xvcjp3aGl0ZTtAZXh0ZW5kICVmb250LWJvbGQ7bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MHB4O31cbiAgICAgICAgICAgICAgICAgICAgLnNtYWxse2ZvbnQtc2l6ZToxM3B4O0BleHRlbmQgJWZvbnQtbGlnaHQ7bWFyZ2luLXRvcDotM3B4O31cbiAgICAgICAgICAgICAgICAgICAgYXtmb250LXNpemU6MTNweDtAZXh0ZW5kICVmb250O31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuXG5cblxuICAgICAgICAgXG4gICAgICAgIC8vbW9iaWxlIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXNtKSB7XG4gICAgICAgICAgICAuYWRkcmVzc3ttYXJnaW4tdG9wOjBweDt0ZXh0LWFsaWduOmNlbnRlcjt9XG4gICAgICAgICAgICAudGVybXN7bWFyZ2luLXRvcDowcHg7dGV4dC1hbGlnbjpjZW50ZXI7fVxuICAgICAgICAgICAgLm5hdntcbiAgICAgICAgICAgICAgICAmLnB1bGwtcmlnaHR7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7fVxuICAgICAgICAgICAgICAgIGxpe2Zsb2F0Om5vbmU7dGV4dC1hbGlnbjpjZW50ZXI7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy9tb2JpbGUgXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wteHMpIHsgXG4gICAgICAgICAgICAucHVsbC1yaWdodHtmbG9hdDpub25lIWltcG9ydGFudDt0ZXh0LWFsaWduOmNlbnRlcjt9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIFxuXG5cblxuXG5cblxuXG5cbi8qIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyovXG4vKiBwYWdlcyAqL1xuLyojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjKi9cblxuXG5cblxuLyojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMqL1xuLyogaG9tZXBhZ2UgKi9cbi8qIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjKi9cblxuXG4uaG9tZV9wYWdleyBcblxuICAgIG1pbi1oZWlnaHQ6MTAwMHB4O1xuXG4gICAgXG4uaW50cm9fYWxse1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6OTAwcHg7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6YmxhY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaXRlL3BsYW50LXJpZ2h0LnBuZyk7ICAgICAgICBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBcbiAgICAgICAgXG4gICAgLmNvbnRhaW5lcntcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDoxMDBweDtsZWZ0OjEwMHB4O1xuICAgICAgICAgICAgY29sb3I6d2hpdGU7ei1pbmRleDoxMDt0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICBoMntmb250LXNpemU6IDYwcHg7bWFyZ2luLWJvdHRvbTogNDBweDtsaW5lLWhlaWdodDo2NXB4O31cbiAgICAgICAgICAgICAgICAubG9nb3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDo4NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1ne3dpZHRoOjE5MHB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ib3JkZXJlZHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6M3B4IHdoaXRlIHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OjQ1MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjEwMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC5idG57bWFyZ2luLXRvcDozMHB4O3otaW5kZXg6MTEwO31cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgIFxuICAgIC8vdGFibGV0IFxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wtc20pIHtcbiAgICAgICAgbWluLWhlaWdodDo4NTBweDtcbiAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7dG9wOjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OjBweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubG9nb3toZWlnaHQ6MTAwcHg7bWFyZ2luLWxlZnQ6MHB4O21hcmdpbi10b3A6MzBweDtpbWd7d2lkdGg6MTYwcHg7fX1cbiAgICAgICAgICAgICAgICAuYm9yZGVyZWR7cGFkZGluZzowcHggNTBweCAwIDBweDttYXJnaW4tdG9wOjgwcHg7fSAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvL21vYmlsZSBcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXhzKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6NjUwcHg7XG4gICAgICAgIC5jb250YWluZXJ7XG4gICAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO3RvcDowcHg7XG4gICAgICAgICAgICAgICAgbGVmdDowcHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmxvZ297aGVpZ2h0OjgwcHg7bWFyZ2luLWxlZnQ6MjNweDttYXJnaW4tdG9wOjIwcHg7aW1ne3dpZHRoOjEyMHB4O319XG4gICAgICAgICAgICAgICAgLmJvcmRlcmVke3BhZGRpbmc6MHB4IDgwcHggMCAxMHB4O21hcmdpbi10b3A6NTBweDtib3JkZXI6bm9uZTt9XG4gICAgICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjM1cHg7bGluZS1oZWlnaHQ6NDBweDt9XG4gICAgICAgICAgICAgICAgaDN7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweDt9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbiAgICBcbiAgICBcbiAgICB9XG4gICAgXG4gICAgXG4gICAgXG5cblxuICAgXG4gICAgI3doeS1tdmd7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICBtaW4taGVpZ2h0OjkwMHB4O1xuICAgICAgICBwYWRkaW5nOjEwMHB4IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaDF7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbToxNXB4O31cbiAgICAgICAgaDJ7Zm9udC1zaXplOjI1cHg7dGV4dC1hbGlnbjogY2VudGVyO31cbiAgICAgICAgaDN7Zm9udC1zaXplOjE3cHg7fVxuICAgICAgICBcbiAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgICAgICAuZW1waGFzaXN7QGV4dGVuZCAlZm9udC1ib2xkO2ZvbnQtc3R5bGU6aXRhbGljO31cbiAgICAgICAgICAgICAgICAubnVtYmVyZWQtcG9pbnRze1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzo1MHB4IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wYWRkZWR7cGFkZGluZzoyMHB4IDBweDt9XG4gICAgICAgICAgICAgICAgICAgICAgICAuaW5zZXR7bWFyZ2luLWxlZnQ6MTUlO31cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAjbnVtYmVyLW9uZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2l0ZS9uby0xLnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICNudW1iZXItdHdveyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2l0ZS9uby0yLnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICNudW1iZXItdGhyZWV7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaXRlL25vLTMuc3ZnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZ2FsbGVyeV9hbGx7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgIGhlaWdodDo1MTBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTA3MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMTVweCAxNXB4IHdoaXRlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBoMnt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDBweDt9XG4gICAgICAgICAgICBwe2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjMwcHg7fVxuICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzozMHB4IDUwcHggMHB4IDgwcHg7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXRvcDo0MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgei1pbmRleDozMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAjZ2FsbGVyeS1jb3B5e1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MjUwcHg7cGFkZGluZy1sZWZ0OjUwcHg7cGFkZGluZy1yaWdodDo2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAuZ2FsbGVyeS1zbGlkZXJ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzo0MHB4O1xuICAgICAgICAgICAgICAgIC5pdGVte1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtoZWlnaHQ6NDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtoZWlnaHQ6NDMwcHg7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5zbGljay1wcmV2e2xlZnQ6NTBweDt6LWluZGV4OjEwO2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltYWdlcy9zaXRlL2Fycm93LWxlZnQucG5nKTt9XG4gICAgICAgICAgICAgICAgICAgIC5zbGljay1uZXh0e3JpZ2h0OjUwcHg7ei1pbmRleDoxMDtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvc2l0ZS9hcnJvdy1yaWdodC5wbmcpO31cbiAgICAgICAgICAgICAgICAgICAgLnNsaWNrLWRvdHN7Ym90dG9tOjEwcHg7dGV4dC1hbGlnbjpyaWdodDtyaWdodDozMHB4O31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAvL3NtYWxsIGRlc2t0b3BcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb2wtbWQpIHsgXG4gICAgICAgICAgICAjZ2FsbGVyeS1jb3B5e21hcmdpbi10b3A6MjgwcHg7fVxuICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjMwcHg7fVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvL3RhYmxldFxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDokY29sLXNtKXsgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OjgyMHB4O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDdweCA3cHggd2hpdGU7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaDJ7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjQwcHg7fVxuICAgICAgICAgICAgICAgIHB7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MzBweDttYXJnaW4tYm90dG9tOjJweDt9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO3BhZGRpbmc6MzBweCA1MHB4IDBweCA4MHB4O21hcmdpbi1sZWZ0Oi0zMHB4O21hcmdpbi10b3A6NDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHotaW5kZXg6MzA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICNnYWxsZXJ5LWNvcHl7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6NTBweDtwYWRkaW5nLWxlZnQ6NTBweDtwYWRkaW5nLXJpZ2h0OjYwcHg7cGFkZGluZy10b3A6MjEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgLmdhbGxlcnktc2xpZGVye1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6NDBweDtcbiAgICAgICAgICAgICAgICAuaXRlbXtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7aGVpZ2h0OjQzMHB4O1xuICAgICAgICAgICAgICAgICAgICAuaW1hZ2V7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7aGVpZ2h0OjQzMHB4O31cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuc2xpY2stcHJldntsZWZ0OjUwcHg7ei1pbmRleDoxMDtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvc2l0ZS9hcnJvdy1sZWZ0LnBuZyk7fVxuICAgICAgICAgICAgICAgICAgICAuc2xpY2stbmV4dHtyaWdodDo1MHB4O3otaW5kZXg6MTA7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1hZ2VzL3NpdGUvYXJyb3ctcmlnaHQucG5nKTt9XG4gICAgICAgICAgICAgICAgICAgIC5zbGljay1kb3Rze2JvdHRvbToxMHB4O3RleHQtYWxpZ246cmlnaHQ7cmlnaHQ6MzBweDt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvL21vYmlsZVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDokY29sLXhzKXtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0Ojc1MHB4O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDdweCA3cHggd2hpdGU7XG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICBwe2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjI1cHg7fVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MjBweCAyMHB4IDBweCAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0Oi0yMHB4O21hcmdpbi10b3A6MjVweDtcbiAgICAgICAgICAgICAgICBoMntmb250LXNpemU6MjVweDtsaW5lLWhlaWdodDozNXB4O21hcmdpbi1ib3R0b206MjRweDt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICNnYWxsZXJ5LWNvcHl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowcHg7cGFkZGluZy1sZWZ0OjBweDtwYWRkaW5nLXJpZ2h0OjBweDtwYWRkaW5nLXRvcDoyMTVweDtwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuZ2FsbGVyeS1zbGlkZXJ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6NXB4O1xuICAgICAgICAgICAgICAgICAgICAuaXRlbXtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjQwMHB4O1xuICAgICAgICAgICAgICAgICAgICAuaW1hZ2V7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO31cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5zbGljay1wcmV2e2xlZnQ6MHB4O31cbiAgICAgICAgICAgICAgICAgICAgLnNsaWNrLW5leHR7cmlnaHQ6MHB4O31cbiAgICAgICAgICAgICAgICAgICAgLnNsaWNrLWRvdHN7Ym90dG9tOi0yMHB4O3RleHQtYWxpZ246cmlnaHQ7cmlnaHQ6MzBweDt9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG5cbiAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgfSBcbiAgICAgICAgXG4gICAgICAgIC5wbGFudC1sZWZ0e1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC02MDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMHB4OyBcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibGFjay1saW5lLTQ1e1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xNzBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XG4gICAgICAgIH0gIFxuICAgICAgICAgICAgXG5cbiAgICAgICAgIC5hcnJvdy1kb3due2JvdHRvbTo0MHB4O31cbiAgICAgICAgIFxuXG4gICAgICAgICAgICBcbiAgICAgICAgLy90YWJsZXQgXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wtc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6NTBweCAzNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG5cbiAgICAgICAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjMycHg7dGV4dC1hbGlnbjogY2VudGVyO31cbiAgICAgICAgICAgICAgICAgICAgLm51bWJlcmVkLXBvaW50c3tcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowIDBweDtcbiAgICAgICAgICAgICAgICAgICAgLmluc2V0e21hcmdpbi1sZWZ0Oi0xNXB4O31cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICNudW1iZXItb25le2hlaWdodDo4MHB4O21hcmdpbi1ib3R0b206MTVweDt9XG4gICAgICAgICAgICAgICAgICAgICNudW1iZXItdHdve2hlaWdodDo4MHB4O21hcmdpbi1ib3R0b206MTVweDt9XG4gICAgICAgICAgICAgICAgICAgICNudW1iZXItdGhyZWV7aGVpZ2h0OjgwcHg7bWFyZ2luLWJvdHRvbToxNXB4O31cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnBsYW50LWxlZnR7dG9wOi01NTBweDtsZWZ0Oi0yMDBweDt9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5ibGFjay1saW5lLTQ1e2Rpc3BsYXk6bm9uZTt9XG4gICAgICAgIH0gIFxuICAgICAgICAgXG5cbiAgICAvL21vYmlsZSBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC14cykge1xuICAgICAgICAgICAgbWluLWhlaWdodDo3MDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6NTBweCAxNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgICAgICBoMXtmb250LXNpemU6MzJweDt0ZXh0LWFsaWduOmxlZnQ7fSBcbiAgICAgICAgICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjI1cHg7bGluZS1oZWlnaHQ6MjVweDt0ZXh0LWFsaWduOmxlZnQ7fVxuICAgICAgICAgICAgICAgICAgICAubnVtYmVyZWQtcG9pbnRze1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjAgMTVweDtcbiAgICAgICAgICAgICAgICAgICAgLmluc2V0e21hcmdpbi1sZWZ0OjA7fVxuICAgICAgICAgICAgICAgICAgICAjbnVtYmVyLW9uZXtoZWlnaHQ6ODBweDttYXJnaW4tYm90dG9tOjMwcHg7fVxuICAgICAgICAgICAgICAgICAgICAjbnVtYmVyLXR3b3toZWlnaHQ6ODBweDttYXJnaW4tYm90dG9tOjMwcHg7fVxuICAgICAgICAgICAgICAgICAgICAjbnVtYmVyLXRocmVle2hlaWdodDo4MHB4O21hcmdpbi1ib3R0b206MzBweDt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgICAgIC5wbGFudC1sZWZ0e2Rpc3BsYXk6bm9uZTt9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5ibGFjay1saW5lLTQ1e2Rpc3BsYXk6bm9uZTt9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICBcbiAgICB9ICAgIFxuICAgIFxuICAgIFxuICAgIFxuIFxuICAgIFxuICAgIC5vdXJnYXJkZW5zX2FsbHtcbiAgICAgICAgcGFkZGluZzoxNTBweCAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwNzBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIFxuICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgIGgye2NvbG9yOmJsYWNrO3RleHQtYWxpZ246bGVmdDtAZXh0ZW5kICVmb250LWZhbmN5LWJvbGQ7fVxuICAgICAgICAgICAgaDN7Y29sb3I6d2hpdGU7QGV4dGVuZCAlZm9udC1mYW5jeS1ib2xkO2ZvbnQtc2l6ZTo1NXB4O31cbiAgICAgICAgICAgIGg0e2NvbG9yOmJsYWNrO2ZvbnQtc2l6ZTogMTlweDttYXJnaW4tdG9wOjIwcHg7bGluZS1oZWlnaHQ6IDMwcHg7fVxuICAgICAgICAgICAgaDV7QGV4dGVuZCAlZm9udC1saWdodDtmb250LXNpemU6MTZweDttYXJnaW4tdG9wOjE1cHg7fVxuICAgICAgICAgICAgLnBhZGRlZHtwYWRkaW5nOjYwcHggMHB4O31cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgI2dhcmRlbi1sZWZ0e2ltZ3t3aWR0aDoxMDAlO2JveC1zaGFkb3c6IC0xNXB4IDE1cHggYmxhY2s7fX1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgI2dhcmRlbi10ZXh0LXJpZ2h0e1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MjAwcHg7XG4gICAgICAgICAgICAgICAgLnN0cmlwe2JhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzo0MHB4IDAgNDBweCAxMDBweDttYXJnaW46NTBweCAwIDAgLTEwMHB4O3dpZHRoOjU0N3B4O31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAjZ2FyZGVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjBweDttYXJnaW4tbGVmdDowcHg7IGltZ3t3aWR0aDoxMDAlO2JveC1zaGFkb3c6IDE1cHggMTVweCBibGFjazt9fVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAjZ2FyZGVuLXRleHQtbGVmdHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjBweCA1MHB4IDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDoxNTBweDtcbiAgICAgICAgICAgICAgICAuc3RyaXB7YmFja2dyb3VuZC1jb2xvcjpibGFjaztwYWRkaW5nOjMwcHggMCAzMHB4IDEwMHB4O21hcmdpbjotMTAwcHggMCAwIC0xMDBweDt3aWR0aDo1NTBweDtwb3NpdGlvbjphYnNvbHV0ZTt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgICBcbiAgICAgXG4gICAgICAgIFxuICAgICAgICAvL21vYmlsZSBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC14cykge1xuICAgICAgICAgICAgbWluLWhlaWdodDo3MDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6NTBweCAxNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgICAgICAgICAgLnBhZGRlZHtwYWRkaW5nOjMwcHggMHB4O31cbiAgICAgICAgICAgICAgICAgICAgaDR7cGFkZGluZy1yaWdodDo5MHB4O31cbiAgICAgICAgICAgICAgICAgICAgI2dhcmRlbi1sZWZ0e2ltZ3t3aWR0aDoxMDAlO2JveC1zaGFkb3c6IC0xNXB4IDE1cHggYmxhY2s7fX1cblxuICAgICAgICAgICAgICAgICAgICAjZ2FyZGVuLXRleHQtcmlnaHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaDN7Zm9udC1zaXplOjM1cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0cmlwe2JhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzoyMHB4IDUwcHg7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDowcHg7d2lkdGg6MTAwJTt9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI2dhcmRlbi1yaWdodHtwYWRkaW5nLWxlZnQ6MHB4O2ltZ3t3aWR0aDoxMDAlO2JveC1zaGFkb3c6IDE1cHggMTVweCBibGFjazt9fVxuXG4gICAgICAgICAgICAgICAgICAgICNnYXJkZW4tdGV4dC1sZWZ0e1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDowcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaDN7Zm9udC1zaXplOjM1cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgaDV7bWFyZ2luLXRvcDo1cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzoyMHB4IDUwcHg7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDowcHg7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAubW9iaWxlLXRleHR7cGFkZGluZy10b3A6MTAwcHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vdGFibGV0IFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXNtKSB7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6MTQwMHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nOjUwcHggMTVweCAxMDBweCAxNXB4O1xuICAgICAgICAgICAgICAuYnRue21hcmdpbi1ib3R0b206MjBweDt9XG4gICAgICAgICAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICAgICAgICAgIC5wYWRkZWR7cGFkZGluZzowcHg7fVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgI2dhcmRlbi10ZXh0LXJpZ2h0e1xuICAgICAgICAgICAgICAgICAgICAgICAgaDN7Zm9udC1zaXplOjM1cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgaDR7cGFkZGluZy1yaWdodDo5MHB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdHJpcHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO3BhZGRpbmc6MjBweCA1MHB4O21hcmdpbi1sZWZ0Oi01MHB4O21hcmdpbi10b3A6MHB4O3dpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICNnYXJkZW4tbGVmdHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZ3t3aWR0aDo4MCU7bWFyZ2luLWxlZnQ6MTBweDt9fVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICNnYXJkZW4tdGV4dC1sZWZ0e1xuICAgICAgICAgICAgICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDotNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDo3MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAjZ2FyZGVuLXJpZ2h0e3BhZGRpbmctbGVmdDowcHg7aW1ne3dpZHRoOjk1JTttYXJnaW4tbGVmdDoxMHB4O319XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmFycm93LWRvd257Ym90dG9tOjQwcHg7fVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vc21hbGwgZGVza3RvcCBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC1tZCkge1xuICAgICAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgICAgICAucGFkZGVke3BhZGRpbmc6MzBweCAwcHg7fVxuICAgICAgICAgICAgICAgICAgICBoM3tmb250LXNpemU6MzVweDt9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAjZ2FyZGVuLXRleHQtcmlnaHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RyaXB7bWFyZ2luOjAgMCAwIC0xMDBweDtwYWRkaW5nOjIwcHggMTAwcHggMjBweCA5NXB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjZ2FyZGVuLXRleHQtbGVmdHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGg1e21hcmdpbi10b3A6NXB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdHJpcHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzoyMHB4IDEwMHB4IDIwcHggOTVweDttYXJnaW4tdG9wOjBweDt3aWR0aDoxNTAlO3Bvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1vYmlsZS10ZXh0e3BhZGRpbmctdG9wOjEwMHB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICBcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICBcbiAgICBcbiAgICBcbiAgICAgLmluc3RhZ3JhbV9hbGx7XG4gICAgICAgIHBhZGRpbmc6MTAwcHggMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvci1wcmltYXJ5O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGgye2NvbG9yOndoaXRlO3RleHQtYWxpZ246bGVmdDtAZXh0ZW5kICVmb250LWZhbmN5LWJvbGQ7cGFkZGluZy1sZWZ0OjE2cHg7bWFyZ2luLWJvdHRvbToxMHB4O31cbiAgICAgICAgI3NiX2luc3RhZ3JhbSB7XG4gICAgICAgICAgICAuc2JpX2ZvbGxvd19idG4ge2F7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE2cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzoxMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOjEuOHB4O1xuICAgICAgICAgICAgICAgIH19fVxuICAgICAgICBcbiAgICAgICAgLmJsYWNrLWxpbmUtNDV7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjcwcHg7XG4gICAgICAgICAgICBsZWZ0OiAtMjAwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxNTtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIFxuICAgICAgICAgLy9tb2JpbGVcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC1zbSkge1xuICAgICAgICAgICAgcGFkZGluZzo0MHB4IDBweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmJsYWNrLWxpbmUtNDV7ZGlzcGxheTpub25lO31cbiAgICAgICAgXG4gICAgICAgICB9XG4gICAgICAgICBcbiAgICAgICAgLy9zbWFsbCBkZXNrdG9wXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wtbWQpIHtcbiAgICAgICAgICAgIC5ibGFjay1saW5lLTQ1e1xuICAgICAgICAgICAgICAgIHRvcDphdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTotMTk1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDotMjUwcHg7fVxuICAgICAgICBcbiAgICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIFxuIFxuICAgIFxuICAgIC5zdWJzY3JpYmVfYWxse1xuICAgICAgICBwYWRkaW5nOiAxMDBweCAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6NDkwcHg7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NpdGUvc3Vic2NyaWJlLWJhY2tncm91bmQuanBnKTtcbiAgICAgICAgaDJ7Y29sb3I6YmxhY2s7Zm9udC1zaXplOjU3cHg7bGluZS1oZWlnaHQ6NTRweDt9XG4gICAgICAgIGgze2NvbG9yOmJsYWNrO3BhZGRpbmctbGVmdDogNDBweDt9XG4gICAgICAgIFxuICAgICAgICAuY29udGFpbmVye1xuICAgICAgICBcbiAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgI21haWxjaGltcCBpbnB1dHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgI21haWxjaGltcCAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgfSAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgLy9tb2JpbGVcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC14cykge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOjY1cHggMHB4O1xuICAgICAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjQ1cHg7fVxuICAgICAgICAgICAgICAgIGgze2ZvbnQtc2l6ZToxOXB4O2xpbmUtaGVpZ2h0OjI2cHg7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIC8vdGFibGV0XG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wtc20pIHtcbiAgICAgICAgICAgIGgze3BhZGRpbmctbGVmdDogMTIwcHg7fVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIC8vc21hbGwgZGVza3RvcFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLW1kKSB7XG4gICAgICAgICAgICBoM3twYWRkaW5nLWxlZnQ6IDQwcHg7fSBcbiAgICAgICAgfSAgICAgICAgXG5cblxuXG5cbiAgICAgICAgXG4gICAgfSBcblxuICAgIFxuICAgIFxuICAgIFxuICAgICAuY29udGFjdF9hbGx7XG4gICAgICAgIHBhZGRpbmc6MTAwcHggMHB4OyBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7IFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBleHRlbmQgJWZvbnQ7XG4gICAgICAgIGxhYmVse2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxNXB4O31cbiAgICAgICAgLnRleHR7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjcwcHg7XG4gICAgICAgICAgICBoMntmb250LXNpemU6NTBweDttYXJnaW4tYm90dG9tOjUwcHg7fVxuICAgICAgICAgICAgaDR7bWFyZ2luLWJvdHRvbTogMTBweDt9XG4gICAgICAgICAgICBwe0BleHRlbmQgJWZvbnQtbGlnaHQ7Zm9udC1zaXplOiAxOHB4O2xpbmUtaGVpZ2h0OiAyMnB4O31cbiAgICAgICAgICAgIGg1e0BleHRlbmQgJWZvbnQ7bWFyZ2luLWJvdHRvbTo1cHg7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MjNweDt9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICNkaXJlY3Rvci1kZXRhaWxze1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgfSAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG5cbiAgICAgICAgXG4gICAgICAgIC5mb3Jte3RleHQtYWxpZ246bGVmdDt9XG4gICAgIFxuICAgICAgICAud2hpdGUtbGluZS00NXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtODBweDtcbiAgICAgICAgICAgIHJpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTU7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgXG4gICAgLy9zbWFsbCBkZXNrdG9wIFxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wtbWQpIHtcbiAgICAgICAgXG4gICAgICAgIC53aGl0ZS1saW5lLTQ1e1xuICAgICAgICAgICAgdG9wOiAtMjUwcHg7XG4gICAgICAgICAgICByaWdodDogLTIwMHB4O1xuICAgICAgICAgICAgfVxuICAgIH0gICAgICAgICBcbiAgICAgICAgIFxuICAgIC8vbW9iaWxlIFxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRjb2wteHMpIHtcbiAgICAgICBwYWRkaW5nOjQwcHggMHB4O1xuICAgICAgICAudGV4dHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xuICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjMwcHg7bWFyZ2luLWJvdHRvbToyMHB4O31cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLndoaXRlLWxpbmUtNDV7ZGlzcGxheTpub25lO31cbiAgICB9ICAgXG4gICAgXG4gICAgLy90YWJsZXQgXG4gICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC1zbSkge1xuICAgICAgICBcbiAgICAgICAgLndoaXRlLWxpbmUtNDV7ZGlzcGxheTpub25lO31cbiAgICB9ICAgXG4gICAgICAgICBcbn0gICBcbiAgICBcbiAgICBcbiAgICBcblxuICAgIFxuICAgIFxuICAgIFxuXG4gICAgXG59XG5cbi8qIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjKi9cbi8qIGRpeSBwYWdlICovXG4vKiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyovXG4uZGl5X3BhZ2V7IFxuXG4gICAgbWluLWhlaWdodDoxMDBweDtcblxuICAgIFxuLmludHJvX2FsbHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OjcwMHB4O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2l0ZS9wbGFudC1yaWdodC5wbmcpOyAgICAgICAgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgXG4gICAgICAgIFxuICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgIGgze21hcmdpbi1ib3R0b206IDEwcHg7fVxuICAgICAgICAgICAgICAgIGg0e21hcmdpbi1ib3R0b206IDEwcHg7fVxuICAgICAgICAgICAgICAgIGg1e21hcmdpbi1ib3R0b206IDEwcHg7fVxuICAgICAgICAgICAgICAgIGg2e21hcmdpbi1ib3R0b206IDEwcHg7fVxuICAgICAgICAgICAgICAgIHB7bWFyZ2luLXRvcDoyMHB4O31cbiAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5sb2dve1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0Ojg1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWd7d2lkdGg6MTkwcHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kaXktaW50cm97XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OjM1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDo4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6NzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgLnNhbGVfYWxse1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIGhlaWdodDo1MTBweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwNzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDE1cHggMTVweCB3aGl0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweCA4N3B4O1xuXG4gICAgICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO3BhZGRpbmc6MzBweCA1MHB4IDBweCA4MHB4O21hcmdpbi1sZWZ0Oi0zMHB4O21hcmdpbi10b3A6NDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHotaW5kZXg6MzA7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBoMntcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTozMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6NDBweDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAuc21hbGx7Y29sb3I6IHdoaXRlO31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAjZ2FsbGVyeS1jb3B5e1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjI5MHB4O3BhZGRpbmctbGVmdDo1MHB4O3BhZGRpbmctcmlnaHQ6NjBweDtcbiAgICAgICAgICAgICAgICAgICAgcHtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDozMHB4O31cbiAgICAgICAgICAgICAgICAgICAgYXtjb2xvcjogd2hpdGU7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgIC5nYWxsZXJ5LXNsaWRlcntcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzo0MHB4O1xuICAgICAgICAgICAgICAgICAgICAuaXRlbXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO2hlaWdodDo0MzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtoZWlnaHQ6NDMwcHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xpY2stcHJldntsZWZ0OjUwcHg7ei1pbmRleDoxMDtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvc2l0ZS9hcnJvdy1sZWZ0LnBuZyk7fVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWNrLW5leHR7cmlnaHQ6NTBweDt6LWluZGV4OjEwO2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltYWdlcy9zaXRlL2Fycm93LXJpZ2h0LnBuZyk7fVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWNrLWRvdHN7Ym90dG9tOjEwcHg7dGV4dC1hbGlnbjpyaWdodDtyaWdodDozMHB4O31cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAgLmFycm93LWRvd257Ym90dG9tOjQwcHg7fVxuICAgIFxuICAgICAgICAvL3NtYWxsIGRlc2t0b3BcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb2wtbWQpIHsgXG4gICAgICAgICAgICAjZ2FsbGVyeS1jb3B5e21hcmdpbi10b3A6MjgwcHg7fVxuICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjMwcHg7fVxuICAgICAgICB9XG4gICAgXG4gICAgXG4gICAgXG4gICAgICAgIC8vdGFibGV0IFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXNtKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OjUwMHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogN3B4IDdweCB3aGl0ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5sb2dve2hlaWdodDoxMDBweDttYXJnaW4tbGVmdDowcHg7bWFyZ2luLXRvcDozMHB4O2ltZ3t3aWR0aDoxNjBweDt9fVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmRpeS1pbnRyb3ttYXJnaW4tbGVmdDowcHg7fVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLnNhbGVfYWxseyBcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6OTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuc3RyaXB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO3BhZGRpbmc6MzBweCA1MHB4IDBweCA4MHB4O21hcmdpbi1sZWZ0Oi0zMHB4O21hcmdpbi10b3A6NDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHotaW5kZXg6MzA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoMnt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDBweDt9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjZ2FsbGVyeS1jb3B5e1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDo1MHB4O3BhZGRpbmctbGVmdDo1MHB4O3BhZGRpbmctcmlnaHQ6NjBweDtwYWRkaW5nLXRvcDoyMzBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcHtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDozMHB4O21hcmdpbi1ib3R0b206MnB4O31cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmdhbGxlcnktc2xpZGVye1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjQwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5pdGVte1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7aGVpZ2h0OjQzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdle2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO2hlaWdodDo0MzBweDt9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbGljay1wcmV2e2xlZnQ6NTBweDt6LWluZGV4OjEwO2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltYWdlcy9zaXRlL2Fycm93LWxlZnQucG5nKTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xpY2stbmV4dHtyaWdodDo1MHB4O3otaW5kZXg6MTA7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1hZ2VzL3NpdGUvYXJyb3ctcmlnaHQucG5nKTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xpY2stZG90c3tib3R0b206MTBweDt0ZXh0LWFsaWduOnJpZ2h0O3JpZ2h0OjMwcHg7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vbW9iaWxlIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXhzKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OjUwMHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogN3B4IDdweCB3aGl0ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC5sb2dve2hlaWdodDo4MHB4O21hcmdpbi1sZWZ0OjhweDttYXJnaW4tdG9wOjIwcHg7aW1ne3dpZHRoOjEyMHB4O319XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuZGl5LWludHJve1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDozODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6NTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjBweDt9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuc2FsZV9hbGx7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBweCAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0Ojg1MHB4O1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjIwcHggMjBweCAwcHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6LTIwcHg7bWFyZ2luLXRvcDoyNXB4OyBcbiAgICAgICAgICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjI1cHg7bGluZS1oZWlnaHQ6MzVweDttYXJnaW4tYm90dG9tOjI0cHg7fVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI2dhbGxlcnktY29weXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowcHg7cGFkZGluZy1sZWZ0OjBweDtwYWRkaW5nLXJpZ2h0OjBweDtwYWRkaW5nLXRvcDoyMDBweDtwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmdhbGxlcnktc2xpZGVye1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzo1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAuaXRlbXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDo0MDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWNrLXByZXZ7bGVmdDowcHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWNrLW5leHR7cmlnaHQ6MHB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbGljay1kb3Rze2JvdHRvbTotMjBweDt0ZXh0LWFsaWduOnJpZ2h0O3JpZ2h0OjMwcHg7fVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4vLyAgICAgICAgICAgICAgICAgICAgaDF7Zm9udC1zaXplOjQ1cHg7bGluZS1oZWlnaHQ6NDVweDttYXJnaW4tYm90dG9tOjE1cHg7fVxuLy8gICAgICAgICAgICAgICAgICAgIGgye2ZvbnQtc2l6ZTozNXB4O2xpbmUtaGVpZ2h0OjQwcHg7bWFyZ2luLWJvdHRvbToxNXB4O31cbi8vICAgICAgICAgICAgICAgICAgICBoM3tmb250LXNpemU6MzBweDtsaW5lLWhlaWdodDozNXB4O21hcmdpbi1ib3R0b206MTVweDt9XG4vLyAgICAgICAgICAgICAgICAgICAgaDR7bWFyZ2luLWJvdHRvbToxNXB4O31cbi8vICAgICAgICAgICAgICAgICAgICBoNXttYXJnaW4tYm90dG9tOjE1cHg7fVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgIFxuICAgIH0gICAgXG4gICAgXG4gICAgXG4gICAgXG4gXG4gICAgXG4gICAgLmRpeWtpdHNfYWxse1xuICAgICAgICBwYWRkaW5nOjE1MHB4IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTA3MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgXG4gICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgaDJ7Y29sb3I6YmxhY2s7dGV4dC1hbGlnbjpsZWZ0O0BleHRlbmQgJWZvbnQtZmFuY3ktYm9sZDt9XG4gICAgICAgICAgICBoM3tjb2xvcjp3aGl0ZTtAZXh0ZW5kICVmb250LWZhbmN5LWJvbGQ7Zm9udC1zaXplOjU1cHg7fVxuICAgICAgICAgICAgaDR7Y29sb3I6YmxhY2s7Zm9udC1zaXplOiAxOXB4O21hcmdpbi10b3A6MjBweDtsaW5lLWhlaWdodDogMzBweDt9XG4gICAgICAgICAgICBoNXtAZXh0ZW5kICVmb250LWxpZ2h0O2ZvbnQtc2l6ZToxNnB4O21hcmdpbi10b3A6MTVweDt9XG4gICAgICAgICAgICAucGFkZGVke3BhZGRpbmc6NjBweCAwcHg7fVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAjZ2FyZGVuLWxlZnR7aW1ne3dpZHRoOjEwMCU7Ym94LXNoYWRvdzogLTE1cHggMTVweCBibGFjazt9fVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAjZ2FyZGVuLXRleHQtcmlnaHR7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDoyMDBweDtcbiAgICAgICAgICAgICAgICAuc3RyaXB7YmFja2dyb3VuZC1jb2xvcjpibGFjaztwYWRkaW5nOjQwcHggMCA0MHB4IDEwMHB4O21hcmdpbjo1MHB4IDAgMCAtMTAwcHg7d2lkdGg6NTQ3cHg7fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICNnYXJkZW4tcmlnaHR7cGFkZGluZy1yaWdodDoyMHB4O21hcmdpbi1sZWZ0OjBweDsgaW1ne3dpZHRoOjEwMCU7Ym94LXNoYWRvdzogMTVweCAxNXB4IGJsYWNrLCAtMXB4IDFweCA0cHggMHB4IHJnYmEoMCwwLDAsMC4xNik7fX1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgI2dhcmRlbi10ZXh0LWxlZnR7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowcHggNTBweCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTUwcHg7XG4gICAgICAgICAgICAgICAgLnN0cmlwe2JhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzozMHB4IDAgMzBweCAxMDBweDttYXJnaW46LTEwMHB4IDAgMCAtMTAwcHg7d2lkdGg6NTUwcHg7cG9zaXRpb246YWJzb2x1dGU7fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfSBcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgLmJsYWNrLWxpbmUtNDV7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxNTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9ICBcbiAgICAgXG4gICAgICAgIFxuICAgICAgICAvL21vYmlsZSBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC14cykge1xuICAgICAgICAgICAgbWluLWhlaWdodDo3MDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6NTBweCAxNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgICAgICAgICAgLnBhZGRlZHtwYWRkaW5nOjMwcHggMHB4O31cbiAgICAgICAgICAgICAgICAgICAgaDR7cGFkZGluZy1yaWdodDo5MHB4O31cbiAgICAgICAgICAgICAgICAgICAgI2dhcmRlbi1sZWZ0e2ltZ3t3aWR0aDoxMDAlO2JveC1zaGFkb3c6IC0xNXB4IDE1cHggYmxhY2s7fX1cblxuICAgICAgICAgICAgICAgICAgICAjZ2FyZGVuLXRleHQtcmlnaHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaDN7Zm9udC1zaXplOjM1cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0cmlwe2JhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzoyMHB4IDUwcHg7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDowcHg7d2lkdGg6MTAwJTt9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI2dhcmRlbi1yaWdodHtwYWRkaW5nLWxlZnQ6MHB4O2ltZ3t3aWR0aDoxMDAlO2JveC1zaGFkb3c6IDE1cHggMTVweCBibGFjazt9fVxuXG4gICAgICAgICAgICAgICAgICAgICNnYXJkZW4tdGV4dC1sZWZ0e1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDowcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaDN7Zm9udC1zaXplOjM1cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgaDV7bWFyZ2luLXRvcDo1cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzoyMHB4IDUwcHg7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDowcHg7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAubW9iaWxlLXRleHR7cGFkZGluZy10b3A6MTAwcHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vdGFibGV0IFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXNtKSB7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6MTQwMHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nOjUwcHggMTVweCAxMDBweCAxNXB4O1xuICAgICAgICAgICAgICAuYnRue21hcmdpbi1ib3R0b206MjBweDt9XG4gICAgICAgICAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICAgICAgICAgIC5wYWRkZWR7cGFkZGluZzowcHg7fVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgI2dhcmRlbi10ZXh0LXJpZ2h0e1xuICAgICAgICAgICAgICAgICAgICAgICAgaDN7Zm9udC1zaXplOjM1cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgaDR7cGFkZGluZy1yaWdodDo5MHB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdHJpcHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO3BhZGRpbmc6MjBweCA1MHB4O21hcmdpbi1sZWZ0Oi01MHB4O21hcmdpbi10b3A6MHB4O3dpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICNnYXJkZW4tbGVmdHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZ3t3aWR0aDo4MCU7bWFyZ2luLWxlZnQ6MTBweDt9fVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICNnYXJkZW4tdGV4dC1sZWZ0e1xuICAgICAgICAgICAgICAgICAgICAgICAgLnN0cmlwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDotNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDo3MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAjZ2FyZGVuLXJpZ2h0e3BhZGRpbmctbGVmdDowcHg7aW1ne3dpZHRoOjk1JTttYXJnaW4tbGVmdDoxMHB4O319XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYmxhY2stbGluZS00NXtkaXNwbGF5OiBub25lO31cbiAgICAgICAgICAgICAgICAgICAgLmFycm93LWRvd257Ym90dG9tOjQwcHg7fVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vc21hbGwgZGVza3RvcCBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC1tZCkge1xuICAgICAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgICAgICAucGFkZGVke3BhZGRpbmc6MzBweCAwcHg7fVxuICAgICAgICAgICAgICAgICAgICBoM3tmb250LXNpemU6MzVweDt9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAjZ2FyZGVuLXRleHQtcmlnaHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RyaXB7bWFyZ2luOjAgMCAwIC0xMDBweDtwYWRkaW5nOjIwcHggMTAwcHggMjBweCA5NXB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjZ2FyZGVuLXRleHQtbGVmdHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGg1e21hcmdpbi10b3A6NXB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdHJpcHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6YmxhY2s7cGFkZGluZzoyMHB4IDEwMHB4IDIwcHggOTVweDttYXJnaW4tdG9wOjBweDt3aWR0aDoxNTAlO3Bvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1vYmlsZS10ZXh0e3BhZGRpbmctdG9wOjEwMHB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICBcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICBcbiAgICBcblxuXG4gICAgXG4gICAgXG4gICAgXG4gICAgIC5vcmRlcl9hbGx7XG4gICAgICAgIHBhZGRpbmc6MTAwcHggMHB4OyBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7IFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBleHRlbmQgJWZvbnQ7XG4gICAgICAgIGxhYmVse2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxNXB4O31cbiAgICAgICAgLnRleHR7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjcwcHg7XG4gICAgICAgICAgICBoMntmb250LXNpemU6NTBweDttYXJnaW4tYm90dG9tOjUwcHg7fVxuICAgICAgICAgICAgcHtAZXh0ZW5kICVmb250LWxpZ2h0O2ZvbnQtc2l6ZTogMThweDtsaW5lLWhlaWdodDogMjJweDt9XG4gICAgICAgICAgICBoNXtAZXh0ZW5kICVmb250O21hcmdpbi1ib3R0b206NXB4O2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjIzcHg7fVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcblxuICAgICAgICBcbiAgICAgICAgLmZvcm17dGV4dC1hbGlnbjpsZWZ0O31cbiAgICAgXG4gICAgICAgIC53aGl0ZS1saW5lLTQ1e1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC04MHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDgwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxNTtcbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICBcbiAgICAvL3NtYWxsIGRlc2t0b3AgXG4gICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC1tZCkge1xuICAgICAgICBcbiAgICAgICAgLndoaXRlLWxpbmUtNDV7XG4gICAgICAgICAgICB0b3A6IC0yNTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgfSAgICAgICAgIFxuICAgICAgICAgXG4gICAgLy9tb2JpbGUgXG4gICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC14cykge1xuICAgICAgIHBhZGRpbmc6NDBweCAwcHg7XG4gICAgICAgIC50ZXh0e1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgICAgICAgICBoMntmb250LXNpemU6MzBweDttYXJnaW4tYm90dG9tOjIwcHg7fVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAud2hpdGUtbGluZS00NXtkaXNwbGF5Om5vbmU7fVxuICAgIH0gICBcbiAgICBcbiAgICAvL3RhYmxldCBcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXNtKSB7XG4gICAgICAgIFxuICAgICAgICAud2hpdGUtbGluZS00NXtkaXNwbGF5Om5vbmU7fVxuICAgIH0gICBcbiAgICAgICAgIFxufSAgIFxuICAgIFxuICAgIFxuICAgIFxuICAgIH1cbiAgICBcbiAgICBcblxuXG5cblxuXG5cblxuXG5cbi8qIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjKi9cbi8qIGxhbmRpbmcgcGFnZSAqL1xuLyojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMqL1xuIC5sYW5kaW5nX3BhZ2V7XG4gXG4gICAgLmxhbmRpbmdfYWxse1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDo5NXZoO1xuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6YmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2l0ZS9wbGFudC1yaWdodC5wbmcpOyAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuXG4gICAgICAgIC5jb250YWluZXJ7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICAgICAgaDN7bWFyZ2luLWJvdHRvbTogMTBweDt9XG4gICAgICAgICAgICAgICAgaDR7bWFyZ2luLWJvdHRvbTogMTBweDt9XG4gICAgICAgICAgICAgICAgaDV7bWFyZ2luLWJvdHRvbTogMTBweDt9XG4gICAgICAgICAgICAgICAgaDZ7bWFyZ2luLWJvdHRvbTogMTBweDt9XG4gICAgICAgICAgICAgICAgcHttYXJnaW4tdG9wOjIwcHg7fVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAubG9nb3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDo4NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1ne3dpZHRoOjE5MHB4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtZmllbGR7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OjQ1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDo4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6NzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrcXVvdGV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB7QGV4dGVuZCAlZm9udC1mYW5jeTtmb250LXNpemU6MjVweDtsaW5lLWhlaWdodDozNXB4O3BhZGRpbmc6MjBweCA1cHg7bWFyZ2luOjA7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGltZ3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bzt9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRue21hcmdpbi10b3A6MzBweDttYXJnaW4tYm90dG9tOjMwcHg7IHotaW5kZXg6MTEwO31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAvL3RhYmxldCBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC1zbSkge1xuICAgICAgICAgICAgbWluLWhlaWdodDoxMDAwcHg7XG4gICAgICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgLmxvZ297aGVpZ2h0OjEwMHB4O21hcmdpbi1sZWZ0OjBweDttYXJnaW4tdG9wOjMwcHg7aW1ne3dpZHRoOjE2MHB4O319XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vbW9iaWxlIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXhzKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OjEwMDBweDtcbiAgICAgICAgICAgIC5jb250YWluZXJ7XG4gICAgICAgICAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxvZ297aGVpZ2h0OjgwcHg7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi10b3A6MjBweDtpbWd7d2lkdGg6MTIwcHg7fX1cbiAgICAgICAgICAgICAgICAgICAgLmlucHV0LWZpZWxke1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDo0NTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6NTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjBweDt9XG4gICAgICAgICAgICAgICAgICAgIGgxe2ZvbnQtc2l6ZTo0NXB4O2xpbmUtaGVpZ2h0OjQ1cHg7bWFyZ2luLWJvdHRvbToxNXB4O31cbiAgICAgICAgICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjM1cHg7bGluZS1oZWlnaHQ6NDBweDttYXJnaW4tYm90dG9tOjE1cHg7fVxuICAgICAgICAgICAgICAgICAgICBoM3tmb250LXNpemU6MzBweDtsaW5lLWhlaWdodDozNXB4O21hcmdpbi1ib3R0b206MTVweDt9XG4gICAgICAgICAgICAgICAgICAgIGg0e21hcmdpbi1ib3R0b206MTVweDt9XG4gICAgICAgICAgICAgICAgICAgIGg1e21hcmdpbi1ib3R0b206MTVweDt9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICBcbiAgICB9XG4gIFxuXG4gICAgXG5cbiAgICBcbiB9XG5cblxuXG5cblxuXG4vKiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyovXG4vKiA0MDQgcGFnZSAqL1xuLyojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMqL1xuIC5lcnJvcjQwNF9wYWdle1xuIFxuICBcbiAgICAuZXJyb3I0MDRfYWxse1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6OTV2aDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NpdGUvcGxhbnQtcmlnaHQucG5nKTsgICAgICAgIFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIFxuICAgICAgICBcbiAgICAuY29udGFpbmVye1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjEwMHB4O2xlZnQ6MTAwcHg7XG4gICAgICAgICAgICBjb2xvcjp3aGl0ZTt6LWluZGV4OjEwO3RleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICAgIGgye2ZvbnQtc2l6ZTogNjBweDttYXJnaW4tYm90dG9tOiA0MHB4O2xpbmUtaGVpZ2h0OjY1cHg7fVxuICAgICAgICAgICAgICAgIC5sb2dve1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0Ojg1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWd7d2lkdGg6MTkwcHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm9oLWRlYXJ7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6NDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MTAwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLmJ0bnttYXJnaW4tdG9wOjMwcHg7ei1pbmRleDoxMTA7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgXG4gICAgLy90YWJsZXQgXG4gICAgQG1lZGlhKG1heC13aWR0aDogJGNvbC1zbSkge1xuICAgICAgICBtaW4taGVpZ2h0OjEwMDBweDtcbiAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7dG9wOjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OjBweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubG9nb3toZWlnaHQ6MTAwcHg7bWFyZ2luLWxlZnQ6MHB4O21hcmdpbi10b3A6MzBweDtpbWd7d2lkdGg6MTYwcHg7fX1cbiAgICAgICAgICAgICAgICAub2gtZGVhcntwYWRkaW5nOjBweCA1MHB4IDAgMjBweDttYXJnaW4tdG9wOjgwcHg7fSAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvL21vYmlsZSBcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkY29sLXhzKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6MTAwMHB4O1xuICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTt0b3A6MHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6MHB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5sb2dve2hlaWdodDo4MHB4O21hcmdpbi1sZWZ0OjIzcHg7bWFyZ2luLXRvcDoyMHB4O2ltZ3t3aWR0aDoxMjBweDt9fVxuICAgICAgICAgICAgICAgIC5vaC1kZWFye3BhZGRpbmc6MHB4IDgwcHggMCAyMHB4O21hcmdpbi10b3A6NTBweDtib3JkZXI6bm9uZTt9XG4gICAgICAgICAgICAgICAgaDJ7Zm9udC1zaXplOjM1cHg7bGluZS1oZWlnaHQ6NDBweDt9XG4gICAgICAgICAgICAgICAgaDN7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweDt9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAgICAgXG4gICAgfVxuICAgIFxuXG4gICAgXG5cbiAgICBcbiB9XG4gXG5cbiBcblxuXG4iXX0= */
