/**
 * Colors Sets
*/
/**
 * Fonts Sets
*/
/**
 * Grid Sets
*/
/*
* Media Queries Break Points
*/
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block; }



body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff; }

[tabindex="-1"]:focus {
  outline: 0 !important; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

@media all and (max-width: 881px) {
  .main-menu .left-side, .main-menu .right-side {
    display: none;
  }
  .main-menu {
    text-align: center;
  }
  .logo {
    margin: 0 auto !important;
  }
}

.margin-auto {
  margin: 0 auto !important;
}

@media all and (max-width: 768px) {
  .margin-auto-mobile {
    margin: 0 auto !important;
  }
}

.vertical-aling {
  display: grid;
  align-content: center;
}


abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0; }

dt {
  font-weight: 700; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent; }

a:hover {
  color: #0056b3;
  text-decoration: underline; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none; }

a:not([href]):not([tabindex]):focus {
  outline: 0; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: inherit; }

label {
  display: inline-block;
  margin-bottom: 0.5rem; }

button {
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

select {
  word-wrap: normal; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0; }

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

/*# sourceMappingURL=bootstrap-reboot.css.map */
/**
 * Transition Sets
*/
/* Convert a px value to percentage */
/* input-placeholder */
.container {
  margin: 0 auto;
  max-width: 65.875rem;
  padding: 0 0.9375rem;
  width: 100%; }

.container-reduced {
  max-width: 45.5625rem;
  padding: 0 0.9375rem;
  width: 100%; }

.button {
  background: rgb(244,28,107);
background: linear-gradient(356deg, rgba(244,28,107,1) 0%, rgba(255,94,154,1) 100%);
    /* border: 1px solid #e20657; */
    border-radius: 45px;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    line-height: 20px;
    margin: 0 auto;
    padding: 18px 35px;
    text-align: center;
    transition: ease-in-out .3s; }
  .button-text {
    font-size: 18px; font-weight: 500; }
    .button-text span {
      display: block;
      margin-bottom: 5px;
      font-weight: 700;
      letter-spacing: -1px;
    }
    .button-text small {
      display: block;
      font-size: 10px; }
  .button:hover {
    background: #a5245c;
    color: #fff;
    text-decoration: none; }
  @media all and (min-width: 729px) {
    .button-text {
      font-size: 22px; }
      .button-text small {
        font-size: 13px; } }

.btn-top {
  background: #da558f;
  border-radius: 10px;
  color: white;
  padding: 10px 15px;
  transition: ease-in-out .3s; }
  .btn-top:hover {
    background: #ba2868;
    color: white;
    text-decoration: none; }

.video-container {
  margin: 0 auto;
  max-width: 768px;
  padding: 20px; }
  .video-container .video-wrapper {
    height: 0;
    max-width: 100%;
    padding-bottom: 56.25%;
    position: relative; }

iframe {
  border-radius: 15px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
  display: block;
  height: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%; }

.title {
  font-family: Raleway, sans-serif;
  font-size: 30px;
  line-height: 1;
  text-transform: uppercase; }
  .title--center {
    text-align: center; }
  .title span {
    color: #da558f; }
  @media all and (min-width: 729px) {
    .title {
      font-size: 40px;
    line-height: 42px; } }

.sub-title {
  font-family: Raleway, sans-serif; }
  .sub-title--center {
    text-align: center; }
  .sub-title--light {
    font-weight: 200; }
  .sub-title.small {
    font-size: 13px; }

ul.countdown {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center; }
  ul.countdown li {
    background-color: transparent;
    border: none;
    color: #373737;
    display: inline-block;
    margin: 0 5px;
    padding: 2% 0;
    text-align: center;
    width: 130px; }
    ul.countdown li span {
      font-size: 90px;
      font-weight: bold;
      line-height: 90px; }
    ul.countdown li p {
      font-size: 24px;
      opacity: 0.9;
      margin-bottom: 0; }

.expired {
  background-color: #da558f;
  border-radius: 4px;
  display: none;
  margin: 0 auto;
  padding: 2%;
  text-align: center;
  width: 50%; }
  .expired h2 {
    color: #da558f;
    font-weight: bold; }

.counter-home ul.countdown {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center; }
  .counter-home ul.countdown li {
    background-color: transparent;
    border: none;
    border: 3px solid white;
    border-radius: 5px;
    color: #da558f;
    margin: 0 5px;
    padding: 20px 20px;
    text-align: center;
    width: auto; }
    .counter-home ul.countdown li span {
      font-size: 60px;
      font-weight: bold;
      line-height: 50px; }
    .counter-home ul.countdown li p {
      font-size: 16px;
      font-weight: bold;
      text-transform: uppercase;
      margin-bottom: 0; }

.counter-home .expired {
  background-color: #da558f;
  border-radius: 4px;
  display: none;
  margin: 0 auto;
  padding: 20px 40px;
  text-align: center;
  width: auto; }

.counter-home h2 {
  color: #da558f;
  font-size: 1.5em;
  font-weight: bold; }

@media all and (max-width: 768px) {
  ul.countdown li {
    width: 78px; }
    ul.countdown li span {
      font-size: 40px;
      line-height: 50px; }
    ul.countdown li p {
      font-size: 14px; }
  .counter-home ul.countdown li {
    margin: 0 3px;
    padding: 15px 15px;
    width: auto; }
    .counter-home ul.countdown li span {
      font-size: 35px;
      line-height: 30px; }
    .counter-home ul.countdown li p {
      font-size: 10px; } }

ul.countdownP {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center; }
  ul.countdownP li {
    background-color: transparent;
    border: none;
    color: #fff;
    display: inline-block;
    margin: 0 5px;
    padding: 2% 0;
    text-align: center;
    width: 130px; }
    @media all and (max-width: 768px) {
      ul.countdownP li {
        width: 51px; } }
    ul.countdownP li span {
      font-size: 90px;
      font-weight: bold;
      line-height: 90px; }
      @media all and (max-width: 768px) {
        ul.countdownP li span {
          font-size: 30px;
          line-height: 40px; } }
    ul.countdownP li p {
      font-size: 24px;
      opacity: .9;
      margin-bottom: 0; }
      @media all and (max-width: 768px) {
        ul.countdownP li p {
          font-size: 12px; } }

.expired {
  background-color: #da558f;
  border-radius: 4px;
  display: none;
  margin: 0 auto;
  padding: 2%;
  text-align: center;
  width: 50%; }
  .expired h2 {
    color: #fff;
    font-weight: bold; }

.thanks {
  overflow-x: hidden; }
  .thanks .hero--light {
    text-align: center; }
    .thanks .hero--light .container {
      justify-content: center; }
    .thanks .hero--light .hero-body {
      color: #da558f; }
    .thanks .hero--light .is-fluid {
      margin: 20px auto; }
  .thanks .hero-body.content .title,
  .thanks .hero-body.content .sub-title {
    color: #da558f;
    display: block; }
  .thanks .hero-body.content .container {
    flex-direction: column; }

.warning .hero-body .title,
.warning .hero-body .sub-title {
  color: #da558f;
  display: block; }

.warning .hero-body .container {
  flex-direction: column; }

.advantage-card {
  align-items: center;
  display: flex;
  flex-flow: column wrap;
  margin-bottom: 10px; }
  .advantage-card__img {
    max-width: 165px;
    width: 80%; }
    .advantage-card__img img {
      box-shadow: 0px 5px 15px -10px #000000;
      border-radius: 50%;
      width: 100%; }
  .advantage-card__info {
    text-align: center; }
  .advantage-card__title {
    color: #da558f;
    font-size: 20px;
    font-weight: 700; }
  .advantage-card__description {
    color: #52596e;
    position: relative; }
    .advantage-card__description::after {
      border-bottom: 1px solid #000000;
      bottom: 0;
      content: '';
      display: block;
      margin: 10px auto;
      opacity: 0.1;
      width: 80%; }
  .advantage-card__title, .advantage-card__description {
    font-family: Raleway, sans-serif; }
  @media all and (min-width: 729px) {
    .advantage-card {
      flex-flow: row nowrap;
      margin-bottom: 20px; }
      .advantage-card__info {
        margin-left: 25px;
        text-align: left; } }

.faq-accordion {
  /* Accordion styles */ }
  .faq-accordion .title {
    width: 100%; }
  .faq-accordion input {
    opacity: 0;
    position: absolute;
    z-index: -1; }
  .faq-accordion .row {
    display: flex; }
    .faq-accordion .row .col {
      flex: 1; }
      .faq-accordion .row .col:last-child {
        margin-left: 1em; }
  .faq-accordion .col {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%; }
  .faq-accordion .tabs {
    border-radius: 8px;
    box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    width: calc(50% - 25px); }
  .faq-accordion .tab {
    color: white;
    overflow: hidden;
    width: 100%; }
    .faq-accordion .tab-label {
      background: #da558f;
      cursor: pointer;
      display: flex;
      font-weight: bold;
      justify-content: space-between;
      margin-bottom: 0;
      padding: 1em;
      /* Icon */ }
      .faq-accordion .tab-label:hover {
        background: #cf2d74; }
      .faq-accordion .tab-label::after {
        content: "\276F";
        height: 1em;
        text-align: center;
        transition: all .35s;
        width: 1em; }
    .faq-accordion .tab-content {
      background: white;
      color: #da558f;
      max-height: 0;
      padding: 0 1em;
      transition: all .35s; }
    .faq-accordion .tab-close {
      background: #da558f;
      cursor: pointer;
      display: flex;
      font-size: 0.75em;
      justify-content: flex-end;
      padding: 1em; }
      .faq-accordion .tab-close:hover {
        background: #cf2d74; }
  .faq-accordion input:checked + .tab-label {
    background: #cf2d74; }
    .faq-accordion input:checked + .tab-label::after {
      transform: rotate(90deg); }
  .faq-accordion input:checked ~ .tab-content {
    max-height: 100vh;
    padding: 1em; }

.section-footer {
  background: url(./../img/bgFooter.jpg) repeat;
  color: #fff;
  padding: 40px 24px 22px 24px; }
  .section-footer h2 {
    font-size: 16px;
    line-height: 16px;
    margin-bottom: 0.5rem !important; }
  .section-footer hr {
    background-color: #9a9a9a;
    height: 1px;
    opacity: 0.3; }
  .section-footer a {
    color: #da558f; }
    .section-footer a:hover {
      color: white; }
  .section-footer .columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%; }
  .section-footer .copyright {
    text-align: center; }

.img-selo {
  text-align: center; }
  .img-selo img {
    max-width: 250px; }

.img-lab {
  border-radius: 20px 90px 10px 90px;
  box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.23); }

.relative {
  position: relative; }

.img-modelo {
  position: absolute;
  right: 18px;
  top: -30%; }

.img-modelo2 {
  margin: 0 auto;
  margin-bottom: -130px;
  width: 300px; }

.col-como-funciona {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap; }

.is-paddingless-bottom {
  padding-bottom: 0; }

@media all and (max-width: 400px) {
  .img-selo img {
    max-width: 200px; } }

@media all and (min-width: 769px) and (max-width: 1280px) {
  .img-modelo {
    bottom: -90px;
    max-width: 500px;
    top: auto; } }

@media all and (max-width: 768px) {
  .img-modelo {
    display: none; } }

@media all and (min-width: 769px) {
  .img-modelo2 {
    display: none; } }

@media all and (min-width: 768px) {
  .col-como-funciona {
    flex-direction: row; } }

@media all and (min-width: 1300px) {
  .col-como-funciona {
    margin: 0 auto;
    max-width: 1150px; } }

.header, .header2 {
  background: #f8e8ef;
  padding: 15px 0; }

.header2 .container {
  align-items: center;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between; }

.hero {
  background-color: #fff;
  padding: 85px 0 85px;
  position: relative; }
  .hero--light {
    background-color: #f8e8ef; }
  .hero--background {
    background-color: #da558f;
    color: #fff;
    overflow: hidden;
    padding-bottom: 50px;
    transition: opacity .5s ease; }
    .hero--background .left-side {
      align-items: center;
      display: flex;
      flex-flow: column nowrap;
      justify-content: center; }
    .hero--background .title {
      font-size: 38px; }
  .hero p,
  .hero .title {
    font-family: Raleway, sans-serif; }
  .hero .slice {
    position: absolute;
    top: 0;
    transform: translateY(-100%); }
  .hero .container {
    display: flex;
    flex-wrap: wrap; }
  .hero .left-side,
  .hero .right-side {
    width: 100%; }
  .hero .product-tree {
    max-width: 448px; }
    .hero .product-tree img {
      width: 100%; }
  .hero-list {
    counter-reset: list;
    list-style-type: none;
    padding: 0; }
    .hero-list__item {
      align-items: center;
      color: #52596e;
      counter-increment: list;
      display: flex;
      flex-wrap: wrap;
      font-family: Raleway, sans-serif;
      font-weight: 700;
      margin-bottom: 10px;
      position: relative;
      text-transform: uppercase; }
      .hero-list__item::before {
        align-items: center;
        background-color: #da558f;
        border-radius: 50%;
        color: #fff;
        content: counter(list);
        display: inline-block;
        display: flex;
        height: 30px;
        justify-content: center;
        margin-right: 10px;
        text-align: center;
        width: 30px; }
  .hero-crop {
    position: absolute;
    top: 0; }
    .hero-crop--reverse {
      bottom: 0;
      top: unset;
      transform: rotate(180deg); }
  .hero.testimonials {
    padding-bottom: 50px; }
    .hero.testimonials .title {
      color: #da558f;
      width: 100%; }
    .hero.testimonials p,
    .hero.testimonials span {
      font-family: Raleway, sans-serif; }
    .hero.testimonials p {
      padding: 0 20px; }
    .hero.testimonials span {
      font-weight: 700; }
    .hero.testimonials .swiper-container {
      height: 100%;
      width: 100%; }
    .hero.testimonials .testimonial-container {
      margin-bottom: 50px; }
      .hero.testimonials .testimonial-container .swiper-slide {
        background: white;
        border: 1px solid #da558f;
        border-radius: 15px;
        padding: 40px; }
      .hero.testimonials .testimonial-container .swiper-pagination {
        right: 20px;
        text-align: right;
        width: auto; }
      .hero.testimonials .testimonial-container--whatsapp {
        margin-bottom: 25px; }
        .hero.testimonials .testimonial-container--whatsapp .swiper-slide {
          text-align: center; }
        .hero.testimonials .testimonial-container--whatsapp img {
          max-width: 375px;
          width: 100%; }
    .hero.testimonials .swiper-pagination-bullet.swiper-pagination-bullet-active {
      background: #da558f; }
  .hero .hero-description {
    color: #52596e;
    font-family: Raleway, sans-serif; }
  @media all and (min-width: 729px) {
    .hero .left-side,
    .hero .right-side {
      width: calc(50% - 10px); } }

.image {
  contain: strict;
  overflow: hidden;
  padding-top: 48.98%;
  position: relative;
  width: 100%;
  z-index: 0; }
  .image__inner {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute; }

.logo img {
  max-height: 50px;
  width: auto; }

.main-menu {
  align-items: center;
  display: flex;
  justify-content: space-between; }
  .main-menu .menu-item {
    color: #da558f;
    font-family: Raleway, sans-serif;
    font-weight: 700;
    margin: 0 5px;
    text-transform: uppercase; }
  .main-menu .logo {
    margin: 0; }

.midia-testimonial .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.midia-testimonial .title {
  color: #da558f;
  margin-bottom: 25px; }

.midia-testimonial .midia-element {
  background: white;
  border-radius: 12px;
  box-shadow: 0px 5px 19px -11px #000;
  font-family: Raleway, sans-serif;
  margin-bottom: 25px;
  padding: 25px 20px;
  transition: ease .3s;
  filter: grayscale(1);
  width: calc(50% - 25px); }
  .midia-testimonial .midia-element img {
    max-height: 81px;
    width: auto; }
  .midia-testimonial .midia-element a {
    color: #da558f; }
  .midia-testimonial .midia-element:hover {
    filter: grayscale(0); }

@media all and (max-width: 881px) {
  .midia-element {
    width: 100% !important;
  }
  .faq-accordion .tabs {
    width: 100%;
    margin-bottom: 20px;
  }
  .body-itens-checkout .columns {
    display: block !important;
  }
  .section-footer .columns {
    display: block !important;
  }
  .section-footer .column {
    margin-bottom: 50px;
    text-align: center;
  }
}

.body-itens-checkout {
  align-items: stretch;
  background: #f8e8ef;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center; }
  .body-itens-checkout .hero-body {
    flex-grow: 1;
    flex-shrink: 0;
    padding: 3rem 1.5rem; }
  .body-itens-checkout .header-checkout {
    background-color: #da558f;
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
    color: #fff;
    padding: 0.6% 0;
    position: relative;
    width: 100%;
    z-index: 9999; }
    .body-itens-checkout .header-checkout .logo {
      width: 50%; }
    .body-itens-checkout .header-checkout .title1 {
      padding-top: 5px;
      text-transform: uppercase; }
    .body-itens-checkout .header-checkout .title2 {
      font-size: 0.89em;
      padding-bottom: 5px; }
    .body-itens-checkout .header-checkout img {
      padding-top: 3%; }
  .body-itens-checkout .columns {
    display: flex; }
    .body-itens-checkout .columns .column {
      display: block;
      flex-basis: 0;
      flex-grow: 1;
      flex-shrink: 1;
      padding: .75rem; }
      .body-itens-checkout .columns .column a {
        color: #da558f; }
  .body-itens-checkout .faixaInfo {
    background-color: #da558f;
    padding: 18px 0px;
    position: relative; }
    .body-itens-checkout .faixaInfo .item-faixa-info {
      padding-right: 5px;
      text-align: right; }
      .body-itens-checkout .faixaInfo .item-faixa-info i {
        color: #da558f;
        font-size: 33px; }
  .body-itens-checkout .container-ofertas {
    display: block;
    margin-left: auto;
    max-width: 1035px; }
  .body-itens-checkout .oferta-container {
    background: #ffffff;
    border: 01px solid #eeeeee;
    border-radius: 4px;
    box-shadow: 3px 3px 14px rgba(0, 0, 0, 0.15);
    margin: 0 auto;
    margin-bottom: 15px;
    margin-top: 13px;
    max-width: 310px;
    transform: scale(1);
    width: 100%; }
    .body-itens-checkout .oferta-container .oferta-header {
      border-radius: 4px 4px 0px 4px;
      display: flex; }
      .body-itens-checkout .oferta-container .oferta-header .oferta-desconto {
        background-color: #da558f;
        border-radius: 400px;
        color: #fff;
        display: flex;
        flex-direction: column;
        font-weight: bold;
        justify-content: center;
        line-height: 1.2em;
        margin-left: 5%;
        margin-top: -15px;
        padding: 8px 10px;
        position: absolute;
        text-align: center;
        width: 90%;
        z-index: 9; }
      .body-itens-checkout .oferta-container .oferta-header .oferta-infos {
        color: #da558f;
        line-height: 16px;
        padding: 9px 16px;
        padding-top: 30px;
        text-align: center;
        text-transform: uppercase;
        width: 100%; }
        .body-itens-checkout .oferta-container .oferta-header .oferta-infos p {
          color: #000;
          font-size: 0.75em;
          text-transform: none; }
    .body-itens-checkout .oferta-container .oferta-produto {
      font-size: 18px; }
      .body-itens-checkout .oferta-container .oferta-produto .top-venda {
        font-size: 17px; }
      .body-itens-checkout .oferta-container .oferta-produto .produtos-container {
        display: flex;
        justify-content: center;
        max-width: 100%;
        min-height: 165px;
        overflow: hidden;
        padding-top: 0;
        position: relative; }
        .body-itens-checkout .oferta-container .oferta-produto .produtos-container figure {
          margin: auto;
          position: absolute; }
          .body-itens-checkout .oferta-container .oferta-produto .produtos-container figure img {
            max-height: 160px;
            max-width: 100%;
            position: relative;
            width: auto; }
          .body-itens-checkout .oferta-container .oferta-produto .produtos-container figure .product1 {
            margin-top: 5px;
            z-index: 5; }
          .body-itens-checkout .oferta-container .oferta-produto .produtos-container figure .product2 {
            margin-left: 60%;
            margin-top: 10%;
            max-width: 85px;
            z-index: 4; }
          .body-itens-checkout .oferta-container .oferta-produto .produtos-container figure .product3 {
            margin-left: -60%;
            margin-top: 10%;
            max-width: 85px;
            z-index: 4; }
          .body-itens-checkout .oferta-container .oferta-produto .produtos-container figure .product4 {
            margin-left: 120%;
            margin-top: 16%;
            max-width: 75px;
            z-index: 3; }
          .body-itens-checkout .oferta-container .oferta-produto .produtos-container figure .product5 {
            margin-left: -120%;
            margin-top: 16%;
            max-width: 75px;
            z-index: 3; }
      .body-itens-checkout .oferta-container .oferta-produto p {
        color: #000;
        font-size: 0.8em;
        text-align: center; }
    .body-itens-checkout .oferta-container .oferta-valores {
      padding: 0 20px; }
      .body-itens-checkout .oferta-container .oferta-valores div {
        display: flex; }
        .body-itens-checkout .oferta-container .oferta-valores div p {
          color: #404040;
          font-size: 0.8em; }
          .body-itens-checkout .oferta-container .oferta-valores div p:first-child {
            width: 70%; }
          .body-itens-checkout .oferta-container .oferta-valores div p:last-child {
            text-align: right;
            width: 30%; }
      .body-itens-checkout .oferta-container .oferta-valores hr {
        background-color: #eaeaea;
        height: 1px;
        margin: 20px 0; }
      .body-itens-checkout .oferta-container .oferta-valores .valor-com-desconto {
        color: #484848;
        font-size: 17px;
        line-height: 0;
        margin-bottom: 12px;
        margin-top: 22px;
        text-align: center; }
      .body-itens-checkout .oferta-container .oferta-valores .valor-final {
        color: #2b2b2b;
        font-size: 0.9em;
        font-weight: bold;
        line-height: 26px;
        margin-left: -2%;
        margin-top: 5px;
        text-align: center;
        white-space: normal;
        width: 104%; }
        .body-itens-checkout .oferta-container .oferta-valores .valor-final span {
          color: #da558f;
          font-size: 3.1em;
          letter-spacing: -2px;
          line-height: 55px; }
    .body-itens-checkout .oferta-container .oferta-btn {
      display: flex;
      margin-bottom: 15px;
      padding-bottom: 4%;
      padding-top: 2%; }
      .body-itens-checkout .oferta-container .oferta-btn span {
        background-color: #da558f;
        border-radius: 50%;
        color: #fff;
        display: block;
        height: 0;
        position: absolute;
        text-decoration: none;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: width .4s ease-in-out,height .4s ease-in-out;
        transition: width .4s ease-in-out,height .4s ease-in-out;
        width: 0;
        z-index: -1; }
      .body-itens-checkout .oferta-container .oferta-btn div {
        background-color: #da558f;
        border-radius: 4px;
        box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.18);
        color: #fff;
        font-size: 15px;
        margin: 0 auto;
        margin-bottom: 0px;
        overflow: hidden;
        padding: 4%;
        position: relative;
        text-align: center;
        text-shadow: rgba(0, 0, 0, 0.05) 0 2px 3px;
        text-transform: uppercase;
        width: 75%;
        z-index: 115; }
      .body-itens-checkout .oferta-container .oferta-btn:hover span {
        height: 562.5px;
        width: 225%; }
  .body-itens-checkout .oferta-container.top-vendas {
    margin-top: 0;
    transform: scale(1.02); }
  .body-itens-checkout .color-green {
    color: #48a118 !important; }
  .body-itens-checkout .bg-green {
    background-color: #48a118 !important; }
  .body-itens-checkout .color-btn-destaque {
    color: #ff2182 !important; }
  .body-itens-checkout .bg-color-btn-destaque {
    background-color: #ff2182 !important; }
  .body-itens-checkout .arrow-top-vendas-left {
    bottom: 94px;
    left: 2%;
    position: absolute;
    transform: rotate(48deg);
    width: 70px; }
  .body-itens-checkout .arrow-top-vendas-right {
    bottom: 94px;
    position: absolute;
    right: 2%;
    transform: rotate(-48deg);
    width: 70px; }
  @media all and (max-width: 768px) {
    .body-itens-checkout .header-checkout {
      padding: 2%; }
      .body-itens-checkout .header-checkout .logo {
        margin: auto;
        max-width: 90px; } }
  @media all and (max-width: 425px) {
    .body-itens-checkout .oferta-container .oferta-valores .valor-final {
      font-size: .66em; } }
  @media screen and (min-width: 768px) {
    .body-itens-checkout .oferta-container {
      min-height: 450px; }
      .body-itens-checkout .oferta-container .oferta-infos {
        min-height: 87px; } }
  @media all and (min-width: 768px) and (max-width: 910px) {
    .body-itens-checkout .arrow-top-vendas-left {
      left: -7%; }
    .body-itens-checkout .arrow-top-vendas-right {
      right: -7%; } }

.color-white {
  color: #ffffff !important; }

.background-stuff {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #98c5e8;
  animation: wrapperIn .5s; }
  .background-stuff .bg {
    position: absolute;
    top: 0%;
    left: -100%;
    width: 50%;
    height: 100%;
    background: #636ed1;
    -webkit-animation: bgIn 4s 0s linear infinite;
    -moz-animation: bgIn 4s 0s linear infinite;
    -ms-animation: bgIn 4s 0s linear infinite;
    -o-animation: bgIn 4s 0s linear infinite;
    animation: bgIn 4s 0s linear infinite;
    -webkit-transform: skewX(10deg);
    -moz-transform: skewX(10deg);
    -ms-transform: skewX(10deg);
    -o-transform: skewX(10deg);
    transform: skewX(10deg);
    z-index: 1; }
  .background-stuff .bg-2 {
    background: #8faaff;
    -webkit-animation: bgIn 4s 1s linear infinite;
    -moz-animation: bgIn 4s 1s linear infinite;
    -ms-animation: bgIn 4s 1s linear infinite;
    -o-animation: bgIn 4s 1s linear infinite;
    animation: bgIn 4s 1s linear infinite; }
  .background-stuff .bg-3 {
    background: #5a73da;
    -webkit-animation: bgIn 4s 2s linear infinite;
    -moz-animation: bgIn 4s 2s linear infinite;
    -ms-animation: bgIn 4s 2s linear infinite;
    -o-animation: bgIn 4s 2s linear infinite;
    animation: bgIn 4s 2s linear infinite; }
  .background-stuff .ground {
    position: absolute;
    bottom: 0;
    margin-bottom: -1.57895em;
    height: 50%;
    width: 100%;
    background: #ffc253;
    z-index: 2; }

.container-car {
  width: 100%;
  display: table; }
  .container-car .car-wrapper {
    display: table-cell;
    vertical-align: middle;
    width: 100%; }

.car {
  width: 16.84211em;
  height: 10.52632em;
  position: relative;
  opacity: 1;
  margin-left: auto;
  margin-right: auto;
  z-index: 4;
  -webkit-animation: carMove 0.3s infinite;
  -moz-animation: carMove 0.3s infinite;
  -ms-animation: carMove 0.3s infinite;
  -o-animation: carMove 0.3s infinite;
  animation: carMove 0.3s infinite; }
  .car .body {
    position: absolute;
    top: 0;
    left: 0.73684em;
    width: 12.10526em;
    height: 8.42105em;
    background: #fff; }
    .car .body:before {
      content: "";
      position: absolute;
      left: -0.73684em;
      border-radius: 10px 10px 0 0;
      width: 13.36842em;
      z-index: 2;
      height: 0.63158em;
      background: #d6d6d6; }
    .car .body div {
      position: absolute;
      background: #fff;
      width: 15.26316em;
      height: 3.15789em;
      bottom: -0.52632em;
      border-radius: 0 0 10px 10px; }
      .car .body div:before {
        content: "";
        background: #fff;
        position: absolute;
        top: -1.52632em;
        right: 0px;
        width: 4.21053em;
        height: 2.10526em;
        z-index: 1;
        border-radius: 0 14px 0 0;
        -webkit-transform: rotate(17deg);
        -moz-transform: rotate(17deg);
        -ms-transform: rotate(17deg);
        -o-transform: rotate(17deg);
        transform: rotate(17deg); }
      .car .body div:after {
        content: "";
        background: #fff;
        position: absolute;
        top: -4.31579em;
        right: 0.89474em;
        width: 4.73684em;
        height: 2.10526em;
        z-index: 1;
        border-radius: 10px 0 0 0;
        -webkit-transform: rotate(75deg);
        -moz-transform: rotate(75deg);
        -ms-transform: rotate(75deg);
        -o-transform: rotate(75deg);
        transform: rotate(75deg); }
  .car .wheel {
    position: absolute;
    width: 3.15789em;
    height: 3.15789em;
    background: #3c464c;
    border-radius: 50%;
    bottom: 0;
    left: 2.52632em;
    z-index: 14;
    -webkit-animation: carMove 0.3s 0.2s;
    -moz-animation: carMove 0.3s 0.2s;
    -ms-animation: carMove 0.3s 0.2s;
    -o-animation: carMove 0.3s 0.2s;
    animation: carMove 0.3s 0.2s; }
    .car .wheel:before {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      background: #fff;
      width: 1.26316em;
      height: 1.26316em;
      border-radius: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
    .car .wheel:nth-of-type(2) {
      left: 11.05263em; }
  .car .decos {
    width: 15.26316em;
    height: 8.84211em;
    position: absolute;
    z-index: 12;
    top: 0;
    left: 0.73684em; }
  .car .line-bot {
    position: absolute;
    bottom: 0.47368em;
    height: 3px;
    width: 100%;
    background: #e1e8ef; }
  .car .door {
    position: absolute;
    left: 6.31579em;
    bottom: 0;
    width: 3.15789em;
    height: 7.42105em;
    border-radius: 10px 10px 0 0;
    border: 3px solid #e1e8ef;
    border-bottom: 0;
    background: #fff; }
    .car .door:after {
      content: "";
      position: absolute;
      top: 0.31579em;
      left: 0.31579em;
      width: 2.26316em;
      height: 2.10526em;
      border-radius: 4px;
      background: #5bc2ef; }
    .car .door .handle {
      position: absolute;
      right: 0.52632em;
      top: 3.68421em;
      width: 0.52632em;
      height: 0.52632em;
      background: #e1e8ef;
      border-radius: 50%; }
      .car .door .handle:after {
        content: "";
        width: 1.05263em;
        height: 0.21053em;
        border-radius: 10px;
        background: #e1e8ef;
        position: absolute;
        top: 50%;
        left: -0.26316em;
        margin-top: -0.10526em; }
    .car .door .bottom {
      position: absolute;
      bottom: 0.31579em;
      left: 0.57895em;
      width: 2em;
      height: 0.63158em; }
      .car .door .bottom:before, .car .door .bottom:after {
        content: "";
        display: block;
        width: 100%;
        height: 0.15789em;
        background: #e1e8ef;
        height: 0.21053em;
        border-radius: 10px;
        margin-bottom: 0.21053em; }
  .car .window {
    position: absolute;
    top: 0.94737em;
    left: 10.52632em;
    width: 1.68421em;
    background: #5bc2ef;
    height: 3.78947em;
    border-radius: 10px 10px 0 10px; }
    .car .window:before {
      content: "";
      width: 100%;
      height: 1.05263em;
      background: #5bc2ef;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 2.47368em;
      border-radius: 0 10px 10px 10px; }
    .car .window:after {
      content: "";
      height: 1.05263em;
      background: #5bc2ef;
      position: absolute;
      top: 0.89474em;
      left: -0.68421em;
      width: 3.52632em;
      transform-origin: bottom;
      -webkit-transform: rotate(74deg);
      -moz-transform: rotate(74deg);
      -ms-transform: rotate(74deg);
      -o-transform: rotate(74deg);
      transform: rotate(74deg);
      border-radius: 10px 10px 10px 10px; }
  .car .light {
    position: absolute;
    width: 0.52632em;
    height: 0.52632em;
    background: #ff8c40;
    right: 3.15789em;
    bottom: 2.63158em;
    border-radius: 3px; }
  .car .light-front {
    position: absolute;
    width: 0.42105em;
    height: 0.42105em;
    background: #ff8c40;
    right: -0.15789em;
    bottom: 3em;
    border-radius: 3px; }
    .car .light-front:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background: #ff8c40;
      top: 100%;
      height: 0.78947em;
      border-radius: 3px;
      margin-top: 2px; }
  .car .antenna {
    position: absolute;
    width: 1.36842em;
    height: 0.52632em;
    background: #fff;
    bottom: 100%;
    left: 0.89474em;
    border-radius: 4px 4px 0 0; }
    .car .antenna:before {
      content: "";
      position: absolute;
      width: 2em;
      height: 0.21053em;
      background: #fff;
      bottom: 0;
      left: -1.15789em;
      -webkit-transform: rotate(55deg);
      -moz-transform: rotate(55deg);
      -ms-transform: rotate(55deg);
      -o-transform: rotate(55deg);
      transform: rotate(55deg);
      -webkit-transform-origin: right;
      -moz-transform-origin: right;
      -ms-transform-origin: right;
      -o-transform-origin: right;
      transform-origin: right;
      border-radius: 4px; }
  .car .ice-cream {
    position: absolute;
    left: 1.57895em;
    top: 1.57895em;
    width: 3.68421em;
    height: 3.68421em;
    border: 3px solid #eee;
    border-radius: 50%;
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
    .car .ice-cream img {
      max-width: 77%;
      top: 20%;
      left: -3%;
      position: relative; }
    .car .ice-cream .cone {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -20%);
      -moz-transform: translate(-50%, -20%);
      -ms-transform: translate(-50%, -20%);
      -o-transform: translate(-50%, -20%);
      transform: translate(-50%, -20%);
      border-right: 0.94737em solid transparent;
      border-left: 0.94737em solid transparent;
      border-top: 2.10526em solid #f4b224; }
      .car .ice-cream .cone:after {
        content: "";
        position: absolute;
        width: 1.05263em;
        height: 1.05263em;
        background: #00c0a8;
        border-radius: 50%;
        top: -2.89474em;
        left: 0px;
        z-index: -1; }
      .car .ice-cream .cone:before {
        content: "";
        position: absolute;
        width: 1.05263em;
        height: 1.05263em;
        background: #ffd132;
        border-radius: 50%;
        top: -2.89474em;
        left: -1.05263em;
        z-index: -1;
        box-shadow: 10px -5px 0px 0px #ff9a9a; }

.wind {
  position: absolute;
  z-index: -1;
  right: 100%;
  height: 100%;
  margin-right: -1.05263em; }
  .wind .p {
    position: absolute;
    background: #fff;
    border-radius: 0.52632em;
    height: 0.52632em; }
  .wind .p1 {
    width: 3.68421em;
    position: absolute;
    right: 0;
    top: 1.31579em;
    animation: wind 1s -1s linear infinite; }
  .wind .p2 {
    width: 5.26316em;
    right: 2.10526em;
    top: 3.15789em;
    animation: wind 1s -2s linear infinite; }
  .wind .p3 {
    width: 2.63158em;
    right: 0;
    top: 5.52632em;
    animation: wind 1s -1s linear infinite; }
  .wind .p4 {
    width: 3.15789em;
    right: 5.26316em;
    top: 7.10526em;
    animation: wind 1s 1s linear infinite; }
  .wind .p5 {
    width: 3.68421em;
    right: 1.57895em;
    top: 7.63158em;
    animation: wind 1s -1.5s linear infinite; }

.car-wrapper_inner {
  position: relative;
  z-index: 4; }

@keyframes carMove {
  0% {
    transform: translateY(0px); }
  50% {
    transform: translateY(-1px); }
  100% {
    transform: translateY(0px); } }

@keyframes wind {
  0% {
    transform: translateX(100%);
    opacity: 1; }
  100% {
    transform: translateX(-400%);
    opacity: 0; } }

.car_outter {
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  transform: translateX(-100%);
  position: relative;
  animation: carDrive 8s 1s cubic-bezier(0.88, 0.08, 0.16, 1.1) infinite; }

@keyframes carDrive {
  0% {
    transform: translateX(-30%); }
  25% {
    transform: translateX(0%); }
  70% {
    transform: translateX(0%); }
  100% {
    transform: translateX(100%); } }

@keyframes bgIn {
  0% {
    left: 100%; }
  100% {
    left: -100%; } }

@keyframes wrapperIn {
  0% {
    transform: scale(0);
    opacity: 0; }
  100% {
    transform: scale(1);
    opacity: 1; } }
    .text-white {
      color: #fff !important;
    }

    .toast-title {
      font-weight: bold;
    }
    .toast-message {
      -ms-word-wrap: break-word;
      word-wrap: break-word;
    }
    .toast-message a,
    .toast-message label {
      color: #ffffff;
    }
    .toast-message a:hover {
      color: #cccccc;
      text-decoration: none;
    }
    .toast-close-button {
      position: relative;
      right: -0.3em;
      top: -0.3em;
      float: right;
      font-size: 20px;
      font-weight: bold;
      color: #ffffff;
      -webkit-text-shadow: 0 1px 0 #ffffff;
      text-shadow: 0 1px 0 #ffffff;
      opacity: 0.8;
      -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
      filter: alpha(opacity=80);
    }
    .toast-close-button:hover,
    .toast-close-button:focus {
      color: #000000;
      text-decoration: none;
      cursor: pointer;
      opacity: 0.4;
      -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
      filter: alpha(opacity=40);
    }
    /*Additional properties for button version
     iOS requires the button element instead of an anchor tag.
     If you want the anchor version, it requires `href="#"`.*/
    button.toast-close-button {
      padding: 0;
      cursor: pointer;
      background: transparent;
      border: 0;
      -webkit-appearance: none;
    }
    .toast-top-center {
      top: 0;
      right: 0;
      width: 100%;
    }
    .toast-bottom-center {
      bottom: 0;
      right: 0;
      width: 100%;
    }
    .toast-top-full-width {
      top: 0;
      right: 0;
      width: 100%;
    }
    .toast-bottom-full-width {
      bottom: 0;
      right: 0;
      width: 100%;
    }
    .toast-top-left {
      top: 12px;
      left: 12px;
    }
    .toast-top-right {
      top: 12px;
      right: 12px;
    }
    .toast-bottom-right {
      right: 12px;
      bottom: 12px;
    }
    .toast-bottom-left {
      bottom: 12px;
      left: 12px;
    }
    #toast-container {
      position: fixed;
      z-index: 999999;
      /*overrides*/
    
    }
    #toast-container * {
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
    }
    #toast-container > div {
      position: relative;
      overflow: hidden;
      margin: 0 0 6px;
      padding: 15px 15px 15px 50px;
      width: 300px;
      -moz-border-radius: 3px 3px 3px 3px;
      -webkit-border-radius: 3px 3px 3px 3px;
      border-radius: 3px 3px 3px 3px;
      background-position: 15px center;
      background-repeat: no-repeat;
      -moz-box-shadow: 0 0 12px #999999;
      -webkit-box-shadow: 0 0 12px #999999;
      box-shadow: 0 0 12px #999999;
      color: #ffffff;
      opacity: 0.8;
      -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
      filter: alpha(opacity=80);
    }
    #toast-container > div:hover {
      -moz-box-shadow: 0 0 12px #000000;
      -webkit-box-shadow: 0 0 12px #000000;
      box-shadow: 0 0 12px #000000;
      opacity: 1;
      -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
      filter: alpha(opacity=100);
      cursor: pointer;
    }
    #toast-container > .toast-info {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
    }
    #toast-container > .toast-error {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
    }
    #toast-container > .toast-success {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
    }
    #toast-container > .toast-warning {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
    }
    #toast-container.toast-top-center > div,
    #toast-container.toast-bottom-center > div {
      width: 300px;
      margin-left: auto;
      margin-right: auto;
    }
    #toast-container.toast-top-full-width > div,
    #toast-container.toast-bottom-full-width > div {
      width: 96%;
      margin-left: auto;
      margin-right: auto;
    }
    .toast {
      background-color: #030303;
    }
    .toast-success {
      background-color: #51a351;
    }
    .toast-error {
      background-color: #bd362f;
    }
    .toast-info {
      background-color: #2f96b4;
    }
    .toast-warning {
      background-color: #f89406;
    }
    
    .toast-progress {
      position: absolute;
      left: 0;
      bottom: 0;
      height: 4px;
      background-color: #000000;
      opacity: 0.4;
      -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
      filter: alpha(opacity=40);
    }
    
    /*Responsive Design*/
    @media all and (max-width: 240px) {
      #toast-container > div {
        padding: 8px 8px 8px 50px;
        width: 11em;
      }
      #toast-container .toast-close-button {
        right: -0.2em;
        top: -0.2em;
      }
    }
    @media all and (min-width: 241px) and (max-width: 480px) {
      #toast-container > div {
        padding: 8px 8px 8px 50px;
        width: 18em;
      }
      #toast-container .toast-close-button {
        right: -0.2em;
        top: -0.2em;
      }
    }
    @media all and (min-width: 481px) and (max-width: 768px) {
      #toast-container > div {
        padding: 15px 15px 15px 50px;
        width: 25em;
      }
    }

    
   .thanks .hero--light {
      background-color: #e84e92;
  }

  .thanks .btn-top {
    background: #44da58;
  }


.suporte-whats {
  width: 50px;
  position: fixed;
  bottom: 20px;
  right: 20px; }
  .suporte-whats svg {
    fill: white;
    width: 50px;
    height: 50px;
    background: #4dc247;
    border-radius: 300px;
    padding: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.29); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCIxLnNldHRpbmdzL19jb2xvcnMuc2NzcyIsIjEuc2V0dGluZ3MvX2ZvbnRzLnNjc3MiLCIxLnNldHRpbmdzL19ncmlkLnNjc3MiLCIxLnNldHRpbmdzL19yZXNldC5zY3NzIiwiMS5zZXR0aW5ncy9fdHJhbnNpdGlvbnMuc2NzcyIsIjEuc2V0dGluZ3MvX3ZhcmlhYmxlcy5zY3NzIiwiMi50b29scy9fZnVuY3Rpb25zLnNjc3MiLCIyLnRvb2xzL19yZW0uc2NzcyIsIjIudG9vbHMvX21peGlucy5zY3NzIiwiMi50b29scy9fcGxhY2Vob2xkZXJzLnNjc3MiLCIzLmdlbmVyaWNzL2J1dHRvbnMuc2NzcyIsIjMuZ2VuZXJpY3MvbWVkaWFzLnNjc3MiLCIzLmdlbmVyaWNzL3RpdGxlcy5zY3NzIiwiNC5vYmplY3RzL19jb250YWluZXIuc2NzcyIsIjQub2JqZWN0cy9fc3dpcGVyLXZlbmRvci5zY3NzIiwiNC5vYmplY3RzL2NvdW50ZXIuc2NzcyIsIjQub2JqZWN0cy90aGFua3Muc2NzcyIsIjQub2JqZWN0cy93YXJuaW5nLnNjc3MiLCI2LmNvbXBvbmVudHMvYWR2YW50YWdlLWNhcmQuc2NzcyIsIjYuY29tcG9uZW50cy9mYXEtYWNjb3JkaW9uLnNjc3MiLCI2LmNvbXBvbmVudHMvZm9vdGVyLnNjc3MiLCI2LmNvbXBvbmVudHMvaGVhZGVyLnNjc3MiLCI2LmNvbXBvbmVudHMvaGVyby5zY3NzIiwiNi5jb21wb25lbnRzL0ltYWdlLnNjc3MiLCI2LmNvbXBvbmVudHMvTG9nby5zY3NzIiwiNi5jb21wb25lbnRzL21haW4tbWVudS5zY3NzIiwiNi5jb21wb25lbnRzL21pZGlhLXRlc3RpbW9uaWFsLnNjc3MiLCI2LmNvbXBvbmVudHMvcGFnZS1jaGVja291dC5zY3NzIiwiNi5jb21wb25lbnRzL3RydWNrLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG5AaW1wb3J0IFwiMS5zZXR0aW5ncy9fY29sb3JzLnNjc3NcIjtcbkBpbXBvcnQgXCIxLnNldHRpbmdzL19mb250cy5zY3NzXCI7XG5AaW1wb3J0IFwiMS5zZXR0aW5ncy9fZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwiMS5zZXR0aW5ncy9fcmVzZXQuc2Nzc1wiO1xuQGltcG9ydCBcIjEuc2V0dGluZ3MvX3RyYW5zaXRpb25zLnNjc3NcIjtcbkBpbXBvcnQgXCIxLnNldHRpbmdzL192YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIjIudG9vbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiMi50b29scy9fbWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCIyLnRvb2xzL19wbGFjZWhvbGRlcnMuc2Nzc1wiO1xuQGltcG9ydCBcIjIudG9vbHMvX3JlbS5zY3NzXCI7XG5AaW1wb3J0IFwiMy5nZW5lcmljcy9idXR0b25zLnNjc3NcIjtcbkBpbXBvcnQgXCIzLmdlbmVyaWNzL21lZGlhcy5zY3NzXCI7XG5AaW1wb3J0IFwiMy5nZW5lcmljcy90aXRsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIjQub2JqZWN0cy9fY29udGFpbmVyLnNjc3NcIjtcbkBpbXBvcnQgXCI0Lm9iamVjdHMvX3N3aXBlci12ZW5kb3Iuc2Nzc1wiO1xuQGltcG9ydCBcIjQub2JqZWN0cy9jb3VudGVyLnNjc3NcIjtcbkBpbXBvcnQgXCI0Lm9iamVjdHMvdGhhbmtzLnNjc3NcIjtcbkBpbXBvcnQgXCI0Lm9iamVjdHMvd2FybmluZy5zY3NzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2FkdmFudGFnZS1jYXJkLnNjc3NcIjtcbkBpbXBvcnQgXCI2LmNvbXBvbmVudHMvZmFxLWFjY29yZGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2Zvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2hlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL2hlcm8uc2Nzc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9JbWFnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL0xvZ28uc2Nzc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9tYWluLW1lbnUuc2Nzc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy9taWRpYS10ZXN0aW1vbmlhbC5zY3NzXCI7XG5AaW1wb3J0IFwiNi5jb21wb25lbnRzL3BhZ2UtY2hlY2tvdXQuc2Nzc1wiO1xuQGltcG9ydCBcIjYuY29tcG9uZW50cy90cnVjay5zY3NzXCI7XG5cbiIsIi8qKlxuICogQ29sb3JzIFNldHNcbiovXG4kY29sb3JzOiAoXG4gIGNvbW1vbi1kYXJrOiAjMDAwLFxuICBjb21tb24tbGlnaHQ6ICNmZmYsXG4gIGNvbnRlbnQtbGlnaHQ6ICM1MjU5NmUsXG4gIGFjY2VudDogI2RhNTU4ZixcbiAgYWNjZW50LXNlY29uZGFyeTogI2UzOTM2YixcbiAgYWNjZW50LXRlcnRpYXJ5OiAjZjhlOGVmLFxuICBkZXRhaWw6ICM0MDUzNjQsXG4gIGRldGFpbC1zZWNvbmRhcnk6ICNmOGU4ZWYsXG4pO1xuIiwiLyoqXG4gKiBGb250cyBTZXRzXG4qL1xuJG1vbm9zcGFjZS1mb250OiBzYW5zLXNlcmlmO1xuJHByaW1hcnk6IFJhbGV3YXksICRtb25vc3BhY2UtZm9udDtcbiRwcmltYXJ5LXNlbWlib2xkOiBSYWxld2F5LVNlbWlCb2xkLCAkbW9ub3NwYWNlLWZvbnQ7XG4kcHJpbWFyeS1ib2xkOiBSYWxld2F5LUJvbGQsICRtb25vc3BhY2UtZm9udDtcbiRzZWNvbmRhcnktbGlnaHQ6IE9wZW5TYW5zLUxpZ2h0LCAkbW9ub3NwYWNlLWZvbnQ7XG4kc2Vjb25kYXJ5LWJvbGQ6IE9wZW5TYW5zLUJvbGQsICRtb25vc3BhY2UtZm9udDtcblxuJGZvbnRzOiAoXG4gIHByaW1hcnk6ICRwcmltYXJ5LFxuICBwcmltYXJ5LXNlbWlib2xkOiAkcHJpbWFyeS1zZW1pYm9sZCxcbiAgcHJpbWFyeS1ib2xkOiAkcHJpbWFyeS1ib2xkLFxuICBzZWNvbmRhcnktbGlnaHQ6ICRzZWNvbmRhcnktbGlnaHQsXG4gIHNlY29uZGFyeS1ib2xkOiAkc2Vjb25kYXJ5LWJvbGRcbik7XG4iLCIvKipcbiAqIEdyaWQgU2V0c1xuKi9cbiRncmlkOiAoXG4gIGNvbnRhaW5lci13aWR0aDogMTAyNHB4LFxuICBjb250YWluZXItcmVkdWNlZDogNjk5cHgsXG4gIGRlZmF1bHQtcGFkZGluZy1zaWRlOiAxNXB4XG4pO1xuXG4vKlxuKiBNZWRpYSBRdWVyaWVzIEJyZWFrIFBvaW50c1xuKi9cbiRicmVhay1zbWFsbDogNDE0cHg7XG4kYnJlYWstbWVkaXVtOiA3MjlweDtcbiRicmVhay1sYXJnZTogMTAxNHB4O1xuIiwiXG4gKixcbiAqOjpiZWZvcmUsXG4gKjo6YWZ0ZXIge1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiB9XG5cbiBodG1sIHtcbiAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gfVxuXG4gYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuIH1cblxuIGJvZHkge1xuICAgbWFyZ2luOiAwO1xuICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICBsaW5lLWhlaWdodDogMS41O1xuICAgY29sb3I6ICMyMTI1Mjk7XG4gICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiB9XG5cbiBbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gfVxuXG4gaHIge1xuICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICBoZWlnaHQ6IDA7XG4gICBvdmVyZmxvdzogdmlzaWJsZTtcbiB9XG5cbiBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgIG1hcmdpbi10b3A6IDA7XG4gICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gfVxuXG4gcCB7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiB9XG5cbiBhYmJyW3RpdGxlXSxcbiBhYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICBjdXJzb3I6IGhlbHA7XG4gICBib3JkZXItYm90dG9tOiAwO1xuICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gfVxuXG4gYWRkcmVzcyB7XG4gICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gfVxuXG4gb2wsXG4gdWwsXG4gZGwge1xuICAgbWFyZ2luLXRvcDogMDtcbiAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gfVxuXG4gb2wgb2wsXG4gdWwgdWwsXG4gb2wgdWwsXG4gdWwgb2wge1xuICAgbWFyZ2luLWJvdHRvbTogMDtcbiB9XG5cbiBkdCB7XG4gICBmb250LXdlaWdodDogNzAwO1xuIH1cblxuIGRkIHtcbiAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgbWFyZ2luLWxlZnQ6IDA7XG4gfVxuXG4gYmxvY2txdW90ZSB7XG4gICBtYXJnaW46IDAgMCAxcmVtO1xuIH1cblxuIGIsXG4gc3Ryb25nIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gfVxuXG4gc21hbGwge1xuICAgZm9udC1zaXplOiA4MCU7XG4gfVxuXG4gc3ViLFxuIHN1cCB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBmb250LXNpemU6IDc1JTtcbiAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuIH1cblxuIHN1YiB7XG4gICBib3R0b206IC0uMjVlbTtcbiB9XG5cbiBzdXAge1xuICAgdG9wOiAtLjVlbTtcbiB9XG5cbiBhIHtcbiAgIGNvbG9yOiAjMDA3YmZmO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gfVxuXG4gYTpob3ZlciB7XG4gICBjb2xvcjogIzAwNTZiMztcbiAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuIH1cblxuIGE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgIGNvbG9yOiBpbmhlcml0O1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuIH1cblxuIGE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmhvdmVyLCBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7XG4gICBjb2xvcjogaW5oZXJpdDtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiB9XG5cbiBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7XG4gICBvdXRsaW5lOiAwO1xuIH1cblxuIHByZSxcbiBjb2RlLFxuIGtiZCxcbiBzYW1wIHtcbiAgIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgZm9udC1zaXplOiAxZW07XG4gfVxuXG4gcHJlIHtcbiAgIG1hcmdpbi10b3A6IDA7XG4gICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgb3ZlcmZsb3c6IGF1dG87XG4gfVxuXG4gZmlndXJlIHtcbiAgIG1hcmdpbjogMCAwIDFyZW07XG4gfVxuXG4gaW1nIHtcbiAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICBib3JkZXItc3R5bGU6IG5vbmU7XG4gfVxuXG4gc3ZnIHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuIH1cblxuIHRhYmxlIHtcbiAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gfVxuXG4gY2FwdGlvbiB7XG4gICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgY29sb3I6ICM2Yzc1N2Q7XG4gICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gfVxuXG4gdGgge1xuICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiB9XG5cbiBsYWJlbCB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gfVxuXG4gYnV0dG9uIHtcbiAgIGJvcmRlci1yYWRpdXM6IDA7XG4gfVxuXG4gYnV0dG9uOmZvY3VzIHtcbiAgIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gfVxuXG4gaW5wdXQsXG4gYnV0dG9uLFxuIHNlbGVjdCxcbiBvcHRncm91cCxcbiB0ZXh0YXJlYSB7XG4gICBtYXJnaW46IDA7XG4gICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuIH1cblxuIGJ1dHRvbixcbiBpbnB1dCB7XG4gICBvdmVyZmxvdzogdmlzaWJsZTtcbiB9XG5cbiBidXR0b24sXG4gc2VsZWN0IHtcbiAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuIH1cblxuIHNlbGVjdCB7XG4gICB3b3JkLXdyYXA6IG5vcm1hbDtcbiB9XG5cbiBidXR0b24sXG4gW3R5cGU9XCJidXR0b25cIl0sXG4gW3R5cGU9XCJyZXNldFwiXSxcbiBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiB9XG5cbiBidXR0b246bm90KDpkaXNhYmxlZCksXG4gW3R5cGU9XCJidXR0b25cIl06bm90KDpkaXNhYmxlZCksXG4gW3R5cGU9XCJyZXNldFwiXTpub3QoOmRpc2FibGVkKSxcbiBbdHlwZT1cInN1Ym1pdFwiXTpub3QoOmRpc2FibGVkKSB7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gfVxuXG4gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgcGFkZGluZzogMDtcbiAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiB9XG5cbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICBwYWRkaW5nOiAwO1xuIH1cblxuIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xuIH1cblxuIHRleHRhcmVhIHtcbiAgIG92ZXJmbG93OiBhdXRvO1xuICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiB9XG5cbiBmaWVsZHNldCB7XG4gICBtaW4td2lkdGg6IDA7XG4gICBwYWRkaW5nOiAwO1xuICAgbWFyZ2luOiAwO1xuICAgYm9yZGVyOiAwO1xuIH1cblxuIGxlZ2VuZCB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgcGFkZGluZzogMDtcbiAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgZm9udC1zaXplOiAxLjVyZW07XG4gICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgIGNvbG9yOiBpbmhlcml0O1xuICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiB9XG5cbiBwcm9ncmVzcyB7XG4gICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gfVxuXG4gW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgaGVpZ2h0OiBhdXRvO1xuIH1cblxuIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuIH1cblxuIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiB9XG5cbiA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgIGZvbnQ6IGluaGVyaXQ7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiB9XG5cbiBvdXRwdXQge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuIH1cblxuIHN1bW1hcnkge1xuICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgY3Vyc29yOiBwb2ludGVyO1xuIH1cblxuIHRlbXBsYXRlIHtcbiAgIGRpc3BsYXk6IG5vbmU7XG4gfVxuXG4gW2hpZGRlbl0ge1xuICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuIH1cbiAvKiMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAtcmVib290LmNzcy5tYXAgKi9cbiIsIi8qKlxuICogVHJhbnNpdGlvbiBTZXRzXG4qL1xuJHRyYW5zaXRpb25zOiAoXG4gIGZhc3QtZHVyYXRpb246IC4ycyxcbiAgdmVyeS1mYXN0LWR1cmF0aW9uOiAuMXMsXG4gIHNsb3ctZHVyYXRpb246IC40cyxcbiAgZGVmYXVsdC1kdXJhdGlvbjogLjNzLFxuICB2ZXJ5LXNsb3ctZHVyYXRpb246IC41c1xuKTtcbiIsIiRhcnJvdy1wcmV2LWJsdWU6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBuYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNuSUhacFpYZENiM2c5SnpBZ01DQXlOeUEwTkNjK1BIQmhkR2dnWkQwblRUQXNNakpNTWpJc01Hd3lMakVzTWk0eFREUXVNaXd5TW13eE9TNDVMREU1TGpsTU1qSXNORFJNTUN3eU1rd3dMREl5VERBc01qSjZKeUJtYVd4c1BTY2pNV0UwTXpkbEp5OCtQQzl6ZG1jKycpO1xuJGFycm93LXByZXYtd2hpdGU6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBuYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNuSUhacFpYZENiM2c5SnpBZ01DQXlOeUEwTkNjK1BIQmhkR2dnWkQwblRUQXNNakpNTWpJc01Hd3lMakVzTWk0eFREUXVNaXd5TW13eE9TNDVMREU1TGpsTU1qSXNORFJNTUN3eU1rd3dMREl5VERBc01qSjZKeUJtYVd4c1BTY2pabVptWm1abUp5OCtQQzl6ZG1jKycpO1xuXG4kYXJyb3ctbmV4dC1ibHVlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TnlBME5DSStQSEJoZEdnZ1pEMGlUVEkzTERJeVRESTNMREl5VERVc05EUnNMVEl1TVMweUxqRk1Nakl1T0N3eU1rd3lMamtzTWk0eFREVXNNRXd5Tnl3eU1rd3lOeXd5TW5vaUlHWnBiR3c5SWlNeFlUUXpOMlVpTHo0OEwzTjJaejQ9Jyk7XG4kYXJyb3ctbmV4dC13aGl0ZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU55QTBOQ0krUEhCaGRHZ2daRDBpVFRJM0xESXlUREkzTERJeVREVXNORFJzTFRJdU1TMHlMakZNTWpJdU9Dd3lNa3d5TGprc01pNHhURFVzTUV3eU55d3lNa3d5Tnl3eU1ub2lJR1pwYkd3OUlpTm1abVptWm1ZaUx6NDhMM04yWno0PScpO1xuIiwiXG4gQGltcG9ydCAnLi9yZW0uc2Nzcyc7XG5cbkBmdW5jdGlvbiBnZXQoJG9iaiwgJGtleSkge1xuICAkX29iajogbnVsbDtcblxuICBAaWYgKCRvYmogPT0gY29sb3IpIHtcbiAgICAkX29iajogJGNvbG9ycztcbiAgfVxuXG4gIEBpZiAoJG9iaiA9PSBmb250KSB7XG4gICAgJF9vYmo6ICRmb250cztcbiAgfVxuXG4gIEBpZiAoJG9iaiA9PSB0cmFuc2l0aW9uKSB7XG4gICAgJF9vYmo6ICR0cmFuc2l0aW9ucztcbiAgfVxuXG4gIEBpZiAoJG9iaiA9PSBncmlkKSB7XG4gICAgJF9vYmo6ICRncmlkO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRfb2JqLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHJlbW92ZS11bml0KCRudW1iZXIpIHtcbiAgJHVuaXQ6IHVuaXQoJG51bWJlcik7XG4gICRvbmU6IDE7XG5cbiAgQGlmICR1bml0ID09ICdweCcge1xuICAgICRvbmU6IDFweDtcbiAgfVxuXG4gIEBpZiAkdW5pdCA9PSAnZW0nIHtcbiAgICAkb25lOiAxcHg7XG4gIH1cblxuICBAaWYgJHVuaXQgPT0gJyUnIHtcbiAgICAkb25lOiAxcHg7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXIgLyAkb25lO1xufVxuXG5AZnVuY3Rpb24gZmxleCgkdGFyZ2V0LCAkY29udGV4dCwgJHVuaXQ6ICdlbScpIHtcbiAgJHNpemU6IHJlbW92ZS11bml0KCR0YXJnZXQpIC8gcmVtb3ZlLXVuaXQoJGNvbnRleHQpO1xuXG4gIEBpZiAkdW5pdCA9PSAnZW0nIHtcbiAgICBAcmV0dXJuICN7JHNpemV9ZW07XG4gIH1cblxuICBAaWYgJHVuaXQgPT0gJyUnIHtcbiAgICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHNpemUpO1xuICB9XG59XG5cbi8qIENvbnZlcnQgYSBweCB2YWx1ZSB0byBwZXJjZW50YWdlICovXG5AZnVuY3Rpb24gcGVyYygkdGFyZ2V0LCAkY29udGV4dCkge1xuICBAcmV0dXJuIGZsZXgoJHRhcmdldCwgJGNvbnRleHQsICclJyk7XG59XG4iLCIkcmVtLWJhc2VsaW5lOiAxNnB4ICFkZWZhdWx0O1xuJHJlbS1mYWxsYmFjazogZmFsc2UgIWRlZmF1bHQ7XG4kcmVtLXB4LW9ubHk6IGZhbHNlICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gcmVtLXNlcGFyYXRvcigkbGlzdCwgJHNlcGFyYXRvcjogZmFsc2UpIHtcbiAgJHRlc3QtbGlzdDogKCk7XG5cbiAgQGlmICRzZXBhcmF0b3IgPT0gJ2NvbW1hJyBvciAkc2VwYXJhdG9yID09ICdzcGFjZScge1xuICAgIEByZXR1cm4gYXBwZW5kKCRsaXN0LCBudWxsLCAkc2VwYXJhdG9yKTtcbiAgfVxuXG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoJ2xpc3Qtc2VwYXJhdG9yJykgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBsaXN0LXNlcGFyYXRvcigkbGlzdCk7XG4gIH1cblxuICAvLyBsaXN0LXNlcGFyYXRvciBwb2x5ZmlsbCBieSBIdWdvIEdpcmF1ZGVsIChodHRwczovL3Nhc3MtY29tcGF0aWJpbGl0eS5naXRodWIuaW8vI2xpc3Rfc2VwYXJhdG9yX2Z1bmN0aW9uKVxuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgJHRlc3QtbGlzdDogYXBwZW5kKCR0ZXN0LWxpc3QsICRpdGVtLCBzcGFjZSk7XG4gIH1cblxuICBAcmV0dXJuIGlmKCR0ZXN0LWxpc3QgPT0gJGxpc3QsIHNwYWNlLCBjb21tYSk7XG59XG5cbkBtaXhpbiByZW0tYmFzZWxpbmUoJHpvb206IDEwMCUpIHtcbiAgZm9udC1zaXplOiAkem9vbSAvIDE2cHggKiAkcmVtLWJhc2VsaW5lO1xufVxuXG5AZnVuY3Rpb24gcmVtLWNvbnZlcnQoJHRvLCAkdmFsdWVzLi4uKSB7XG4gICRyZXN1bHQ6ICgpO1xuICAkc2VwYXJhdG9yOiByZW0tc2VwYXJhdG9yKCR2YWx1ZXMpO1xuXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIGFuZCB1bml0KCR2YWx1ZSkgPT0gJ3JlbScgYW5kICR0byA9PSAncHgnIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUgLyAxcmVtICogJHJlbS1iYXNlbGluZSwgJHNlcGFyYXRvcik7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgYW5kIHVuaXQoJHZhbHVlKSA9PSAncHgnIGFuZCAkdG8gPT0gJ3JlbScge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSAvICRyZW0tYmFzZWxpbmUgKiAxcmVtLCAkc2VwYXJhdG9yKTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbGlzdCcge1xuICAgICAgJHZhbHVlLXNlcGFyYXRvcjogcmVtLXNlcGFyYXRvcigkdmFsdWUpO1xuICAgICAgJHZhbHVlOiByZW0tY29udmVydCgkdG8sICR2YWx1ZS4uLik7XG4gICAgICAkdmFsdWU6IHJlbS1zZXBhcmF0b3IoJHZhbHVlLCAkdmFsdWUtc2VwYXJhdG9yKTtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSwgJHNlcGFyYXRvcik7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZihsZW5ndGgoJHJlc3VsdCkgPT0gMSwgbnRoKCRyZXN1bHQsIDEpLCAkcmVzdWx0KTtcbn1cblxuQGZ1bmN0aW9uIHJlbSgkdmFsdWVzLi4uKSB7XG4gIEBpZiAkcmVtLXB4LW9ubHkge1xuICAgIEByZXR1cm4gcmVtLWNvbnZlcnQocHgsICR2YWx1ZXMuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHJlbS1jb252ZXJ0KHJlbSwgJHZhbHVlcy4uLik7XG4gIH1cbn1cblxuQG1peGluIHJlbSgkcHJvcGVydGllcywgJHZhbHVlcy4uLikge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gJ21hcCcge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiBtYXAta2V5cygkcHJvcGVydGllcykge1xuICAgICAgQGluY2x1ZGUgcmVtKCRwcm9wZXJ0eSwgbWFwLWdldCgkcHJvcGVydGllcywgJHByb3BlcnR5KSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgQGlmICRyZW0tZmFsbGJhY2sgb3IgJHJlbS1weC1vbmx5IHtcbiAgICAgICAgI3skcHJvcGVydHl9OiByZW0tY29udmVydChweCwgJHZhbHVlcy4uLik7XG4gICAgICB9XG5cbiAgICAgIEBpZiBub3QgJHJlbS1weC1vbmx5IHtcbiAgICAgICAgI3skcHJvcGVydHl9OiByZW0tY29udmVydChyZW0sICR2YWx1ZXMuLi4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHRyaWFuZ2xlLWJvdHRvbSgkZm9yZWdyb3VuZC1jb2xvciwgJGJhY2tncm91bmQtY29sb3IpIHtcbiAgJjphZnRlcixcbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiByZW0oOXB4IDguNXB4IDAgOC41cHgpO1xuICAgIGJvdHRvbTogcmVtKC05cHgpO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogcmVtKDEwcHggOS41cHggMCA5LjVweCk7XG4gICAgYm90dG9tOiByZW0oLTEwcHgpO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG5AbWl4aW4gdHJpYW5nbGUtcmlnaHQoJGZvcmVncm91bmQtY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yKSB7XG4gICY6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXdpZHRoOiByZW0oOC41cHggMCA4LjVweCA5cHgpO1xuICAgIGJvdHRvbTogNTAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IHJlbSgtOXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci13aWR0aDogcmVtKDkuNXB4IDAgOS41cHggMTBweCk7XG4gICAgYm90dG9tOiA1MCU7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogcmVtKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gdHJpYW5nbGUtdG9wKCRmb3JlZ3JvdW5kLWNvbG9yLCAkYmFja2dyb3VuZC1jb2xvcikge1xuICAmOmFmdGVyLFxuICAmOmJlZm9yZSB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IHJlbSg5cHggOC41cHggMCA4LjVweCk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogcmVtKC0xcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiByZW0oMTBweCA5LjVweCAwIDkuNXB4KTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG5cbi8qIGlucHV0LXBsYWNlaG9sZGVyICovXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiByZXNwKCRicmVha3BvaW50KSB7XG4gICRfbWVkaWEtcXVlcnk6IGlmKHR5cGUtb2YoJGJyZWFrcG9pbnQpICE9IHN0cmluZywgJGJyZWFrcG9pbnQsIGdldChncmlkLCAkYnJlYWtwb2ludCkpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkX21lZGlhLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJlc3AtbWF4KCRicmVha3BvaW50KSB7XG4gICRfbWVkaWEtcXVlcnk6IGlmKHR5cGUtb2YoJGJyZWFrcG9pbnQpICE9IHN0cmluZywgJGJyZWFrcG9pbnQsIGdldChncmlkLCAkYnJlYWtwb2ludCkpO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkX21lZGlhLXF1ZXJ5IC0gMXB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJlc3AtYW5kKCRtaW4sICRtYXgpIHtcbiAgJG1pbjogaWYodHlwZS1vZigkbWluKSAhPSBzdHJpbmcsICRtaW4sIGdldChncmlkLCAkbWluKSk7XG4gICRtYXg6IGlmKHR5cGUtb2YoJG1heCkgIT0gc3RyaW5nLCAkbWF4LCBnZXQoZ3JpZCwgJG1heCkpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCAtIDFweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IGhhbmRoZWxkcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXNtYWxsICsgMSkgYW5kIChtYXgtd2lkdGg6ICRicmVhay1sYXJnZSAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWVkaWEgPT0gd2lkZS1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LWdyaWQoJGF0dHJzKSB7XG4gICRfcXVlcmllczogbWFwLWtleXMoJGF0dHJzKTtcbiAgJF9hdHRyczogbWFwLWdldCgkYXR0cnMsIG50aCgkX3F1ZXJpZXMsIDEpKTtcbiAgJF9ndXR0ZXI6IG1hcC1nZXQoJF9hdHRycywgZ3V0dGVyKTtcbiAgJF9jb2x1bW5zOiBtYXAtZ2V0KCRfYXR0cnMsIGNvbHVtbnMpO1xuICAkX3NlbGVjdG9yOiBtYXAtZ2V0KCRfYXR0cnMsIHNlbGVjdG9yKTtcblxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAjeyRfc2VsZWN0b3J9IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBlYWNoICRfbWVkaWEgaW4gJF9xdWVyaWVzIHtcbiAgICAkX21lZGlhLWF0dHJzOiBtYXAtZ2V0KCRhdHRycywgJF9tZWRpYSk7XG4gICAgJF9tZWRpYS1jb2x1bW5zOiBtYXAtZ2V0KCRfbWVkaWEtYXR0cnMsIGNvbHVtbnMpO1xuICAgICRfbWVkaWEtZ3V0dGVyOiBpZihtYXAtZ2V0KCRfbWVkaWEtYXR0cnMsIGd1dHRlciksIG1hcC1nZXQoJF9tZWRpYS1hdHRycywgZ3V0dGVyKSwgJF9ndXR0ZXIpO1xuXG4gICAgQG1lZGlhIG5vdCBhbGwgYW5kIChtYXgtd2lkdGg6ICN7JF9tZWRpYX0pIHtcbiAgICAgICRfY29sdW1uczogJF9tZWRpYS1jb2x1bW5zO1xuXG4gICAgICAjeyRfc2VsZWN0b3J9IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgKDEwMCUgLyAjeyRfbWVkaWEtY29sdW1uc30gKyAjeyRfbWVkaWEtZ3V0dGVyIC8gJF9tZWRpYS1jb2x1bW5zfSkgLSAjeyRfbWVkaWEtZ3V0dGVyfVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAjeyRfc2VsZWN0b3J9Om50aC1jaGlsZCgjeyRfY29sdW1uc31uKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgI3skX3NlbGVjdG9yfTpub3QoOm50aC1jaGlsZCgjeyRfbWVkaWEtY29sdW1uc31uKSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRfbWVkaWEtZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJWRlZmF1bHQtcGFkZGluZy1zZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IHJlbSgzMHB4KTtcbiAgcGFkZGluZy10b3A6IHJlbSgzMHB4KTtcbn1cblxuJWRlZmF1bHQtYm94LXNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAgMCByZW0oMTBweCkgMCByZ2JhKCMwMDAsIC4xKTtcbn1cblxuJWRlZmF1bHQtYm9yZGVyLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IHJlbSg1cHgpIHNvbGlkIGdldChjb2xvciwgYWNjZW50KTtcbn1cblxuJWRlZmF1bHQtdHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IGFsbCBnZXQodHJhbnNpdGlvbiwgZGVmYXVsdC1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKC4yNSwgLjgsIC4yNSwgMSk7XG59XG4lZGVmYXVsdC1iYWNrZ3JvdW5kLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCB0byBib3R0b20sIGdldChjb2xvciwgYWNjZW50KSwgZ2V0KGNvbG9yLCBhY2NlbnQtc2Vjb25kYXJ5KSApIDtcbn1cblxuJWRlZmF1bHQtdGl0bGUge1xuICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQtc2Vjb25kYXJ5KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBnZXQoZm9udCwgcHJpbWFyeS1ib2xkKTtcbiAgbWFyZ2luOiAwO1xufVxuXG4lZGVmYXVsdC1idXR0b24ge1xuICBib3JkZXI6IHJlbSgxcHgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiByZW0oMTAwcHgpO1xuICBmb250LWZhbWlseTogZ2V0KGZvbnQsIHByaW1hcnktc2VtaWJvbGQpO1xuICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgbWluLXdpZHRoOiByZW0oMTcwcHgpO1xuICBwYWRkaW5nOiByZW0oMTEuNXB4IDIwcHgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAubG9hZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtKDEwcHgpO1xuICB9XG59XG5cbiVkZWZhdWx0LWlucHV0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBnZXQoY29sb3IsIGNvbW1vbi1saWdodCk7XG4gIGJvcmRlcjogcmVtKDFweCkgc29saWQgZ2V0KGNvbG9yLCBkZXRhaWwpO1xuICBib3JkZXItcmFkaXVzOiByZW0oNXB4KTtcbiAgY29sb3I6IGdldChjb2xvciwgY29udGVudC1saWdodCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IGdldChmb250LCBwcmltYXJ5KTtcbiAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gIGhlaWdodDogcmVtKDM4cHgpO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiByZW0oMCAxMHB4KTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiV0aXRsZS13aXRoLWljb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogcmVtKDE4cHgpO1xuICB9XG59XG5cbiVhZnRlci1saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGdldChjb2xvciwgYWNjZW50KTtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0oM3B4KTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogcmVtKDY3cHgpO1xuICB9XG59XG5cbiVyZXNldC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiVyZXNldC1ib3gge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiVjb250YWluZXItd2lkdGgge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiByZW0oZ2V0KGdyaWQsIGNvbnRhaW5lci13aWR0aCkgKyAoZ2V0KGdyaWQsIGRlZmF1bHQtcGFkZGluZy1zaWRlKSAqIDIpKTtcbiAgcGFkZGluZzogcmVtKDAgZ2V0KGdyaWQsIGRlZmF1bHQtcGFkZGluZy1zaWRlKSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4lY29udGFpbmVyLXJlZHVjZWQge1xuICBtYXgtd2lkdGg6IHJlbShcbiAgICBnZXQoZ3JpZCwgY29udGFpbmVyLXJlZHVjZWQpICsgKGdldChncmlkLCBkZWZhdWx0LXBhZGRpbmctc2lkZSkgKiAyKVxuICApO1xuICBwYWRkaW5nOiByZW0oMCBnZXQoZ3JpZCwgZGVmYXVsdC1wYWRkaW5nLXNpZGUpKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiVjb250YWluZXItcHVzaGVkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtKDdweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiByZW0oN3B4KTtcbiAgbWFyZ2luLXRvcDogcmVtKC00MHB4KTtcbiAgcGFkZGluZy10b3A6IHJlbSgyNXB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4lcGFnZUhlYWRlci1jb250ZXh0IHtcbiAgcGFkZGluZy10b3A6IHJlbSg0MHB4KTtcblxuICAucGFnZS1oZWFkZXItLWNvbnRleHQgLmNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogcmVtKC04MHB4KTtcbiAgfVxufVxuXG4lYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuJWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuIiwiLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IGdldChjb2xvciwgYWNjZW50KTtcbiAgYm9yZGVyLXJhZGl1czogNDVweDtcbiAgY29sb3I6IGdldChjb2xvciwgY29tbW9uLWxpZ2h0KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMTVweCAzNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IC4zcztcblxuICAmLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCBnZXQoY29sb3IsIGFjY2VudCksIDIwJSApO1xuICAgIGNvbG9yOiBnZXQoY29sb3IsIGNvbW1vbi1saWdodCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICYtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICAgIHNtYWxse1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5idG4tdG9wIHtcbiAgYmFja2dyb3VuZDogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgdHJhbnNpdGlvbjogZWFzZS1pbi1vdXQgLjNzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbihnZXQoY29sb3IsIGFjY2VudCksIDE1JSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiLnZpZGVvLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDc2OHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIC52aWRlby13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbmlmcmFtZSB7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuMjUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIudGl0bGUge1xuICBmb250LWZhbWlseTogZ2V0KGZvbnQsIHByaW1hcnkpO1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgJi0tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBzcGFuIHtcbiAgICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgfVxufVxuXG4uc3ViLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IGdldChmb250LCBwcmltYXJ5KTtcblxuICAmLS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYtLWxpZ2h0IHtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuIiwiLmNvbnRhaW5lciB7XG4gIEBleHRlbmQgJWNvbnRhaW5lci13aWR0aDtcbn1cblxuLmNvbnRhaW5lci1yZWR1Y2VkIHtcbiAgQGV4dGVuZCAlY29udGFpbmVyLXJlZHVjZWQ7XG59XG4iLCIiLCIkY29sb3JfMTogIzM3MzczNztcbiRjb2xvcl8zOiBnZXQoY29sb3IsYWNjZW50KTtcblxudWwuY291bnRkb3duIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRsaSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGNvbG9yOiAkY29sb3JfMTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiAwIDVweDtcblx0XHRwYWRkaW5nOiAyJSAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMTMwcHg7XG5cdFx0c3BhbiB7XG5cdFx0XHRmb250LXNpemU6IDkwcHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA5MHB4O1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59XG4uZXhwaXJlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IGdldChjb2xvciwgYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRkaXNwbGF5OiBub25lO1xuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZzogMiU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IDUwJTtcblx0aDIge1xuXHRcdGNvbG9yOiAkY29sb3JfMztcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVxuLmNvdW50ZXItaG9tZSB7XG5cdHVsLmNvdW50ZG93biB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bGkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblx0XHRcdGNvbG9yOiAkY29sb3JfMztcblx0XHRcdG1hcmdpbjogMCA1cHg7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDIwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRmb250LXNpemU6IDYwcHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNTBweDtcblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZXhwaXJlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHBhZGRpbmc6IDIwcHggNDBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblx0aDIge1xuXHRcdGNvbG9yOiAkY29sb3JfMztcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG59XG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHR1bC5jb3VudGRvd24ge1xuXHRcdGxpIHtcblx0XHRcdHdpZHRoOiA3OHB4O1xuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDUwcHg7XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY291bnRlci1ob21lIHtcblx0XHR1bC5jb3VudGRvd24ge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IDAgM3B4O1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDE1cHg7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDM1cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbnVsLmNvdW50ZG93blAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0bGkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiAwIDVweDtcblx0XHRwYWRkaW5nOiAyJSAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMTMwcHg7XG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDo3NjhweCkge1xuXHRcdFx0d2lkdGg6IDUxcHg7XG4gICAgfVxuXHRcdHNwYW4ge1xuXHRcdFx0Zm9udC1zaXplOiA5MHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRsaW5lLWhlaWdodDogOTBweDtcblx0XHRcdEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6NzY4cHgpe1xuXHRcdFx0XHRmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuICAgICAgb3BhY2l0eTogLjk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0QG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDo3NjhweCkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uZXhwaXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdldChjb2xvciwgYWNjZW50KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMiU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDUwJTtcblxuICBoMiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiB9XG4iLCIudGhhbmtzIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAuaGVyby0tbGlnaHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5jb250YWluZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5oZXJvLWJvZHkge1xuICAgICAgY29sb3I6IGdldChjb2xvciwgYWNjZW50KTtcbiAgICB9XG5cbiAgICAuaXMtZmx1aWQge1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmhlcm8tYm9keS5jb250ZW50IHtcbiAgICAudGl0bGUsXG4gICAgLnN1Yi10aXRsZSB7XG4gICAgICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLndhcm5pbmcge1xuICAuaGVyby1ib2R5IHtcbiAgICAudGl0bGUsXG4gICAgLnN1Yi10aXRsZSB7XG4gICAgICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLmFkdmFudGFnZS1jYXJkIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAmX19pbWcge1xuICAgIG1heC13aWR0aDogMTY1cHg7XG4gICAgd2lkdGg6IDgwJTtcblxuICAgIGltZyB7XG4gICAgICBib3gtc2hhZG93OiAwcHggNXB4IDE1cHggLTEwcHggIzAwMDAwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgfVxuICB9XG5cbiAgJl9faW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGNvbG9yOiBnZXQoY29sb3IsIGFjY2VudCk7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IGdldChjb2xvciwgY29udGVudC1saWdodCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgICBvcGFjaXR5OiAwLjE7XG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH07XG4gIH1cblxuICAmX190aXRsZSxcbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBnZXQoZm9udCwgcHJpbWFyeSk7XG5cbiAgfVxuXG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICZfX2luZm8ge1xuICAgICAgbWFyZ2luLWxlZnQ6MjVweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG4iLCIuZmFxLWFjY29yZGlvbiB7XG4gICRjbG91ZHM6ICNlY2YwZjE7XG5cbiAgLnRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBpbnB1dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgLy8gTGF5b3V0XG4gIC5yb3cge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICAuY29sIHtcbiAgICAgIGZsZXg6MTtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyogQWNjb3JkaW9uIHN0eWxlcyAqL1xuICAudGFicyB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDRweCAtMnB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDI1cHgpO1xuICB9XG4gIC50YWIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi1sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBnZXQoY29sb3IsIGFjY2VudCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgLyogSWNvbiAqL1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihnZXQoY29sb3IsIGFjY2VudCksIDEwJSk7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNzZGXCI7XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMzVzO1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zNXM7XG4gICAgfVxuICAgICYtY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZDogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oZ2V0KGNvbG9yLCBhY2NlbnQpLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIDpjaGVja2VkXG4gIGlucHV0OmNoZWNrZWQge1xuICAgICsgLnRhYi1sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oZ2V0KGNvbG9yLCBhY2NlbnQpLCAxMCUpO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICAgIH4gLnRhYi1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiJGNvbG9yXzE6IHdoaXRlO1xuJGJhY2tncm91bmRfY29sb3JfMTogIzlhOWE5YTtcblxuLnNlY3Rpb24tZm9vdGVyIHtcblx0YmFja2dyb3VuZDogdXJsKC4vLi4vaW1nL2JnRm9vdGVyLmpwZykgcmVwZWF0O1xuICBjb2xvcjogZ2V0KGNvbG9yLCBjb21tb24tbGlnaHQpO1xuICBwYWRkaW5nOiA0MHB4IDI0cHggMjJweCAyNHB4O1xuXHRoMiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuXHR9XG5cdGhyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZF9jb2xvcl8xO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdG9wYWNpdHk6IDAuMztcblx0fVxuXHRhIHtcbiAgICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRjb2xvcl8xO1xuXHRcdH1cbiAgfVxuICAuY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb3B5cmlnaHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmltZy1zZWxvIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRpbWcge1xuXHRcdG1heC13aWR0aDogMjUwcHg7XG5cdH1cbn1cbi5pbWctbGFiIHtcblx0Ym9yZGVyLXJhZGl1czogMjBweCA5MHB4IDEwcHggOTBweDtcblx0Ym94LXNoYWRvdzogMnB4IDJweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG59XG4ucmVsYXRpdmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaW1nLW1vZGVsbyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDE4cHg7XG5cdHRvcDogLTMwJTtcbn1cbi5pbWctbW9kZWxvMiB7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXJnaW4tYm90dG9tOiAtMTMwcHg7XG5cdHdpZHRoOiAzMDBweDtcbn1cbi5jb2wtY29tby1mdW5jaW9uYSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuLmlzLXBhZGRpbmdsZXNzLWJvdHRvbSB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcblx0LmltZy1zZWxvIHtcblx0XHRpbWcge1xuXHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHR9XG5cdH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG5cdC5pbWctbW9kZWxvIHtcblx0XHRib3R0b206IC05MHB4O1xuXHRcdG1heC13aWR0aDogNTAwcHg7XG5cdFx0dG9wOiBhdXRvO1xuXHR9XG59XG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuaW1nLW1vZGVsbyB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcblx0LmltZy1tb2RlbG8yIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuY29sLWNvbW8tZnVuY2lvbmEge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDEzMDBweCkge1xuXHQuY29sLWNvbW8tZnVuY2lvbmEge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdG1heC13aWR0aDogMTE1MHB4O1xuXHR9XG59XG4iLCIuaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogZ2V0KCBjb2xvciwgYWNjZW50LXRlcnRpYXJ5KTtcbiAgcGFkZGluZzogMTVweCAwO1xuXG59XG5cbi5oZWFkZXIyIHtcbiAgQGV4dGVuZCAuaGVhZGVyO1xuICAuY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbiIsIi5oZXJvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ2V0KGNvbG9yLCBjb21tb24tbGlnaHQpO1xuICBwYWRkaW5nOiA1MHB4IDAgNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYtLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQoY29sb3IsIGRldGFpbC1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJi0tYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgIGNvbG9yOiBnZXQoY29sb3IsIGNvbW1vbi1saWdodCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlO1xuXG4gICAgLmxlZnQtc2lkZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICB9XG5cbiAgfVxuXG4gIHAsXG4gIC50aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IGdldChmb250LHByaW1hcnkpO1xuICB9XG5cbiAgLnNsaWNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAubGVmdC1zaWRlLFxuICAucmlnaHQtc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuXG4gIC5wcm9kdWN0LXRyZWUge1xuICAgIG1heC13aWR0aDogNDQ4cHg7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG4gIH1cblxuICAmLWxpc3Qge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3Q7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogZ2V0KGNvbG9yLCBjb250ZW50LWxpZ2h0KTtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZvbnQtZmFtaWx5OiBnZXQoZm9udCwgcHJpbWFyeSk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbG9yOiBnZXQoY29sb3IsIGNvbW1vbi1saWdodCk7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3JvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcblxuICAgICYtLXJldmVyc2Uge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdG9wOiB1bnNldDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgJi50ZXN0aW1vbmlhbHMge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiBnZXQoY29sb3IsIGFjY2VudCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBwLFxuICAgIHNwYW57XG4gICAgICBmb250LWZhbWlseTogZ2V0KGZvbnQsIHByaW1hcnkpO1xuICAgIH1cbiAgICBwe1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRlc3RpbW9uaWFsLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYTU1OGY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICYtLXdoYXRzYXBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM3NXB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IGdldChjb2xvciwgYWNjZW50KTtcbiAgICB9XG4gIH1cblxuICAuaGVyby1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IGdldChjb2xvciwgY29udGVudC1saWdodCk7XG4gICAgZm9udC1mYW1pbHk6IGdldChmb250LCBwcmltYXJ5KTtcbiAgfVxuXG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIC5sZWZ0LXNpZGUsXG4gICAgLnJpZ2h0LXNpZGUge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgfVxuICB9XG59XG4iLCIuaW1hZ2Uge1xuICBjb250YWluOiBzdHJpY3Q7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA0OC45OCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG5cbiAgJl9faW5uZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuIiwiLmxvZ28ge1xuXG5cbiAgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cblxufVxuIiwiLm1haW4tbWVudSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAubWVudS1pdGVtIHtcbiAgICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgIGZvbnQtZmFtaWx5OiBnZXQoZm9udCwgcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgNXB4O1xuXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAubG9nbyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIubWlkaWEtdGVzdGltb25pYWwge1xuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnRpdGxlIHtcbiAgICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbiAgLm1pZGlhLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDVweCAxOXB4IC0xMXB4ICMwMDA7XG4gICAgZm9udC1mYW1pbHk6IGdldChmb250LCBwcmltYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICB0cmFuc2l0aW9uOiBlYXNlIC4zcztcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyNXB4KTtcblxuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDgxcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogZ2V0KGNvbG9yLCBhY2NlbnQpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgfVxuICB9XG59XG5cbiIsIi5ib2R5LWl0ZW5zLWNoZWNrb3V0IHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGJhY2tncm91bmQ6ICNmOGU4ZWY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5oZXJvLWJvZHkge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbTtcbiAgfVxuICAuaGVhZGVyLWNoZWNrb3V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQoY29sb3IsYWNjZW50KTtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAuNiUgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICAubG9nbyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAudGl0bGUxIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAudGl0bGUyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44OWVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzJTtcbiAgICB9XG4gIH1cbiAgLmNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuY29sdW1ue1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICBwYWRkaW5nOiAuNzVyZW07XG5cbiAgICAgIGF7XG4gICAgICAgIGNvbG9yOiBnZXQoY29sb3IsYWNjZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZhaXhhSW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0KGNvbG9yLGFjY2VudCk7XG4gICAgcGFkZGluZzogMThweCAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5pdGVtLWZhaXhhLWluZm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6IGdldChjb2xvcixhY2NlbnQpO1xuICAgICAgICBmb250LXNpemU6IDMzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb250YWluZXItb2ZlcnRhcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDM1cHg7XG4gIH1cbiAgLm9mZXJ0YS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAwMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICBtYXgtd2lkdGg6IDMxMHB4O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLm9mZXJ0YS1oZWFkZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwcHggNHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC5vZmVydGEtZGVzY29udG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQoY29sb3IsYWNjZW50KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDAwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgfVxuICAgICAgLm9mZXJ0YS1pbmZvcyB7XG4gICAgICAgIGNvbG9yOiBnZXQoY29sb3IsYWNjZW50KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxNnB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm9mZXJ0YS1wcm9kdXRvIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIC50b3AtdmVuZGEge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICB9XG4gICAgICAucHJvZHV0b3MtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMTY1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3QxIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wcm9kdWN0MiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NXB4O1xuICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3QzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNjAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NXB4O1xuICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3Q0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMjAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTYlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3Q1IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTIwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2JTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzVweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLm9mZXJ0YS12YWxvcmVzIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29sb3I6ICM0MDQwNDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaHIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICB9XG4gICAgICAudmFsb3ItY29tLWRlc2NvbnRvIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC52YWxvci1maW5hbCB7XG4gICAgICAgIGNvbG9yOiAjMmIyYjJiO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMiU7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB3aWR0aDogMTA0JTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6IGdldChjb2xvcixhY2NlbnQpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy4xZW07XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm9mZXJ0YS1idG4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNCU7XG4gICAgICBwYWRkaW5nLXRvcDogMiU7XG4gICAgICBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0KGNvbG9yLGFjY2VudCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAuNHMgZWFzZS1pbi1vdXQsaGVpZ2h0IC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjRzIGVhc2UtaW4tb3V0LGhlaWdodCAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICAgIGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldChjb2xvcixhY2NlbnQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDQlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAycHggM3B4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICB6LWluZGV4OiAxMTU7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgaGVpZ2h0OiA1NjIuNXB4O1xuICAgICAgICAgIHdpZHRoOiAyMjUlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5vZmVydGEtY29udGFpbmVyLnRvcC12ZW5kYXMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgfVxuICAuY29sb3ItZ3JlZW4ge1xuICAgIGNvbG9yOiAjNDhhMTE4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmJnLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDhhMTE4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbG9yLWJ0bi1kZXN0YXF1ZSB7XG4gICAgY29sb3I6IGdldChjb2xvcixhY2NlbnQpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmJnLWNvbG9yLWJ0bi1kZXN0YXF1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0KGNvbG9yLGFjY2VudCkgIWltcG9ydGFudDtcbiAgfVxuICAuYXJyb3ctdG9wLXZlbmRhcy1sZWZ0IHtcbiAgICBib3R0b206IDk0cHg7XG4gICAgbGVmdDogMiU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTtcbiAgICB3aWR0aDogNzBweDtcbiAgfVxuICAuYXJyb3ctdG9wLXZlbmRhcy1yaWdodCB7XG4gICAgYm90dG9tOiA5NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMiU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKTtcbiAgICB3aWR0aDogNzBweDtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5oZWFkZXItY2hlY2tvdXQge1xuICAgICAgcGFkZGluZzogMiU7XG4gICAgICAubG9nbyB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0MjVweCkge1xuICAgIC5vZmVydGEtY29udGFpbmVyIHtcbiAgICAgIC5vZmVydGEtdmFsb3JlcyB7XG4gICAgICAgIC52YWxvci1maW5hbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAuNjZlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5vZmVydGEtY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgLm9mZXJ0YS1pbmZvcyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDg3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTEwcHgpIHtcbiAgICAuYXJyb3ctdG9wLXZlbmRhcy1sZWZ0IHtcbiAgICAgIGxlZnQ6IC03JTtcbiAgICB9XG4gICAgLmFycm93LXRvcC12ZW5kYXMtcmlnaHQge1xuICAgICAgcmlnaHQ6IC03JTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbG9yLXdoaXRlIHtcblx0Y29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuIiwiJGJhc2VweDogMTlweDtcblxuQGZ1bmN0aW9uIGVtKCR0YXJnZXQsICRjb250ZXh0OiAkYmFzZXB4KSB7XG4gICAgQGlmICR0YXJnZXQ9PTAge1xuICAgICAgICBAcmV0dXJuIDBcbiAgICB9XG5cbiAgICBAcmV0dXJuICR0YXJnZXQgLyAkY29udGV4dCswZW07XG59XG5cbkBtaXhpbiBwcmVmaXgoJG5hbWUsICR2YWx1ZSkge1xuICAgIEBlYWNoICR2ZW5kb3IgaW4gKCctd2Via2l0LScsICctbW96LScsICctbXMtJywgJy1vLScsICcnKSB7XG4gICAgICAgICN7JHZlbmRvcn0jeyRuYW1lfTogI3skdmFsdWV9O1xuICAgIH1cbn1cblxuLmJhY2tncm91bmQtc3R1ZmYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjOThjNWU4O1xuICAgIGFuaW1hdGlvbjogd3JhcHBlckluIC41cztcblxuICAgIC5iZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwJTtcbiAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogIzYzNmVkMTtcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGFuaW1hdGlvbiwgYmdJbiA0cyAwcyBsaW5lYXIgaW5maW5pdGUpO1xuICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLCBza2V3WCgxMGRlZykpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5iZy0yIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzhmYWFmZjtcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGFuaW1hdGlvbiwgYmdJbiA0cyAxcyBsaW5lYXIgaW5maW5pdGUpO1xuICAgIH1cblxuICAgIC5iZy0zIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzVhNzNkYTtcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGFuaW1hdGlvbiwgYmdJbiA0cyAycyBsaW5lYXIgaW5maW5pdGUpO1xuICAgIH1cblxuICAgIC5ncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oLTMwcHgsICRiYXNlcHgpO1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmMyNTM7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuXG4uY29udGFpbmVyLWNhciB7XG4gICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuY2FyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jYXIge1xuICAgIHdpZHRoOiBlbSgzMjBweCwgJGJhc2VweCk7XG4gICAgaGVpZ2h0OiBlbSgyMDBweCwgJGJhc2VweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgQGluY2x1ZGUgcHJlZml4KGFuaW1hdGlvbiwgY2FyTW92ZSAwLjNzIGluZmluaXRlKTtcblxuICAgIC5ib2R5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGVtKDE0cHgsICRiYXNlcHgpO1xuICAgICAgICB3aWR0aDogZW0oMjMwcHgsICRiYXNlcHgpO1xuICAgICAgICBoZWlnaHQ6IGVtKDE2MHB4LCAkYmFzZXB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogZW0oLTE0cHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiBlbSgyNTRweCwgJGJhc2VweCk7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgaGVpZ2h0OiBlbSgxMnB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNmQ2ZDY7XG4gICAgICAgIH1cblxuICAgICAgICBkaXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIHdpZHRoOiBlbSgyOTBweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGVtKDYwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgYm90dG9tOiBlbSgtMTBweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGVtKC0yOXB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBlbSg4MHB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVtKDQwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxNHB4IDAgMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLCByb3RhdGUoMTdkZWcpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGVtKC04MnB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgICAgICByaWdodDogZW0oMTdweCwgJGJhc2VweCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGVtKDkwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogZW0oNDBweCwgJGJhc2VweCk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHJvdGF0ZSg3NWRlZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndoZWVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogZW0oNjBweCwgJGJhc2VweCk7XG4gICAgICAgIGhlaWdodDogZW0oNjBweCwgJGJhc2VweCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzYzQ2NGM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiBlbSg0OHB4LCAkYmFzZXB4KTtcbiAgICAgICAgei1pbmRleDogMTQ7XG4gICAgICAgIEBpbmNsdWRlIHByZWZpeChhbmltYXRpb24sIGNhck1vdmUgMC4zcyAwLjJzKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgd2lkdGg6IGVtKDI0cHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBlbSgyNHB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgIGxlZnQ6IGVtKDIxMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZWNvcyB7XG4gICAgICAgIHdpZHRoOiBlbSgyOTBweCwgJGJhc2VweCk7XG4gICAgICAgIGhlaWdodDogZW0oMTY4cHgsICRiYXNlcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGVtKDE0cHgsICRiYXNlcHgpO1xuICAgIH1cblxuICAgIC5saW5lLWJvdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBlbSg5cHgsICRiYXNlcHgpO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlMWU4ZWY7XG4gICAgfVxuXG4gICAgLmRvb3Ige1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IGVtKDEyMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogZW0oNjBweCwgJGJhc2VweCk7XG4gICAgICAgIGhlaWdodDogZW0oMTQxcHgsICRiYXNlcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZTFlOGVmO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogZW0oNnB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIGxlZnQ6IGVtKDZweCwgJGJhc2VweCk7XG4gICAgICAgICAgICB3aWR0aDogZW0oNDNweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGVtKDQwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzViYzJlZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYW5kbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IGVtKDEwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgdG9wOiBlbSg3MHB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIHdpZHRoOiBlbSgxMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIGhlaWdodDogZW0oMTBweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTFlOGVmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBlbSgyMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVtKDRweCwgJGJhc2VweCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTFlOGVmO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBlbSgtNXB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBlbSgtMnB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3R0b20ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiBlbSg2cHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgbGVmdDogZW0oMTFweCwgJGJhc2VweCk7XG4gICAgICAgICAgICB3aWR0aDogZW0oMzhweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGVtKDEycHgsICRiYXNlcHgpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSgzcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlMWU4ZWY7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSg0cHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oNHB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aW5kb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogZW0oMThweCwgJGJhc2VweCk7XG4gICAgICAgIGxlZnQ6IGVtKDIwMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgd2lkdGg6IGVtKDMycHgsICRiYXNlcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNWJjMmVmO1xuICAgICAgICBoZWlnaHQ6IGVtKDcycHgsICRiYXNlcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAxMHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogZW0oMjBweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNWJjMmVmO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBlbSg0N3B4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IGVtKDIwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzViYzJlZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogZW0oMTdweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBsZWZ0OiBlbSgtMTNweCwgJGJhc2VweCk7XG4gICAgICAgICAgICB3aWR0aDogZW0oNjdweCwgJGJhc2VweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLCByb3RhdGUoNzRkZWcpKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAxMHB4IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiBlbSgxMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgaGVpZ2h0OiBlbSgxMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmOGM0MDtcbiAgICAgICAgcmlnaHQ6IGVtKDYwcHgsICRiYXNlcHgpO1xuICAgICAgICBib3R0b206IGVtKDUwcHgsICRiYXNlcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgfVxuXG4gICAgLmxpZ2h0LWZyb250IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogZW0oOHB4LCAkYmFzZXB4KTtcbiAgICAgICAgaGVpZ2h0OiBlbSg4cHgsICRiYXNlcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY4YzQwO1xuICAgICAgICByaWdodDogZW0oLTNweCwgJGJhc2VweCk7XG4gICAgICAgIGJvdHRvbTogZW0oNTdweCwgJGJhc2VweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmY4YzQwO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBlbSgxNXB4LCAkYmFzZXB4KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hbnRlbm5hIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogZW0oMjZweCwgJGJhc2VweCk7XG4gICAgICAgIGhlaWdodDogZW0oMTBweCwgJGJhc2VweCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgbGVmdDogZW0oMTdweCwgJGJhc2VweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogZW0oMzhweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGVtKDRweCwgJGJhc2VweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogZW0oLTIycHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybSwgcm90YXRlKDU1ZGVnKSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLW9yaWdpbiwgcmlnaHQpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljZS1jcmVhbSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogZW0oMzBweCwgJGJhc2VweCk7XG4gICAgICAgIHRvcDogZW0oMzBweCwgJGJhc2VweCk7XG4gICAgICAgIHdpZHRoOiBlbSg3MHB4LCAkYmFzZXB4KTtcbiAgICAgICAgaGVpZ2h0OiBlbSg3MHB4LCAkYmFzZXB4KTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2VlZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLCByb3RhdGUoLTEwZGVnKSk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzclO1xuICAgICAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgICAgICBsZWZ0OiAtMyU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29uZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHRyYW5zbGF0ZSgtNTAlLCAtMjAlKSk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IGVtKDE4cHgsICRiYXNlcHgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IGVtKDE4cHgsICRiYXNlcHgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogZW0oNDBweCwgJGJhc2VweCkgc29saWQgI2Y0YjIyNDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGVtKDIwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogZW0oMjBweCwgJGJhc2VweCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwYzBhODtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiBlbSgtNTVweCwgJGJhc2VweCk7XG4gICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGVtKDIwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogZW0oMjBweCwgJGJhc2VweCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZDEzMjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiBlbSgtNTVweCwgJGJhc2VweCk7XG4gICAgICAgICAgICAgICAgbGVmdDogZW0oLTIwcHgsICRiYXNlcHgpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDEwcHggLTVweCAwcHggMHB4ICNmZjlhOWE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53aW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogZW0oLTIwcHgsICRiYXNlcHgpO1xuXG4gICAgLnAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGVtKDEwcHgsICRiYXNlcHgpO1xuICAgICAgICBoZWlnaHQ6IGVtKDEwcHgsICRiYXNlcHgpO1xuICAgIH1cblxuICAgIC5wMSB7XG4gICAgICAgIHdpZHRoOiBlbSg3MHB4LCAkYmFzZXB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiBlbSgyNXB4LCAkYmFzZXB4KTtcbiAgICAgICAgYW5pbWF0aW9uOiB3aW5kIDFzIC0xcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLnAyIHtcbiAgICAgICAgd2lkdGg6IGVtKDEwMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgcmlnaHQ6IGVtKDQwcHgsICRiYXNlcHgpO1xuICAgICAgICB0b3A6IGVtKDYwcHgsICRiYXNlcHgpO1xuICAgICAgICBhbmltYXRpb246IHdpbmQgMXMgLTJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAucDMge1xuICAgICAgICB3aWR0aDogZW0oNTBweCwgJGJhc2VweCk7XG4gICAgICAgIHJpZ2h0OiBlbSgwMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgdG9wOiBlbSgxMDVweCwgJGJhc2VweCk7XG4gICAgICAgIGFuaW1hdGlvbjogd2luZCAxcyAtMXMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cblxuICAgIC5wNCB7XG4gICAgICAgIHdpZHRoOiBlbSg2MHB4LCAkYmFzZXB4KTtcbiAgICAgICAgcmlnaHQ6IGVtKDEwMHB4LCAkYmFzZXB4KTtcbiAgICAgICAgdG9wOiBlbSgxMzVweCwgJGJhc2VweCk7XG4gICAgICAgIGFuaW1hdGlvbjogd2luZCAxcyAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLnA1IHtcbiAgICAgICAgd2lkdGg6IGVtKDcwcHgsICRiYXNlcHgpO1xuICAgICAgICByaWdodDogZW0oMzBweCwgJGJhc2VweCk7XG4gICAgICAgIHRvcDogZW0oMTQ1cHgsICRiYXNlcHgpO1xuICAgICAgICBhbmltYXRpb246IHdpbmQgMXMgLTEuNXMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbn1cblxuLmNhci13cmFwcGVyX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcbn1cblxuQGtleWZyYW1lcyBjYXJNb3ZlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdpbmQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMCUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLmNhcl9vdXR0ZXIge1xuICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHRyYW5zbGF0ZVgoLTEwMCUpKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBjYXJEcml2ZSA4cyAxcyBjdWJpYy1iZXppZXIoMC44OCwgMC4wOCwgMC4xNiwgMS4xKSBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBjYXJEcml2ZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwJSk7XG4gICAgfVxuXG4gICAgMjUlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG5cbiAgICA3MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJnSW4ge1xuICAgIDAlIHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdyYXBwZXJJbiB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNBQTs7RUFFRTtBQ0ZGOztFQUVFO0FDRkY7O0VBRUU7QUFPRjs7RUFFRTtBQ1ZELEFBQUEsQ0FBQztBQUNELENBQUMsQUFBQSxRQUFRO0FBQ1QsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUNQLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCOztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLFVBQVU7RUFDdkIsV0FBVyxFQUFFLElBQUk7RUFDakIsd0JBQXdCLEVBQUUsSUFBSTtFQUM5QiwyQkFBMkIsRUFBRSxnQkFBZ0IsR0FDOUM7O0FBRUQsQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUM7RUFDN0UsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDO0VBQ1QsV0FBVyxFQUFFLHFMQUFxTDtFQUNsTSxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRUFBRSxPQUFPO0VBQ2QsVUFBVSxFQUFFLElBQUk7RUFDaEIsZ0JBQWdCLEVBQUUsSUFBSSxHQUN2Qjs7Q0FFRCxBQUFBLEFBQUEsUUFBQyxDQUFTLElBQUksQUFBYixDQUFjLE1BQU0sQ0FBQztFQUNwQixPQUFPLEVBQUUsWUFBWSxHQUN0Qjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsUUFBUSxFQUFF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 */
