* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

body {
  font-family: 'Roboto', sans-serif; }

.wrapper {
  max-width: 1100px;
  width: 92%;
  margin: auto; }

.title_section {
  color: #56a09a;
  font-size: 38px; }

.subtitle_section {
  color: #000;
  font-size: 23.6px; }

header .box_menu {
  display: flex;
  justify-content: space-between;
  padding: 20px 0;
  background-color: white; }
  header .box_menu .logo {
    max-width: 350px;
    width: 96%; }
  header .box_menu .contacto_header {
    display: flex;
    justify-content: space-between; }
    header .box_menu .contacto_header .icon_contacto {
      margin-right: 10px; }
    header .box_menu .contacto_header .text_contacto {
      width: 130px; }
    header .box_menu .contacto_header .text_contacto a {
      color: #56a09a; }
  header .box_menu .contacto_header:nth-child(2) {
    margin-top: 15px; }

section#marcas {
  padding: 40px 20px; }
  section#marcas .marcas_container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    text-align: center; }
    @media only screen and (max-width: 808px) {
      section#marcas .marcas_container {
        grid-template-columns: repeat(1, 1fr); } }
    section#marcas .marcas_container img {
      height: auto; }

section#servicios {
  background-color: #f5f9f9;
  padding: 40px 0; }
  section#servicios .grid_servicios {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    list-style: none;
    text-align: center;
    margin-top: 80px; }
    section#servicios .grid_servicios h4 {
      color: #56a09a;
      font-size: 20px;
      max-width: 300px;
      margin: 30px auto 10px; }
    section#servicios .grid_servicios p {
      max-width: 200px;
      margin: auto;
      font-size: 20px;
      line-height: 25px; }
    section#servicios .grid_servicios div:nth-child(2) p {
      max-width: 300px; }
    section#servicios .grid_servicios div:nth-child(3) p {
      max-width: 250px; }
  section#servicios .box_btn {
    text-align: center; }
    section#servicios .box_btn .btn_base {
      margin-left: 0;
      margin-top: 70px;
      padding: 8px 60px; }

.btn_base {
  background: #f4bd15;
  color: #000;
  padding: 8px 40px;
  border-radius: 4px;
  margin-left: 110px;
  margin-top: 30px;
  display: inline-block; }

section#galeria {
  padding: 40px 0; }
  section#galeria #grid_galeria {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    margin-top: 40px; }
    section#galeria #grid_galeria div.galeria_iogi {
      margin-top: 8px; }
    section#galeria #grid_galeria div.galeria_arquer {
      margin-top: 8px; }
      section#galeria #grid_galeria div.galeria_arquer .btn_base {
        margin-top: 32px; }
    section#galeria #grid_galeria .modal-dialog {
      max-width: 1000px; }
      section#galeria #grid_galeria .modal-dialog .modal-body {
        padding: 90px 50px; }
        section#galeria #grid_galeria .modal-dialog .modal-body .carousel-item img {
          width: 100%; }
        section#galeria #grid_galeria .modal-dialog .modal-body .carousel-control-prev-icon {
          background-image: url(../images/left.png); }
        section#galeria #grid_galeria .modal-dialog .modal-body .carousel-control-next-icon {
          background-image: url(../images/right.png); }
        section#galeria #grid_galeria .modal-dialog .modal-body .carousel-control-next-icon, section#galeria #grid_galeria .modal-dialog .modal-body .carousel-control-prev-icon {
          width: 23px;
          height: 39px; }
        section#galeria #grid_galeria .modal-dialog .modal-body .carousel-control-prev {
          top: inherit;
          bottom: -60px;
          left: 30%;
          opacity: 1; }
        section#galeria #grid_galeria .modal-dialog .modal-body .carousel-control-next {
          top: inherit;
          bottom: -60px;
          right: 30%;
          opacity: 1; }
      section#galeria #grid_galeria .modal-dialog .modal-footer {
        position: absolute;
        right: 0;
        padding: 4px; }
        section#galeria #grid_galeria .modal-dialog .modal-footer img {
          width: 40px; }
    section#galeria #grid_galeria .galeria_link {
      text-align: center;
      display: block; }
      section#galeria #grid_galeria .galeria_link img {
        max-width: 400px;
        width: 100%; }
    section#galeria #grid_galeria .btn_base {
      margin-left: 0;
      font-size: 25px;
      padding: 8px 80px; }

section#forms-contacto {
  background-color: #f5f9f9;
  padding: 40px 0 100px; }
  section#forms-contacto .btn_base {
    margin-left: 0;
    font-size: 25px;
    padding: 8px 70px; }

footer {
  background-color: #000;
  padding: 40px 0 200px; }
  footer .box_footer {
    display: flex;
    justify-content: space-between; }
    footer .box_footer .footer_right {
      padding-left: 50px; }
      footer .box_footer .footer_right .footer_right_top {
        color: white;
        font-size: 15px;
        margin-bottom: 30px; }
        footer .box_footer .footer_right .footer_right_top div + div {
          margin-left: 15px; }
      footer .box_footer .footer_right .footer_right_bottom {
        font-size: 10px;
        color: white;
        opacity: .7; }
      footer .box_footer .footer_right a {
        color: white;
        font-size: 15px; }
    footer .box_footer .footer_right_top {
      display: flex;
      justify-content: space-between; }

.feedback_email, .mensajeFeebackError {
  display: none; }

#section_politica_privacidad {
  margin: 50px 0 80px; }
  #section_politica_privacidad .wrapper {
    max-width: 840px; }
  #section_politica_privacidad a {
    color: #56a09a; }
  #section_politica_privacidad ul, #section_politica_privacidad .p-left {
    padding-left: 50px; }

@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  /* CSS */
  section#galeria #grid_galeria
.modal-dialog .modal-body .carousel-control-prev {
    transform: scale(0.6);
    bottom: -40px; }
  section#galeria #grid_galeria .modal-dialog .modal-body
.carousel-control-next {
    transform: scale(0.6);
    bottom: -40px; }
  section#galeria .modal-footer {
    padding: 0 !important; }
    section#galeria .modal-footer img {
      width: 25px !important; }
  section#galeria .modal-body {
    height: 90vh;
    padding: 40px 20px !important; }
    section#galeria .modal-body .carousel {
      height: 100%; }
      section#galeria .modal-body .carousel .carousel-inner {
        height: 100%; }
        section#galeria .modal-body .carousel .carousel-inner .carousel-item {
          height: 100%; }
          section#galeria .modal-body .carousel .carousel-inner .carousel-item img {
            height: 100%;
            object-fit: cover; } }

@media only screen and (max-width: 767px) {
  .modal {
    top: 20%; }
  section#galeria #grid_galeria
.modal-dialog .modal-body .carousel-control-prev {
    transform: scale(0.6);
    bottom: -40px; }
  section#galeria #grid_galeria .modal-dialog .modal-body
.carousel-control-next {
    transform: scale(0.6);
    bottom: -40px; }
  .title_section {
    font-size: 32px; }
  .subtitle_section {
    font-size: 20px; }
  section#galeria .modal-footer {
    padding: 0 !important; }
    section#galeria .modal-footer img {
      width: 25px !important; }
  section#galeria .modal-body {
    padding: 40px 20px !important; }
    section#galeria .modal-body .carousel {
      height: 100%; }
      section#galeria .modal-body .carousel .carousel-inner {
        height: 100%; }
        section#galeria .modal-body .carousel .carousel-inner .carousel-item {
          height: 100%; }
          section#galeria .modal-body .carousel .carousel-inner .carousel-item img {
            height: 100%;
            object-fit: cover; }
  #carouselhome .carousel-inner .carousel-item:nth-child(1) {
    background: url(../images/banner_slider01.jpg) 36% top no-repeat;
    background-size: cover; }
  header .box_menu {
    display: block; }
    header .box_menu .contacto_header {
      justify-content: left;
      margin-top: 15px; }
      header .box_menu .contacto_header img {
        width: 20px; }
  section#servicios .grid_servicios {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 40px; }
  section#galeria #grid_galeria {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 40px; }
  footer .box_footer {
    display: block; }
    footer .box_footer .footer_left img {
      max-width: 380px;
      width: 96%; }
    footer .box_footer .footer_right {
      padding: 30px 0; } }

@media only screen and (max-width: 767px) and (orientation: landscape) {
  section#galeria #grid_galeria
.modal-dialog .modal-body .carousel-control-prev {
    transform: scale(0.6);
    bottom: -40px; }
  section#galeria #grid_galeria .modal-dialog .modal-body
.carousel-control-next {
    transform: scale(0.6);
    bottom: -40px; }
  section#galeria .modal-footer {
    padding: 0 !important; }
    section#galeria .modal-footer img {
      width: 25px !important; }
  section#galeria .modal-body {
    height: 90vh;
    padding: 40px 20px !important; }
    section#galeria .modal-body .carousel {
      height: 100%; }
      section#galeria .modal-body .carousel .carousel-inner {
        height: 100%; }
        section#galeria .modal-body .carousel .carousel-inner .carousel-item {
          height: 100%; }
          section#galeria .modal-body .carousel .carousel-inner .carousel-item img {
            height: 100%;
            object-fit: cover; } }

#carouselhome .carousel-control-next, #carouselhome .carousel-control-prev {
  width: 60px; }
  #carouselhome .carousel-control-next span, #carouselhome .carousel-control-prev span {
    transform: scale(2); }

#carouselhome .carousel-inner {
  min-height: 555px; }
  #carouselhome .carousel-inner .carousel-item {
    min-height: 555px; }
  #carouselhome .carousel-inner .carrousel_content div.text_slider_top {
    width: 100%;
    text-align: right;
    color: white;
    margin-top: 10px; }
    #carouselhome .carousel-inner .carrousel_content div.text_slider_top p {
      font-size: 15px;
      opacity: .7; }
  #carouselhome .carousel-inner .carrousel_content div.text_slider_bottom {
    margin-left: 31%;
    margin-top: 9%;
    color: white; }
    #carouselhome .carousel-inner .carrousel_content div.text_slider_bottom h2 {
      color: white;
      font-size: 54px; }
    #carouselhome .carousel-inner .carrousel_content div.text_slider_bottom p.sub_title_slider {
      font-size: 25px;
      line-height: 27px;
      margin-left: 52px;
      max-width: 432px;
      margin-top: 20px; }
    #carouselhome .carousel-inner .carrousel_content div.text_slider_bottom .mas_info {
      background: #f4bd15;
      color: #000;
      padding: 8px 40px;
      border-radius: 4px;
      margin-left: 110px;
      margin-top: 30px;
      display: inline-block; }
  #carouselhome .carousel-inner .carousel-item:nth-child(1) {
    background: url(../images/banner_slider01.jpg) center top no-repeat;
    background-size: cover; }
  #carouselhome .carousel-inner .carousel-item:nth-child(2) {
    background: url(../images/banner_slider02.jpg) center bottom no-repeat;
    background-size: cover; }
    #carouselhome .carousel-inner .carousel-item:nth-child(2) .carrousel_content div.text_slider_top {
      width: 100%;
      text-align: right;
      color: white;
      margin-top: 10px; }
      #carouselhome .carousel-inner .carousel-item:nth-child(2) .carrousel_content div.text_slider_top p {
        font-size: 15px;
        opacity: .7; }
    #carouselhome .carousel-inner .carousel-item:nth-child(2) .carrousel_content div.text_slider_bottom {
      margin-left: 28%;
      margin-top: 7%;
      color: white; }
      #carouselhome .carousel-inner .carousel-item:nth-child(2) .carrousel_content div.text_slider_bottom h2 {
        color: white;
        font-size: 54px; }
      #carouselhome .carousel-inner .carousel-item:nth-child(2) .carrousel_content div.text_slider_bottom p.sub_title_slider {
        margin-left: 0px; }
      #carouselhome .carousel-inner .carousel-item:nth-child(2) .carrousel_content div.text_slider_bottom .mas_info {
        margin-left: 0; }

@media (max-width: 767px) {
  #carouselhome .carousel-inner .carousel-item:nth-child(2) .carrousel_content div.text_slider_bottom h2 {
    font-size: 40px; }
  #carouselhome .carousel-inner .carrousel_content div.text_slider_bottom h2 {
    font-size: 40px;
    line-height: 43px; }
  #carouselhome .carousel-inner .carrousel_content div.text_slider_top p {
    font-size: 11px; }
  #carouselhome .carousel-inner .carousel-item:nth-child(2) .carrousel_content div.text_slider_top p {
    font-size: 11px; }
  #carouselhome .carousel-inner .carrousel_content div.text_slider_bottom p.sub_title_slider {
    font-size: 18px;
    line-height: 23px; }
  #carouselhome .carousel-inner {
    min-height: 440px; }
  #carouselhome .carousel-inner .carousel-item:nth-child(1) {
    min-height: 440px; }
  #carouselhome .carousel-inner .carousel-item:nth-child(2) {
    min-height: 440px; } }

@media (min-width: 528px) and (max-width: 767px) {
  #carouselhome .carousel-inner .carousel-item:nth-child(1) {
    background: url(../images/banner_slider01.jpg) 36% top no-repeat;
    background-size: cover; }
  #carouselhome .carousel-inner .carousel-item:nth-child(2) {
    background: url(../images/banner_slider02.jpg) 36% bottom no-repeat;
    background-size: cover; } }

@media only screen and (max-width: 527px) {
  #carouselhome .carousel-inner .carousel-item:nth-child(1) {
    background: url(../images/banner_slider01.jpg) 60% top no-repeat;
    background-size: cover; }
  #carouselhome .carousel-inner .carousel-item:nth-child(2) {
    background: url(../images/banner_slider02.jpg) 60% bottom no-repeat;
    background-size: cover; }
  #carouselhome .carousel-inner .carousel-item:nth-child(2)
.carrousel_content div.text_slider_bottom {
    margin-left: 0; }
  #carouselhome .carousel-inner
.carrousel_content div.text_slider_bottom {
    margin-left: 0; }
  #carouselhome .carousel-inner .carrousel_content
div.text_slider_bottom p.sub_title_slider {
    margin-left: 0; }
  #carouselhome .carousel-inner .carrousel_content div.text_slider_bottom .mas_info {
    margin-left: 0; } }

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